SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Moving to managed code
Scot Nielsen
Moving to managed code
• What is managed code?
• Perspectives on value for COBOL
• Lessons learned
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
• Managed code = .NET or JVM
• Native code or unmanaged = everything else
1 C
2 Java
3 C++
4 Objective-C
5 C#
6 Visual Basic
7 PHP
8 Python
9 Perl
10 Ruby
11 JavaScript
12 Visual Basic .NET
13 Delphi/Object Pascal
14 Lisp
15 Logo
16 Pascal
17 Transact-SQL
18 Ada
19 PL/SQL
20 Lua
1 C
2 Java
3 C++
4 Objective-C
5 C#
6 Visual Basic
7 PHP
8 Python
9 Perl
10 Ruby
11 JavaScript
12 Visual Basic .NET
13 Delphi/Object Pascal
14 Lisp
15 Logo
16 Pascal
17 Transact-SQL
18 Ada
19 PL/SQL
20 Lua
Why managed code
An industry perspective
How popular is managed code?
www.tiobe.com
1 C
2 Java
3 C++
4 Objective-C
5 C#
6 Visual Basic
7 PHP
8 Python
9 Perl
10 Ruby
11 JavaScript
12 Visual Basic .NET
13 Delphi/Object Pascal
14 Lisp
15 Logo
16 Pascal
17 Transact-SQL
18 Ada
19 PL/SQL
20 Lua
Why managed code
reuse what already works
Why managed code
21st century user interfaces
Why managed code
Application Integrity
Micro Focus COBOL runtime error:
114 Attempt to access item beyond bounds of memory (Signal 11)
Application Integrity
Quick Demo
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 code
End-to-end debugging
Reusable Frameworks
Quick demo:
Date/time arithmetic
Why managed code
A developer’s perspective
Object Oriented Programming
• .NET/JVM are fundamentally built on OO principles
• Procedural semantics still apply
• Visual COBOL extensions
• Samples browser
Performance
Quick demo:
Calling procedural COBOL from
managed code
Data
Database access Primer
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 OpenESQL
a) Connect to any ODBC, JDBC, ADO.NET enabled data source
procedure division.
exec sql
connect to Northwind
end-exec
if sqlcode not = 0
display "Error during CONNECT : " SQLCODE
display mfsqlmessagetext
goback
end-if
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 determine
non-standard ANSI syntax
• Some Oracle extensions supported by OpenESQL other
extensions will need to be reworked
• No PL/SQL support
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
COBOL JVM Roadmap
R3/4
JVM COBOL
Preview
JVM COBOL
Launch
2.0
JDBC support
Pure JVM
2.1
Web Container
support under
Tomcat
Web services, JSP
and Servlet
deployment
2.2
Web container
support
WebLogic
Websphere
JBOSS
2.3
EJB container
deployment
From desktop to J2EE EJB deployment…
…re-use core COBOL applications directly within
the Java Virtual Machine
COBOL
Process
COBOL
Process
COBOL
Process Data
Multi-process applications
App Server
Process
Data
App Servers
REENTRANT(2) directive won’t help
Thread
Run-units as containers
• Run units associate COBOL programs, data and
working-storage with a given user
App Server Process
Data
Thread
Run
unit
Run
unit
Run
unit
Run
unit
Run
unitCOBOL
• COBOL, Java or C#, VB…Presentation
• OO COBOL Wrapper
• Run unit
Business Access
• Existing Procedural COBOLBusiness logic
• Isolated data IO modulesData Access
• RDBMS
• Data filesData
Modernizing your architecture
• 3rd Party support
• Win32APIs
• CBL_ routines
• Pointers
• Native code
Other considerations
Case studies
• Midland National Life
• Nationwide
• Zucchetti
26
Mainframe Re-hosting to the Azure Cloud
UI Modernization
Web Deployment
Mashups
Summary
• 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!
@microfocus or hashtag #devcon2013
Follow us on LinkedIn or join the group
Connect with your peers on the Community
2.3   (Architecture) Moving to Managed Code

Contenu connexe

Tendances

