Taking PowerBuilder to the Web

Download Report

Transcript Taking PowerBuilder to the Web

Taking PowerBuilder Applications To The Web

Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc.

[email protected] (713) 586-6481

Today’s 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

Traditional PB-to-the-Web Options

1.

2.

3.

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

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

Appeon Components

3 Easy Steps to the Web for Existing Apps

Step 1 – Analyze

Appeon scans the entire PowerBuilder application, flagging any Web browser or Appeon unsupported incompatibilities found • •

Step 2 – Modify & Test

Rewrite or remove any unsupported PB features or code using standard PB programming Test in PB IDE • • •

Step 3 – Click Deploy

Click Appeon Wizard Choose Deployment Profile and Mode Auto-Create HTML, XML, and JavaScript

3 Easy Steps for New Web Development

Step 1 – Develop

Quickly create new PowerBuilder Client/Server Windows and DataWindows using Appeon supported features •

Step 2 – Test

Test PowerBuilder application in the PowerBuilder IDE • • •

Step 3 – Click Deploy

Click Appeon Wizard Choose Deployment Profile and Mode Auto-Create Auto Create HTML, XML, and JavaScript

Traditional PB to Web Options

Two-Tier Architectures

Client Database Server

Vendor / Platform-Specific API

  User interface Some business logic   Data management Some business logic

Multitier (Distributed) Architectures

Client Application Server Database Server  User interface      Business logic Caching Load balancing  Transaction management Data location transparency Data management

Very Thin Thin Rich

Distributed Application Development Client Browser Browser Components Client/Server Application Components Middle Tier Web Server Data

File System

HTML Pages Transaction Server Page Server Templates, Scripts Enterprise JavaBeans, COM, CORBA, PB NVOs Production Data Production Data Production Data Production Data Production Data

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

System Partitions Problem Domain Partition User Interface Partition System Management Partition

System Architecture Layers

Layering is accomplished with generalization (inheritance)

System Architecture

A Combined Perspective

Note: When designing distributed systems, always know the layer and partition you are designing for!

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

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 Service Class

Web Services

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

Web Services Technologies 101

Web services benefits

 RAD     Neutral Architecture & language Leverage current investment Accessed through many different client types

Technologies 101

High Level Architecture Provider Registry Service Client

   Provider creates and publishes service A client searches a registry for that service The client is able to connect and call the service

Technologies 101

Protocols involved – Web Services Stack

WSFL UDDI WSDL SOAP XML TCP/IP, HTTP etc

Emerging Layers Core Layers

Web Services Technologies 101

TCP/IP, HTTP

 Common Internet Transport Protocols  Web services not tied to any one protocol

Web Services Technologies 101

XML

 E

x

tensible

M

arkup

L

anguage   Widely accepted format to exchange data & semantics Core building block for every layer in the Web services stack

Sample XML Schema

XML Element to DW Column Mapping

Technologies 101

SOAP

 Simple Object Access Protocol, 

Represents a

   light-weight, wire-level protocol for messaging & RPC communications 

Based on XML

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

Web Services Technologies 101

WSDL Document

Comprised of

     Data types Message/method Port Binding Service Document Data Types Message Port Binding Service Interface Implementation

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

Web Services Technologies 101

Provider

Register Service

UDDI

Lookup

Client

Creating Web Services with PowerBuilder

Component Development

Jaguar Manager PowerBuilder Generate Stubs and Skeletons Component / User Object Deploy Component Component Proxy Create Component Proxy

Web Service Client

Create Web Service Proxy from WSDL

Web Service Development

Web Service Proxy EA Server WSDL Internet Expose Component as Web Service Eclipse

EAServer 5.1

PB Clients Java Clients HTML Clients Web Services Enterprise Application Server PB EJB Corba ActiveX Application Integrator Security IIOP Stored Procs CICS

Topics

   

Distributed Architecture Issues Role of a Jaguar Component Transaction Server (CTS) Jaguar CTS Environment

    Server Components Packages Repository

Architectures for Building Web Applications

Role of the Server Application

Component instantiation and lifecycle

    

To efficiently manage:

Database connections Transactions Threads Security

Jaguar CTS Environment

IIOP requests

Class Libraries

TDS requests 9000 HTTP requests 7878 8080

Jaguar Manager Jaguar Server

Package

Repository

Components

Required Expertise Business Developers Lifecycle GUI Developers System Developers

HTML DataWindow Web Browser Web Server Page Server HTML

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)

PowerBuilder as a Data Provider – (Shell)

 Entera

PowerBuilder as a Data Provider – (Shell)

 EAServer

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

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

It’s 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 (string —tab delimited for columns, carriage return/line feed for rows) HTML output Opportunity for web service functionality…

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

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

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

EAF Administration Demo

EAF Administration Demo

Next Steps?