Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NA Developer Day - Taking your COBOL apps to Net & JVM

556 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

NA Developer Day - Taking your COBOL apps to Net & JVM

  1. 1. Taking your COBOL apps to .NETand the Java Virtual MachineScot NielsenProduct Manager
  2. 2. Moving to managed code• What is managed code?• Perspectives on the value for COBOL• Lessons learned
  3. 3. What is Managed code• Virtual execution environment– Portable Intermediate Language– JIT• Garbage collection• Object-oriented• Extensive frameworks/Class Libraries• COBOL code generated directly to byte code
  4. 4. • Managed code = .NET or JVM• Native code or unmanaged = everything else
  5. 5. 1 C2 Java3 C++4 Objective-C5 C#6 Visual Basic7 PHP8 Python9 Perl10 Ruby11 JavaScript12 Visual Basic .NET13 Delphi/Object Pascal14 Lisp15 Logo16 Pascal17 Transact-SQL18 Ada19 PL/SQL20 Lua1 C2 Java3 C++4 Objective-C5 C#6 Visual Basic7 PHP8 Python9 Perl10 Ruby11 JavaScript12 Visual Basic .NET13 Delphi/Object Pascal14 Lisp15 Logo16 Pascal17 Transact-SQL18 Ada19 PL/SQL20 LuaWhy managed codeAn industry perspectiveHow popular is managed code?www.tiobe.com1 C2 Java3 C++4 Objective-C5 C#6 Visual Basic7 PHP8 Python9 Perl10 Ruby11 JavaScript12 Visual Basic .NET13 Delphi/Object Pascal14 Lisp15 Logo16 Pascal17 Transact-SQL18 Ada19 PL/SQL20 Lua
  6. 6. Why managed codereuse what already works
  7. 7. Why managed code21st century user interfaces
  8. 8. Why managed codeApplication IntegrityMicro Focus COBOL runtime error:114 Attempt to access item beyond bounds of memory (Signal 11)
  9. 9. Application IntegrityQuick DemoTry/Catch Exception handling in COBOL
  10. 10. • Debug C#/Java and COBOL together• End-to-end testing• Single IDE for building and testing• Single debug process• Same developerWhy managed codeEnd-to-end debugging
  11. 11. Reusable FrameworksQuick demo:Date/time arithmeticWhy managed codeA developer’s perspective
  12. 12. Object Oriented Programming• .NET/JVM are fundamentally built on OOprinciples• Procedural semantics still apply• Visual COBOL extensions• Samples browser
  13. 13. Performance
  14. 14. Quick demo:Calling procedural COBOL from managed code
  15. 15. Data
  16. 16. File Handling• Good to go in .NET and JVM• Be mindful of performance for IO intensivebatch operations• Optimizations this area planed
  17. 17. Database access PrimerCOBOL programs can contain embedded SQLYour choices:1. Database vendor pre-compiler such as OraclePro*COBOLa) COBSQL provides single compile-step integrated with theIDE2. Micro Focus OpenESQLa) Connect to any ODBC, JDBC, ADO.NET enabled datasourceprocedure division.exec sqlconnect to Northwindend-execif sqlcode not = 0display "Error during CONNECT : " SQLCODEdisplay mfsqlmessagetextgobackend-if
  18. 18. Database access under Managed Code• Oracle does not support managed code usingPro*COBOL• Use OpenESQL for JDBC and ADO.NET• Use Pro*COBOL directives MODE=ANSI and FIPS todetermine non-standard ANSI syntax• Some Oracle extensions supported by OpenESQLother extensions will need to be reworked• No PL/SQL support
  19. 19. Java App Servers• To do anything “Thin” will involve an app server• All major Java App Servers supported in Visual COBOL 2.2– Tomcat– JBOSS– Webshere– WebLogic• Web Services and JSPs• Java coding required• See community.microfocus.com for walkthrus
  20. 20. COBOL JVM RoadmapR3/4JVM COBOLPreviewJVM COBOLLaunch2.0JDBC supportPure JVM2.1Web Containersupport underTomcatWeb services, JSPand Servletdeployment2.2Web containersupportWebLogicWebsphereJBOSS2.3EJB containerdeploymentFrom desktop to J2EE EJB deployment……re-use core COBOL applications directly withinthe Java Virtual Machine
  21. 21. COBOLProcessCOBOLProcessCOBOLProcess DataMulti-process applications
  22. 22. App ServerProcessDataApp ServersREENTRANT(2) directive won’t helpThread
  23. 23. Run-units as containers• Run units associate COBOL programs, dataand working-storage with a given userApp Server ProcessDataThreadRununitRununitRununitRununitRununitCOBOL
  24. 24. • COBOL, Java or C#, VB…Presentation• OO COBOL Wrapper• Run unitBusiness Access• Existing Procedural COBOLBusiness logic• Isolated data IO modulesData Access• RDBMS• Data filesDataModernizing your architecture
  25. 25. Other considerations• Dialog System• 3rd Party support• Win32APIs• CBL_ routines• Pointers• Native code
  26. 26. Case studies• Midland National Life• Nationwide• Zucchetti
  27. 27. 28Mainframe Re-hosting to the Azure Cloud
  28. 28. UI Modernization
  29. 29. Web Deployment
  30. 30. Mashups
  31. 31. Summary• Managed code is a fantastic way to modernize yourapplication– Get more done using Java and .NET frameworks– Create new user interfaces and services based deployments• Be prepared– New skills – OO, Java, .NET, frameworks– Check for unsupported options such as APIs and database pre-compilers• Speak to Micro Focus before you start or at least, let us knowonce you’ve deployed!

×