Java vs Powerbuilder components

Greetings - may I bounce something off you gurus?

Have some new apps to write, but client is requesting now that we use Java
components as opposed to continue with the existing PB7 component structure.
(For web apps, IIS->Jrun->Jag components->db).

This I assume would now be using "PowerJ"?
Would this be using datastores/dwo's within PowerJ (normally) or std java
resultsets etc
Can anyone mention pitfalls/extra effort in comparison with PB component
(will be "java - corba").

Many thanks
Rob

PS - I'll miss the n_cst_string I've used with the PB components !!!


0
Rob
9/10/2002 3:04:58 AM
sybase.easerver.general 7903 articles. 0 followers. Follow

12 Replies
531 Views

Similar Articles

[PageSpeed] 23

It would not be wise to build new applications that depend on PowerJ or the 
Java datastore.  Sybase now recommends JBuilder.  The Java datastore in PJ 
is large and slow, and is not standard Java.  If you want to use 
datastores, stick with PB.

IMHO, PB is the most productive environment for building components for 
database access and normal business logic. Changing from a 4GL to a 3GL is 
likely to increase development time, but if you can keep your components 
generic, returning standard resultsets, it shouldn't be all that bad. 
Certain religious zealots posting on this newgroup will probably claim that 
they will perform vastly better, as well.
0
Mark_Maslow
9/10/2002 5:34:22 AM
Thanks Mark

Agree with the "4gl to 3gl" mention - esp after writing a number of
components already with PB7;  will have to try harder to convince the
client.

<Mark_Maslow> wrote in message
news:20D94854503525DE001E9CBD85256C30.00155A8F85256C30@webforums...
> It would not be wise to build new applications that depend on PowerJ or
the
> Java datastore.  Sybase now recommends JBuilder.  The Java datastore in PJ
> is large and slow, and is not standard Java.  If you want to use
> datastores, stick with PB.
>
> IMHO, PB is the most productive environment for building components for
> database access and normal business logic. Changing from a 4GL to a 3GL is
> likely to increase development time, but if you can keep your components
> generic, returning standard resultsets, it shouldn't be all that bad.
> Certain religious zealots posting on this newgroup will probably claim
that
> they will perform vastly better, as well.


0
Rob
9/10/2002 7:52:12 AM
Rob,

I recommend that you continue to develop in the language/technology that 
your development team knows best.  If you have a PB shop, stay in PB.  If 
you have java shop, convert to java.  If you have a mixed shop, do mixed 
language development and use the best language/technology on a case by 
case basis.

In my experience, the cost of retooling a large development team 
outweighs the advantages gained by switching technology.  With a few 
exceptions, most business problems can be solved with either PB or java 
with acceptable performance and technical merit.  I see a strong future 
for both technologies in combination with EAServer.  

Joe

Mark_Maslow wrote in
news:20D94854503525DE001E9CBD85256C30.00155A8F85256C30@webforums: 

> It would not be wise to build new applications that depend on PowerJ
> or the Java datastore.  Sybase now recommends JBuilder.  The Java
> datastore in PJ is large and slow, and is not standard Java.  If you
> want to use datastores, stick with PB.
> 
> IMHO, PB is the most productive environment for building components
> for database access and normal business logic. Changing from a 4GL to
> a 3GL is likely to increase development time, but if you can keep your
> components generic, returning standard resultsets, it shouldn't be all
> that bad. Certain religious zealots posting on this newgroup will
> probably claim that they will perform vastly better, as well.

0
Joe
9/11/2002 1:47:02 AM
Hey I think I got a label now.  Cool.

Thanks Mark.  That's the first open chuckle I've had all day.

Dave Wolf
0
Dave_Wolf
9/11/2002 9:48:53 PM
Dave,
I take it you're one of the religious zealots? :-) I didn't quite follow
Mark's comments, was he implying that Java components were faster, or PB
components?

Mike Kruchten

<Dave_Wolf> wrote in message
news:18E15273C708C3F10077D4FB85256C31.00238B4785256C30@webforums...
> Hey I think I got a label now.  Cool.
>
> Thanks Mark.  That's the first open chuckle I've had all day.
>
> Dave Wolf


0
Mike
9/12/2002 8:01:41 PM
He was once allied with the Evil Empire too ;-)

