[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

PB_archittecture

Posted on 2009-04-27
23
Medium Priority
?
574 Views
Last Modified: 2013-12-26
We have a fat client PB application installed on 200 machines that connects to an oracle 10g server. IT is very hard to maintain.

We would like to do one of the following:
1. Migrate from 2-tier client/server (fat client) to 3-tier (thin client) architecture
2. Migration from 2-tier client server to n-tier web architecture.

What kind of work is involved in Option 1. Is it difficult to do or just a matter of copying the executables to an application server and all users run it from there. Do we need a special application server for that?

Would it be more difficult to go to a web architecture. DO we need to recode the whole application in some other language or Sybase offers tools to allow you to do this.

Is there any good reference books on doing the above migrations

thanks,

0
Comment
Question by:sam15
  • 8
  • 5
  • 5
  • +1
22 Comments
 
LVL 18

Accepted Solution

by:
diasroshan earned 800 total points
ID: 24248063
Hi,

Regarding options 1, Migrate from 2-tier client/server (fat client) to 3-tier (thin client) architecture, one option i would suggest is using EAServer. If ur current application involves most of the business logic written into user objects,the additional efforts shudnt be too much. But would require some enhancements.
Read up on EAServer.

Regarding option 2,Migration from 2-tier client server to n-tier web architecture, Appeon is a good tool and a much simpler approach.
PB 11+ and above could be another option.

I suggest googling for reference material.

Cheers,
Rosh
0
 

Author Comment

by:sam15
ID: 24250591
Can you elaborate on "if most of the business logic written into user objects" then use EA server?

How many ways can you program in PB. i thought that is how the standard way of doing this. I did not write this app, is there a way for me to check how it is written?

You say it is easy? is it merely copying the executables from client machine to EA server? are we talking days/weeks/months for a medium size application.

is this EA server like an Propietary Application Server that Sybase has for hosting PB applications.
0
 
LVL 14

Assisted Solution

by:sandeep_patel
sandeep_patel earned 800 total points
ID: 24252434
In powerbuilder there are two common approaches...

1. you place objects(buttons, datawindows, radiobuttons, etc.) direct on window and write business logic in their events and you just write code to open window. There will be more no. of windows in your pbls than userobjects
2. you place objects(buttons, datawindows, etc) on custom visual userobject and write business logic in their events and then open this user objects from window dynamically. THere will be more no of userobjects in your pbls than windows.

So if your business logic is written into userobjects, it becomes easier to user EA server. Because you can directly deploy pb userobjects on this server with minimal efforts. However you can not deploy PB window's on EA Server.  So if your logic and objects are on window, there is a lot efforts required in transfering them to userobject and deploy and test.

Yes, EA server is sybase's proprietary and licensing is required for that.

If I am not wrong in option 1 you still need to deploy the application on client machines so don't know how much maintenance effort will be reduced.

I would also suggest the option of using CITRIX, where there is no need to deploy anything on client machines except CITRIX client, which allows user to connect to CITRIX server . You deploy your application only on CITRIX server and use with very little maintenance. If there are more users you can think of multiple CITRIX servers and can distribute the load.

For CITRIX also licensing and extract cost is required.

Regards,
Sandeep
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 19

Assisted Solution

by:grant300
grant300 earned 400 total points
ID: 24254561
You are going to want to take a long look at Appeon.  With only minor over-simplification, Appeon allows you to deploy your existing PB application on an application server and then access the app with a standard web browser.  There are some relatively minor restrictions and it does not support really old versions of PB but it is likely to be your easiest migration path by far to a zero-install client.

Regards,
Bill
0
 

Author Comment

by:sam15
ID: 24255681
thanks for the info. so it seems i got 3 options but still not sure how much effor involved

1.  EA server - that allows us to deploy code on application server (still client server 3 tier model). still we need to have client code on each machine. Work effort depends on how the code is written

2. Citrix server - 0 client software. All PB code will be on citrix server. need citrix client for that on each machine. Any changes for PB app here?

3.  Appeon - this makes PB a web application accessible by browser. Would this require same effort as #1 and also depends on how the code is written.

thanks,
0
 

Author Comment

by:sam15
ID: 24255686
I should have mentioned the PB application is Version 10.5.
0
 
LVL 14

Expert Comment

by:sandeep_patel
ID: 24257190
For citrix no pb changes are required except if you are reading something from registry or ini and which is different on each client machine. Because on CITRIX there will be one registry and ini shared by all clients. Other than that I don't see any major change in your system.

And yes you have fourth option to look for pb11+ as mentioned by Rosh. I don't have much idea about it, but I believe it too uses EA server and .net plateform.

Regards,
Sandeep
0
 
LVL 18

Expert Comment

by:diasroshan
ID: 24259041
Hi,

Out of the 4 options, its entirely upto you which approach u wish to adopt.

Rule out EAServer, it would require lotsa changing in architecture and coding.

If you procure appeon, its as good as using a wizard to move to the web. Requires minimal changes for unsupported features.

CITRIX is a technology, widely used to overcome performance issues with network traffic etc.  You could read more on it too.... Lotsa applications developed in PB make use of this technology.

Finally, the latest version of PB... .NET enabled... havent tried it yet... so cant comment on it...

Cheers,
Rosh
0
 

Author Comment

by:sam15
ID: 24276394
is there a way for me to verify how current application is design: whether more windows or more user objects. I think it is more windows and objects placed on the windows but i want to confirm.
0
 
LVL 14

Expert Comment

by:sandeep_patel
ID: 24276673
open object browser and select your application target from dropdown and check no of windows and user objects under window and userobject tab pages.

Regards,
Sandeep
0
 

Author Comment

by:sam15
ID: 24284068
I did tools/browser and  clicked on tabs.

under user object there are 300 starting with n_cst, pfc_n_cst, u_, and uo_
The uo_ were a few.

Under windwos there are also about 300 starting W_

under data windows there are about 500 starting D_

Does that tell you it is using windows and datawindows.
0
 
LVL 14

Expert Comment

by:sandeep_patel
ID: 24284591
looks like your applicaiton is using powerbuilder foundation class (PFC) library. These objects will be mostly in libraries starting with 'pfc' and 'pfe' (5 with pfe and 5 with pfc). Also these pbls and objects are supplied from sybase in PB installation. All objects in libraries starting with 'pfe' are inherted from objects in libraries starting with 'pfc'. Hence 'pfc' library object are in top layer, then 'pfe' objects are in middle layer and then your company's custom objects are in lower layer (should be there in other pbls).  Middle layer (pfe) is mostly used to customize default PFC functionality otherwise there won't be any code in it.

Now all the objects starting with 'uo_' should be developed by your company. Objects and windows created by your company will be inherited from PFC objects.

As you said there are few user objects starting with uo_ and there are around 300 windows, it means that your actuall business logic is mostly in windows (bcoz PFC libraries have less windows).

And that will be tough to migrate. Hope this explanation will help you to understand your applications architecture.

Regards,
Sandeep
0
 

Author Comment

by:sam15
ID: 24320510
One lat question on APPEON.
How is APPEON different than EA Server? Are they both Application servers.

Is APPEON now owned by Sybase and reliable app server or it may be discontinued?

It seems an APPEON deployment will need a few months of work? agree

I was reading that PB11 does WEB stuff. Is that converting PB code to .NET code or you are writing .NET code.

0
 
LVL 19

Expert Comment

by:grant300
ID: 24321360
Appeon is NOT like EA Server at all.  It is specifically designed to allow PB applications to run Web-Enabled.  As far as I know, that is its only purpose.

An Appeon deployment is your easiest route to web deployment of PB apps.  You may have to change a few things to get around a couple of the limitations of Appeon but you should not have to make wholesale changes or re-write the application.  Depnding on how big your application is you may have it working in days and certainly in a few weeks, not months.

What you were reading about that "PB11 does WEB stuff" is deployment with Appeon.  There is no way to "convert PB code to .NET code" as that would be a complete rewrite and change in architecture.

Appeon is THE solution if you are a PB shop and need to deploy on the WEB.  It works really slick and requires a minimum of modification to yoru existing code base.

Get an evaluation copy and port one of your smaller apps to see what it takes.

Regards,
Bill
0
 
LVL 18

Expert Comment

by:diasroshan
ID: 24323637
Hi,

NO, Appeon is not an application server like EAServer but just another tool or should i say Add-on for PowerBuilder.

i guess the solution for u would be appeon.
Download a trial version from http://www.appeon.com

Go through the site, would answer a lot of ur queries.

We use appeon and are pretty happy with it.

Cheers,
Rosh
0
 

Author Comment

by:sam15
ID: 24329893
I thought you install APPEON on a server and move all the client code to it so users can use a browser/URl for application. Thhere has to be some application server for that. Or do you need an EA server + APPEON to do this.

What I found is that Powerbuilder is considered now a .NET programming language just like ASP, VB, C#.
It can be used to develop applications that run on .NET framework.
0
 
LVL 19

Expert Comment

by:grant300
ID: 24330639
Forget about .NET unless you are looking to do a complete rewrite.  Just because you can do a thing does not mean you should do a thing.

I would suggest you go to the Sybase documentation on Appeon at:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.help.appeon.6.1/title.htm

You can use EAServer, WebLogic, or WebSphere as the application server.

The installation documentation will tell you everything you need to make it all work.

Regards,
Bill
0
 
LVL 14

Expert Comment

by:sandeep_patel
ID: 24331256
I agree with sam15 that PB11 has features that will migrate your PB code to .Net plateform

here is more info

http://www.sybase.com/products/modelingdevelopment/powerbuilder

Regards,
Sandeep
0
 
LVL 19

Expert Comment

by:grant300
ID: 24332192
It sure does.  I am just not sure what advantage that has over Appeon.

Are you suggesting that it would be easier to port the applications to .NET than it would be to deploy them with Appeon?

In addition, it takes an extraordinary talent and work to deal with the .NET performance issues.  I know of exactly one, large scale .NET web deployment that impresses with it's speed.  It is not impossible; it is just not trivial.

What advantage(s) are there to porting to .NET instead of deploying with Appeon?

Regards,
Bill
0
 

Author Comment

by:sam15
ID: 24341793
probably none. .NET will take moretime.

But i was curious on how APPEON is an add on tool and not an application server. How can it host the PB code if it is not an app server.
0
 
LVL 19

Expert Comment

by:grant300
ID: 24345277
As close as I can figure without actually doing an installation, Appeon is a PB runtime environment that plugs into the back of an application server.  Kind of akin to a JVM but that may be a bit of a stretch since I think there is a zero-install client component to Appeon as well.

Regards,
Bill
0
 
LVL 18

Expert Comment

by:diasroshan
ID: 24347021
Hi,

Appeon architecture resides in at least three types of servers: Web server, application server, and database server.  Each server involves a third-party server product: for example, Appeon Server is installed to EAServer.

I guess EAServer is bundled with Appeon Server.

Cheers,
Rosh
0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Note: this article covers simple compression. Oracle introduced in version 11g release 2 a new feature called Advanced Compression which is not covered here. General principle of Oracle compression Oracle compression is a way of reducing the d…
I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
Via a live example, show how to take different types of Oracle backups using RMAN.
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.
Suggested Courses
Course of the Month17 days, 23 hours left to enroll

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question