PHP Web Development Frameworks & Advantages
PHP Web Development Frameworks & AdvantagesPHP Web Development Frameworks & Advantages
PHP Web Development Frameworks & AdvantagesAditMicrosys Australia
 
Migrating our micro services from Java to Kotlin (Code.Talks 2018)
Migrating our micro services from Java to Kotlin (Code.Talks 2018)Migrating our micro services from Java to Kotlin (Code.Talks 2018)
Migrating our micro services from Java to Kotlin (Code.Talks 2018)Björn Wendland
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesVagif Abilov
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET PlatformAlex Thissen
 
Integrating Alfresco with Portals
Integrating Alfresco with PortalsIntegrating Alfresco with Portals
Integrating Alfresco with PortalsPiergiorgio Lucidi
 
12-factor-jruby
12-factor-jruby12-factor-jruby
12-factor-jrubyJoe Kutner
 
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundDotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesPerforce
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...Srijan Technologies
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixPerforce
 
How to contribute to an open source project and don’t die during the Code Rev...
How to contribute to an open source project and don’t die during the Code Rev...How to contribute to an open source project and don’t die during the Code Rev...
How to contribute to an open source project and don’t die during the Code Rev...Victor Morales
 
The Evolution of Continuous Delivery at Scale @ Linkedin
The Evolution of Continuous Delivery at Scale @ LinkedinThe Evolution of Continuous Delivery at Scale @ Linkedin
The Evolution of Continuous Delivery at Scale @ LinkedinC4Media
 
Moving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsMoving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsPerforce
 
Introducing ASP.NET Core 2.0
Introducing ASP.NET Core 2.0Introducing ASP.NET Core 2.0
Introducing ASP.NET Core 2.0Steven Smith
 
Practical Application of API-First in microservices development
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices developmentChavdar Baikov
 
Process Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootProcess Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootChavdar Baikov
 

Tendances (20)

PHP Web Development Frameworks & Advantages
PHP Web Development Frameworks & AdvantagesPHP Web Development Frameworks & Advantages
PHP Web Development Frameworks & Advantages
 
Migrating our micro services from Java to Kotlin (Code.Talks 2018)
Migrating our micro services from Java to Kotlin (Code.Talks 2018)Migrating our micro services from Java to Kotlin (Code.Talks 2018)
Migrating our micro services from Java to Kotlin (Code.Talks 2018)
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
Gluecon 2018 JaC
Gluecon 2018 JaCGluecon 2018 JaC
Gluecon 2018 JaC
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
 
Integrating Alfresco with Portals
Integrating Alfresco with PortalsIntegrating Alfresco with Portals
Integrating Alfresco with Portals
 
12-factor-jruby
12-factor-jruby12-factor-jruby
12-factor-jruby
 
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel ZikmundDotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse Branches
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
 
Bring api manager into your stack
Bring api manager into your stackBring api manager into your stack
Bring api manager into your stack
 
How to contribute to an open source project and don’t die during the Code Rev...
How to contribute to an open source project and don’t die during the Code Rev...How to contribute to an open source project and don’t die during the Code Rev...
How to contribute to an open source project and don’t die during the Code Rev...
 
The Evolution of Continuous Delivery at Scale @ Linkedin
The Evolution of Continuous Delivery at Scale @ LinkedinThe Evolution of Continuous Delivery at Scale @ Linkedin
The Evolution of Continuous Delivery at Scale @ Linkedin
 
Understanding linport
Understanding linportUnderstanding linport
Understanding linport
 
Moving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsMoving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into Streams
 
Demo on JavaFX
Demo on JavaFXDemo on JavaFX
Demo on JavaFX
 
Introducing ASP.NET Core 2.0
Introducing ASP.NET Core 2.0Introducing ASP.NET Core 2.0
Introducing ASP.NET Core 2.0
 
Practical Application of API-First in microservices development
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices development
 
Process Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring BootProcess Orchestration with Flowable and Spring Boot
Process Orchestration with Flowable and Spring Boot
 

En vedette

