Despite Complexity, Merrill SkippedBy Mel Duvall | Posted 2006-02-07 Email Print
The firm reinvigorated 420 financial programs stored on mainframe computers. How? By buildingfrom scratchWeb services that can handle millions of interactions a day.Middleware">
The team considered using a middleware server for the key job of translating requests in one language, such as Java, into instructions that could be understood by the mainframe, but opted to implement the translation piece directly on the mainframe. The reason: speed and simplicity. Using fewer moving partsby eliminating the servermeans higher reliability and writing the translation code in Assembler, a programming language for the mainframe, delivering higher performance than a Java parser.
The X4ML development environment where Web services are created, analyzed and tested sits on a Java servernot on a mainframeand was written in Java 2 Enterprise Edition, which was selected because of its ability to work with multiplatform architectures. The Java server can be accessed by any browser-equipped computer, satisfying the requirement to allow Merrill's mainframe programmers to develop Web services without the need for high-end workstations.
The key thing, Crew says, is that there is no middleware between the requesting application and the mainframe. For example, a Merrill financial adviser may submit a request from his desktop to find all of his clients with shares in ExxonMobil, perhaps due to a sudden dip in the stock. The request is submitted from the adviser's desktop application, and the search is run directly on the mainframe via a SOAP request. SOAP tells the mainframe which operation to perform, and XML does the translating.
The X4ML Web services development environment is where the magic is created. A mainframe programmer accesses the X4ML tool via his desktop browser. He assigns the new service a name, such as "Client Finder," then tells the tool where to find the application by providing its mainframe listing.
The programmer then clicks on an Import button, and X4ML learns the program's "signature"that is, the program's variables and how they are used.
Next, the programmer uses an analyzer tool to essentially pull the program apart and determine each of its inputs and outputs. By doing this, a programmer can create a Web service tailored to perform all or just parts of an operation contained in a legacy application. For example, a client finder application on the mainframe may produce results that list the name, address, phone number, birthdate and Social Security number of a client.
However, the programmer may want to produce a Web service that just retrieves name and address but not the other data, due to privacy concerns. Increased security policies, such as requiring authentication or encryption, can also be assigned. Alternatively, the programmer can click on a One Click button to automatically create a Web service based on the signature of the program that was determined by the Import tool.
Either option creates the Web service and automatically lists the new service in a Universal Description, Discovery and Integration (USSI) directory, where it can be accessed and utilized by other programmers.
A testing function within the X4ML tool also lets the programmer test the operation and evaluate errors before it is used. Creating new applications from the Web services then becomes a matter of accessing and combining operations in the directory.
The value of Web services was demonstrated over the last three years when Merrill launched a $1 billion effort to create a new suite of applications for wealth management that are available for use by Merrill's 14,000 financial advisers. The dual-screen desktop essentially provides these advisers with access to research, tools and account information to serve clients.
The wealth management project involved the creation of a wide range of new programs, in partnership with Thomson Financial, which brought its range of financial data and research services to the table, and Siebel Systems, for its client management expertise. Where possible, Merrill leveraged functions and data already available on the mainframe.
There was no need to create a complicated system that would allow a financial adviser to search through 1,200 clients to find just the ones owning ExxonMobil shares, when such a search could easily be run on the mainframe and be enacted by a Web service.
QUESTION: What's the biggest headache your tech team can expect to get from deploying Web services? Let us know at Baseline@ziffdavis.com