Guess you missed the very long thread about PB vs Java performance.  Dave
apparently thinks Java components perform vastly better.  While there are
some cases where this may be true (shared components requiring concurrent
access and CPU intensive tasks come to mind), many of us who actually use PB
components extensively have found them to perform more than adequately for
most of the kinds of tasks that PB programmers typically program (db access
and business logic).  And I think anyone who knows both languages would have
to agree that it's much easier to program these kinds of things with PB.

Us non-religious zealots like to think that each tool has its place.
Fortunately, they play very well together.

Still trying to figure out how to stomp on my own semiphores in PB.

"Mike Kruchten" <mkruchten@fsisolutions.com> wrote in message
news:zZCG3ipWCHA.74@forums.sybase.com...
> Dave,
> I take it you're one of the religious zealots? :-) I didn't quite follow
> Mark's comments, was he implying that Java components were faster, or PB
> components?
>
> Mike Kruchten
>
> <Dave_Wolf> wrote in message
> news:18E15273C708C3F10077D4FB85256C31.00238B4785256C30@webforums...
> > Hey I think I got a label now.  Cool.
> >
> > Thanks Mark.  That's the first open chuckle I've had all day.
> >
> > Dave Wolf
>
>


0
Mark
9/12/2002 10:03:55 PM
*grin *

well said, all.

I agree - I would use the right language for the ask, as am now (mostly PB
components - after all, its just datastores retrieval returning resultset,
and business rules before updates etc easy in PB, some java components to
implement javamail and an ftp solution). But a client has said no pb at all,
and was really interest more so in development time differences, time to
learn (looks like now:) Jbuilder ide etc.

Many thanks

"Mark Maslow" <mark.maslow@sierraclub.org> wrote in message
news:X5nVDpqWCHA.311@forums.sybase.com...
> He was once allied with the Evil Empire too ;-)
>
> Guess you missed the very long thread about PB vs Java performance.  Dave
> apparently thinks Java components perform vastly better.  While there are
> some cases where this may be true (shared components requiring concurrent
> access and CPU intensive tasks come to mind), many of us who actually use
PB
> components extensively have found them to perform more than adequately for
> most of the kinds of tasks that PB programmers typically program (db
access
> and business logic).  And I think anyone who knows both languages would
have
> to agree that it's much easier to program these kinds of things with PB.
>
> Us non-religious zealots like to think that each tool has its place.
> Fortunately, they play very well together.
>
> Still trying to figure out how to stomp on my own semiphores in PB.
>
> "Mike Kruchten" <mkruchten@fsisolutions.com> wrote in message
> news:zZCG3ipWCHA.74@forums.sybase.com...
> > Dave,
> > I take it you're one of the religious zealots? :-) I didn't quite follow
> > Mark's comments, was he implying that Java components were faster, or PB
> > components?
> >
> > Mike Kruchten
> >
> > <Dave_Wolf> wrote in message
> > news:18E15273C708C3F10077D4FB85256C31.00238B4785256C30@webforums...
> > > Hey I think I got a label now.  Cool.
> > >
> > > Thanks Mark.  That's the first open chuckle I've had all day.
> > >
> > > Dave Wolf
> >
> >
>
>


0
Rob
9/14/2002 7:22:09 AM
Was that "allied with the evil empire" or "assimiliated"? <wink>

Actually the above point I believe shows I'm far from a Java biggot.  I 
agree 100% that you choose the right tool for the right job.  Sometimes its 
Java, sometimes its PB, sometimes its C#.  You implement server side code 
in whatever language you WANT and you deliver it to your clients in 
whatever language they NEED.

I have found in my experience as both a Principal Architect at Sybase, as 
well as with my customers today that all said and done, 3GL languages such 
as java and C are more performant then PB.  Its my opinion and Im sticking 
by it ;)

And I never said YOU would step all over your own semaphores.  What I said 
was the PB VM steps all over its own semaphores.  As you states PB is 
single threaded at runtime.  However the app server is multi-threaded. 
Worse off PB uses thread-local storage in things like the data-window. What 
this means is PB *must* use tons of thread syncrhonization primitives in 
the engines code to prevent squashing this stuff, and *those* semaphores 
are often the cause of performance bottlenecks.