eCorreos - Comparativa con otros operadores postales
eCorreos - Comparativa con otros operadores postaleseCorreos - Comparativa con otros operadores postales
eCorreos - Comparativa con otros operadores postalesRamón Abruña
 
El marketing del futuro, el trabajo del presente. Ponente: David Carrasco
El marketing del futuro, el trabajo del presente. Ponente: David CarrascoEl marketing del futuro, el trabajo del presente. Ponente: David Carrasco
El marketing del futuro, el trabajo del presente. Ponente: David CarrascoCICE
 
Faouzia Fekiri, French Interior Ministry
Faouzia Fekiri, French Interior MinistryFaouzia Fekiri, French Interior Ministry
Faouzia Fekiri, French Interior MinistryBritish Embassy Paris
 
eCorreos - workshop and demo
eCorreos - workshop and demoeCorreos - workshop and demo
eCorreos - workshop and demoRamón Abruña
 
Todo Google/Universal Analytics
Todo Google/Universal AnalyticsTodo Google/Universal Analytics
Todo Google/Universal Analyticsanalisis-web.es
 
Ua3. 5 c actividades go nzalez rasura evelyn patricia
Ua3. 5 c actividades go nzalez rasura evelyn patricia Ua3. 5 c actividades go nzalez rasura evelyn patricia
Ua3. 5 c actividades go nzalez rasura evelyn patricia Evelyn Gonzalez
 
Cuestiones prácticas en la administración de fármacos: técnicas de dilución, ...
Cuestiones prácticas en la administración de fármacos: técnicas de dilución, ...Cuestiones prácticas en la administración de fármacos: técnicas de dilución, ...
Cuestiones prácticas en la administración de fármacos: técnicas de dilución, ...Clínica Universidad de Navarra
 
GFEC EASTER NEWSLETTER - 27 March 2016
GFEC EASTER NEWSLETTER - 27 March 2016 GFEC EASTER NEWSLETTER - 27 March 2016
GFEC EASTER NEWSLETTER - 27 March 2016 Adrian Kerr
 
GFEC Newsletter 27 September 2015
GFEC Newsletter 27 September 2015GFEC Newsletter 27 September 2015
GFEC Newsletter 27 September 2015Adrian Kerr
 
Modèle cognitif de mémoire dans un environnement virtuel
Modèle cognitif de mémoire dans un environnement virtuelModèle cognitif de mémoire dans un environnement virtuel
Modèle cognitif de mémoire dans un environnement virtuelNSim Technology
 

En vedette (19)

eCorreos - Comparativa con otros operadores postales
eCorreos - Comparativa con otros operadores postaleseCorreos - Comparativa con otros operadores postales
eCorreos - Comparativa con otros operadores postales
 
El marketing del futuro, el trabajo del presente. Ponente: David Carrasco
El marketing del futuro, el trabajo del presente. Ponente: David CarrascoEl marketing del futuro, el trabajo del presente. Ponente: David Carrasco
El marketing del futuro, el trabajo del presente. Ponente: David Carrasco
 
Faouzia Fekiri, French Interior Ministry
Faouzia Fekiri, French Interior MinistryFaouzia Fekiri, French Interior Ministry
Faouzia Fekiri, French Interior Ministry
 
eCorreos - workshop and demo
eCorreos - workshop and demoeCorreos - workshop and demo
eCorreos - workshop and demo
 
Modul45
Modul45Modul45
Modul45
 
Acetaia manicardi
Acetaia manicardiAcetaia manicardi
Acetaia manicardi
 
Modul17
Modul17Modul17
Modul17
 
Modul72
Modul72Modul72
Modul72
 
Todo Google/Universal Analytics
Todo Google/Universal AnalyticsTodo Google/Universal Analytics
Todo Google/Universal Analytics
 
Modul22
Modul22Modul22
Modul22
 
Modul01
Modul01Modul01
Modul01
 
Isabelbautista portafolio de evidencias
Isabelbautista portafolio de evidenciasIsabelbautista portafolio de evidencias
Isabelbautista portafolio de evidencias
 
