There was a request that I post my notes on Legacy Connectivity. These are based on sections of Jaworski's book (published by New Riders). Legacy Connectivity Distinguish appropriate from inappropriate techniques for providing access to a legacy system from Java code given an outline description of that legacy system. Upgrading Client-Tier GUIs In cases where the GUI is loosely coupled to the other legacy tiers you can use an applet or a small application to replace the GUI. Applets can communicate with the other tiers via TCP sockets. The applet can be signed and trusted, if necessary to access resources. Applets can also communicate with COM and CORBA objects (using bridge or Java IDL). Screen Scrapers Screen scrapers may be used to integrate applet (or other) interface with an existing system. They are particularly useful when the client interface is tightly coupled to the other tiers of the system. A screen scraper is an application that translates an existing client interface into a set of objects. Screen scrapers usually function as a terminal emulator on one end and an object interface on the other. The screen scraper is configured to read data from terminal fields of the legacy interface and make them available via objects. Screen scrapers have the following advantages: Provides a low-level object-based interface to the legacy app. Allows you to build a new GUI over the existing client interface. Disadvantages of screen scrapers: Any changes to the legacy interface can break the new GUI. Prone to causing errors in the new GUI because of unexpected outputs from the legacy interface. Prone to causing the new GUI to "freeze" when the legacy interface is expecting input that the screen scraper in unaware of. Object Mapping Tools Object mapping tools can be used if you choose to ignore the existing legacy interface and access the underlying tiers directly. These tools are used to create proxy objects that access legacy system functions and make them available in an object-oriented form. Object mapping tools are usually more effective than screen scrappers because they are not dependent on the format generated by the existing legacy interface. Upgrading Application Business Logic Java servlets provide a capability to make existing applications available via an intranet or the Internet. Clients (browsers and/or applets) access servlets via HTTP or HTTPS. The servlets take the requests and communicate with the legacy system. EJBs provide a component-based approach to upgrading legacy applications. Java's support for CORBA enables CORBA objects to be accessed from Java and Java objects to be accessed as CORBA objects. Microsoft's JVM provides (or used to provide) a bridge between Java and COM objects. JNI may be used to write custom code to interface new business logic with an existing legacy system. Upgrading the Data Storage Tier JDBC may be used to access relational databases in a legacy system. In many cases the legacy database will not support a pure JDBC driver. If the database provides ODBC support the JDBC-ODBC bridge can be used. If the existing legacy database is hierarchical or flat-file then it may be able to be imported into an RDBMS. Securing Legacy System Components Retrofitting a system with security is generally more expensive and less productive the redesigning and redeveloping the system to operate in a secure manner. However, budget constraints may prevent this. Legacy systems may be isolated from threats by placing them behind a firewall. Access control to legacy systems can be controlled by requiring users and external applicationsto authenticate themselves with the firewall before they can access the legacy system. Auditing features of the legacy system should be used to determine who is accessing the legacy system and when. A VPN may be used to secure all communications with a legacy system.
The only reason for time is so that everything doesn't happen all at once.
- Buckaroo Banzai