Dave Wolf
0
Dave_Wolf
9/17/2002 4:52:35 PM
The announcement below just appeared in my email today.  The PB performance
situation is improving.  Of course, many of us have been avoiding this
particular problem all along anyway by not having datastores maintain state
between method calls.

There's no question that a very skilled programmer with plenty of time can
create more efficient code with a 3GL than a 4GL.  The question is whether
it's cheaper to pay more for development and maintenance efforts or for
faster and/or more hardware.  If the performance difference is truly vast,
perhaps it is.  The magnitude of the difference is where we perhaps
disagree.

But I know you don't want PB programmers taking over your gigs! ;-)


No Window handles for DataStores on EAServer
--------------------------------------------
In PowerBuilder 8.0.3 and later, when PowerBuilder components are
running on EAServer, DataStore objects no longer acquire and use
window handles (HWND objects). Window handles are used by DataWindow
objects to manipulate their display, but they are not required for
DataStore objects on EAServer, and they impose unnecessary resource
overhead when a large number of concurrent DataStore objects are
used in EAServer.

In previous releases of PowerBuilder,  you were required to set the
bind.thread property  to TRUE for a PowerBuilder component in
EAServer that maintains persistent state across method calls using
a DataStore. Because DataStore objects no longer use window handles
in EAServer, this requirement does not apply in PowerBuilder 8.0.3
and later releases. Setting bind.thread to FALSE for all EAServer
components improves application scalability. Bind.thread should
be set to TRUE only if you are using live editing to build your
component. It should always be set to FALSE for deployment.

<Dave_Wolf> wrote in message
news:3FD1CA1C5D2A4325005CB4A385256C37.0050CCC785256C37@webforums...
> Was that "allied with the evil empire" or "assimiliated"? <wink>
>
> Actually the above point I believe shows I'm far from a Java biggot.  I
> agree 100% that you choose the right tool for the right job.  Sometimes
its
> Java, sometimes its PB, sometimes its C#.  You implement server side code
> in whatever language you WANT and you deliver it to your clients in
> whatever language they NEED.
>
> I have found in my experience as both a Principal Architect at Sybase, as
> well as with my customers today that all said and done, 3GL languages such
> as java and C are more performant then PB.  Its my opinion and Im sticking
> by it ;)
>
> And I never said YOU would step all over your own semaphores.  What I said
> was the PB VM steps all over its own semaphores.  As you states PB is
> single threaded at runtime.  However the app server is multi-threaded.
> Worse off PB uses thread-local storage in things like the data-window.
What
> this means is PB *must* use tons of thread syncrhonization primitives in
> the engines code to prevent squashing this stuff, and *those* semaphores
> are often the cause of performance bottlenecks.
>
> Dave Wolf


0
Mark
9/17/2002 7:22:51 PM
Does anyone have an approximate date for when this much promoted update will
actually become available?


David Tillotson
Pickles Auctions
david.tillotson@pickles.com.au


"Mark Maslow" <mark.maslow@sierraclub.org> wrote in message
news:ak0MiGoXCHA.305@forums.sybase.com...
> No Window handles for DataStores on EAServer
> --------------------------------------------
> In PowerBuilder 8.0.3 and later, when PowerBuilder components are
> running on EAServer, DataStore objects no longer acquire and use
> window handles (HWND objects). Window handles are used by DataWindow
> objects to manipulate their display, but they are not required for
> DataStore objects on EAServer, and they impose unnecessary resource
> overhead when a large number of concurrent DataStore objects are
> used in EAServer.
>
> In previous releases of PowerBuilder,  you were required to set the
> bind.thread property  to TRUE for a PowerBuilder component in
> EAServer that maintains persistent state across method calls using
> a DataStore. Because DataStore objects no longer use window handles
> in EAServer, this requirement does not apply in PowerBuilder 8.0.3
> and later releases. Setting bind.thread to FALSE for all EAServer
> components improves application scalability. Bind.thread should
> be set to TRUE only if you are using live editing to build your
> component. It should always be set to FALSE for deployment.



0
David
9/17/2002 10:09:30 PM
A few weeks.

On Wed, 18 Sep 2002 08:09:30 +1000, "David Tillotson"
<david.tillotson@pickles.com.au> wrote:

