COBOL deployment to .NET or JVM

27

Transcript of COBOL deployment to .NET or JVM

Page 1: COBOL deployment to .NET or JVM
Page 2: COBOL deployment to .NET or JVM

It’s Your Choice –

COBOL Deployment to .NET or JVM

Page 3: 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

Page 4: COBOL deployment to .NET or JVM

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

Page 5: COBOL deployment to .NET or JVM

Managed code = .NET or JVM Native code or unmanaged = everything else

Terminology

Page 6: COBOL deployment to .NET or JVM

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

Page 7: COBOL deployment to .NET or JVM

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

Page 8: COBOL deployment to .NET or JVM

Why managed codereuse what already works

Page 9: COBOL deployment to .NET or JVM

Why managed code21st century user interfaces

Page 10: COBOL deployment to .NET or JVM

Why managed codeApplication Integrity

Micro Focus COBOL runtime error:114 Attempt to access item beyond bounds of memory (Signal 11)

Page 11: COBOL deployment to .NET or JVM

Application IntegrityDemonstration

Try/Catch Exception handling in COBOL

Page 12: COBOL deployment to .NET or JVM

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

Page 13: COBOL deployment to .NET or JVM

Reusable FrameworksDemonstration

Date/Time Arithmetic

Page 14: COBOL deployment to .NET or JVM

What is managed code? Different perspectives on why deploy to .NET or JVM? Some lessons learned

Moving to managed code

Page 15: COBOL deployment to .NET or JVM

.NET/JVM are fundamentally built on OO principles Procedural semantics still apply Visual COBOL extensions Samples browser

Object Oriented Programming

Page 16: COBOL deployment to .NET or JVM

Data

Page 17: COBOL deployment to .NET or JVM

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

Page 18: COBOL deployment to .NET or JVM

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

Page 19: COBOL deployment to .NET or JVM

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

Page 20: COBOL deployment to .NET or JVM

DemonstrationFile Handling and SQL Access

Page 21: COBOL deployment to .NET or JVM

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

Page 22: COBOL deployment to .NET or JVM

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

Page 23: COBOL deployment to .NET or JVM

•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

Page 24: COBOL deployment to .NET or JVM

Dialog System 3rd Party support Win32APIs CBL_ routines Pointers Native code

Other considerations

Page 25: COBOL deployment to .NET or JVM

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

Page 26: COBOL deployment to .NET or JVM

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

Page 27: COBOL deployment to .NET or JVM

Questions