Sybase NNTP forums - End Of Life (EOL)

The NNTP forums from Sybase - forums.sybase.com - are now closed.

All new questions should be directed to the appropriate forum at the SAP Community Network (SCN).

Individual products have links to the respective forums on SCN, or you can go to SCN and search for your product in the search box (upper right corner) to find your specific developer center.

intercomponent CreateInstance() 'without proxies' ?

6 posts in General Discussion (old) Last posting was on 2000-03-07 11:26:29.0Z
Peter Reedijk Posted on 2000-03-06 11:16:19.0Z
Newsgroups: sybase.public.easerver
From: "Peter Reedijk" <peter.reedijk@pica.nl>
Organization: 192.87.44.61
X-Newsreader: AspNNTP 1.41 (Advent 2000, Inc.)
Subject: intercomponent CreateInstance() 'without proxies' ?
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: Mon, 06 Mar 2000 06:16:19 -0500
Lines: 34
NNTP-Posting-Host: 207.156.232.4
Message-ID: <347_ROOrl11h$GA.74@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27117
Article PK: 158043

In a PB7/EAS3 environment I have the following situation (approximately):

three components, (compA,compB,compC) eventually will reside in the same Jaguar
package and therefore are also stored in the same PBL in PowerBuilder.
The components regularly call each other's methods, so for example we have some
code like this in compA:

