Taking PowerBuilder Applications To The Web - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Taking PowerBuilder Applications To The Web

Description:

There are a number of different approaches to moving PB to the web, including: ... Auto-Create HTML, XML, and JavaScript. Step 2 Modify & Test ... – PowerPoint PPT presentation

Number of Views:207
Avg rating:3.0/5.0
Slides: 50
Provided by: donaldd3
Category:

less

Transcript and Presenter's Notes

Title: Taking PowerBuilder Applications To The Web


1
Taking PowerBuilder Applications To The Web
Donald D. Clayton and Bryan RobertsIntertech
Consulting, Inc.dclayton_at_intertech.us (713)
586-6481
2
Todays Agenda PB to Web Strategies
  • There are a number of different approaches to
    moving PB to the web, including
  • Screen Scraping with Appeon
  • Application Partitioning (moving business logic
    to middle tier)
  • PB NVOs as Web Services providers
  • Integrating PB Business Objects with other
    languages
  • .Net
  • C
  • Java/JSP/Struts
  • Using the DataWindow for Web Reporting
  • Using other PB to Web Frameworks

3
Traditional PB-to-the-Web Options
  • Complete Rewrite in Java/J2EE, HTML and
    JavaScript
  • Complete rewrite of everything taking years and
    costing a lot of money
  • Complete Rewrite in .NET, HTML, and JavaScript
  • Complete rewrite of everything taking years and
    costing a lot of money
  • PowerBuilder and EAServer in Java/J2EE, HTML and
    JavaScript
  • Reuse all DataWindows (up to 60 of avg. app) and
    all Business Logic NVOs (0-15 of avg. app)
  • Rewrite user interface and navigation with JSPs
    and JavaScript taking months and suggest you get
    help on first project

4
Elements to Consider
The PB to Web hurdles
  • Datawindows
  • Our best (and most important) option for
    reusability.
  • Many options, with accurate display our primary
    concern.
  • Most solutions provided out of the box from
    Sybase.
  • Business Logic
  • The (currently Powerscript) functions and
    procedures that make the application robust.
  • This is the most difficult portion of the
    application to convert (think PFC).
  • With care, this logic can be partitioned so that
    the legacy PB app and the converted web app can
    be utilizing the same logic codebase.
  • Graphical Logic
  • This layer involves graphics, and
    graphically-driven events (like drag and drop,
    multi/single select, etc).
  • Some of these elements simply cannot be recreated
    easily in the web environment.
  • Several different browser-side solutions can help
    recreate the desired functionality.

5
Solutions
The PB to Web hurdles
  • Datawindows
  • JSP / EAF / PBDW - These methods all use the
    Sybase-provided dlls to generate the DW as an
    html stream. There are several methods of
    connection, and generation within these
    solutions.
  • Appeon - Automatic
  • Business Logic
  • JSP Business logic can be stored in any type of
    class, that can be called from within a JSP page.
    The advantage here is the level of control from
    within the JSP itself.
  • EAF Business logic can be transferred to PB
    NVOs, and stored within Jaguar. This allows
    reuse of the code, as well as leveraging existing
    development talents.
  • Appeon - Automatic (even PFC!)
  • Graphical Logic
  • JSP / EAF Very little support for anything
    short of simple graphical elements (buttons,
    pictures, etc). Other elements will need to be
    created manually.
  • Appeon VERY strong support, some features not
    implemented.

6
Moving PB to the Web with Appeon
  • Appeon for PowerBuilder
  • Applications Deploy existing PB applications to
    the Web
  • Developers Using only PB skills, build NEW Web
    applications immediately with unparalleled
    productivity
  • Users Same rich-client GUI but running in
    standard IE browser

7
Appeon Components
8
3 Easy Steps to the Web for Existing Apps
  • Step 3 Click Deploy
  • Click Appeon Wizard
  • Choose Deployment Profile and Mode
  • Auto-Create HTML, XML, and JavaScript
  • Step 2 Modify Test
  • Rewrite or remove any unsupported PB features or
    code using standard PB programming
  • Test in PB IDE
  • Step 1 Analyze
  • Appeon scans the entire PowerBuilder application,
    flagging any Web browser or Appeon unsupported
    incompatibilities found

9
3 Easy Steps for New Web Development
  • Step 3 Click Deploy
  • Click Appeon Wizard
  • Choose Deployment Profile and Mode
  • Auto-Create Auto-Create HTML, XML, and JavaScript
  • Step 2 Test
  • Test PowerBuilder application in the PowerBuilder
    IDE
  • Step 1 Develop
  • Quickly create new PowerBuilder Client/Server
    Windows and DataWindows using Appeon supported
    features