Haciendo ciencia en el aula
Haciendo ciencia en el aulaHaciendo ciencia en el aula
Haciendo ciencia en el aula
 
Κομικς
ΚομικςΚομικς
Κομικς
 
Ua3. 5 c actividades go nzalez rasura evelyn patricia
Ua3. 5 c actividades go nzalez rasura evelyn patricia Ua3. 5 c actividades go nzalez rasura evelyn patricia
Ua3. 5 c actividades go nzalez rasura evelyn patricia
 
Cuestiones prácticas en la administración de fármacos: técnicas de dilución, ...
Cuestiones prácticas en la administración de fármacos: técnicas de dilución, ...Cuestiones prácticas en la administración de fármacos: técnicas de dilución, ...
Cuestiones prácticas en la administración de fármacos: técnicas de dilución, ...
 
GFEC EASTER NEWSLETTER - 27 March 2016
GFEC EASTER NEWSLETTER - 27 March 2016 GFEC EASTER NEWSLETTER - 27 March 2016
GFEC EASTER NEWSLETTER - 27 March 2016
 
GFEC Newsletter 27 September 2015
GFEC Newsletter 27 September 2015GFEC Newsletter 27 September 2015
GFEC Newsletter 27 September 2015
 
Modèle cognitif de mémoire dans un environnement virtuel
Modèle cognitif de mémoire dans un environnement virtuelModèle cognitif de mémoire dans un environnement virtuel
Modèle cognitif de mémoire dans un environnement virtuel
 

Similaire à 2.3 (Architecture) Moving to Managed Code

COBOL deployment to .Net or JVM - Developer Day
COBOL deployment to .Net or JVM - Developer DayCOBOL deployment to .Net or JVM - Developer Day
COBOL deployment to .Net or JVM - Developer DayMicro Focus
 
COBOL deployment to .NET or JVM
COBOL deployment to .NET or JVMCOBOL deployment to .NET or JVM
COBOL deployment to .NET or JVMMicro Focus
 
Flexible delivery options
Flexible delivery options Flexible delivery options
Flexible delivery options Micro Focus
 
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5David Voyles
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5mbaric
 
AngularJS - Architecture decisions in a large project 
AngularJS - Architecture decisionsin a large project AngularJS - Architecture decisionsin a large project 
AngularJS - Architecture decisions in a large project Elad Hirsch
 
Rajnish singh(presentation on oracle )
Rajnish singh(presentation on  oracle )Rajnish singh(presentation on  oracle )
Rajnish singh(presentation on oracle )Rajput Rajnish
 
Building static libraries for iOS with CocoaPods
Building static libraries for iOS with CocoaPodsBuilding static libraries for iOS with CocoaPods
Building static libraries for iOS with CocoaPodsSigmapoint
 
Java Programming 100 Programming Challenges
Java Programming 100 Programming ChallengesJava Programming 100 Programming Challenges
Java Programming 100 Programming ChallengesJavier Crisostomo
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Keynote Oracle Fusion Middleware Summit_2020
Keynote Oracle Fusion Middleware Summit_2020Keynote Oracle Fusion Middleware Summit_2020
Keynote Oracle Fusion Middleware Summit_2020Michel Schildmeijer
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019graemerocher
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications OpenEBS
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityGraham Charters
 
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpChalermpon Areepong
 

Similaire à 2.3 (Architecture) Moving to Managed Code (20)

COBOL deployment to .Net or JVM - Developer Day
COBOL deployment to .Net or JVM - Developer DayCOBOL deployment to .Net or JVM - Developer Day
COBOL deployment to .Net or JVM - Developer Day
 
COBOL deployment to .NET or JVM
COBOL deployment to .NET or JVMCOBOL deployment to .NET or JVM
COBOL deployment to .NET or JVM
 
Flexible delivery options
Flexible delivery options Flexible delivery options
Flexible delivery options
 
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
 
Ow
OwOw
Ow
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Java Spring
Java SpringJava Spring
Java Spring
 
WebLogic and GraalVM
WebLogic and GraalVMWebLogic and GraalVM
WebLogic and GraalVM
 
