A key question still asked in today’s complex multi-platform environments is how to best use the Web to leverage all the critical business information residing in the still-thriving mainframes of the world. This brings us to Service-Oriented Architecture (SOA).
Approached correctly, SOA is a cost-effective, low-risk way of giving your employees, partners, and vendors secure access to all the appropriate information in your mainframe. SOA is less time-intensive and complicated to deploy than application integration strategies and is considered essential for bridging the gap between the mainframe and the open application world.
Before you make your way into the world of SOA, be aware of the issues. Organizations that approach SOA thoughtfully will be well-rewarded. Here, we’ll pose some questions and offer some insight that you’ll want to consider.
1. What is an SOA? SOA lets interacting software agents seamlessly communicate using small sets of simple, generic interfaces. It’s ideal for Enterprise Application Integration (EAI) and workflow solutions as well as communication between business applications and the Web. When users request access and information, the SOA interprets it and your mainframe delivers it to your standard Web browser. An SOA can serve as a foundation for making distributed systems more accessible, flexible and responsive to users.
2. What are some of the major trends in SOA? There’s a skills challenge. Finding good people is expensive, and that’s forcing some companies to question whether their mainframe platform will continue to be viable. Not to worry. It is viable—and with SOA, it will become even more so. Another factor is IBM’s commitment to Java 2 Enterprise Edition (J2EE). IBM wants mainframes to be J2EE application servers. But the mainframe trend getting the most attention these days is SOA, and that’s because SOA solves many problems—with the help of Web Services.
The World Wide Web Consortium (W3C) defines Web Services like this: “Web Services provide a standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks. Web Services are characterized by their great interoperability and extensibility thanks to the use of XML, and they can then be combined in a loosely coupled way to achieve complex operations. Programs providing simple services can interact with each other to deliver sophisticated added-value services.”
Simply put, Web Services act as translators. They let computers talk to one another over the Internet, thus eliminating the usual impenetrable barriers such as different hardware platforms, software languages, and proprietary operating systems. Follow the clearly defined Web Services protocols and you have a bridging system—a “between” application. One advantage of Web Services is that they’re “portable.” They can be reused to form new applications, which can save time and money and result in an IT system that better serves an organization’s business goals.
3. What business issues are driving the need for SOA? The main factors, as always, are the need for speed and flexibility and the ability to reduce costs and increase revenue. Information nearly isolated in a mainframe doesn’t do much good. An SOA can “liberate” data that will increase the ability to meet changing market conditions. One result is the ability to better meet changing market conditions. Traditionally, mainframe applications weren’t good at easily dispensing data since they focused on a few internal users. With SOA and Web Services, increased responsiveness to customers and changing business conditions is achieved. It’s about getting all that incredibly useful business information in your mainframe into the hands of people and applications that can drive business performance.
4. What are the key issues and challenges? What do you believe the future holds for your mainframe? Often, companies are finding it’s not a matter of “limping along” with their mainframe. Instead, they’re realizing they can unlock its potential with SOA and Web Services. If you intend to modernize and expose your mainframe’s applications and usage, then you should definitely consider SOA.
You’ll also want to look at “architecting through” existing applications. With SOA, your goal should be to integrate applications through Web Services in new, more meaningful ways. But that may mean you have to consider some level of restructuring. Often, applications have to go through a “divide-and-conquer” restructuring where key services in the application are exposed and become usable in various new situations.