Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations

Presentation on theme: "Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. (713) 586-6481"— Presentation transcript:

1 Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. (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 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

4 Elements to Consider 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. The PB to Web hurdles…

5 Solutions 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. The PB to Web hurdles…

6 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

7 Appeon Components

8 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

9 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

10 Traditional PB to Web Options

11 Two-Tier Architectures Database Server Client User interface Some business logic Data management Some business logic Vendor / Platform-Specific API

12 Multitier (Distributed) Architectures Client User interface Data management Application Server Business logic Caching Transaction management Data location transparency Load balancing Database Server

13 Distributed Application Development Components Browser Components Client/Server Application Browser Production Data Enterprise JavaBeans, COM, CORBA, PB NVOs Templates, Scripts Page Server HTML Pages File System Very Thin Thin Rich Web Server Components Transaction Server Client Middle Tier Data

14 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

15 System Partitions Problem Domain Partition User Interface Partition System Management Partition

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 Service 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 Client Registry Provider 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

24 Core Layers Emerging Layers Technologies 101 Protocols involved – Web Services Stack WSFL UDDI WSDL SOAP XML TCP/IP, HTTP etc

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 Message Port Binding Service Data Types Interface Implementation

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 Provider Service UDDI Lookup Register

34 Creating Web Services with PowerBuilder Component Development Component / User Object Component Proxy Web Service Proxy Jaguar Manager Eclipse Web 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

35 EAServer 5.1 IIOP CICS PB Clients Clients JavaClients HTMLClients Stored Procs PBEJBActiveXApplicationIntegrator Enterprise Application ServerCorba Security Web Services

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 To efficiently manage: Database connections Component instantiation and lifecycle Transactions Threads Security Server

38 Jaguar CTS Environment Jaguar Server 9000 Repository Jaguar Manager IIOP requests Package Components 7878 TDS requests 8080 HTTP requests Class Libraries

39 Required Expertise Lifecycle Threads Security Connections Transactions GUI Developers System Developers Business Developers

40 HTML DataWindow Web BrowserWeb 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 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


51 Next Steps?

52 Title Arial 28 pt. Subhead: Arial Bold 20 pt. Body or secondary lines Arial16 pt. Secondary Title: Arial 16 pt.

53 Title Arial 28 pt. Secondary Title: Arial 16 pt. Legend

Download ppt "Taking PowerBuilder Applications To The Web Donald D. Clayton and Bryan Roberts Intertech Consulting, Inc. (713) 586-6481"

Similar presentations

Ads by Google