cobol deployment to .net or jvm
TRANSCRIPT
It’s Your Choice –
COBOL Deployment to .NET or JVM
What new in the latest update What is managed code and why should you care Reusable Frameworks Moving to managed code
Agenda
New capabilities for working with Microsoft Visual Studio 2013 and Microsoft .NET 4.5
New platform support for Windows 8.1, Oracle Linux 6.5, Red Hat Linux 6.5 and AIX 7.1
Many enhancements to increase runtime performance JDBC Connection Sharing And more …..
What’s New in 2.2 Update 1
Managed code = .NET or JVM Native code or unmanaged = everything else
Terminology
Virtual execution environment • Portable Intermediate Language• JIT
Garbage collection Object-oriented Extensive frameworks/Class Libraries COBOL code generated directly to byte code
What is Managed code
1 C2 Java3 Objective-C4 C++5 C#6 Visual Basic7 PHP8 Python9 JavaScript
10 Visual Basic .NET11 Transact-SQL12 Perl13 Ruby14 ActionScript15 F#16 Lisp17 Delphi/Object Pascal18 Pascal19 MATLAB20 Assembler
1 C2 Java3 Objective-C4 C++5 C#6 Visual Basic7 PHP8 Python9 JavaScript
10 Visual Basic .NET11 Transact-SQL12 Perl13 Ruby14 ActionScript15 F#16 Lisp17 Delphi/Object Pascal18 Pascal19 MATLAB20 Assembler
Why managed code
How popular is managed code?
www.tiobe.com
1 C2 Java3 Objective-C4 C++5 C#6 Visual Basic7 PHP8 Python9 JavaScript
10 Visual Basic .NET11 Transact-SQL12 Perl13 Ruby14 ActionScript15 F#16 Lisp17 Delphi/Object Pascal18 Pascal19 MATLAB20 Assembler
Why managed codereuse what already works
Why managed code21st century user interfaces
Why managed codeApplication Integrity
Micro Focus COBOL runtime error:114 Attempt to access item beyond bounds of memory (Signal 11)
Application IntegrityDemonstration
Try/Catch Exception handling in COBOL
Debug C#/Java and COBOL together End-to-end testing Single IDE for building and testing Single debug process Same developer
Why managed codeEnd-to-end debugging
Reusable FrameworksDemonstration
Date/Time Arithmetic
What is managed code? Different perspectives on why deploy to .NET or JVM? Some lessons learned
Moving to managed code
.NET/JVM are fundamentally built on OO principles Procedural semantics still apply Visual COBOL extensions Samples browser
Object Oriented Programming
Data
Good to go in .NET and JVM Be mindful of performance for IO intensive batch operations Significant improvements to file handling operations with Visual
COBOL VC 2.2+
File Handling
COBOL programs can contain embedded SQL
Your choices:1. Database vendor pre-compiler such as Oracle Pro*COBOL
a) COBSQL provides single compile-step integrated with the IDE
2. Micro Focus OpenESQLa) Connect to any ODBC, JDBC, ADO.NET enabled data source
Database access Primer
procedure division.
exec sql connect to Northwind end-exec
if sqlcode not = 0 display "Error during CONNECT : " SQLCODE display mfsqlmessagetext goback end-if
Oracle does not support managed code using Pro*COBOL Use OpenESQL for JDBC and ADO.NET Use Pro*COBOL directives MODE=ANSI and FIPS to determine non-
standard ANSI syntax Some Oracle extensions supported by OpenESQL other extensions
will need to be reworked No PL/SQL support
Database access under Managed Code
DemonstrationFile Handling and SQL Access
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
Java App Servers
COBOL JVM Roadmap
R3/4JVM COBOL PreviewJVM COBOL Launch
2.0JDBC supportPure JVM
2.1Web Container support under TomcatWeb services, JSP and Servlet deployment
2.2Web container supportWebLogicWebsphereJBOSS
2.3EJB container deployment
From desktop to J2EE EJB deployment…
…re-use core COBOL applications directly within the Java Virtual Machine
•COBOL, Java or C#, VB…Presentation
•OO COBOL Wrapper•Run unitBusiness Access
•Existing Procedural COBOLBusiness logic
•Isolated data IO modulesData Access•RDBMS•Data filesData
Modernizing your architecture
Dialog System 3rd Party support Win32APIs CBL_ routines Pointers Native code
Other considerations
Micro Focus Product Documentation Visual COBOL Forum at the Micro Focus Community Site http://community.microfocus.com – Our community Site Managed Code Tutorial in the Product Documentation Web Based Training Resource
Resources to get you started
27
Managed code is a fantastic way to modernize your application• 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 know once
you’ve deployed!
Summary
Questions