taking powerbuilder applications to the web donald d. clayton and bryan roberts intertech...

49
Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. [email protected] (713) 586-6481

Upload: carlee-holloway

Post on 30-Mar-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Taking PowerBuilder Applications To The Web

Donald D. Clayton and Bryan RobertsIntertech Consulting, [email protected] (713) 586-6481

Page 2: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 3: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Traditional PB-to-the-Web Options

1. Complete Rewrite in Java/J2EE, HTML and JavaScript Complete rewrite of everything taking years and costing a lot of money

2. Complete Rewrite in .NET, HTML, and JavaScript Complete rewrite of everything taking years and costing a lot of money

3. 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

Page 4: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Moving PB to the Web with Appeon

Page 5: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Appeon Components

Page 6: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 7: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Step 1 – Develop Quickly create new

PowerBuilder Client/Server Windows and DataWindows using Appeon supported features

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

3 Easy Steps for New Web Development

Page 8: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Traditional PB to Web Options

Page 9: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Two-Tier Architectures

Database ServerClient

User interface Some business logic

Data management Some business logic

Vendor / Platform-Specific APIVendor / Platform-Specific API

Page 10: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Multitier (Distributed) Architectures

Client

User interface Data management

Application Server

Business logic Caching Transaction management Data location transparency Load balancing

Database Server

Page 11: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Distributed Application Development

Components

Browser

Components

Client/ServerApplication

Browser

ProductionData

ProductionData

ProductionData

ProductionData

ProductionData

Enterprise JavaBeans, COM, CORBA, PB NVOs

Templates,Scripts

PageServer

HTML Pages

FileSystem

Very Thin

Thin

Rich

Web Server

Components

TransactionServer

ClientClient Middle TierMiddle Tier DataData

Page 12: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Managing Complexity

Page 13: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

System Partitions

Problem DomainPartition

UserInterfacePartition

SystemManagement

Partition

Page 14: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

System Architecture Layers

Layering is accomplished with generalization (inheritance)

Page 15: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

System Architecture

A Combined Perspective

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

Page 16: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 17: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Requester Class

Service Class

Service Class

Page 18: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Web Services

Page 19: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 20: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Web Services Technologies 101

Web services benefits RAD Neutral Architecture & language Leverage current investment Accessed through many different client types

Page 21: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Technologies 101

ClientRegistryProvider

Service

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

High Level Architecture

Page 22: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Core Layers

Emerging Layers

Technologies 101

Protocols involved – Web Services Stack

WSFL

UDDI

WSDL

SOAP

XML

TCP/IP, HTTP etc

Page 23: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Web Services Technologies 101

TCP/IP, HTTP Common Internet Transport Protocols Web services not tied to any one protocol

Page 24: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 25: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Sample XML Schema

Page 26: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

XML Element to DW Column Mapping

Page 27: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Technologies 101

SOAP Simple Object Access Protocol,

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

Based on XML

Page 28: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 29: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Web Services Technologies 101

WSDL Document

Comprised of Data types Message/method Port Binding Service

Document

Message

Port

Binding

Service

Data Types

Interface

Implementation

Page 30: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 31: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Web Services Technologies 101

ClientProvider

Service

UDDI

Lookup

Register

Page 32: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Creating Web Services with PowerBuilder

Component Development

Component / User Object

Component Proxy

Web Service Proxy

Jaguar Manager

EclipseWeb Service Client

Internet

Expose Component as Web Service

EA Server

PowerBuilder

Generate Stubs and Skeletons

Create Web Service Proxy from WSDL

Deploy Component

Create Component Proxy

Web Service Development

WSDL

Page 33: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

EAServer 5.1

IIOP

CICS

PBPB ClientsClients

JavaJavaClientsClients

HTMLHTMLClientsClients

Stored Procs

PBPB EJBEJB ActiveXActiveX ApplicationApplicationIntegratorIntegrator

Enterprise Application Server

CorbaCorba SecuritySecurity

Web Web ServicesServices

Page 34: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Topics

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

Server Components Packages Repository

Architectures for Building Web Applications

Page 35: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Role of the Server Application

To efficiently manage:

Database connections

Component instantiation and lifecycle

Transactions Threads Security Server

Page 36: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Jaguar CTS Environment Jaguar Server

9000

RepositoryJaguar Manager

IIOP requests

PackageComponents

7878

TDS requests

8080

HTTP requests

Class Libraries

Page 37: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Required Expertise

Lifecycle

ThreadsSecurity

Connections

Tran

sact

ions

GUI Developers

System Developers

Business Developers

Page 38: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

HTML DataWindow

Web Browser Web Server

Page Server

HTML

Page 39: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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)

Page 40: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

PowerBuilder as a Data Provider – (Shell)

Entera

Page 41: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

PowerBuilder as a Data Provider – (Shell)

EAServer

Page 42: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 43: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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…

Page 44: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 45: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 46: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

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

Page 47: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

EAF Administration Demo

Page 48: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

EAF Administration Demo

Page 49: Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. dclayton@intertech.us (713) 586-6481 dclayton@intertech.us

Next Steps?