2003 Tools Unlock Doors to the "Glass House"
A growing number of web services tools and technologies -- from XML links, to gateways and connectors -- are helping .Net and Java developers unlock the doors to legacy "Glass House" resources. See why the Gartner Group says 2003 may be the year where web services developers/integrators begin to push the boundaries.
Web services are slowly -- but surely -- coming into the realm of legacy computing.
Departmental developers -- using .NET and/or Java -- are beginning to get the right tools that will help them work more closely with mainframe and mini-based software, which is opening up the next frontier in the developer-as-integrator movement, according to ongoing research done by an analyst at GartnerGroup.
"Web services are the latest 'Next New Thing,' in the legacy evolution," says Gartner's Dale Vecchio. He told Integration Developer News, "The big companies that are starting to experiment [with web services] are the kinds of companies looking to re-leverage their business processes without needing to rewrite lots of code." Those business processes, as a rule, are embedded in complex and expensive applications written for mainframes and minis.
The key to success when deploying web services with legacy systems, Vecchio said, are applications that carry "low volume" and "low risk.""Developers want to pick a project where if the transaction fails, it's no big deal," he added. "What's not acceptable is starting on a mission critical system with web services. There just aren't enough answers yet to key questions like 'who maintains the integrity of the transaction, and how,' in the event of a failure."
Are "Integration Brokers" Broken?
During the Internet rage, a handful of start-up firms such as Vitria and SeeBeyond, offered "integration brokers" to legacy developers and managers. These hardware/software devices held the promise of making it easier to get at those valuable mainframe-based rules and datasets more available to other departmental systems. This new technology was supposed to make it easier to change and update rules, as well. And, make companies less reliant on a small group of C++, COBOL, Fortran and other legacy developers.
But, implementing these "integration brokers" often proved difficult, expensive and time-consuming, Vecchio said. In fact, even the first step in the process was hard -- just finding, defining and recoding of those business rules.
Web services, Vecchio said, is offering developers at complex enterprises another approach -- one where integration with native mainframe code (rather than recoding) is the prime focus. Ironically, it is the old staid legacy companies -- and not the new Internet start-ups -- that are pouring lots of effort into this approach. And why not? These old-line terminal emulator and mainframe connectivity companies know the legacy territory. But, until the availability of web services standards such as XML, SOAP and description languages like WSDL, developers at these firms just didn't have the technologies available.
Legacy Toolmakers Embrace Web Services
That's changing fast, Vecchio said. Well-known legacy names, including Clientsoft, Seagull Software, and Attachmate are all stepping up their legacy-to-desktop efforts to embrace web services. Even in the Open Source world, Jakarta is coming up with offerings here.
"They're not just looking to give customers an HTML GUYI anymore," Vecchio said, "these companies are stepping up on programmatics and coming up with real web service integration approaches to let developers get at legacy-based business rules and even develop multipoint data sharing and transaction handling."
Web services companies used to use screen scraping and other desktop-centric techniques to change the interface or the forms that users would see when working with backend applications. "But now with web services, the developers are getting much more creative and ambitious.""I'm building a new 'application composite,' using information from multiple sources," Vecchio explained, "and then, I'm using that to cross into and combine with my existing stovepipe (vertical) mainframe applications. The result: I've created a whole new application. I'm not just playing with the presentation [GUI} anymore."
For example: Clientsoft's Tanit Objects is both a development platform and a runtime environment for IBM CICS integration. The objects go well beyond the concept of screen scraping. They provides tools to wrap existing OS/390 CICS/IMS programs and transactions into business components and Web services, while also allowing CICS/IMS programs to use Java and COM components from other platforms. The goal: to be able to allow Java, .NET and legacy developers to build reusable business components and Web Services, out of OS/390 CICS/IMS transactions.
Inside Clientsoft's Web Services Approach
Clientsoft offers technology for both Java and Microsoft developers (COM and .NET). In fact, the company has been part of the VB IDE since last year, and has a Visual Studio.NET product in beta which will capitalize on the company's 3270 and 5250 offerings.
"Pieces or entire transactions within the 3270 could be imported and integrated into a DLL or Active X," Andy Wong, Clientsoft's vice president of engineering, told Integration Developer News.
"We now deal in a concept called 'unit of work'," he added, "It's a concept we put together in order to put screen recognition into an object-based environment to make it easier to develop or re-engineer an application." Bottom line, a 'unit of work' is a way to describe the series of discreet screens and session connections that would be needed to accomplish a simple, definable task.
Wong explained that a "unit of work" is beyond traditional screen scraping or other GUI-driven approaches. "We found that a traditional terminal application with just one screen is good for a GUI-to-host session, but, that just doesn't work with the web, because the application is tying up too many sessions. You don't want to tie up a host session if you don't have to," Wong said.
In fact, Wong explained, in applications that have multiple steps, such as registering for a college course or filling out a loan application, it's even more important to break the session-dependent GUI-to-host relationship, and use a more loosely-coupled connection model, which coincidently is just how web services looks at connections.
"In our model with web services, .NET allows us to transform the 'unit of work' into a standard web service," Wong said. "We have converted our process to [give developers] a .NET option to connect to the host. We have put our environment in .NET to let developers navigate the host and create the objects they need. .NET has the wizards and the utility to define WSDL and protocols already there so that we can define the web service and map that series of steps into our 'unit of work.'
Tanit Objects also support Java developers, allowing them to generate Java/EJB components. In the case of 3270 applications, Tanit Objects can alternatively generate Cobol-CICS programs to handle the 3270 navigation. Such a program can be remotely invoked by any middleware platform able to call on a CICS DPL program.
Drilling Down into the Code
In Clientsoft's case, the Tanit Objects uses three separate methods to allow developers to access the CICS programs. These are: (1) Distributed Programming Link (DPL), (2) a 3270 Bridge, and (3) a front-end processing interface (FEPI). Tanit Objects implements all of its processing on the OS/390, delivering substantial performance gains and centralized administration over non-mainframe based solutions. Developers can also access IMS programs through Tanit's FEPI.
For web services support, Tanit Objects also provides the ability to wrap 3270 applications as a SOAP compliant Web Service. Remote SOAP clients can use such a service over HTTP, exactly as they would with any other Web Service. Clientsoft Tanit Objects allows you to take advantage of the power of XML for your integration projects. For XML use, they can also deliver an XML representation of each CICS/IMS screen; generate an XML interface; and map components and parse a COBOL program.
Tanit Objects also provides developers with what Clientsoft calls a "full business component generator." Tanit Objects provides more than the facilities to create components out of Java classes or Microsoft DLL's. Tanit Objects automatically assembles the various pieces of the component together into a working component, including the ability to automatically handle complex 3270 navigations.
So, What Now?
What does all of this mean for enterprise developers that want to bridge their Java, Microsoft and COBOL/legacy developer teams?
Gartner's Vecchio has a vision of what might be coming:
"The answer to getting full end-to-end web services into production is getting these guys to understand the flexibility. Once you start to break up business logic, data and presentations, you can recombine your asset in hundreds of different ways. But, without discipline and a shared vision of what's possible, it's also a lot harder to keep track of what's going on. The first steps, then , I think, are more about getting the traditional COBOL developer to understand how he can expose his rules so that other developers, Beans, .NET, whatever, can reuse that logic without requiring anyone to re-implement or re-write it."