ASP.NET vNext
ASP.NET vNextASP.NET vNext
ASP.NET vNext
 
AngularJS - Architecture decisions in a large project 
AngularJS - Architecture decisionsin a large project AngularJS - Architecture decisionsin a large project 
AngularJS - Architecture decisions in a large project 
 
Rajnish singh(presentation on oracle )
Rajnish singh(presentation on  oracle )Rajnish singh(presentation on  oracle )
Rajnish singh(presentation on oracle )
 
Building static libraries for iOS with CocoaPods
Building static libraries for iOS with CocoaPodsBuilding static libraries for iOS with CocoaPods
Building static libraries for iOS with CocoaPods
 
Java Programming 100 Programming Challenges
Java Programming 100 Programming ChallengesJava Programming 100 Programming Challenges
Java Programming 100 Programming Challenges
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Keynote Oracle Fusion Middleware Summit_2020
Keynote Oracle Fusion Middleware Summit_2020Keynote Oracle Fusion Middleware Summit_2020
Keynote Oracle Fusion Middleware Summit_2020
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
 
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
 

Plus de Micro Focus

North America Strategic Modernization Exec Forum
North America Strategic Modernization Exec Forum North America Strategic Modernization Exec Forum
North America Strategic Modernization Exec Forum Micro Focus
 
Tech Channel COBOL ebook
Tech Channel COBOL ebookTech Channel COBOL ebook
Tech Channel COBOL ebookMicro Focus
 
Unlocking COBOL Business Value
Unlocking COBOL Business ValueUnlocking COBOL Business Value
Unlocking COBOL Business ValueMicro Focus
 
Quietly confident, enduringly competent - COBOL.
Quietly confident, enduringly competent - COBOL. Quietly confident, enduringly competent - COBOL.
Quietly confident, enduringly competent - COBOL. Micro Focus
 
5 key capabilitie for a smart service desk solution infographic
5 key capabilitie for a smart service desk solution infographic5 key capabilitie for a smart service desk solution infographic
5 key capabilitie for a smart service desk solution infographicMicro Focus
 
SAP Fortify by Micro Focus.
SAP Fortify by Micro Focus. SAP Fortify by Micro Focus.
SAP Fortify by Micro Focus. Micro Focus
 
Digital Transformation pillars 2020
Digital Transformation pillars 2020Digital Transformation pillars 2020
Digital Transformation pillars 2020Micro Focus
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteMicro Focus
 
Micro Focus Corporate Overview
Micro Focus Corporate OverviewMicro Focus Corporate Overview
Micro Focus Corporate OverviewMicro Focus
 
Why attend the application modernization & connectivity track at Micro Focus ...
Why attend the application modernization & connectivity track at Micro Focus ...Why attend the application modernization & connectivity track at Micro Focus ...
Why attend the application modernization & connectivity track at Micro Focus ...Micro Focus
 
Micro Focus #DevDay50 - Atlanta
Micro Focus #DevDay50 - AtlantaMicro Focus #DevDay50 - Atlanta
Micro Focus #DevDay50 - AtlantaMicro Focus
 
Growth of Internet Data - 2017
Growth of Internet Data - 2017Growth of Internet Data - 2017
Growth of Internet Data - 2017Micro Focus
 
Easily Create Scalable Automation using Selenium
Easily Create Scalable Automation using SeleniumEasily Create Scalable Automation using Selenium
Easily Create Scalable Automation using SeleniumMicro Focus
 
The Journey to Mainframe DevOps
The Journey to Mainframe DevOpsThe Journey to Mainframe DevOps
The Journey to Mainframe DevOpsMicro Focus
 
Micro Focus extend 10 and 10.1 with AcuToWeb
Micro Focus extend 10 and 10.1 with AcuToWebMicro Focus extend 10 and 10.1 with AcuToWeb
Micro Focus extend 10 and 10.1 with AcuToWebMicro Focus
 
