Service-oriented architecture (SOA) is about the future design of your business and the architecture required to adapt applications to enable greater business flexibility. By redesigning the IT infrastructure with key elements built around a service-oriented philosophy, IT managers can respond directly to dynamic business changes - much more quickly and cost-efficiently than in silo-based technical designs.
SOA's advantages, however, rely largely on decomposing key existing software applications or constructing new elements into broader building blocks which represent common business processes. You then wrap these blocks in an SOA-compliant communications layer that allows them to easily establish interactions with any parts of the enterprise.
Implementing SOA from scratch with new-generation software tools is complicated enough. Its a bit more challenging when it involves legacy systems that continue to support the core of the business, such as applications written in third and fourth generation language (3GL and 4GL) tools on mainframes. However, many businesses have sunk millions of dollars into strategic applications written with those tools. Those applications have become extremely vital to the continuity of those businesses. This means that IT managers approaching SOA must become full partners in the project. They cant just be one-time visitors for specific tasks.
Bits and Pieces
Specialization can significantly complicate SOA for mainframes. Mainframes are very good at what they do. Typically, they perform secure, high-volume transactions that differentiate the business. However, these applications were built up in a fashion based on a functional view of the business (accounting, inventory, sales, etc). With very closely coupled interfaces. This silo style implementation was undertaken to optimize consumption of once-scarce infrastructure resources. However, it had the unintended effect of generating greater resistance to change today.
So, not only do IT managers need to wrap a long-serving application in a modern SOA software layer; they also need to do it without risking or impeding ongoing operations. However, that specialization can work in their favor. Those who can put an effective SOA wrapper around legacy applications gain the capability to capitalize on the highly reliable mainframe platform up and down the SOA stack - and do so quickly.
Modernizing mainframe applications into any new IT architecture, SOA or otherwise, means deciding between internal resources or external solutions. Using internal resources typically means restructuring mainframe code and building an in-house bridge between mainframe resources and other applications.
Labor hours and cost as well as complicated implementation and testing cycle become issues in that case. But perhaps the biggest challenge is posed by the decline in legacy skills across the IT sector. Many COBOL programmers are nearing retirement, and younger programmers arent as familiar with the once-dominant commercial programming language.
But its not just an issue of seeking and hiring new COBOL programmers.The existing staff generally has more knowledge of the business than any new person, no matter how technically proficient, could easily absorb. The real trick is transferring knowledge of the existing applications to newcomers. That can be done, though and application documentation tools can be valuable in documenting applications for the new staff.
On the external solutions side, the options are greater. Purchasing an SOA platform solution can be one alternative. While specific implementations vary, these are often development frameworks with pregenerated and customizable communications wrappers for specific applications, including those on mainframes. While this can ease the core development burden, these solutions still require in-house programming and management staff to exploit. They may not provide the full, differentiating value the initial applications did.
Bringing in an external solutions provider can enable greater focus on the SOA implementation task and free internal IT resources to focus on keeping the business running. By engaging a systems integrator, the organization gains experienced help in applying SOA principles to specific business processes at the outset, followed by all the technical know-how required to select the proper path to the SOA goal. An SI approach to SOA - guided, for example, by a Unisys approach to providing greater visibility into business and IT linkages across the enterprise - can help clients rediscover and capitalize on the business processes and knowledge residing in their existing applications. This also enables them to model their business and IT infrastructure to see the potential outcomes of various transformation approaches before they decide which one to employ.
Organizations cant simply abandon older applications. Doing so can mean losing significant competitive advantage. The most effective solution is to preserve and renovate critical business processes by developing a step-by-step modernization roadmap. Sure, step-by-step means considerable planning and detail, but with help from a systems integrator, this isn't nearly as daunting a task as one might believe. And the benefits are multiple, in that not only will IT wind up with a roadmap to SOA transformation, but it will also see specific application touchpoints that can be exploited for new efficiency or competitive advantage.
The progression to SOA is basically the same across all organizations. Start with auditing:
- That means a thorough analysis of existing applications - features, location, protocols employed. Look for similarities in the applications hosted in other process silos. Often, companies are running far more software than they need.
- Assess the business rules - often the most tedious part of the whole SOA process. This means mapping out all critical business processes flow-chart style, identifying critical rules and mapping out where those may change in the future.
- Align process to infrastructure - its mainly a matter of matching up the data from the first two steps to see how the organization is actually using its software. And then proceed to map out some future patterns of technology needs and behavior. This might involve integrating new software due to competitive needs or a recent acquisition, or simply combining redundant technology silos to save on software and operating costs. It should certainly include the capability to allow different pieces of the organization's software infrastructure to easily communicate across the entire software portfolio - or at least as much as might be prudently required.
- With the first three steps covering current analysis as well as the identification of near-future goals, the last step becomes simply a matter of identifying the specific technology requirements and resources needed to accomplish these goals.
Returning to mainframes in particular, an examination of the strategic business components of the COBOL application portfolio should precede any SOA discussion. It should look at transaction programs, batch programs, demand programs, command lines, databases, data files and system configurations. Any proposed changes can be assessed by tracing relationships to other affected modules, programs and data containers.
Experienced systems integrators will generally employ some kind of application portfolio management platform to accomplish this task.Software platforms can be specifically designed to work through an SOA application planning process. In the case of a COBOL audit, they would document and analyze existing COBOL applications; identify opportunities for improvement, both on code and process levels; and calculate the resources required to reach the business goal.
The examination described should focus not just on technology, but also on regaining knowledge lost over time. This sets up an organization for further modernization particularly one whose legacy applications are currently very resistant to change. If this is the case, application code needs to be simplified. However, the modernization should be done without changing the applications externally visible behavior or features. Those seeking to achieve this conditioning should follow these steps:
- Remove obsolete data fields and dead code;
- Consolidate redundant copies of codeinto a single callable service;
- Convert frequently changing business logic to a callable service;
- Isolate database access from business logic; and
- Isolate presentation logic for SOA enablement via Web services or other integration approaches.
These last points require addressing specific business issues that are typically solved by Web enablement or integration with other applications using middleware.Web enablement and integration technologies can deliver immediate business benefits by allowing the sharing of data and application functionality not only with internal users, but also with partners, suppliers and customers.
Leading integration solutions provide enterprises with powerful, industry-standard-based capabilities. Technologies such as Open Distributed Processing, Microsoft .NET, Java, XML, MQSeries and Web services are just some of the options that are available on the market to help integrate mainframe transaction processing systems and databases with other applications, systems and platforms.
Wrapping existing mainframe code in these technologies means more than just a one-way street of communication with single applications up the stack. It lets developers deliver composite applications that are linked together as Web services.The Web service components may be in the form of wrapped COBOL, J2EE, or Microsoft .NET. Regardless of the technology platform utilized, your SOA-enabled business services are modular and can therefore be reused. The results are the greatest application flexibility and business agility.
Modernize for Tomorrow
While moving an organization's IT infrastructure to SOA remains a major undertaking, there are new tools and methods to ease this migration. Application portfolio management (APM) solutions ease the planning burden. Systems integrators have adopted these tools to provide holistic SOA methodologies. These not only significantly reduce delivery time on SOA projects, but also enable easier incorporation of complex legacy systems into the newest enterprise software platforms.
As long as they have been around, mainframes have continually evolved to take on new enterprise computing tasks. These systems and their mission-critical software environments remain powerful computing resources with an important place in an organizations IT infrastructure. Taking the initiative to modernize those environments will provide a substantial increase in business value from existing application assets while minimizing the business risks.
By applying progressive, incremental approaches to application transformation with SOA, enterprises can achieve a dramatic increase in business flexibility and shift IT investments away from maintenance and toward more valuable business innovation.
Register or login for access to this item and much more
All Information Management content is archived after seven days.
Community members receive:
- All recent and archived articles
- Conference offers and updates
- A full menu of enewsletter options
- Web seminars, white papers, ebooks
Already have an account? Log In
Don't have an account? Register for Free Unlimited Access