>Does anyone have an approximate date for when this much promoted update will
>actually become available?
>
>
>David Tillotson
>Pickles Auctions
>david.tillotson@pickles.com.au
>
>
>"Mark Maslow" <mark.maslow@sierraclub.org> wrote in message
>news:ak0MiGoXCHA.305@forums.sybase.com...
>> No Window handles for DataStores on EAServer
>> --------------------------------------------
>> In PowerBuilder 8.0.3 and later, when PowerBuilder components are
>> running on EAServer, DataStore objects no longer acquire and use
>> window handles (HWND objects). Window handles are used by DataWindow
>> objects to manipulate their display, but they are not required for
>> DataStore objects on EAServer, and they impose unnecessary resource
>> overhead when a large number of concurrent DataStore objects are
>> used in EAServer.
>>
>> In previous releases of PowerBuilder,  you were required to set the
>> bind.thread property  to TRUE for a PowerBuilder component in
>> EAServer that maintains persistent state across method calls using
>> a DataStore. Because DataStore objects no longer use window handles
>> in EAServer, this requirement does not apply in PowerBuilder 8.0.3
>> and later releases. Setting bind.thread to FALSE for all EAServer
>> components improves application scalability. Bind.thread should
>> be set to TRUE only if you are using live editing to build your
>> component. It should always be set to FALSE for deployment.
>
>
>

0
joneil
9/18/2002 12:04:53 AM
Thanks.


David


"Jim O'Neil [Sybase]" <joneil@sybase.com> wrote in message
news:3d87c31c.40099469@forums.sybase.com...
> A few weeks.
>
> On Wed, 18 Sep 2002 08:09:30 +1000, "David Tillotson"
> <david.tillotson@pickles.com.au> wrote:
>
> >Does anyone have an approximate date for when this much promoted update
will
> >actually become available?
> >
> >
> >David Tillotson
> >Pickles Auctions
> >david.tillotson@pickles.com.au
> >
> >
> >"Mark Maslow" <mark.maslow@sierraclub.org> wrote in message
> >news:ak0MiGoXCHA.305@forums.sybase.com...
> >> No Window handles for DataStores on EAServer
> >> --------------------------------------------
> >> In PowerBuilder 8.0.3 and later, when PowerBuilder components are
> >> running on EAServer, DataStore objects no longer acquire and use
> >> window handles (HWND objects). Window handles are used by DataWindow
> >> objects to manipulate their display, but they are not required for
> >> DataStore objects on EAServer, and they impose unnecessary resource
> >> overhead when a large number of concurrent DataStore objects are
> >> used in EAServer.
> >>
> >> In previous releases of PowerBuilder,  you were required to set the
> >> bind.thread property  to TRUE for a PowerBuilder component in
> >> EAServer that maintains persistent state across method calls using
> >> a DataStore. Because DataStore objects no longer use window handles
> >> in EAServer, this requirement does not apply in PowerBuilder 8.0.3
> >> and later releases. Setting bind.thread to FALSE for all EAServer
> >> components improves application scalability. Bind.thread should
> >> be set to TRUE only if you are using live editing to build your
> >> component. It should always be set to FALSE for deployment.
> >
> >
> >
>


0
David
9/18/2002 10:02:43 PM
Reply:

Similar Artilces:

Java/Corba components EAserver and PowerBuilder Client
Hello Dave, I have some specific questions... We have an object server running that hosts most of our objects for one of our applications. These objects are written in Java with CORBA interface. One of our PB apps need to communicate to some of the objects in Object server through EAserver 3.5. Our Easerver 3.5 is running on Solaris 2.6 machine. What we did is exported the IDL under IDL folder of Jaguar repository in Solaris box. We opened the jagmanager through our NT workstations where we do most of our work and we could see the idl in the jaguar manager and the correspon...

Powerbuilder Client and Java business components on EAServer
Hi All, We have a Library management application that we are migrating from PowerBuilder to Java. We are planning to convert one component at a time from powerbuilder to Java and see if we can make it run with the current Powerbuilder code. We are using EAServer6.2 to deploy our business logic code. But we are now facing some problems on how to make Java components interact with Powerbuilder Client. Java components are based on Spring Framework. We thought we might develop the component as webservice but that wont help as every deployment of the application will have server also de...