transactionserver.CreateInstance(compB, "package/compB)
compB.methodB()

Because the nvo compB is in the same library as compA, this compiles without
needing a proxy object in the library list. This holds for every intercomponent
call between A,B and C.
All this has been working fine for almost a year, but sometimes we experience
some 'hiccups', when f.i. compA crashes on the call compB.methodB(). This can
usually only be fixed by a complete rebuild and redeploy of the complete
package.

Now my question: *can* this be caused by using classes instead of proxies, and
is it therefore necessary to use different, mutually exclusive liblists for
*every* component (even in the same package) or is the situation above a valid,
supported way of implementing PowerBuilder components in Jaguar and should we
look elsewhere for finding the reason for those crashes?

TIA,
Peter
---== Posted via the PFCGuide Web Newsreader ==---
http://www.pfcguide.com/_newsgroups/group_list.asp


Adam Simmonds Posted on 2000-03-06 11:14:17.0Z
Newsgroups: sybase.public.easerver
Date: Mon, 06 Mar 2000 22:14:17 +1100
From: Adam Simmonds <asimmond@mail.usyd.edu.au>
Organization: University of Syndey
X-Mailer: Mozilla 4.7 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
Subject: Re: intercomponent CreateInstance() 'without proxies' ?
Content-Type: multipart/mixed; boundary="------------8665679484F75C8B173569A4"
Lines: 68
NNTP-Posting-Host: pc-70.sis.usyd.edu.au 129.78.248.198
Message-ID: <347_38C39309.4349351E@mail.usyd.edu.au>
References: <347_ROOrl11h$GA.74@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27116
Article PK: 158042

At techwave, scott mcreynolds emphasised the need to
1. put the components in seperate pbls
2. Always use proxies for intercomponent calls

I was having problems under load and it was due to using class references instead
of proxies, after making the changes I have had no troubles at all.

I split the app into two seperate applications, the first being my business logic
that will be used for both client server and web apps and then a web application
using the DDS framework. I then proxy in the business objects to my web application
and will do the same for my client server in the future.

Rgds
Adam

Peter Reedijk wrote:

> In a PB7/EAS3 environment I have the following situation (approximately):
>
> three components, (compA,compB,compC) eventually will reside in the same Jaguar
> package and therefore are also stored in the same PBL in PowerBuilder.
> The components regularly call each other's methods, so for example we have some
> code like this in compA:
>
> transactionserver.CreateInstance(compB, "package/compB)
> compB.methodB()
>
> Because the nvo compB is in the same library as compA, this compiles without
> needing a proxy object in the library list. This holds for every intercomponent
> call between A,B and C.
> All this has been working fine for almost a year, but sometimes we experience
> some 'hiccups', when f.i. compA crashes on the call compB.methodB(). This can
> usually only be fixed by a complete rebuild and redeploy of the complete
> package.
>
> Now my question: *can* this be caused by using classes instead of proxies, and
> is it therefore necessary to use different, mutually exclusive liblists for
> *every* component (even in the same package) or is the situation above a valid,
> supported way of implementing PowerBuilder components in Jaguar and should we
> look elsewhere for finding the reason for those crashes?
>
> TIA,
> Peter
> ---== Posted via the PFCGuide Web Newsreader ==---
> http://www.pfcguide.com/_newsgroups/group_list.asp


Download VCard asimmond.vcf


Peter Reedijk Posted on 2000-03-06 12:01:05.0Z
Newsgroups: sybase.public.easerver
From: "Peter Reedijk" <peter.reedijk@pica.nl>
Organization: 192.87.44.61
X-Newsreader: AspNNTP 1.41 (Advent 2000, Inc.)
Subject: Re: intercomponent CreateInstance() 'without proxies' ?
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: Mon, 06 Mar 2000 07:01:05 -0500
Lines: 72
NNTP-Posting-Host: 207.156.232.4
Message-ID: <347_zQHbmO2h$GA.202@forums.sybase.com>
References: <347_ROOrl11h$GA.74@forums.sybase.com> <347_38C39309.4349351E@mail.usyd.edu.au>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27115
Article PK: 158041

Hmm, I think this will become a 'PBL management nightmare', because the number
of components is actually 7 (and growing), not 3 :-(
Furthermore, the 'duplicate object library entry' problem, mentioned in other
threads of this newsgroup, will now enter our project, I fear. All those
components have one common ancestor, and when using proxies to the others, also
a proxy of that same ancestor is needed, creating both a class and a proxy of
this ancestor in the library list of each component.
Is this really the only way?? (Scott?)

Peter

On Mon, 06 Mar 2000 22:14:17 +1100,
in powersoft.public.easerver

Adam Simmonds <asimmond@mail.usyd.edu.au> wrote:
>At techwave, scott mcreynolds emphasised the need to
>1. put the components in seperate pbls
>2. Always use proxies for intercomponent calls
>
>I was having problems under load and it was due to using class references
instead
>of proxies, after making the changes I have had no troubles at all.
>
>I split the app into two seperate applications, the first being my business
logic
>that will be used for both client server and web apps and then a web
application
>using the DDS framework. I then proxy in the business objects to my web
application
>and will do the same for my client server in the future.
>
>Rgds
>Adam
>
>Peter Reedijk wrote:
>
>> In a PB7/EAS3 environment I have the following situation (approximately):
>>
>> three components, (compA,compB,compC) eventually will reside in the same
Jaguar
>> package and therefore are also stored in the same PBL in PowerBuilder.
>> The components regularly call each other's methods, so for example we have
some
>> code like this in compA:
>>
>> transactionserver.CreateInstance(compB, "package/compB)
>> compB.methodB()
>>
>> Because the nvo compB is in the same library as compA, this compiles without
>> needing a proxy object in the library list. This holds for every
intercomponent
>> call between A,B and C.
>> All this has been working fine for almost a year, but sometimes we experience
>> some 'hiccups', when f.i. compA crashes on the call compB.methodB(). This can
>> usually only be fixed by a complete rebuild and redeploy of the complete
>> package.
>>
>> Now my question: *can* this be caused by using classes instead of proxies,
and
>> is it therefore necessary to use different, mutually exclusive liblists for
>> *every* component (even in the same package) or is the situation above a
valid,
>> supported way of implementing PowerBuilder components in Jaguar and should we
>> look elsewhere for finding the reason for those crashes?
>>
>> TIA,
>> Peter
>> ---== Posted via the PFCGuide Web Newsreader ==---
>> http://www.pfcguide.com/_newsgroups/group_list.asp
>

---== Posted via the PFCGuide Web Newsreader ==---
http://www.pfcguide.com/_newsgroups/group_list.asp


Adam Simmonds Posted on 2000-03-06 12:08:41.0Z
Newsgroups: sybase.public.easerver
Date: Mon, 06 Mar 2000 23:08:41 +1100
From: Adam Simmonds <asimmond@mail.usyd.edu.au>
Organization: University of Syndey
X-Mailer: Mozilla 4.7 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
Subject: Re: intercomponent CreateInstance() 'without proxies' ?
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Lines: 89
NNTP-Posting-Host: pc-70.sis.usyd.edu.au 129.78.248.198
Message-ID: <347_38C39FC9.43E728C9@mail.usyd.edu.au>
References: <347_ROOrl11h$GA.74@forums.sybase.com> <347_38C39309.4349351E@mail.usyd.edu.au> <347_zQHbmO2h$GA.202@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27110
Article PK: 158037

Check the option on the proxy project that prepends the proxy with the package name.
Its actually not that hectic as you have a heap of proxies instead of a heap of
objects and then you just use <package>_objectname whenever you code things. You
dont need to split the proxies up incase that isnt clear, just the original
components.

As for having to use a seperate pbl for each component, well you could risk not
doing this or move to something that doesnt use pbl's :-)

A.

Peter Reedijk wrote:

> Hmm, I think this will become a 'PBL management nightmare', because the number
> of components is actually 7 (and growing), not 3 :-(
> Furthermore, the 'duplicate object library entry' problem, mentioned in other
> threads of this newsgroup, will now enter our project, I fear. All those
> components have one common ancestor, and when using proxies to the others, also
> a proxy of that same ancestor is needed, creating both a class and a proxy of
> this ancestor in the library list of each component.
> Is this really the only way?? (Scott?)
>
> Peter
>
> On Mon, 06 Mar 2000 22:14:17 +1100,
> in powersoft.public.easerver
> Adam Simmonds <asimmond@mail.usyd.edu.au> wrote:
> >At techwave, scott mcreynolds emphasised the need to
> >1. put the components in seperate pbls
> >2. Always use proxies for intercomponent calls
> >
> >I was having problems under load and it was due to using class references
> instead
> >of proxies, after making the changes I have had no troubles at all.
> >
> >I split the app into two seperate applications, the first being my business
> logic
> >that will be used for both client server and web apps and then a web
> application
> >using the DDS framework. I then proxy in the business objects to my web
> application
> >and will do the same for my client server in the future.
> >
> >Rgds
> >Adam
> >
> >Peter Reedijk wrote:
> >
> >> In a PB7/EAS3 environment I have the following situation (approximately):
> >>
> >> three components, (compA,compB,compC) eventually will reside in the same
> Jaguar
> >> package and therefore are also stored in the same PBL in PowerBuilder.
> >> The components regularly call each other's methods, so for example we have
> some
> >> code like this in compA:
> >>
> >> transactionserver.CreateInstance(compB, "package/compB)
> >> compB.methodB()
> >>
> >> Because the nvo compB is in the same library as compA, this compiles without
> >> needing a proxy object in the library list. This holds for every
> intercomponent
> >> call between A,B and C.
> >> All this has been working fine for almost a year, but sometimes we experience
> >> some 'hiccups', when f.i. compA crashes on the call compB.methodB(). This can
> >> usually only be fixed by a complete rebuild and redeploy of the complete
> >> package.
> >>
> >> Now my question: *can* this be caused by using classes instead of proxies,
> and
> >> is it therefore necessary to use different, mutually exclusive liblists for
> >> *every* component (even in the same package) or is the situation above a
> valid,
> >> supported way of implementing PowerBuilder components in Jaguar and should we
> >> look elsewhere for finding the reason for those crashes?
> >>
> >> TIA,
> >> Peter
> >> ---== Posted via the PFCGuide Web Newsreader ==---
> >> http://www.pfcguide.com/_newsgroups/group_list.asp
> >
>
> ---== Posted via the PFCGuide Web Newsreader ==---
> http://www.pfcguide.com/_newsgroups/group_list.asp


Peter Posted on 2000-03-06 18:25:40.0Z
Newsgroups: sybase.public.easerver
From: "Peter" <peter.reedijk@pica.nl>
Organization: 194.109.130.184
X-Newsreader: AspNNTP 1.41 (Advent 2000, Inc.)
Subject: Re: intercomponent CreateInstance() 'without proxies' ?
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: Mon, 06 Mar 2000 13:25:40 -0500
Lines: 115
NNTP-Posting-Host: 207.156.232.4
Message-ID: <347_3njigl5h$GA.251@forums.sybase.com>
References: <347_ROOrl11h$GA.74@forums.sybase.com> <347_38C39309.4349351E@mail.usyd.edu.au> <347_zQHbmO2h$GA.202@forums.sybase.com> <347_38C39FC9.43E728C9@mail.usyd.edu.au>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:27079
Article PK: 154484

Thanks Adam for your quick replies.

I think I'm safe when I just create one extra PBL next to the one with compA,
compB and compC in it. This second PBL will contain package_compA, package_compB
and package_compC, which are of course proxies to the 3 components. If I refer
to these proxies in all my intercomponent calls, this setup should work, right?

Probably it's all written down somewhere... Still, if the compiler wouldn't have
let me shoot myself in the foot, and give an error message (or even a warning)
on the line

transactionserver.CreateInstance(compB, "package/compB")

(something like "argument is not a proxy object"), it sure would've saved me a
lot of headaches...

Peter


On Mon, 06 Mar 2000 23:08:41 +1100,
in powersoft.public.easerver

Adam Simmonds <asimmond@mail.usyd.edu.au> wrote:
>Check the option on the proxy project that prepends the proxy with the package
name.
>Its actually not that hectic as you have a heap of proxies instead of a heap of
>objects and then you just use <package>_objectname whenever you code things.
You
>dont need to split the proxies up incase that isnt clear, just the original
>components.
>
>As for having to use a seperate pbl for each component, well you could risk not
>doing this or move to something that doesnt use pbl's :-)
>
>A.
>
>Peter Reedijk wrote:
>
>> Hmm, I think this will become a 'PBL management nightmare', because the
number
>> of components is actually 7 (and growing), not 3 :-(
>> Furthermore, the 'duplicate object library entry' problem, mentioned in other
>> threads of this newsgroup, will now enter our project, I fear. All those
>> components have one common ancestor, and when using proxies to the others,
also
>> a proxy of that same ancestor is needed, creating both a class and a proxy of
>> this ancestor in the library list of each component.
>> Is this really the only way?? (Scott?)
>>
>> Peter
>>
>> On Mon, 06 Mar 2000 22:14:17 +1100,
>> in powersoft.public.easerver
>> Adam Simmonds <asimmond@mail.usyd.edu.au> wrote:
>> >At techwave, scott mcreynolds emphasised the need to
>> >1. put the components in seperate pbls
>> >2. Always use proxies for intercomponent calls
>> >
>> >I was having problems under load and it was due to using class references
>> instead
>> >of proxies, after making the changes I have had no troubles at all.
>> >
>> >I split the app into two seperate applications, the first being my business
>> logic
>> >that will be used for both client server and web apps and then a web
>> application
>> >using the DDS framework. I then proxy in the business objects to my web
>> application
>> >and will do the same for my client server in the future.
>> >
>> >Rgds
>> >Adam
>> >
>> >Peter Reedijk wrote:
>> >
>> >> In a PB7/EAS3 environment I have the following situation (approximately):
>> >>
>> >> three components, (compA,compB,compC) eventually will reside in the same
>> Jaguar
>> >> package and therefore are also stored in the same PBL in PowerBuilder.
>> >> The components regularly call each other's methods, so for example we have
>> some
>> >> code like this in compA:
>> >>
>> >> transactionserver.CreateInstance(compB, "package/compB)
>> >> compB.methodB()
>> >>
>> >> Because the nvo compB is in the same library as compA, this compiles
without
>> >> needing a proxy object in the library list. This holds for every
>> intercomponent
>> >> call between A,B and C.
>> >> All this has been working fine for almost a year, but sometimes we
experience
>> >> some 'hiccups', when f.i. compA crashes on the call compB.methodB(). This
can
>> >> usually only be fixed by a complete rebuild and redeploy of the complete
>> >> package.
>> >>
>> >> Now my question: *can* this be caused by using classes instead of proxies,
>> and
>> >> is it therefore necessary to use different, mutually exclusive liblists
for
>> >> *every* component (even in the same package) or is the situation above a
>> valid,
>> >> supported way of implementing PowerBuilder components in Jaguar and should
we
>> >> look elsewhere for finding the reason for those crashes?
>> >>
>> >> TIA,
>> >> Peter
>> >> ---== Posted via the PFCGuide Web Newsreader ==---
>> >> http://www.pfcguide.com/_newsgroups/group_list.asp
>> >
>>
>> ---== Posted via the PFCGuide Web Newsreader ==---
>> http://www.pfcguide.com/_newsgroups/group_list.asp
>

---== Posted via the PFCGuide Web Newsreader ==---
http://www.pfcguide.com/_newsgroups/group_list.asp


Peter Reedijk Posted on 2000-03-07 11:26:29.0Z
Newsgroups: sybase.public.easerver
From: "Peter Reedijk" <peter.reedijk@pica.nl>
Organization: 192.87.44.61
X-Newsreader: AspNNTP 1.41 (Advent 2000, Inc.)
Subject: Re: intercomponent CreateInstance() 'without proxies' ?
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: Tue, 07 Mar 2000 06:26:29 -0500
Lines: 29
NNTP-Posting-Host: 207.156.232.4
Message-ID: <347_NDfy7fCi$GA.285@forums.sybase.com>
References: <347_ROOrl11h$GA.74@forums.sybase.com> <347_38C39309.4349351E@mail.usyd.edu.au> <347_zQHbmO2h$GA.202@forums.sybase.com> <347_38C39FC9.43E728C9@mail.usyd.edu.au> <347_3njigl5h$GA.251@forums.sybase.com>
Path: forums-1-dub!forums-1-dub!forums-master.sybase.com!forums.sybase.com
Xref: forums-1-dub sybase.public.easerver:26993
Article PK: 157940

Considering the lack of replies, everyone agrees with the feasibility of my
solution below :-) Just as a doublecheck: which solution is better, given 3
Jaguar components A,B and C built in PowerBuilder 7?

i) comp.pbl with components A,B,C (and all PB objects used by at least one of
them)
proxy.pbl with proxies to A,B and C
(this is my solution below)

ii) compA.PBL with component A and proxies to B and C,
compB.PBL with component B and proxies to A and C,
compC.PBL with component C and proxies to A and B

Just wanted to check before I redesign all my PBLs...

Peter

On Mon, 06 Mar 2000 13:25:40 -0500,
in powersoft.public.easerver

Peter <peter.reedijk@pica.nl> wrote:
>I think I'm safe when I just create one extra PBL next to the one with compA,
>compB and compC in it. This second PBL will contain package_compA,
package_compB
>and package_compC, which are of course proxies to the 3 components. If I refer
>to these proxies in all my intercomponent calls, this setup should work, right?

---== Posted via the PFCGuide Web Newsreader ==---
http://www.pfcguide.com/_newsgroups/group_list.asp