Business transactions running on IBM zSeries and other mainframes are rapidly increasing with the growth of Internet-based computing and IBM forecasts mainframe-based transactions to double by 2010. Meanwhile, Service Oriented Architecture (SOA) has become a key strategic initiative for most major corporations even those with enormous investments in core business applications running on mainframes. Consequently, countless organizations are trying to reconcile their business obligations with their business objectives.
Too many organizations mistakenly believe that to implement their SOA strategy they have to rewrite or port key business applications from the mainframe to the Web. Since, the costs, effort, and risks involved in trying to do this are so enormous, the idea is beyond consideration. Concerns center around three fundamental issues:
These concerns can be alleviated through a better understanding of SOA, and how IBM Rational's business-level programming language, and development tools can quickly teach business developers how to write mainframe SOA and "services-ready" applications.
In an effective SOA implementation, component portions of key business functions are delivered as a service. Since the service interface is independent of the implementation, business services operate independently from each other, as well as from the applications and platforms on which they were createdor from which they were extracted. Application developers or system integrators can build applications by composing one or more services without knowing the services' underlying implementations. The interaction and collaboration of these essential business services components are then dynamically orchestrated across heterogeneous technologieseffectively rendering an application into a set of reusable parts.
There is a common misperception that J2EE and .Net are the only viable SOA platforms. Although these are popular development choices for SOA applications, successful SOA strategies can easily benefit from the more reliable, scalable, secure, high performance IBM zSeries platforms. It is now possible to utilize these proven, secure systems for SOA solutions while still providing unparalleled performance for business-critical COBOL applicationswithout hiring more skilled COBOL or Java developers. IBM Rational expands the design and construction tool options for business-oriented developers who want to build SOA services for zSeries with Enterprise Generation Language (EGL).
EGL provides a simplified approach to application development and is integrated into the IBM Rational Application Developer (RAD) and IBM Rational Software Architect (RSA) products, as well as WebSphere Development Studio for iSeries and WebSphere Developer for zSeries. You can quickly and easily create various user interface styles or programming models - Web, Web Service, EGL Service, batch, character and text-based applications. EGL is fully integrated with IBM Rational's broad range of modeling, design, construction, test, and development tools.
If you are a business or object-oriented developer who has used a high-level procedural programming language (e.g. 4GLs, COBOL, RPG, etc.) you will have no difficulty using EGL to leverage your business-domain expertise and other skill sets. Besides being easy to learn, EGL can actually increase your productivity. It leverages the runtime benefits of Java and/or COBOL, without forcing you to become an expert on the details of either language. Moreover, EGL is the only language featuring a first-class service construct in the language for SOA solutions, which means you can develop SOA business services (EGL or COBOL) or Web services without having an extensive knowledge of SOA.
EGL lifts you to a new level of productivity through a higher abstraction layer, which reduces the amount of code that needs to be written. EGL produces very compact code. A few lines of EGL operational statements often equals ten times that amount of equivalent complex J2EE APIs and standard Java code, making EGL much easier to maintain and support. EGL is based on open standards and has a broad range of state of the art Web development tools and features (e.g. JSF) that support all levels of user interface interactions and requirements.
EGL employs visual development methodologies along with numerous wizards, drag-and-drop capabilities, and a simplified language with polymorphic verbs that is used to automatically generate most of the plumbing code. With EGL you can generate the most appropriate runtime environment for the applicationeither Java or COBOLdepending on your particular application, performance, and user requirements.
The EGL IDE has editors and auto correction capability built into the language and automatically checks syntax, spelling, and accuracy of the operational statements as you workvirtually eliminating mistakes in the final source code. Additionally, EGL has built in debuggers so you can debug code at the EGL level. You can set breakpoints, assign values, and perform other common debugging tasks before you actually generate run-time code.
You can also defer actual code generation until you have completed testing and are satisfied with the EGL application functionality. You make all your changes to the EGLnot the generated code. When you are ready, the EGL tools transform the business logic into high quality COBOL or Java code. Since EGL maintains Java and J2EE standards, you do not need to be concerned with release levels and version compatibility issues. The necessary runtime artifacts are also created by EGL to help execute and optimize the infrastructure code and generated application for the target platform.
The run-time code is generated automatically by EGL. Therefore, the code that is produced is more consistent and reproducible. Since the final generated code is error-free, the testing phase is also shortened. EGL provides this level of accuracy and consistency across both departmentalized and enterprise application development.
EGL lets you deploy applications to any IBM supported platformiSeries, zSeries, Windows, Linux, HP/UX, and Solaris. Using EGL, you can call programs from traditional Java clients, WebSphere MQ message-driven middleware applications, or stand-alone batch, reporting, and green-screen applicationssuch as Cobolrunning on CICS, IMS, or native z/OS and iSeries. EGL ships with IBM DB2 UDB and can connect to DB2 running on any platform. It also supports a wide range of data sources so you can leverage your existing data structures.
IBM Rational Software Architect
For those of you who want to leverage model-driven development with UML or who want a model-driven approach to your EGL development, IBM Rational Software Architect includes all the capabilities of RADalong with support for your efforts create well architected applications and services.
IBM Rational COBOL Generation Extension
If you require even more help repurposing your COBOL applications into reusable services, IBM Rational COBOL Generation Extension for zSeries helps you build Web applications that deploy services to the System Z platform. This tool identifies the business logic in mainframe application code that can be segmented into reusable components and services.
IBM Rational COBOL Runtime for zSeries
You can also use the IBM Rational COBOL Runtime for zSeries, to get run-time support for applications built with EGL that are deployed to the System Z platform.