Legacy
System Integration Approaches
The
six general approaches to obtaining access to legacy data
from modern applications: Refacing,
Repurposing,
Restructuring,
Re-engineering, Replacing
and Multi-Tier
Application Modeling.
<<
return to Legacy Systems Integration
Refacing
Refacing
is defined as replacing standard terminal emulation
screens on a one-to-one basis with a graphical user
interface (GUI). This approach is a non-invasive way
to make a given host application blend in more seamlessly
with GUI desktop environments without modifying the
legacy host application. Its cost is low, and it can
be achieved in very little time. However, the end result
is only slightly different from the original application:
the presentation is enhanced, but the logic and workflow
of the application remain unchanged.
Repurposing
Capturing,
encapsulating and exposing screen-based business logic
from many screens and enterprise systems without modifying
the legacy host application. Like refacing, repurposing
is a non-invasive approach that results in an application
that blends in with GUI desktop environments. It's slightly
more costly and time-consuming than refacing, but ultimately
yields much improved results.
In
contrast to refacing, the resulting application can
be greatly different from the original application or
applications involved. With repurposing, you can alter
the workflow of the involved application or applications
to better suit the business processes in your organization,
streamlining those processes and enhancing productivity.
Beyond
simply integrating data from multiple host applications
into a single presentation, repurposing may also involve
building in new business logic for various purposes
such as updating data sources, performing calculations,
triggering events, and otherwise automating tasks in
general.
return
to top ^
Restructuring
Modifying
an enterprise application to separate presentation and
business logic. Restructuring an enterprise host application
is more involved in terms of cost, time and complexity
than either repurposing or refacing. As previously mentioned,
in most legacy host applications, all three layers -
Presentation, Business Logic, and Interoperability -
are inextricably bound together. Accordingly, it's not
possible to call application procedures bound in the
Business Logic layer directly without passing through
the Presentation layer and incurring its associated
system resource overhead.
An
invasive approach, restructuring entails separating
some of the Presentation, Business Logic and Interoperability
layers in a legacy host application. Once that work
is done, application procedures in the Business Logic
layer can be wrapped with new interfaces and integrated
into any number of new refacing or repurposing types
of applications, completely bypassing the Presentation
layer while preserving data integrity in the Interoperability
layer.
Ultimately,
restructuring enables you to integrate only those application
layers that you deem useful. For instance, perhaps there's
an application procedure in the Business Logic layer
of a given application that you'd like to leverage.
Doing so commonly makes sense because the existing application
logic is proven to work, and helps preserve data integrity
in the Interoperability layer. Only through restructuring
can you invoke the desired application procedure directly
- without having to invoke any presentation logic -
while helping to preserve data integrity.
return
to top ^
Re-engineering
Re-engineering
means scrapping the application and rebuilding the entire
enterprise host application from scratch. If the application
you need can only be achieved through re-engineering,
it goes without saying that additional time, expense,
and risk are also involved. Building from scratch, however,
gives your organization exactly what it desires. Such
applications are built to exact specifications, fully
meeting your organization's business and technology
needs.
return
to top ^
Replacing
With
application replacement, there's the opportunity to
choose what operating platform you want the new application
to run on, as opposed to being bound to the original.
With an off-the-shelf product, you get the support of
the application vendor, rather than having to support
a homegrown application yourself. The key to success
when replacing an application is to refine your business
processes to match those of the new application and
to ensure it integrates well within the existing application
environment.
return
to top ^
Multi-Tier
Application Modeling
Recently,
a further evolution of the screen-scraping concept has
produced a major step forward. In this approach, a server
is introduced as an intermediate tier residing between
the client and the legacy applications. This enables
the legacy screen datastreams to be modeled and managed
on the server, fully isolating them from the new client
applications; further, it enables increased manageability,
maintainability, and scalability. The multi-tier approach
has proven far superior to the older two-tier approach,
especially for larger projects where ongoing growth
and software maintainability are critical.
For
most organizations, the best approach to accessing legacy
data is usually via multi-tier application modeling.
It provides flexible, manageable, and scalable user
access in real time and rapid time-to-market, within
a reasonable budget. Ink2Web has both a proven methodology
and a great deal of experience in each of these integration
techniques, we can readily produce a fast and flexible
solution with mission-critical reliability. Some of
the key features of a complete multi-tier approach include:
- Support
for a wide range of client front-ends, including Java,
Windows APIs (such as ActiveX), and C-language libraries;
- Support
for XML - Support for Application servers, including
WebSphere and WebLogic;
- Ability
to act as a legacy data source to standard end-user
and development environments;
- Support
for a wide range of back-end legacy hosts, including
IBM mainframes presenting 3270 screens, IBM AS/400s
presenting a 5250 interface, and a variety of UNIX,
VMS, and other systems presenting a Telnet (VT100/220)
interface;
- Management
features and scalability enabling thousands of concurrent
sessions;
- Automated
tools for capturing screens and navigation, minimizing
the amount of code to be written; and
- Intelligent
design so that the client user interface, the database
of screens and navigation, and the back-end data access
are independent, optimizing code reuse.
|