The COBOL Story by Wim Ebbinkhuijsen
The COBOL Story by Wim EbbinkhuijsenThe COBOL Story by Wim Ebbinkhuijsen
The COBOL Story by Wim EbbinkhuijsenMicro Focus
 
DevDay Copenhagen - Micro Focus overview and introduction
DevDay Copenhagen - Micro Focus overview and introductionDevDay Copenhagen - Micro Focus overview and introduction
DevDay Copenhagen - Micro Focus overview and introductionMicro Focus
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps JourneyMicro Focus
 
ACUCOBOL - Product Strategy and Roadmap
ACUCOBOL - Product Strategy and RoadmapACUCOBOL - Product Strategy and Roadmap
ACUCOBOL - Product Strategy and RoadmapMicro Focus
 
#DevDay Copenhagen - Bluegarden Presentation
#DevDay Copenhagen - Bluegarden Presentation #DevDay Copenhagen - Bluegarden Presentation
#DevDay Copenhagen - Bluegarden Presentation Micro Focus
 

Plus de Micro Focus (20)

North America Strategic Modernization Exec Forum
North America Strategic Modernization Exec Forum North America Strategic Modernization Exec Forum
North America Strategic Modernization Exec Forum
 
Tech Channel COBOL ebook
Tech Channel COBOL ebookTech Channel COBOL ebook
Tech Channel COBOL ebook
 
Unlocking COBOL Business Value
Unlocking COBOL Business ValueUnlocking COBOL Business Value
Unlocking COBOL Business Value
 
Quietly confident, enduringly competent - COBOL.
Quietly confident, enduringly competent - COBOL. Quietly confident, enduringly competent - COBOL.
Quietly confident, enduringly competent - COBOL.
 
5 key capabilitie for a smart service desk solution infographic
5 key capabilitie for a smart service desk solution infographic5 key capabilitie for a smart service desk solution infographic
5 key capabilitie for a smart service desk solution infographic
 
SAP Fortify by Micro Focus.
SAP Fortify by Micro Focus. SAP Fortify by Micro Focus.
SAP Fortify by Micro Focus.
 
Digital Transformation pillars 2020
Digital Transformation pillars 2020Digital Transformation pillars 2020
Digital Transformation pillars 2020
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product Suite
 
Micro Focus Corporate Overview
Micro Focus Corporate OverviewMicro Focus Corporate Overview
Micro Focus Corporate Overview
 
Why attend the application modernization & connectivity track at Micro Focus ...
Why attend the application modernization & connectivity track at Micro Focus ...Why attend the application modernization & connectivity track at Micro Focus ...
Why attend the application modernization & connectivity track at Micro Focus ...
 
Micro Focus #DevDay50 - Atlanta
Micro Focus #DevDay50 - AtlantaMicro Focus #DevDay50 - Atlanta
Micro Focus #DevDay50 - Atlanta
 
Growth of Internet Data - 2017
Growth of Internet Data - 2017Growth of Internet Data - 2017
Growth of Internet Data - 2017
 
Easily Create Scalable Automation using Selenium
Easily Create Scalable Automation using SeleniumEasily Create Scalable Automation using Selenium
Easily Create Scalable Automation using Selenium
 
The Journey to Mainframe DevOps
The Journey to Mainframe DevOpsThe Journey to Mainframe DevOps
The Journey to Mainframe DevOps
 
Micro Focus extend 10 and 10.1 with AcuToWeb
Micro Focus extend 10 and 10.1 with AcuToWebMicro Focus extend 10 and 10.1 with AcuToWeb
Micro Focus extend 10 and 10.1 with AcuToWeb
 
The COBOL Story by Wim Ebbinkhuijsen
The COBOL Story by Wim EbbinkhuijsenThe COBOL Story by Wim Ebbinkhuijsen
The COBOL Story by Wim Ebbinkhuijsen
 
DevDay Copenhagen - Micro Focus overview and introduction
DevDay Copenhagen - Micro Focus overview and introductionDevDay Copenhagen - Micro Focus overview and introduction
DevDay Copenhagen - Micro Focus overview and introduction
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
ACUCOBOL - Product Strategy and Roadmap
ACUCOBOL - Product Strategy and RoadmapACUCOBOL - Product Strategy and Roadmap
ACUCOBOL - Product Strategy and Roadmap
 
