Enterprise Application Integration
The Requirements
A major
financial organization in Cleveland, Ohio undertook a $100+
million project to replace its branch and call center systems.
The organization needed leadership for the analysis and design
of the EAI (Enterprise Application Integration) layer between
the vendor-supplied client system and 30 legacy systems. It
needed someone to:
-
Work with user and vendor management to
define the legacy functionality to be exposed in the EAI layer.
-
Lead a team of a half-dozen analysts
that provided specifications and support to a team of over forty
programmers.
-
Develop and implement technical
standards for the EAI layer.
-
Use Rational Rose as the tool to
document the analysis and design.
-
Build
tools as needed to automate the development of as much of the design
and programming as possible, including the generation of as much
code as possible.
The Solution
MindCrafted
supplied two people to lead the EAI analysis and design effort.
We worked closely with retail and back office management as well
as with the vendor to perform business analysis.
We developed a rigorous and comprehensive design that provided
consistent access to 30 internal and external systems, giving
all the interfaces the same look and feel regardless of their
platform or language. Client programmers were able to use our
interfaces without being able to tell what backend system was
involved.
We developed, documented and implemented best practices for
everything from the overall design down to tips on how to write
an attribute's definition. This resulted in consistent and
similar source code throughout the entire EAI layer.
During the construction phase, we provided leadership to guide
the writing of these programs by 40+ programmers in various
teams. We specified versions and managed changes.
In a project that lasted nearly two years, our EAI team met
every deadline and our software had a very low rate of errors.
Our design eased interoperability so much that other projects in
the organization immediately began using our interfaces and
using our design standards for other projects.
Technology, Tools and Innovations
We created our
models and specifications in a very large Rational Rose model.
The model had over 360 components and nearly 30,000 attributes.
This model successfully drove the entire development process.
Using scripts in the model, we generated 70% of the mainframe
COBOL code and 100% of the XML for BizTalk maps. We also
generated specifications in Word documents for vendor, client,
and off-shore programmers directly from the Rose model.
We created
Rose scripts to:
- Generate skeleton models – insuring uniformity in our
models.
- Audit our models to enforce our standards
- Reverse engineer a major legacy system and load it into
the model.
Because our
design was rigorous and consistent, and because we generated so
much of the code, we were able to turn programming the
interfaces into a factory operation. All the programs had
the same appearance in code. Individual programs were not
owned by developers -- different developers worked a
given program at different times and could move from program to
program with ease. This greatly improved development team
productivity and increased flexibility in assigning work to
programmers.
Needing a tool to manage the development of 360 components
and the team of analysts and programmers, we designed and built
an Access application that provided information and reporting to
several layers of management. We built bridges from the Access
application to Rose as well as to the client's defect tracking
system then imported the data daily. Managers and analysts used
this application throughout the day to log issues, create
component versions, make programming assignments - to manage the
development process. By the end of the project, the
database contained a wealth of historical information on each
component which they then used to begin tracking metrics. They
still use this Access application to manage the maintenance of
the interfaces.
This client's EAI infrastructure was a home-grown solution using
MQ Series and BizTalk to transport messages primarily to
business components implemented as COBOL programs running under
CICS. MindCrafted's expertise was utilized in the analysis,
design and the development process. This expertise is readily
transportable to other technologies. |
 |
Analysis & Design |
 |
|
MindCrafted Systems was brought in to
capture requirements and then design program
specifications.
|
| Code Generation |
|
Since the model was documented using
Rational Rose, we wrote programs to generate 70% of the
code based on the meta data stored in the model.
|
| Project Management |
|
In addition, we created an Access
application to track the work done both internally by
the client's IS staff as well as work done overseas and
also by the vendor. |
|