Your SlideShare is downloading. ×
0
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
2.3   (Architecture) Moving to Managed Code
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

2.3 (Architecture) Moving to Managed Code

157

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
157
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Moving to managed codeScot Nielsen
  • 2. Moving to managed code• What is managed code?• Perspectives on value for COBOL• Lessons learned
  • 3. What is Managed code• Virtual execution environment– Portable Intermediate Language– JIT• Garbage collection• Object-oriented• Extensive frameworks/Class Libraries• COBOL generated directly to byte code
  • 4. • Managed code = .NET or JVM• Native code or unmanaged = everything else
  • 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. Why managed codereuse what already works
  • 7. Why managed code21st century user interfaces
  • 8. Why managed codeApplication IntegrityMicro Focus COBOL runtime error:114 Attempt to access item beyond bounds of memory (Signal 11)
  • 9. Application IntegrityQuick DemoTry/Catch Exception handling in COBOL
  • 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. Reusable FrameworksQuick demo:Date/time arithmeticWhy managed codeA developer’s perspective
  • 12. Object Oriented Programming• .NET/JVM are fundamentally built on OO principles• Procedural semantics still apply• Visual COBOL extensions• Samples browser
  • 13. Performance
  • 14. Quick demo:Calling procedural COBOL frommanaged code
  • 15. Data
  • 16. 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 the IDE2. Micro Focus OpenESQLa) Connect to any ODBC, JDBC, ADO.NET enabled data sourceprocedure division.exec sqlconnect to Northwindend-execif sqlcode not = 0display "Error during CONNECT : " SQLCODEdisplay mfsqlmessagetextgobackend-if
  • 17. Database access under Managed Code• 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 determinenon-standard ANSI syntax• Some Oracle extensions supported by OpenESQL otherextensions will need to be reworked• No PL/SQL support
  • 18. 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
  • 19. 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
  • 20. COBOLProcessCOBOLProcessCOBOLProcess DataMulti-process applications
  • 21. App ServerProcessDataApp ServersREENTRANT(2) directive won’t helpThread
  • 22. Run-units as containers• Run units associate COBOL programs, data andworking-storage with a given userApp Server ProcessDataThreadRununitRununitRununitRununitRununitCOBOL
  • 23. • 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
  • 24. • 3rd Party support• Win32APIs• CBL_ routines• Pointers• Native codeOther considerations
  • 25. Case studies• Midland National Life• Nationwide• Zucchetti
  • 26. 26Mainframe Re-hosting to the Azure Cloud
  • 27. UI Modernization
  • 28. Web Deployment
  • 29. Mashups
  • 30. Summary• Managed code is a fantastic way to modernize yourapplication– Get more done using Java and .NET frameworks– Create new user interfaces and services baseddeployments• Be prepared– New skills – OO, Java, .NET, frameworks– Check for unsupported options such as APIs and databasepre-compilers• Speak to Micro Focus before you start or at least, let us knowonce you’ve deployed!
  • 31. @microfocus or hashtag #devcon2013Follow us on LinkedIn or join the groupConnect with your peers on the Community

×