#DevDay Copenhagen - Bluegarden Presentation
#DevDay Copenhagen - Bluegarden Presentation #DevDay Copenhagen - Bluegarden Presentation
#DevDay Copenhagen - Bluegarden Presentation
 

2.3 (Architecture) Moving to Managed Code

  • 1. Moving to managed code Scot 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 C 2 Java 3 C++ 4 Objective-C 5 C# 6 Visual Basic 7 PHP 8 Python 9 Perl 10 Ruby 11 JavaScript 12 Visual Basic .NET 13 Delphi/Object Pascal 14 Lisp 15 Logo 16 Pascal 17 Transact-SQL 18 Ada 19 PL/SQL 20 Lua 1 C 2 Java 3 C++ 4 Objective-C 5 C# 6 Visual Basic 7 PHP 8 Python 9 Perl 10 Ruby 11 JavaScript 12 Visual Basic .NET 13 Delphi/Object Pascal 14 Lisp 15 Logo 16 Pascal 17 Transact-SQL 18 Ada 19 PL/SQL 20 Lua Why managed code An industry perspective How popular is managed code? www.tiobe.com 1 C 2 Java 3 C++ 4 Objective-C 5 C# 6 Visual Basic 7 PHP 8 Python 9 Perl 10 Ruby 11 JavaScript 12 Visual Basic .NET 13 Delphi/Object Pascal 14 Lisp 15 Logo 16 Pascal 17 Transact-SQL 18 Ada 19 PL/SQL 20 Lua
  • 6. Why managed code reuse what already works
  • 7. Why managed code 21st century user interfaces
  • 8. Why managed code Application Integrity Micro Focus COBOL runtime error: 114 Attempt to access item beyond bounds of memory (Signal 11)
  • 9. Application Integrity Quick Demo Try/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 developer Why managed code End-to-end debugging
  • 11. Reusable Frameworks Quick demo: Date/time arithmetic Why managed code A developer’s perspective
  • 12. Object Oriented Programming • .NET/JVM are fundamentally built on OO principles • Procedural semantics still apply • Visual COBOL extensions • Samples browser
  • 14. Quick demo: Calling procedural COBOL from managed code
  • 15. Data
  • 16. Database access Primer 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 OpenESQL a) Connect to any ODBC, JDBC, ADO.NET enabled data source procedure division. exec sql connect to Northwind end-exec if sqlcode not = 0 display "Error during CONNECT : " SQLCODE display mfsqlmessagetext goback end-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 determine non-standard ANSI syntax • Some Oracle extensions supported by OpenESQL other extensions 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 Roadmap R3/4 JVM COBOL Preview JVM COBOL Launch 2.0 JDBC support Pure JVM 2.1 Web Container support under Tomcat Web services, JSP and Servlet deployment 2.2 Web container support WebLogic Websphere JBOSS 2.3 EJB container deployment From desktop to J2EE EJB deployment… …re-use core COBOL applications directly within the Java Virtual Machine
  • 21. App Server Process Data App Servers REENTRANT(2) directive won’t help Thread
  • 22. Run-units as containers • Run units associate COBOL programs, data and working-storage with a given user App Server Process Data Thread Run unit Run unit Run unit Run unit Run unitCOBOL
  • 23. • COBOL, Java or C#, VB…Presentation • OO COBOL Wrapper • Run unit Business Access • Existing Procedural COBOLBusiness logic • Isolated data IO modulesData Access • RDBMS • Data filesData Modernizing your architecture
  • 24. • 3rd Party support • Win32APIs • CBL_ routines • Pointers • Native code Other considerations
  • 25. Case studies • Midland National Life • Nationwide • Zucchetti
  • 26. 26 Mainframe Re-hosting to the Azure Cloud
  • 30. Summary • 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!
  • 31. @microfocus or hashtag #devcon2013 Follow us on LinkedIn or join the group Connect with your peers on the Community