10
Traditional PB to Web Options
11
Two-Tier Architectures
Database Server
Client
Vendor / Platform-Specific API
  • User interface
  • Some business logic
  • Data management
  • Some business logic

12
Multitier (Distributed) Architectures
Database Server
Client
  • User interface
  • Data management

13
Distributed Application Development
Client
Middle Tier
Data
Web Server
Browser
Very Thin
PageServer
Browser
Thin
TransactionServer
Enterprise JavaBeans, COM, CORBA, PB NVOs
Client/ServerApplication
Rich
14
Managing Complexity
  • Creating an enterprise system that will support
    diverse client types with shared business
    components requires
  • Increased emphasis on analysis and design
  • Increased usage of OO techniques to manage
    complexity
  • Common Techniques include
  • System Partitioning
  • System Layering
  • Service-based architectures

15
System Partitions
16
System Architecture Layers
Layering is accomplished with generalization
(inheritance)
17
System Architecture
A Combined Perspective
Note When designing distributed systems, always
know the layer and partition you are designing
for!
18
Service-Oriented Architectures
  • Service-based architectures are popular in
    distributed computing and in n-tier environments
  • Two main components
  • Requester class
  • Service class
  • The key concept here is the delegation of
    behavior
  • Rather than the encapsulation of behavior
  • Results in highly specialized, task-based classes
  • Proxy objects are used to facilitate
    service-based architectures in an n-tier
    environment

19
Requester and Service Class Example
  • Requesters delegate work to services
  • Contain predefined operations to and call
    services
  • Contain attributes that refer to the service
    classes
  • Service classes respond to requesters, and return
    results
  • Requestor/service model follows the client/server
    metaphor

Requester Class
20
Web Services
21
Web Services Technologies 101
  • What are Web services ?
  • Made up of standards that describe business
    processes
  • Self describing
  • Searchable in a registry of services
  • Sync or Async
  • Loosely coupled and cross platform
  • Reusable

22
Web Services Technologies 101
  • Web services benefits
  • RAD
  • Neutral
  • Architecture language
  • Leverage current investment
  • Accessed through many different client types

23
Technologies 101
High Level Architecture
Client
  • Provider creates and publishes service
  • A client searches a registry for that service
  • The client is able to connect and call the service

24
Technologies 101
  • Protocols involved Web Services Stack
  • WSFL
  • UDDI
  • WSDL
  • SOAP
  • XML
  • TCP/IP, HTTP etc

Emerging Layers
Core Layers
25
Web Services Technologies 101
  • TCP/IP, HTTP
  • Common Internet Transport Protocols
  • Web services not tied to any one protocol

26
Web Services Technologies 101
  • XML
  • Extensible Markup Language
  • Widely accepted format to exchange data
    semantics
  • Core building block for every layer in the Web
    services stack

27
Sample XML Schema
28
XML Element to DW Column Mapping
29
Technologies 101
  • SOAP
  • Simple Object Access Protocol,
  • Represents a
  • light-weight,
  • wire-level protocol
  • for messaging RPC communications
  • Based on XML

30
Web Services Technologies 101
  • SOAP Message
  • Envelope comprised of
  • Header
  • Body
  • Body comprised of
  • Requests
  • Responses
  • Status
  • Attachments

Envelope
Header
Body
Requests
Response
Status
Attachments
31
Web Services Technologies 101
  • WSDL Document
  • Comprised of
  • Data types
  • Message/method
  • Port
  • Binding
  • Service

Document
Data Types
Message
Interface
Port
Binding
Implementation
Service
32
Web Services Technologies 101
  • UDDI
  • Universal Description, Discovery and Integration
  • SOAP-based Web service
  • Allows
  • Providers to register services
  • Clients to lookup services
  • Uses WSDL to describe services

33
Web Services Technologies 101
Client
UDDI
Provider
Lookup
Register
Service
34
Creating Web Services with PowerBuilder
Jaguar Manager
PowerBuilder
Generate Stubs and Skeletons
EA Server
Component Development
Component / User Object
Deploy Component
Expose Component as Web Service
Component Proxy
Create Component Proxy
WSDL
Eclipse
Web Service Client
Create Web Service Proxy from WSDL
Internet
Web Service Development
35
EAServer 5.1
IIOP
CICS
Stored Procs
36
Topics
  • Distributed Architecture Issues
  • Role of a Jaguar Component Transaction Server
    (CTS)
  • Jaguar CTS Environment
  • Server
  • Components
  • Packages
  • Repository
  • Architectures for Building Web Applications

