Tutorials
Oracle SOAThis are a encompasses a few different approaches. They all share a common theme of low risk, predictable migration to an open system platform with a high level of automation to manage this process. With platform migrations, the focus is moving from one technology base to another as fast as possible and with as little change as possible. In Chapter 10, Introduction to Rehosting Based Modernization using Oracle Tuxedo, we will focus on moving from mainframe platforms to open systems through a combination of rehosting applications to a compatible environment maintaining the original application language (usually COBOL), and automated migration of applications to a different language when necessary. Each uses a high level of automation and a relative low level of human interaction as compared to other forms of modernization. The best replatforming tools in the market are rulesbased, and can also support automated changes to business logic or data access code when required to address specific business needs through specifically configured rule sets.
Automate d migration is a technique in which software tools are used to translate one language or database technology to another. It is typically used to protect the investment in business logic and data in cases where the source environment is not readily available or supportable (example skills are rare) on the target platform. Such migrations are only considered automated if the scope of conversion handled by the tools is at least 80 percent. Automated migration is very fast and provides a onetoone functionally equivalent application. However, the degree of the quality of target code is heavily dependent upon what the source is.
There are two primary factors which determine how good the target application is. The first factor being, what is the source paradigm? If you are coming from a procedurebased programming model such as COBOL, then the resulting Java will not be a wellstructured objectoriented code. Many vendors will claim pure OO, or 100 percent compliant Java. But in reality, OO languages programs can still be used in a procedural fashion. When the source is a stepbystep COBOL application, then that is what you will end up with after your migration to Java. This solution works quite well when the paradigm shift is not large. For example, going from PL/I to C/C++ is much more attainable with this strategy than converting COBOLto Java. This strategy is often used to migrate from 4GLs, such as Natural or CA Gen (formerly COOL:Gen) to COBOL or Java. Of the two target environments, migration to Java is more complex and typically requires additional manual refactoring to produce proper OO POJO components or J2EE EJBs that can be easily maintained in the future.
The second factor one needs to consider is the quality of the source. Some refactoring can be done on the source language, or the metalanguage often generated in the transformation. But these usually only address things such as dead code or GOTO statements, not years of spaghetti code.
If your goal is to quickly move from one technology to another, with functional equivalence, then this is a great solution. If the goal is to make major changes to the architecture and take full advantage of the target language, then this type of method usually does not work.
Rehosting involves moving an application to another hardware platform using a compatible software stack (example COBOL containers and compatible OLTP functionality provided by Oracle Tuxedo) so as to leave the source application untouched. This is most commonly used approach to migrate mainframe COBOL CICS to an open systems platform and has been used in hundreds of projects, some as large as 12,000 MIPS.
The fundamental strength of rehosting is that the code base does not change and thus there are no changes to the core application. There are some adaptations involved for certain interfaces, batch jobs, and nonCOBOL artifacts that are not inherently native to the target environment. These are usually handled through automated migration. The beauty of this solution is that the target environment using open systems platform, typically UNIX or Linux, has a significantly lower TCO than the original mainframe environment, allowing customers to save 50 to 80 percent compared to their mainframe operations. The budget savings gained from this move can fund more long term, yet beneficial rearchitecture effort.
