Saturday, February 7, 2009

SCEA1.5 - Legacy Connectivity

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

When u have access to mainframe source code use Object-mapping, if u dont have access to mainframe source code use screen scrapping.

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.
Check what is needed for VT100 terminal? Given ans JDBC with SQL, for MQseries - EJB session bean with JMS message, JNDI allows to connect to LDAP server
When u have access to mainframe source code use Object-mapping,if u dont have access to mainframe source code use screen scrapping.

Offboard server:
An off-board server is simply a proxy server for legay system
Enable secure remote access to a mainframe by forwarding SSL requests to serial connections

Fast Lane Reader:
The Fast Lane Reader design pattern provides a more efficient way to access tabular, read-only data. A fast lane reader component directly accesses
persistent data using JDBCTM components, instead of using entity beans. The result is improved performance and less coding, because the component represents
data in a form that is closer to how the data are used.

How to connec to VT100 terminal?
Use JDBC with SQL
How to connect to MQseries ?
Use EJB session bean with JMS message
How to connect to LDAP server?
JNDI allows to connect to LDAP server