Why COBOL is strategic in the 21st Century John Billman Product Director, Net Express and Japanese Products The Value of Legacy • Legacy applications are a valuable resource – An investment of over $5 trillion – …at the heart of every large enterprise – …running the world’s economy • …which can be reused and extended – As core services – …in new products – …delivered to new channels • …providing enduring business value – Reducing costs & – …driving agility – …with least risk 75% of the world's business data is in COBOL There are between 180 billion and 200 billion lines of COBOL code in use worldwide 15% of all new applications (5 billion lines) through 2005 will be in COBOL. (Gartner) Emergence of Service-Oriented Architectures Focus on ‘re-use’ at the business level …based on XML & Web services Web services is independent and inclusive of: – Any platform – Any language – Any architecture J2EE and .NET “The secret to success lies in building bridges between the old and the new” Ovum: Legacy renewal, May 2004 Increased choice for the enterprise Then Now Moore’s law Higher flexibility Lower cost Platform for Mainframe extension Increased scalability UNIX The Choices for Moving “Rip and Replace” Package Implementation Legacy Transformation Cost Legacy Modernisation “Lift and Shift” 0 10 20 30 40 50 60 % Reuse “Lift and Shift” - the best strategy 70 80 90 100 The Lift & Shift Opportunity Reduced Costs – 80% Savings in hardware and software achievable – Rapid ROI utilizing existing staff skills, data and applications Increased Agility – Modern service-based architecture using XML, Web Services – Leverage the .NET or J2EE Application Environments Lower Risk – Combination of Micro Focus running on an Enterprise-strength platform and System Integrator expertise provides low-risk route to lower TCO Windows/UNIX Development & Deployment Net Express with .NET – COBOL development environment – Take core COBOL business processes & extend them to meet today’s business needs Net Express Professional Edition – Revolve + Net Express – Combine Analysis Tools with Development Process .NET Web Services Java J2EE WebApp Servers COBOL Modules Web Services COM Components EJBs Server Express – UNIX/LINUX COBOL development Business Rule Development Application Server – Designed for performance and reliability Enterprise Server – Scalable, Managed, Transactional COBOL Service Deployment Environment – Mainframe Transaction Option for CICS Other Languages C, C++, Java HTML, XML Faster Development, Flexible Deployment Open Middleware Component Architectures Enterprise Server – All Platforms Micro Focus Enterprise Server Direct COBOL Web service COBOL/J2EE Services Mainframe Transaction Option Micro Focus Application Server COBOL Run-Time System (RTS), Filehandler, etc. Linux UNIX Windows Development Environment – CICS Application Net Express with MTO TN3270 COBOL Loadlib BMS Loadlib CICS Enterprise Server CICS COBOL Mainframe Transaction Option BMS Data Definition CICS (ES/MTO) Extension .NET Winform/Webform COMMAREA BMS Interface Mapping Toolkit Workflow Capture Web Enable, Move to SOA Web service EJB, JSP and Servlet Generator Lombard Insurance - Overview Lombard Canada Ltd. is one of the oldest property and casualty insurance operations in Canada Commercial, personal, and specialized insurance Consolidated gross premiums written totaling C$ 1.94 billion Total shareholders' equity of C$ 861.7 million Top 5 Insurance Company in Canada Wholly owned subsidiaries of Northbridge Financial Corporation (NB on the TSE) Lombard – Why Migration? Diminishing availability of the highly specialized skill set required to maintain a mainframe environment Shortage of innovation in the mainframe ISV ecosystem Need for increased flexibility Desire to stay ahead of the curve and continuing the tradition of technology leadership in the insurance industry Significant Cost Savings Lombard – Migration Approach Phase 1 - Migration IBM Mainframe (outsourced) AS/400 RISC - CARP Sub-system - Personal Insurance System - Commercial Insurance System Phase 2 - Migration - Finance Systems Phase 3 - Migration - MIS and Business Support Systems Projected ROI = 18 Months! Lombard – Current Systems Phase 1 – Personal and Commercial Insurance Systems – IBM H70 - 200 MIPS (S/390) running z/OS (hosted at external supplier) – COBOL for MVS 1.2 – CICS T/S 2.2 – VSAM – DB2 – GTAM – – – – Assembler JCL EZ Sockets AS/400 Interfaces (LU6.2) – SAS – SELCOPY – Documerge – formatting and printing output Lombard – Target Environment – Microsoft Windows Server 2003 Enterprise – Convert all DB2, VSAM & GTAM to Microsoft SQL Server – Migrate all COBOL to Micro Focus ES/MTO – Re-write Assembler into Cobol or C# – Utilize Micro Focus JCL Handler – Convert AS/400 interfaces (LU6.2) to Web Services – Third Party Software – Migrate SAS to Windows version – Replace SELCOPY with Windows version – Replace Documerge with Windows version – Microsoft SourceSafe for Code Management Lombard – Target Environment 2 x 4 CPU Application Servers (split workload + backup) 32GB RAM 2 x SQL/Data Servers (passive backup; clustered) Yellow Servers Green Servers Red Servers Websphere PL B Choice CL Regions Micro Focus P. Line Micro Focus CL Billing Documerge Infopac SQL Database SQL Database SAS Acceptance/ Systems TEST = Internet = Production = Development /Admin SAN TEST Unit Lombard – Phase 1A CARP Sub-system: handed over to Lombard on April 25th, 2005 – – – – – – – – – 37 Cobol Programs 16 BMS CICS Maps 145 Cobol Copybooks 3 Assembler Programs 12 GTAM (Assembler Tables) 7 VSAM files 2 DB2 tables 2 Flat/Sequential files 4 JCL Streams – with 21 JCL Jobs/Proc 92.3% of COBOL code retained!! Lombard – Why Migration? Peter Howling, Vice President of IT, Lombard Canada Ltd.: “We estimate this project will save us in excess of $1 million a year, but more importantly, it will enable us to become more competitive in our industry both today and in the future.” “Part of Lombard’s competitive advantage is directly related to technology, and this migration will help us attract and retain the most talented IT people, who are looking to work with the latest technology.” Software licensing costs projected to fall from 12% of IT Budget to 2-4% experienceΔInsurance Customer Story - SOLCORP Business Challenges: • Price/Performance a key decision factor in new accounts • Need to maintain and enhance competitive edge • Seamless Integration with other insurance and financial systems Technical Challenges: • Deliver Managed code solution reusing existing COBOL mainframe DB2 code in service based architecture • Match or exceed mainframe performance and scalability Solution: • Micro Focus Net Express with .NET combined with Microsoft Windows Server 2003 and SQLServer CPUs 4 8 12 # Policies 700,000 1,400,000 2,100,000 Results: • Successful migration of Batch and On-line parts of the system • Exceptional scalability to >2 million policies • Agile system, with COBOL business processes exposed as Web services 1 million lines of mainframe COBOL reused in .NET Bertelsmann Business Challenge – Very high running costs of VSE application – Lock-out from new user interface technologies to improve competitiveness Solution – Converted to run on Windows in ASCII against UDB databases Choice Cost Bottom Line Rewrite in Java €4-5m 15 Man Years, Risky, Expensive Move to z/OS €3.6m Still not agile Migrate to AS/400 €3.0m Non Strategic Migrate to Windows €1.2m Strategic, Agile, Reduced TCO Outcome – Batch performance and on-line performance improved – Saving 600k Euros per annum – Positioned to be more agile – new user interface coming Better performance, lower costs and more agility Alnova Financial Solutions (Madrid-based banking application provider in Accenture’s insurance and banking portfolio) Business Challenge – Target low end market using mainframe assets for its Alnova Financial Solutions product suite – Strategic commitment to .NET Solution – – – – Migrate Enterprise Banking application 5500 COBOL programs - 11 million lines of code… 1600 transactions, 2000 JCL steps, DB2 database… To Windows 2000 on 8-way Intel servers running SQL Server Outcome – Successful migration to Windows and .NET – Achieved >240 transactions-per-second on 8-way processor – Single-sourced business rules for both platforms Business Challenges: • Price/Performance a key decision factor in new accounts • Need to maintain and enhance competitive edge Technical Challenges: • Maintain Common Business Logic across Mainframe, UNIX and Windows • Deliver Scalable, Robust, High Performance System Solution: • Micro Focus Net Express combined with Microsoft Windows Server 2003 delivering scalable operating environment Result: • Successful Benchmark at over 800 TPS RESULTS SUMMARY DB Server on Win2K Configuration Online Test (TPS) CONF1 (16Way) 816 CONF2 (8Way) 528 CONF3 (4Way) 358 DB Server on Win2K3 FNS/SQL Server Batch Test (Acc/Hr) CPU Usage FNS/SQL Online Server Test CPU (TPS) Usage FNS/SQL Server Batch Test FNS/SQL Server (Acc/Hr) CPU Usage CPU Usage 91/69 95/42 94/27 84/91 92/50 94/32 92/57 96/38 96/21 19.85 Million 13 Million 9.1 Million 811 538 334 19.9 Million 83/82 12.8 Million 90/49 8.9 Million 95/28 COBOL scales new heights on Windows Benchmarking ES/MTO Performance Measurement Methodology COBOL implementation of TPC-C Apples for Apples - Uses all subsystems for presentation logic, business logic and data storage – Measure same CICS COBOL transaction (OLTP) workload on mainframe and Enterprise Server w/ MTO – Compute MIPS rating equivalent for Windows platforms – Generate Price / Performance ratios – Create Return On Investment (ROI) Calculator – Intentionally untuned for any one subsystem – Mirrors typical CICS transaction (database) mix – – – – COBOL language and runtime system 3270 terminal I/O CICS transaction management system DB2 database management system Mainframe Functionality, Performance, Reliability, Availability, Serviceability, Scalability, Security Performance Results Given Enterprise-class Hardware … – Unisys ES7000 8 x Intel 3.0 GHz Xeon 32-bit processor, 8GB RAM – EMC2 1 terabyte Storage Area Network (SAN) – CISCO network … and Enterprise-class Software … – Micro Focus Net Express and Micro Focus Enterprise Server w/ MTO – Microsoft Windows 2003 Server – IBM UDB 8.1 database management system … we can estimate … – 1715 MIPS equivalent for each 8-way processor group – Price / Performance advantage of 20x over zSeries upgrade pricing in the 5000-10000 MIPS range Enterprise Performance , major cost savings Interface Mapping Toolkit (IMTK) COM Non-ES Windows only Generation EJB Interface COBOL Interface (Linkage Section) Web Services Test Client Deployment Java Application Server Enterprise Server The Interface Mapping Toolkit Linkage items in your COBOL program… …map on to fields in your web service interface Deploy Web Services to Enterprise Server …and call your Web Service from any client you like Mapping COBOL Programs as EJB COBOL Program Interface Mapper IDT Checker INT Data Dict. XML Map. XML EJB, JSP and Servlet Generator EJB Classes Servlet Classes JSP Java Connector Architecture EJB Container EJB Web Container EJB Methods JSP/Servlet Application Contract (CCI) J2EE Micro Focus Resource Adaptor Transaction Mgmt Connection Mgmt Security Mgmt System Contract with J2EE Application Server BINP – Micro Focus Binary Protocol Micro Focus Enterprise Server COBOL Inside the .NET Framework C# … VB.NET .NET Framework Framework Classes ADO.NET Winforms Webforms Micro Focus Application Server MSIL (Intermediate Language) Common Language Runtime Visual Studio .NET 2003 Net Express with .NET COBOL Win32 COBOL Development COBOL Deployment COBOL – an equal player in .NET COBOL generates IL as other Microsoft languages COBOL is deployed inside the .NET Framework under the CLR COBOL gains access to Framework classes and functionality Create, Reuse and Extend Reuse existing COBOL Business logic in .NET Use Procedural or Object Oriented COBOL under .NET program-id. ShowMessageBox as "ShowMessageBox". environment division. configuration section. repository. class Message-Box as "System.Windows.Forms.MessageBox". Extend COBOL applications to utilize .NET functionality – Access to .NET Framework Classes data division. working-storage section. procedure division. invoke Message-Box "Show" using "Hello COBOL World". end program ShowMessageBox. Moving to ADO.NET Existing OpenESQL applications can be reused under .NET EXEC SQL SELECT A.NAME ,A.SALARY INTO :STAFF-NAME:STAFF-NAME-NULL, :STAFF-SALARY:STAFF-SALARY-NULL FROM STAFF A WHERE ( A.ID = :STAFF-ID ) END-EXEC ADO.NET classes can be called directly from COBOL OpenESQL mapped to ADO.NET OpenESQL Assistant COBOL EXEC SQL COBOL COBOL, EXEC C#, VB, … ADO or ODBC ADO.NET Database (SQL Server, Oracle, …) Connected and Disconnected Data Access Connected Data Access RDB ISAM Read / Write Application Disconnected Data Access Application COBOL, C#, VS.NET Program Download RDB ISAM Dataset(s) Upload COBOL, C#, VB.NET Program ADO.NET provides for Connected and Disconnected data access Disconnected data access liberates SQL application from a continual connection to a database Enhance the performance of web and other applications Share data across composite applications Make ISAM and other data available to non-COBOL applications Export data to XML Expose COBOL as Web Services Use Visual Studio .NET to create and extend COBOL applications CLASS-ID. Stock INHERITS WEBSERVICE. REPOSITORY. CLASS WEBSERVICE AS "System.Web.Services.WebService" CLASS WEBMETHOD AS "System.Web.Services.WebMethodAttribute". OBJECT. PROCEDURE DIVISION. METHOD-ID. StockQuote CUSTOM-ATTRIBUTE IS WEBMETHOD. COBOL ASP.NET Microsoft IIS COBOL Application Why use XML? XML brings data to the web XML is now commonly deployed as an integration piece between applications or application components (EAI, B2C and B2B) XML is a simple but extensible and mature technology By accessing XML from COBOL it becomes easier to Integrate COBOL business logic and data to systems across the enterprise A key technology to enable e-business Micro Focus COBOL/XML Syntax Provide a higher level COBOL orientated approach to COBOL/XML Adds significant new syntax to handle XML documents to consume, create, update and XML documents from COBOL – Based on familiar approach used with COBOL I/O support – Provides both SAX style or DOM style parsing Map to/from XML W3C Compliant Schemas COBOL Record CBL2XML XML Schema Basic MF COBOL XML handler… $set sourceformat(free) p(prexml) o(basic.pp) endp SELECT myxml ASSIGN ADDRESS OF mybuff ORGANIZATION IS XML DOCUMENT-TYPE "mybuff.xsd" FILE STATUS IS mybuff-status. XD myxml. 01 myxml-name PIC X(80) IDENTIFIED BY "name". WORKING-STORAGE SECTION. 01 mybuff PIC X(80) VALUE "<name>Barry &amp; Laurence</name>". 01 mybuff-status PIC S9(9) COMP-5. PROCEDURE DIVISION. OPEN INPUT myxml READ myxml DISPLAY "Status: " mybuff-status DISPLAY "Name : " myxml-name CLOSE myxml STOP RUN. Deutsche Bank Luxembourg Business Challenges: • Differing requirements for on-line single share order entry and high volume bulk share processing • Security. Integrity, and Consistency of Share Processing an absolute requirement Technical Challenges: • Integrate 3rd Party System running on UNIX with existing Windows based COBOL System ‘Mozart’. • Deliver Robust, Reliable High Performance System Solution: • Micro Focus Net Express XML Early Adopter Software enabled data integration between the two separate systems • A small XML I/O processor was built that delivered bulk orders to ‘Mozart’ via XML and returned the status back Result: • Successful integration of new Share System for bulk orders without impacting existing system Integrate Disparate Business Systems Deutsche Bank Luxembourg Outline Architecture UNIX Windows RPMS Export/Import Flat file Mercator EAI tool (mapping and data transformat ion) XML COBOL Import/Export XML Mozart OMS (NX application) Oracle Database Why COBOL is strategic in the 21st Century Reuse COBOL assets – 200 billion lines of COBOL in use today – 75% of business data processed in COBOL – 15% of all new programs will be written in COBOL Reuse COBOL Skills Powerful Development environments improve programmer productivity COBOL remains a strong business class language delivering performance and maintainability “Its not your Fathers COBOL!” – COBOL is now a “First Class Citizen” in .NET – COBOL is Object Orientated – COBOL works with other technologies in the enterprise (not just .NET, also J2EE, XML and Web services) Legacy Platforms and Legacy Environments should be differentiated from mission critical business logic How can I help? Teach more COBOL – Part of the future Howling envisions includes bringing in new talent, which likely won't have a strong mainframe skill set. "We've outlived and outgrown the mainframe," Howling said. "With [recent] graduates, you start talking mainframe and they're not interested … that's where my talent pool is coming from, and they won't be learning COBOL in universities." Show COBOL is has moved beyond the mainframe Show COBOL is modern, agile and strategic Show how COBOL has a future Show how COBOL works within the enterprise today Show why COBOL is a valuable and strategic skill for a 21st Century IT Graduate Help build the next generation of COBOL Programmers! Why COBOL is strategic in the 21st Century John Billman Product Director, Net Express and Japanese Products