Powerbuilder vs Java vs C#
Just a bit of a rant really, not trying to start any wars or anything (just my personal opinions) I use powerbuilder for work, have been since version 5 we develop a suite of about 5 applications client/sever apps i have used java in my spare time for a similar sized application (just 1 app, not a suite of them) i have started using Visual C# 2005 because according to all the stuff i have read pb is going to dotnet and it would be a good idea to get the hang of things in dotnet before pb11 comes around the corner other langauges i have used alot are perl and php my com...

Jaguar-Converting powerbuilder components to JAva Components
Hi all, I am trying to convert my PB components to JAva Component. I a little light when it comes to Java experience and was hoping to get recommendataions Which development enveironment should I use? Any other tips/comments/gotchas would be greatly aprreciated. PowerJ. (what did you think we would say?? :-) ) Jonathan -- Jonathan Baker Internet Applications Division Sybase, Inc. <Adam> wrote in message news:6907334127482032007A6CA685256A16.007A6CB485256A16@webforums... > Hi all, > > I am trying to convert my PB components to JAva Component. I...

How can Java-class component work out its own EAServer package and component name ?
Can anyone please tell me how a Java class, deployed as a component on EAServer, can figure out internally which package and component name it is being invoked as ? I need this to look up its properties in the repository as shown below - for now, I have hard-coded the componentName variable (= "MyPackage/MyComp") TIA James ------------------------------------------------- Properties ORBProps = new Properties(); ORBProps.put("org.omg.CORBA.ORBClass", "com.sybase.CORBA.ORB"); ORB orb = ORB.init((String[]) null, ORBProps); com.sybase.jaguar.system.Re...

Error While returning the TabularResultSet from EAServer Java Component to Java Clien t
Hi All I have a Java CORBA Component deployed to EAServer, Which retrieve the data from database using Connection Cache and then return TabularResult.ResultSet to my Java Client. I can retrieve the data and I can see the data too, but as soon as I return the result set to Java Client , I get the following error. Exception Occured: org.omg.CORBA.MARSHAL: offset (24) + length (4) exceeds message size (24) vmcid: 0x0 minor code: 0 completed: No Any idea? I tried to make the function static but didn't help. Please advice what I need to do to return the tabularresultset.result...

PowerBuilder - EAServer
Hi All, Good Morning, I need some information regarding EAServer. Using EAServer, PB application communicate with Java Application or is it usefull to migrate PB to Java? If not, is any way to migrate PB to Java application? Could you give me urls for tutorial and EAServer trail version? Advanced Thanks for yor help. Chaithu EAServer is an application and component transaction server. In other words, it "hosts" your components, which are exposed as J2EE standard EJBs. Java apps can invoke your PB components and your PB app can invoke Java components and all...

Java vs PowerBuilder
Hi I realise that this is a Powerbuilder newsgroup and hence it may be a bit biased but I thought I'd ask this question here anyways as I'm not getting much response from other groups :- Could anyone please pass on their views of how well Java runs within the Sybase engine ( ASE 12.5 ). Are there issues with hung java processes ? Or any other problems people have come across ? Also if anyone out there has any links to related sites, whitepapers etc please forward the links. Many thanks ...

PowerBuilder - EAServer
Hi All, Good Morning, I need some information regarding EAServer. Using EAServer, PB application communicate with Java Application or is it usefull to migrate PB to Java? If not, is any way to migrate PB to Java application? Could you give me urls for tutorial and EAServer trail version? Advanced Thanks for yor help. Chaithu You can see the product manauls in http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.eas_6.0/title.htm > Hi All, > > Good Morning, > > I need some information regarding EAServer. Using EAServer > , PB applicat...

PowerBuilder - EAServer
Hi All, Good Morning, I need some information regarding EAServer. Using EAServer, PB application communicate with Java Application or is it usefull to migrate PB to Java? If not, is any way to migrate PB to Java application? Could you give me urls for tutorial and EAServer trail version? Advanced Thanks for yor help. Chaithu Please see Mr. Horan's response in sybase.public.powerbuilder.general. Please try to avoid posting to multiple groups. -- John Strano - Sybase Technology Evangelist "Ms. Chaithu" <chaithanya.sw@gmail.com> wrote in messag...

