Title: IA343 Migrating PowerBuilder Applications
1IA343Migrating PowerBuilder Applications
Jim ONeil Principal Technical Support
Engineer Enterprise Solutions Division joneil_at_syba
se.com
2Agenda
- Movin on up to the Internet
- Review of n-tier architectures
- Major migration considerations
- Overview of the Sybase product offerings
- Making choices
3Review of n-Tier Architectures
- Lets quickly review the landscape...
- Two-tier architecture (client-server)
- n-tier architecture (distributed)
- Side-by-side comparison
4Generalized Two-Tier Architecture
Database Server
Client
Vendor / Platform-Specific API
- User interface
- Some business logic
- Data management
- Some business logic
5A Specific Two-Tier Architecture
Oracle 8.1.5on AIX
PowerBuilder EXEon Windows NT
Oracle Client Interface (OCI)via PBO8470.DLL
- Grid DataWindow, command buttons,
- Window functions, other scripts
- Tables, indexes,
- Packages, stored procedures
6Generalized n-Tier Architecture
Database Server
Client
Application Server
- Business logic
- Caching
- Transaction management
- Location transparency
- Load balancing
7A Specific n-Tier Architecture
Visual Basic application on Windows NT
DB2/OS390
EAServer
Java appleton iBook
NetscapeBrowser on Windows 3.11
PowerBuilderapplication on Windows 95
8Side-By-Side ComparisonConsiderations and
Challenges
2-Tier (Client/Server)
n-Tier (Distributed)
Considerations
- Well-known design paradigm
- Solution focused
- Large pool of talent in workforce
- Reusable business logic
- Diverse client support
- Centralized access and control of resources
Challenges
- Limited scalability
- Compromised reusability
- Greater maintenance and deployment effort
- Longer development lifecycle
- Software/hardware interoperability issues
- More points of failure
9Major Migration Considerations
- What are some of the larger issues to consider
when migrating to a n-tier architecture? - Scalability
- Reusability
- Client support
- Security
10Major Migration ConsiderationsScalability
- Scalability refers to the ability of the system
to handle an increase in client activity... - How many users do you have now? How many do you
expect to have in 6 months? in one year? - Can your architecture support this usage
increase? - Hardware requirements
- Database connectivity and license requirements
- Client response time
- High availability
- Usage spikes (end of month activities, etc.)
11Major Migration ConsiderationsReusability
- Reusability refers to partitioning business logic
to promote its use in different contexts, by
different organizations... - How well is you application partitioned?
- Separation of presentation (GUI) from business
layer - Abstraction of logical data from physical data
storage - Does it rely on proprietary interfaces and/or
constructs? - Is logic generalized for reuse by disparate
organizations? - Have you employed object-oriented principles
conducive to application expansion and changes in
business rules?
12Major Migration ConsiderationsSecurity
- Security refers to allowing access only to
authenticated users and protecting the system
from malicious attack... - What software and hardware mechanisms are
employed? - Firewalls Authentication
- Encryption Auditing
- How do you prevent denial of service?
- How do protect data in transit from tampering or
eavesdropping?
13Major Migration ConsiderationsClient Support
- Client support refers to the variety of platforms
and access methods available to the user
community... - How will users access the application?
- What types of hardware will they use? PCs? Macs?
PDAs? - What type of software will be required to support
these access paths? (thin-client vs. fat-client) - Will you allow access by a custom client program?
HTML pages? both? - How large is the effort to distribute application
updates?
14Sybase Product Offerings
- Sybase has a diverse set of products that can be
used alone or together to enable your migration
to the Web - Legacy PowerBuilder solutions (Distributed
PowerBuilder and WebPB) - Plug-ins (DataWindow and Window)
- Active-X components (DataWindow and Window)
- Cooperative processing (Web Deployment Kit)
- Application server (Enterprise Application Server)
15Sybase Product Offerings
- The game plan...
- Present background on these products
- Architecture
- Strengths and Drawbacks
- Show how they score in the areas of
- Scalability
- Reusability
- Security
- Client Support
16Sybase Product OfferingsLegacy PowerBuilder
Solutions
- Distributed PowerBuilder (DPB) and WebPB
- Application server written in PowerBuilder
- Client support
- PowerBuilder applications
- (OLE) Automation clients
- Java clients (via Java proxy - discontinued in PB
8) - WebPB is essentially a specialized DPB client
- Specifically a DLL (or EXE) hosted by web server
- Implementations provided for CGI, ISAPI, NSAPI
17Sybase Product OfferingsLegacy PowerBuilder
Solutions
Distributed PowerBuilder
DPB Server
PowerBuilder ClientApplication
proprietary protocol
TCP/IP NamedPipes
JDBC, ODBC, native RDBMS
JDBC, ODBC, native RDBMS
18Sybase Product OfferingsLegacy PowerBuilder
Solutions
WebPB
Web Server
WebPB
DPB Server
HTTP(S)
proprietary protocol
Client Web Browser
TCP/IP NamedPipes
CGI, ISAPI, NSAPI
JDBC, ODBC, native RDBMS
19Sybase Product OfferingsLegacy PowerBuilder
Solutions
- Strengths
- Leverages existing PowerBuilder investment
- Easy migration assuming prior application
partitioning - Support for CGI, ISAPI and NSAPI allows use with
most commercial Web Servers
- Drawbacks
- Multi-processor restrictions
- No forthcoming enhancements (focus is on EAServer
integration)
20Sybase Product OfferingsLegacy PowerBuilder
Solutions
DPB
WebPB
Thin Client
DPB
FATCLIENT
WebPB
21Sybase Product OfferingsDataWindow Plug-in
- DataWindow Plug-in
- Displays PowerSoft Reports (PSRs) EMBEDded in
HTML pages - Requires use of Web browser that supports
Netscape plug-in API - Netscape Navigator Version 3.x
- Internet Explorer Version 3.x
- Provides print and save capabilities only (no
updating)
22Sybase Product OfferingsDataWindow Plug-in
DataWindow Plug-in (NPDWE70.DLL)
WebServer
Client Web Browser
HTTP(S)
Page
Page
PSRs
ltHTMLgtltBODYgtltEMBED srcreport.psr WIDTH640
HEIGHT350gtlt/BODYgtlt/HTMLgt
23Sybase Product OfferingsDataWindow Plug-in
- Strengths
- Displays report EXACTLY as in PowerBuilder and
Infomaker - Configuration is simple for both server and client
- Drawbacks
- Doesnt support Rich Text DataWindows
- Read-only view
- Does not automatically download other required
resources (e.g., bitmaps) - Limited to Intel platforms
24Sybase Product OfferingsDataWindow Plug-in
Thin Client
FATCLIENT
25Sybase Product OfferingsWindow Plug-ins
- Window Plug-ins
- Displays PowerBuilder child window in confines of
Web browser - Window can open other popup and response windows
- Plug-in available in secure and non-secure
versions - Requires Web browser that supports Netscape
plug-in API - Netscape Navigator Version 3.x
- Internet Explorer Version 3.x
26Sybase Product OfferingsWindow Plug-ins
Window Plug-ins (NPPBA70.DLL and NPPBS70.DLL)
WebServer
Client Web Browser
Page
HTTP(S)
Page
PBDs
JDBC, ODBC, native RDBMS
PowerBuilder Deployment Kit
ltHTMLgtltBODYgtltEMBED srcmyapp.pbd WIDTH640
HEIGHT350WINDOWw_maingtlt/BODYgtlt/HTMLgt
27Sybase Product OfferingsWindow Plug-ins
- Strengths
- Provides the rich interface customary in
PowerBuilder applications - Comes in both a secure and non-secure version
- Simple configuration for client and server
- Drawbacks
- Doesnt support MDI applications
- May require some application rework
- Requires PowerBuilder deployment files (and
database client software) on each client
28Sybase Product OfferingsWindow Plug-ins
Thin Client
FATCLIENT
29Sybase Product OfferingsWindow ActiveX
- Window ActiveX
- Displays child window in confines of Web browser
- Window can open other popup and response windows
- OCX available in secure and non-secure versions
- Requires Web browser that supports use of ActiveX
controls - Internet Explorer 3.x
- Netscape Navigator 3.x with ActiveX Plug-in
- Scriptable within HTML page
30Sybase Product OfferingsWindow ActiveX
Window ActiveX (PBRX70.OCX and PBRXS70.OCX)
WebServer
Client Web Browser
Page
HTTP(S)
Page
PBDs
ltHTMLgtltBODYgtltOBJECT IDWin1 NAMEWin1 WIDTH640
HEIGHT350CLASSIDgt ltPARAM NAMEPBApplication
VALUEappgt ... lt/OBJECTgtlt/BODYgtlt/HTMLgt
JDBC, ODBC, native RDBMS
PowerBuilder Deployment Kit
31Sybase Product OfferingsWindow ActiveX
- Strengths
- Provides the rich interface customary in
PowerBuilder applications - Comes in both a secure and non-secure version
- Can be manipulated via JavaScript or VBScript
- Drawbacks
- Doesnt support MDI applications
- May require some application rework
- Requires PowerBuilder deployment files (and
database client software) on each client
32Sybase Product OfferingsWindow ActiveX
Thin Client
FATCLIENT
33Sybase Product OfferingsDataWindow ActiveX
- DataWindow ActiveX
- Implements most features of DataWindows
- All database interaction via JDBC
- Supported only on Internet Explorer
- OCX is safely scriptable
- All required files put into cabinet file (.CAB)
and downloaded on demand
34Sybase Product OfferingsDataWindow ActiveX
DataWindow ActiveX (PSDWC.CAB / PSDWC70.DLL)
WebServer
Client Web Browser
Page
HTTP(S)
Page
PBLs/PBDs
ltHTMLgtltBODYgtltOBJECT codebasepsdwc.cabVersion7,
0,0,8046id-psdwc1 classid...gt lt/OBJECTgtltPARAM
NAMESourceFileNae VALUEtest.pblgtlt/PARAMgtltPARAM
VALUEd_emp NAMEDataWindowOBjectgtlt/PARAMgtlt/BODYgt
lt/HTMLgt
JDBC
35Sybase Product OfferingsDataWindow ActiveX
- Strengths
- Provides rich set of DataWindow capabilities
- Flexibility enhanced by accompanying Transaction
Object OCX - Can be manipulated via JavaScript
- No separate client configuration required
- Drawbacks
- Doesnt support Rich Text DataWindow
- JDBC is only connectivity option
- CAB file is bulky (1.6MB) resulting in lengthy
download time - Disallows unsafe operations like SaveAs
36Sybase Product OfferingsDataWindow ActiveX
Thin Client
FATCLIENT
37Sybase Product OfferingsWeb Deployment Kit
- Web Deployment Kit
- Product results from partnership with New Moon
Systems - PowerBuilder applications can be deployed as is
- Uses cooperative processing
- Application executes on server machine
- GUI displayed on client machine
- Each client application starts separate instance
of application on server - Clients have ability to print and save locally
38Sybase Product OfferingsWeb Deployment Kit
Web Deployment Kit
Web Server
LaunchPage
Web Browser
HTTP(S)
WDK Server
Server Redirector
Launch File
TCP/IP IPX/SPX NetBEUI
app1
WDK Client Redirector
JDBC, ODBC Native Drivers
app2
PowerBuilderDeployment Kit
39Sybase Product OfferingsWeb Deployment Kit
- Strengths
- Quickest way to the Web
- Leverages built-in NT security mechanisms
- Launch via Web page or desktop shortcut
- Includes Server Administration Interface
- Support for load balancing (server farms)
- Drawbacks
- Each application requires separate configuration
- Internet access not supported (only LAN and
intranet) - WinNT, 95, 98 clients only
- Separate product - not part of EAStudio
40Sybase Product OfferingsWeb Deployment Kit
Thin Client
FATCLIENT
41Sybase Product OfferingsEnterprise Application
Server
- Enterprise Application Server
- Industrial strength application server
- CORBA and J2EE imminent EJB component server
- Dynamic HTML page server
- Java Server Pages (JSP) / servlet engine
- Supports variety of protocols (HTTP(S), IIOP(S),
TDS) - Variety of component and clients supported
- Java ActiveX C/C
- PowerBuilder TDS HTML
42Sybase Product OfferingsEnterprise Application
Server
Enterprise Application Server
Enterprise Application Server
HTTP(S)
JSP
PKCS11
Client Web Browser
IIOP(S)
IIOP(S) TDS
Client Application
JDBC, ODBC, native RDBMS
JDBC, ODBC, CT-LIB, OCI
JDBC, ODBC, native RDBMS
43Sybase Product OfferingsEnterprise Application
Server
- Strengths
- Very rich feature set
- Implementation neutral
- Highly scalable
- Available in four editions to meet business needs
- Integration with Sybase development product suite
- PowerBuilder migration accommodations
- Drawbacks
- Learning curve
- Design paradigm shift
- Complexity of product and its environment
- Applications may require rework to make best use
of features - Not all features available on all platforms
44Sybase Product OfferingsEnterprise Application
Server
- PowerBuilder migration accommodations
- EAServer integration built into PowerBuilder IDE
- PowerBuilder NVOs can be migrated with little or
no modification (caveat developer!) - COMMIT / ROLLBACK automatically overridden
- Connection cache hooks
- Web DataWindow component capabilities
- Jaguar Agent for Web Servers (JAWS) code provided
on MySybase for WebPB migration
45Sybase Product OfferingsEnterprise Application
Server
Thin Client
FATCLIENT
Runs the gamut!
46Making Choices
- So how do you proceed?
- Understanding the technology is one of the
easiest (or at least most controllable) parts of
the puzzle! - Give weight to the soft factors as well...
- What are your companys skill sets?
- What type of growth do you expect?
- What is your time to market?
- Is a phased approach appropriate?
- Is a hybrid approach appropriate?
47Making Choices
- and how is Sybase proceeding?
- WebPB and DPB are in a maintenance cycle
- Plug-ins and ActiveXs seen as mainly an intranet
option - Web Deployment Kit is presented as an interim
solution to webify your applications for
Intranet use - EAServer will continue to receive the
overwhelming majority of engineering and
marketing focus in order to continue to provide
and enhance a scalable, secure, and adaptable
environment to support your application base
48Questions?