DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
Get regular email alerts when we publish new features!
DevX Update for IBM developerWorks

More Newsletters
 Print Print
IBM System z—Center Stage for SOA
See how the WebSphere family of products can help you build a strong service-oriented architecture and reap the benefits of the security and huge asset base of your mainframe. 

Related Resources
  • Whitepaper: SOA Takes Off

  • Webcast: Powering Your SOA with an Enterprise Service Bus for z/OS

  • Whitepaper: Java Application Development for CICS

  • Tutorial: Using J2EE Connectors and EGL to Call COBOL/CICS Applications

  • Tutorial: Creating DB2 Stored Procedures Written in COBOL or PL/I Using WebSphere Developer for zSeries
  • True quality transcends fashion. The real quality and value of a mainframe computer, having survived many computing fads, now finds itself properly recognized again. Mainframe computers, and the quality of service that they bring make COBOL an excellent business language—both yesterday and today. Mainframes are now perceived as perfect for a pivotal role in service-oriented architectures (SOA).

    The concepts underlying SOA are not new. SOA fosters reuse of IT assets as loosely-coupled application services, so that your technical infrastructure can respond much more quickly and easily to changing business demands. SOA also promotes the compiling of new business processes, which are best deployed and orchestrated from the most reliable platform of all, the mainframe. And the mainframe platform is best qualified to deliver the transactional qualities that are vital for on demand business.

    The most immediate SOA value of the mainframe is in the wealth of code that already exists. There are literally billions of lines of code—much of it written in COBOL—that represent the competitive advantage of the enterprise, likely developed, honed, and proven over decades. The power of COBOL—ease of development, self-documenting, high performance, and simplified maintenance—prevailed. In an SOA, this enormous intellectual capital can be reinvested to earn significant interest. And the mainframe, with its inherent Qualities of Service, is as secure a home as possible for such an investment. As Jim Stallings, the new general manager of IBM's mainframe System z division, recently pointed out, security is the most significant concern for customers—and the principle reason they buy a mainframe.

    Bridging the Gap Between Mainframe and Distributed Applications
    Now new themes, such as reuse and service-oriented architecture (SOA) are very important to mainframe developers—notably these same themes are highly relevant to C++, Java, and modeling programmers. IBM has delivered significant advancements in it's WebSphere tools that support the mainframe platform and code applications that run on it, allowing modern application architecture (SOA) developers, Web developers, and COBOL developers, to tap into the huge wealth of pre-existing code on the mainframe.


    Figure 1.
    It's not that different.

    So, what of all the existing COBOL code and COBOL developers? COBOL coders are arguably in a dead heat—in regards to numbers—with Java and C developers. And certainly COBOL has more business logic in mission critical applications than any other language. Plus, there are 30 or more years of accumulated code—and since it took decades to create and transform, the collection of legacy code as a whole is worth a great deal. Estimates can range in value up to $100 per line of code. Even a mid-size company's portfolio could consist of over thirty million lines of code.

    In fact, CICS code keeps 950,000 programmers in gainful employment today, working with more than a trillion dollars worth of CICS applications. You might think that it's out of date, and we should move forward with new code in today's newer programming languages. Not true. According to the report, "Got Legacy? Four Fates Await Your Applications" (Forrester Research, Inc., January 2006), "The approach of dismissing legacy applications as things that will some day be replaced has failed."

    No doubt there is a great deal of re-usable code that would take software teams years, even decades, to port and re-engineer. In fact, with such a huge asset base, efficient and productive COBOL code re-use and development should be top priority. Don't reinvent the wheel. Utilize what you can, and don't code up something that already exists, especially if the existing applications continue to bring in mission-critical benefits. A top challenge is now, "How can I utilize this code and the qualities of service inherent in it, and integrate it with newer application architectures that effectively and efficiently exploit SOA?"

    IBM's WebSphere product line addresses exactly this problem. A successful SOA offers an unmatched way to integrate applications and processes as Web services. The IBM portfolio for System z supports SOA, allowing corporations to integrate everything from existing applications to the latest cutting-edge technology. Thus, applications running in traditional languages on traditional transaction environments can be integrated with new code and applications running on newer technology, creating an environment of increased flexibility with cross platform support.

    How IBM WebSphere Products Support Reuse
    WebSphere Business Modeler is a desktop tool built to help you model a new business based on the current capabilities and applications of your existing asset base. This tool allows you to model everything from process modeling, data modeling, organizational modeling, including resource, timeline, and location modeling. Topping it all off is business process analysis, which allows experts to view and analyze information within your SOA.

    WebSphere Studio Asset Analyzer provides documentation of existing application processing and helps reduce the discovery phase of the product development lifecycle, typically one third of total development costs. WebSphere Studio Asset Analyzer accomplishes this by identifying inter-application dependencies at multiple levels on transactions, files and databases, CICS and WebSphere Application Server applications written in COBOL, PL/I and other languages for the z/OS, pSeries AIX, and Windows operating systems. WebSphere Studio Asset Analyzer even identifies these inter-application dependencies on composite applications spanning mainframes and distributed systems.

    WebSphere Developer for zSeries helps accelerate the development of SOA-based Web, Java, J2EE, COBOL, PL/I, and EGL (generates to COBOL or Java depending on deployment platform) and other application processes, including Web services. For traditional service and application development, WebSphere Developer for zSeries interfaces with z/OS, allowing you to develop and work with z/OS assets both locally on the workstation and remotely connected to the mainframe. You can also create adapters for COBOL services, providing you an easy way to generate Web services from an asset base. You can also interactively test, debug, and deploy your applications on both local and remote servers, CICS, and even do IMS/DC and batch debugging of COBOL, PL/I and Assembler applications.

    Whitepaper: The Enterprise Service Bus: Integrating Core Back-end Applications with Web Services

    A CICS Service Flow feature is also available for WebSphere Developer for zSeries that enables the composition of CICS applications to create CICS business services. This feature transforms a user-composed flow of CICS application interactions into a run-time application that's optimized for the CICS environment, retaining inherent QoS provided by the existing CICS application implementation. Thus, the CICS Service Flow Runtime adapters allow access to existing CICS interfaces such that current CICS assets do not have to be altered to support the generated service flow, ultimately allowing fast and efficient reuse of an existing asset base, while minimizing the risk of trying new things.

    WebSphere Integration Developer comes into the picture by providing a development environment, aiding the development of key glue code and integration logic, requiring minimal knowledge of Java or J2EE. It is a means to integrate Web services based on existing C++ or .NET services, with Java and J2EE clients and applications by rendering them as service components, thus helping removing road blocks that inhibit service-oriented architecture. The end result is a full SOA environment that deploys on WebSphere Enterprise Service Bus (ESB) for z/OS, WebSphere Process Server for z/OS, or WebSphere Message Broker for z/OS.

    WebSphere ESB and the advanced ESB—WebSphere Message Broker—both run on the mainframe because an ESB needs the QoS of the mainframe, and an ESB integrates all kinds of apps, (not just J2EE apps), providing additional application access across the business, adding value to WebSphere Process Server, and essentially providing all types of connectivity including Web services, Java Messaging Service (JMS), and SOA integration. WebSphere ESB provides the various standard messaging protocols used by Web services, including JMS, WebSphere MQ, TCP/IP, etc. It even comes with a Message Service Client for C++ and .NET, which allows .NET and C++ applications to participate in JMS. WebSphere Message Broker provides a greater range of connectivity and integration interfaces to allow for universal connectivity in the mainframe environment, and is built on top of—and leverages—WebSphere MQ, which provides end-to-end transaction connectivity both within the mainframe environment and out to more than 80 platform configurations throughout the enterprise and beyond.

    Now that everything's ready to go, IBM's WebSphere Application Server for z/OS and CICS Transaction Server for z/OS are just the applications you need to host and reuse the capabilities of your SOA. Between the two, WebSphere Application Server and CICS Transaction Server can be used to access almost any mission critical application as Web Services within your SOA. CICS Transaction Server provides an environment where you can optimally extend and reuse applications written in COBOL, PL/I, C++ and other languages. WebSphere Application Server for z/OS was designed with reuse and SOA in mind—making it perfect for existing environments by combining the open, standards-based J2EE container, WebSphere Application Server, with the performance, reliability, and availability of the z/OS operating system.

    Bringing it All Together with WebSphere Process Server
    Now that you've got the applications, Web services, and a means to facilitate connectivity and integration, what's next? You need something to integrate everything together: WebSphere Process Server. So just how great is this new tool? And how can it help your mainframe goals? This application integrates IBM's WebSphere line of tools to facilitate code reuse, making the use of your vast asset base cost effective and efficient.


    Figure 2.
    Architectural Fit.

    Since this is a process server, everything deployed thereon is thought of as a process. Each application and Web service becomes a service component through WebSphere Integration Developer, and the WebSphere Process Server builds a model to realize SOA. These service components are modular, high-level abstractions of the underlying IT infrastructure, allowing dynamic flexibility.

    With built-in Web services Business Process Execution Language (WS-BPEL), creating visual processes for applications, systems, etc.—and the interactions between them—supports dynamic business processes. UML can be used to model interactions that are difficult to model using WS-BPEL, extending the arsenal of business flexibility. Human tasks are also supported, allowing human interaction and intervention to occur in processes. Task management is supported, too—including calendaring and task activities tracking, task status and completion tracking, as well as administrative task tracking.

    Teleconference: Business Flexibility and Reuse with WebSphere Process Server Based on SOA

    Since it was built upon WebSphere Enterprise Service Bus, WebSphere Process Server inherits its robust, integrated connectivity support. WebSphere Process Server has also been built upon IBM's WebSphere Application Server Network Deployment, and includes a High Availability Manager that provides fault detection and transaction recovery. Finally, WebSphere Process Server integrates with other WebSphere products and with a variety of third-party products, providing even greater flexibility.

    With such a large asset base, and because of the high performance characteristics of COBOL and mainframe transactional environments, leveraging this environment is a viable and needful option in exploiting SOA, bringing in cumulative cost savings each time code is executed and reused. IBM's mainframe System z division GM, Jim Stallings, claims IBM is well on its way in making its goal to train 20,000 new professionals in System z skills by 2010.

    Dale Vecchio of Gartner, Inc., has stated in a recent report that, "mainframes, and their large installed base of applications and data, provide a rich source of potential services. Investment in SOA for these applications can drive the rebirth of the platform."

    The mainframe has renewed significance in SOA with several applications in the SOA coming from reusable legacy code. Lastly, IT governance plays a huge role in a business's success, and many of the tools already exist for IT governance on the mainframe. As strategies are developed and followed with solid IT governance in place, greater returns on investment are realized. And new tools from IBM's WebSphere product line can help you all along the way.

       
    A Master of Science graduate in Computer Engineering, Tyler Anderson is a Design Engineer in a high tech firm developing advanced DSP.
    Submit article to:
    Featured Resources from IBM