MDA SUCCESS STORY

MAGNET COMMUNICATIONS, Inc.

Company Name: Magnet Communications, Inc.

Type of Industry: Financial Software for Banks

Application/Project Name:
BizBankingWORKS (BBW)

Description:
Magnet Communications, Inc. is a leading provider of secure, Web-based business banking solutions for financial institutions of all sizes - from money center and super-regional financial institutions to community banks and thrifts. Magnet's industry-leading products, services and support enable financial institutions to become the valued source for their business customers' financial needs. The company's strategic focus is on helping financial institutions:

  • Custom-tailor cash management and business banking solutions to address the specific needs of multiple business markets
  • Increase revenue potential and create greater operating efficiencies across market segments
  • Reduce infrastructure costs by servicing multiple markets with a single, integrated platform
  • Increase adoption rates for online financial services across market segments

Founded in 1995, Magnet Communications is a privately held company based in Atlanta, Georgia.

Problem:
Magnet had identified J2EE as its target technology for new development, and had initiated a long-term project to develop a new system for small-business cash management. The initial development team was still becoming proficient in J2EE technology, and the quality of the code was not optimal for the initial delivery. In addition, much of the coding consisted of cut-and-paste operations in order to replicate the design pattern applied to the code.

Solution:
Magnet Communications identified a local MDA company, Metanology Inc., as a logical supplier for UML code generation. Not only were they close-by geographically, but Metanology had also developed financial applications using their own Model Driven Environment (MDE) tools, and hence were familiar with our business. MDE is based upon OMG's Model Driven Architecture® (MDA®) standard.

The initial use of Metanology's MDE toolkit was in development of a new Loans package addition to BizBankingWORKS (BBW). Although the package itself is a fairly small development, the project was used as a basis for writing of all new PIMs incorporating Magnet Communications' design patterns.

Subsequently these PIMs have been used for all new product J2EE development. Another MDA solution involved the need to convert our C++ CORBA objects to EJBs. Working with Metanology, we defined a MDE plug-in that converts CORBA IDL into a fully annotated UML model, and then applied the resulting model to our PIMs to generate all of the infrastructure code for the EJBs. The only remaining work was to convert the C++ business object code to Java.

Technology/tools used:
Software: Metanology MDE, Rational Rose Modeler, J2EE/EJB
Hardware/ servers: Intel based machines
Platforms: Windows 2000/Websphere/Pramati/MSSQL
Languages: Java
Other: Visibroker ORB

UML/CORBA/MDA: UML is used to model all aspects of the final system, including the UI (JSP/HTML), EJBs, Value Objects. Output from MDA generation includes all files needed for a J2EE deployment. Developers add code to a limited number of generated files in well-defined locations. Web designers add Javascript, branding, and page design enhancements to the generated JSPs.

CORBA is used internally as part of J2EE. However, our EJBs also call native CORBA objects via IDL generated Java client interfaces. The Core MDA development team has 6 people in total.

Benefits:
Our experience is that the PIM and UML models generate over 90% of the total lines-of-code in applications where MDA is used. Since all infrastructure code is generated, no errors are introduced from cut and paste replication of the patterns. We expect maintenance and support to be enhanced once the MDA-generated code is in wide production use.

Magnet currently has one customer using BizBankingWORKS and several others in the implementation phase. Eventually all customer sites will use code generated with MDA. Our largest customer site has over 20,000 users.