PowerBuilder - EAServer
Hi All, Good Morning, I need some information regarding EAServer. Using EAServer, PB application communicate with Java Application or is it usefull to migrate PB to Java? If not, is any way to migrate PB to Java application? Could you give me urls for tutorial and EAServer trail version? Advanced Thanks for yor help. Chaithu Please see Mr. Horan's response in sybase.public.powerbuilder.general. Please try to avoid posting to multiple groups. -- John Strano - Sybase Technology Evangelist "Ms. Chaithu" <chaithanya.sw@gmail.com> wrote in messag...

Calling Java Component from PowerBuilder
Hi I am trying to call a java component on EAServer via my PowerBuilder Client application. As soon as I called createinstance method I am getting the CORBA ORB error in the log. Sep 05 10:13:17 2003: SystemException: BAD_OPERATION (pt_utility/pt_datacache/_get_proxyname - jagadmin@192.168.0.173) does any one have any idea why it is? EAServer version 4.2 PowerBuilder 803- Build 9872 Regards Ali need more information. -- Dean Jones [TeamSybase] CEO PowerObjects http://www.powerobjects.com (612) 339-3355 ext 112 "Ali" <newreader@...

EAServer Java service component
I'm an old PB developer who is venturing into the Java world. I've been playing with PowerJ (did the tutorial, etc.) and can't seem to get a, what should be a simple, Java script to compile. I've probably got the syntax screwed up somewhere. Anyway, what I'm trying to do is build an EAServer service script in Java. I understand the concepts and how it should work (start(), run(), stop(), etc.). Would anyone have a COMPLETE and FUNCTIONING EAServer service routine written in Java they wouldn't mind posting or sending directly to me? Just create a Java com...

Calling EAServer Components with JAVA
Hi all, I have web service components coded with powerbuilder10.0 and I deployed them to EAServer 5.0. Now I need to call my components and its methods with JAVA. But I don't know how to create this component in my java code. Any help would be aprreciated. Thanks alot. This might help: -- Rahul Jain Cynergy Systems, Inc. http://www.cynergysystems.com Take PowerBuilder Applications to the Web Today with Cynergy EAF 4.0 http://www.cynergysystems.com/public/products/eaf "cem_ozer" <cem_ozer@isnet.net.tr> wrote in message news:425fbaa6@forums-1-d...

Web resources about - Java vs Powerbuilder components - sybase.easerver.general

PowerBuilder - Wikipedia, the free encyclopedia
PowerBuilder is an integrated development environment owned by Sybase , a division of SAP . It has been in use since 1991, peaking around 1998 ...

Sybase PowerBuilder tool readied for Microsoft's .Net
... Win32 or newer style .Net development After several years of work, Sybase is ready to deliver on the final step in its plan to move PowerBuilder ...

Jim O'Neil (@jimoneil) on Twitter
Sign in Sign up To bring you Twitter, we and our partners use cookies on our and other websites. Cookies help personalize Twitter content, tailor ...

Open Directory - Computers: Programming: Languages
about dmoz - dmoz blog - report abuse/spam - help the entire directory only in Programming/Languages Description Top : Computers : Programming ...

The HP Booth Staff (Goons) Owe Me an Apology
... when you might need to use it. For instance, when I was in the WinRunner world there were plugins for driving terminal emulators and powerbuilder ...

Contact Us - Sybase Inc
Thanks for visiting the 主页 section of Sybase.com. Here you will find information about Contact Us. For more information about Business Intelligence, ...

热门搜索 - 我的异常网
... 我的异常网 » 热门搜索 sdpnet2 移动【A111】其它用户原因鉴权失败,是什么意思啊 http:// 192.168.1.102:22578 本网站服务器位于美国,受美国法律保护 MiniUI js 破解 http://192.168.1.103:8080/ powerbuilder ...

Mobile app security: Always keep the back door locked
The best way to keep mobile apps safe is to secure the services they connect to.

10 Tech Skills That Will Instantly Net You A $100,000+ Salary
... that let's developers run Java applications. Java is highly popular language for writing web apps and custom enterprise apps. No. 8: PowerBuilder ...

Top Ranked Articles
Top Ranked Articles - Free source code and tutorials for Software developers and Architects.; Updated: 23 Feb 2013

Resources last updated: 1/19/2016 6:34:40 PM