37
Role of the Server Application
  • Component instantiation and lifecycle
  • To efficiently manage
  • Database connections
  • Transactions
  • Threads
  • Security

38
Jaguar CTS Environment
Jaguar Server
IIOP requests
Class Libraries

9000

TDS requests
7878
HTTP requests
8080
Components
Package
Jaguar Manager
Repository
39
Required Expertise
Business Developers
Lifecycle
Threads
Transactions
Security
GUI Developers
Connections
System Developers
40
HTML DataWindow
Web Browser
Web Server
Page Server
HTML
41
PowerBuilder as a Data Provider (Shell)
  • Integrating PB Business Objects with other
    languages real world example
  • 3-Tier client/server application Unix, PB,
    C/C, Oracle
  • Entera Early Application Server Operated
    within Distributed Computing Environment (DCE)
    using Remote Procedure Calls (RPC) to manage C/S
    communication, Security, DB access, memory
    management, etc.
  • Client PowerBuilder 5, 285 windows, 600 DWs
    (1300 Objects/360K lines of code), etc.
  • Server C C (business logic), 80 server
    components (750 files)

42
PowerBuilder as a Data Provider (Shell)
  • Entera

43
PowerBuilder as a Data Provider (Shell)
  • EAServer

44
PowerBuilder as a Data Provider (Shell)
  • Moving from Entera to EAServer because
  • Entera Server Components often hang up and block
    client access
  • Memory leaks server components must be recycled
    each night
  • Clients sometimes endure long waiting times
  • Obsolete product No support since 2001
  • Obsolete technology Comparable to Windows 3.1
    DOS today
  • No support for new UNIX libraries
  • Development tools utility libraries on UNIX are
    1996 versions, no longer supported by OS
  • Unable to upgrade server OS (UNIX).
  • Random load balancing

45
PowerBuilder as a Data Provider (Shell)
  • Power Simplicity with Custom PB Data
    Abstraction Layer (DAL)
  • PowerBuilder data access
  • 10 years in database access experience
  • EAServer Connection management
  • Its the DataWindow!!!
  • SQL statements decoupled from C components
  • PowerBuilder dynamically created DataWindows from
    cached SQL
  • Native PowerBuilder DataWindow data
    manipulation/access
  • Data by rows (tab delimited array strings)
  • Data by columns (column arrays)
  • Stream (stringtab delimited for columns,
    carriage return/line feed for rows)
  • HTML output
  • Opportunity for web service functionality

46
The EAF 4.0
  • Features
  • Web Based Administration
  • Seamless Data Update and Retrieve
  • PDF and Excel Reports
  • XML Argument Service
  • XML Messaging Service
  • Enhanced Error Messaging
  • Web DataWindow Wizard
  • Global Debugging
  • Database Logging and Log Filtering
  • Email Queuing Services
  • Multi-Web DataWindow Transactions
  • Extensive Documentation

47
The EAF 4.0
  • Strengths
  • EAF 4.0 bundled with PowerBuilder 10.0
  • Only PowerBuilder Web development framework to be
    endorsed by Sybase
  • Sybase has developed many case studies on EAF
    users
  • Open Source
  • Utilizes existing PowerBuilder Skills
  • Reuses PowerBuilder code and DataWindows
  • DataWindows become updateable Web pages in
    minutes
  • Robust server side event model
  • Powerful yet flexible retrieve and update model
  • Total control over the process

48
The EAF 4.0
  • Strengths (continued)
  • 6 Years in action on large small production
    systems
  • Over 1,000 companies and organizations using EAF
    Worldwide
  • Alberta Gaming and Liquor Commission
  • Apache Corporation
  • Halliburton ESG HR
  • Fidelity
  • KeyLink Solutions
  • QuoteCommand.com
  • State of Montana
  • United States Department of Energy
  • United States Library of Congress
  • University of Houston Louis Stokes Alliance for
    Minority Participation
  • University of Sydney

49
EAF Administration Demo
50
EAF Administration Demo
51
Next Steps?
52
Title Arial 28 pt.
Secondary Title Arial 16 pt.
  • Subhead Arial Bold 20 pt.
  • Body or secondary lines Arial16 pt.
  • Body or secondary lines Arial16 pt.

53
Title Arial 28 pt.
Secondary Title Arial 16 pt.
Write a Comment
User Comments (0)
About PowerShow.com