Guest speaker: Joe Pluta, Pluta Brothers Design Inc. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com This is a review of the various technologies for Web-enabling legacy applications. Companies Web-enable for many different reasons, and there are many different options. Some of them you may not have even considered. So, rather than rehash just the most popular techniques, this presentation will attempt to address all of your Web-enabling options. I’ll also try to give you some idea of the available products. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com The Options Replacing Refacing Rewriting © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Replacing If your existing system is out of date and unable to cope with your requirements, you may want to consider replacing it. Many vendors can supply you with ready-made Web-enabled systems. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Refacing Traditional Model Terminal Emulation Thin-Client Computing Screen Scraping © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Traditional Model RPG Program EXFMT Workstation Data Management 5250 data stream 5250 Terminal Display File © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Terminal Emulation RPG Program EXFMT Workstation Data Management 5250 data stream 5250 Emulator Display File © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Terminal Emulation Many vendors Client Access Express Mochasoft Rumba Shareware and Freeware 5250 Emulators © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Terminal Emulation Can now be done over VPN Virtual Private Network Secure, Stable, Reliable Speed depends on Internet connection © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Thin Client Computing RPG Program EXFMT Workstation Data Management Display File © 2003 Pluta Brothers Design, Inc. Thin-Client Terminal Server 5250 data stream TCP/IP 5250 Emulator Thin Client http://www.plutabrothers.com Thin-Client Computing Citrix MetaFrame GraphOn WinBridge Microsoft Terminal Server SCO Tarantella Virtual Network Computing Wyse Winterm © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Screen Scrapers RPG Program EXFMT Workstation Data Management 5250 data stream Screen Scraper Client Display File © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Screen Scrapers Providers dwindling: Core Technology Jacada Seagull Zephyr © 2003 Pluta Brothers Design, Inc. Gone: Easel Flashpoint Mozart http://www.plutabrothers.com To Scrape or not to scrape Pros: No source changes Desktop integration Cons: Fewer vendors The interactive tax © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com CFINT: The Interactive Tax CFINT is a system job that consumes CPU resources when it recognizes that your interactive workload exceeds the interactive CPW rating of your machine. This governor is indiscriminate: When CFINT kicks in, all of your jobs, batch and interactive, come nearly to a standstill. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com CFINT: The Interactive Tax Most new iSeries models now offer only two options for interactive CPW: Standard models have zero interactive capability Advanced edition servers have full interactive capabilities Except for the very smallest iSeries model, there is no middle ground. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com How Much Does CFINT Cost? To determine the direct cost of interactive CPW, go to the following IBM Web page: http://www.iseries.ibm.com/servlet/factFind This page compares the costs of various iSeries configurations. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com How Much Does CFINT Cost? The 810-0869 is a 2700 CPW machine. With zero interactive this model costs $50,000, while the same machine with max interactive costs $245,000 – nearly five times the cost. higher CFINT makes your hardware costs . © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com IBM Options Screen Scrapers Host Publisher Host On-Demand HATS Like all screen scrapers, the IBM screen scraper solutions require interactive CPW. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com IBM Options RPG Program EXFMT Workstation Data Management Display File Data Buffers Java Beans and Java ServerPages WebFacing Runtime (WAS) HTML Browser © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com IBM Options Until just recently, WebFacing also used interactive resources. Now, however, on the newer server models WebFacing will not require interactive CPW. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Interactive Technologies Except for the new WebFacing offering, these are all interactive techniques that require no modifications to the legacy systems. These have an initial cost/benefit advantage. However, the new IBM pricing model has made interactive solutions too expensive for many businesses to maintain. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Rewriting © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Rewriting Two architectures: Client/Server Application logic on client, makes requests to servers on the host Examples: ODBC or Web services Server/Client Application logic on server, makes requests to client to present data Examples: X-Windows or good old 5250 © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Client/Server Business logic encapsulated in servers or replaced by ODBC calls Application logic moves to client Three client options: Remote database Thick client Browser-based © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Remote Database AS/400 Workstation DB2 ODBC Support ODBC based application © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Remote Database Remote database designs are relatively less flexible than other architectures. Because the client must have complete knowledge of the database layout, changes to business rules that affect your database can be difficult to deploy. Remote database is best suited for ad hoc user queries, and not for mission-critical enterprise applications. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Thick Client AS/400 Server Workstation Program Call Support Client/ Server Application Server Server © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Browser Based AS/400 Server Workstation Web Application Server Web browser Server xxxx xxxx xxxx Application and business logic Server © 2003 Pluta Brothers Design, Inc. Note: This interface uses only HTML, so no sophisticated graphics are supported. http://www.plutabrothers.com Other The other client/server architectures share the same concept: business logic is encapsulated in servers. Whether exposed via program call or Web service, or encapsulated in Java classes, these server programs are probably the ultimate goal of a complete rewrite. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Other Unfortunately, there are no tools today that can directly mine business logic, although some companies are beginning to claim that ability. Certain 4GL vendors also claim to be able to encapsulate your business rules. But in most cases, a true client/server design will require a significant investment in rewrite (which also means re-testing). © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Server/Client Application logic unchanged I/O requests replaced by API calls Three UI options: Thick client on workstation Thick client applet CGI or servlet/JSP to browser © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Browser Technologies Static Web pages Common Gateway Interface Servlets JavaServer Pages JSP and servlets © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Static HTML Workstation AS/400 HTTP Request Web Server Web Browser HTML Data Static HTML Pages © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Common Gateway Interface Workstation AS/400 HTTP Request Web Browser HTML Data © 2003 Pluta Brothers Design, Inc. Web Server CGI Program (RPG, Perl, …) Database Data http://www.plutabrothers.com Servlet Workstation AS/400 HTTP Request Web Browser HTML Data © 2003 Pluta Brothers Design, Inc. Web Server Servlet (Java) Database Data http://www.plutabrothers.com JavaServer Pages Workstation AS/400 HTTP Request Web Server Database Data Web Browser HTML Data JSP Processor JavaServer Pages © 2003 Pluta Brothers Design, Inc. JavaBeans http://www.plutabrothers.com Servlet/JSP Workstation AS/400 HTTP Request Web Browser Web Server Servlet HTML Data JSP Processor JavaServer Pages © 2003 Pluta Brothers Design, Inc. Database Data JavaBeans http://www.plutabrothers.com Server/Client Application logic unchanged I/O requests replaced by API calls Three UI options: Thick client on workstation Thick client applet CGI or servlet/JSP to browser © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com e Serv r/Client - CGI AS/400 Workstation HTTP Server Application rewritten to replace workstation I/O with CGI calls. Web browser xxxx xxxx xxxx Note: This interface uses only HTML, so no sophisticated graphics are supported. © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com e Serv r/Client - CGI Replace I/O with CGI calls Requires an HTTP server Several vendors FreeStyle/400 LegacyWeb Relational Web © 2003 Pluta Brothers Design, Inc. (*) http://www.plutabrothers.com Server/Client - Thick Client AS/400 Application Client Workstation Server Client APIs © 2003 Pluta Brothers Design, Inc. Thick Client UI Server http://www.plutabrothers.com e Serv r/Client – Thick Client Replace I/O with server/client API May require additional software Jacada PSC/400 Seagull © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Server/Client - Applet AS/400 Application Client Server Client APIs © 2003 Pluta Brothers Design, Inc. Workstation HTTP Server UI Server Applet Web browser http://www.plutabrothers.com Server/Client - Servlet/JSP AS/400 Application Client Server Client APIs Workstation Web Appl. Server Web browser xxxx xxxx xxxx Servlet Java Server Page © 2003 Pluta Brothers Design, Inc. Note: This interface uses only HTML, so no sophisticated graphics are supported. http://www.plutabrothers.com e Serv r/Client – Servlet/JSP Replace I/O with server/client API Requires Web Application Server May require additional software Jacada Jaci/400 PSC/400 Seagull © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com e Serv r/Client – Servlet/JSP © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com e Serv r/Client – Servlet/JSP © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com e Serv r/Client – Servlet/JSP © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com Emulation Thin Client Scrapers WebFacing C/S S/C CGI S/C thick S/C browser Dialup Y N (N) (N) Y Y Y Y Batch N N N (Y) Y Y Y Y Thick Client N N Y N Y N Y N © 2003 Pluta Brothers Design, Inc. Browser N (N) N Y Y Y N Y No Source Y Y Y (N) N N (N) (N) Time + ++ ++ ++++ +++ +++ + Cost ++ +++ + ++ +++ http://www.plutabrothers.com e Serv r/Client – Servlet/JSP © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com e Serv r/Client – Servlet/JSP © 2003 Pluta Brothers Design, Inc. http://www.plutabrothers.com