SmartAdvice: Use Java And WebSphere To Reengineer Legacy Mainframes
Set guidelines that ensure easy technology transitions and migrations, The Advisory Council says. Also, to profit from RFID, rethink business rules.
Editor's Note: Welcome to SmartAdvice, a weekly column by The Advisory Council (TAC), an advisory service firm. The feature answers two questions of core interest to you, ranging from career advice to enterprise strategies to how to deal with vendors. Submit questions directly to firstname.lastname@example.org
Question A: What are the best languages and platforms for reengineering legacy mainframe applications?
Our advice: Selecting an application architecture (languages, platforms, etc.) requires careful consideration of business requirements, your organization's future infrastructure, efficiency and economics of the implementations, and current and future availability and costs of expertise to develop, operate, and evolve business systems built to conform to the application architecture. Determining the best language and platform for a 20-year time frame can't be done with 100% certainly. Due to the impossibility of predicting 10 to 20 years of business requirements and technology evolution, the best approach is to select the best architecture given what you know today and create an environment designed to adapt to change.
A critical component of adapting to change is to establish guidelines that ensure easy technology transitions and migrations. Every vendor's tools are enhanced with proprietary features, the use of which, although convenient for developers, will lock you in to that vendor. Your implementation team, whether in-house or outsourced, should be forbidden from using proprietary extensions of the programming environment selected, the database, etc.
Mainframe applications, particularly in large companies, often have very demanding business requirements for transaction volumes, timeliness, integrity, etc. Based on our experience with high-volume mainframe applications, one of the best application architectures for reengineering these systems is an IBM mainframe using WebSphere Application Server and Java. IBM has been proven over time, and continues to be the leading force in very large-scale transaction systems. Additionally, its current products and future directions appear favorable over the longer term. It's the leading vendor offering products and services for transitioning from one technology generation to the next. As an example, IBM offers products to use existing Customer Information Control System implementations with Java.
To complement Java, two "second choices" should be allowed for very specific situations: 1) when functionality requires intensive database round trips, vendor-specific stored procedures may be used, and 2) in rare situations where compute-bound routines cannot meet performance, C++ may be used. A process should be developed and followed to prove the need for the secondary language and demonstrate the deficiencies of Java. This process should include Java guru developer reviews and managerial approval.
The only serious alternative to Java as a long-term architectural platform is Microsoft's .Net. Due to IBM's commitment to Java, however, it has better tools for migration of legacy mainframe software.
An additional short-term advantage of the Java/mainframe choice is the ability to design distinctive, autonomous phases to the reengineering project. For example, existing CICS can run with Java and thus afford the opportunity to reengineer different sections of the existing systems independently. The first newly reengineered modules can then be put into production with the existing subsystems, to ensure problems are found early and handled more efficiently. This phased approach effectively eliminates the big-bang delivery which is fraught with drawbacks and common in outsourced reengineering efforts. We recommend this approach as it mitigates a lot of the risk commonly involved in these types of projects.
[Interop ITX 2017] State Of DevOps ReportThe DevOps movement brings application development and infrastructure operations together to increase efficiency and deploy applications more quickly. But embracing DevOps means making significant cultural, organizational, and technological changes. This research report will examine how and why IT organizations are adopting DevOps methodologies, the effects on their staff and processes, and the tools they are utilizing for the best results.
Digital Transformation Myths & TruthsTransformation is on every IT organization's to-do list, but effectively transforming IT means a major shift in technology as well as business models and culture. In this IT Trend Report, we examine some of the misconceptions of digital transformation and look at steps you can take to succeed technically and culturally.