SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Visual COBOL Development for
         Unix & Java
        Darren Self & Paula Willis
         Product Development
Visual COBOL for Eclipse

• Complete COBOL development environment
  – Modern IDE
  – Remote development
  – Native and managed code




                2
Why work remotely?




                 3
RSE/SAMBA




            • Project Creation/Maintenance

            • Compilation

            • Debugging



     4
Why hold with tradition?
© Daily Telegraph




                    5
From this...




               6
To this...




             7
Develop on all platforms
     Well, almost!




          © Science Museum, London
Remote Development Supported Platforms




     Desktop Eclipse IDE       Server Hubs



                           9
Seeing more details...




10                 © Darren Self, 2012
11
Java
                                          JVM
source code               managed code

java (.java)               JVM bytecode

                 Java        ...
  class c1     compiler      iconst_0i
                             aload
  {
                 javac       istore_1
  }                          jsr

                            .class/.jar



Write Once Run Anywhere
COBOL
                                           JVM
source code                managed code

COBOL (.cbl)                JVM bytecode

 Program-id P   COBOL         ...
 working-stor   compiler      iconst_0i
 procedure di                 aload
 display “hel    jvmgen       istore_1
 goback.                      jsr

                             .class/.jar
Mixing languages
source code              managed code   JVM



              COBOL
              compiler
 COBOL


                Java
              compiler     ...
  Java                         JVM
                             bytecode

               JRuby
              compiler
 JRuby
What is JVM COBOL?

• COBOL with extensions to take advantage of features of
  the JVM framework

                set/invoke      set/invoke
               OO syntax       OO syntax
               inner-class     inner-class
               annotations     annotations
            exception handling
                            exception handling
               collections     collections
                 declare         declare Core    COBOL
            extension methods
                            extension methods
                sync verb        sync verb
             predefined types predefined types
               linkage-less     linkage-less
                  enums           enums
             and much more....
                             and much more....
Choice of 2 runtime configurations

                                   Pure runtime                          Impure runtime


                                                                          native        native         native
                                                                           app           app            app

                                                    app                                   app
                                           myapp.jar/class                         myapp.jar/class
              runtime components
Micro Focus




                                     FileHandler             SQL               Native
                                                                                              Native SQL
                                    mffilehandler.jar     mfsqljvm.jar      FileHandler

                                              pure runtime                             runtime
                                          mfcobolrtspure.jar                  mfcobolrts.jar & mfcobol.jar


         • Pure JVM runtime, JVM FileHandler, JVM SQL • JVM runtime with native interop support
         • No support for interop to native code      • Calls the native FileHandler
SmartLinkage

•   If legacy COBOL app contains COBOL data types in linkage
•   Set ilsmartlinkage directive on legacy COBOL app
•   On compilation auto-generates managed types
•   So you can access COBOL linkage data from other managed
    languages transparently.

    – No hand-written wrapper classes needed

    – No changes required to the original code

    – COBOL data shown in C#/Java/COBOL intellisense
Darren.Self@microfocus.com
Paula.Willis@microfocus.com

Weitere ähnliche Inhalte

Was ist angesagt?

Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseSingle Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseRalf Sternberg
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingStephen Chin
 
Transforming your COBOL UI - COBOL Developer Day
Transforming your COBOL UI - COBOL Developer DayTransforming your COBOL UI - COBOL Developer Day
Transforming your COBOL UI - COBOL Developer DayMicro Focus
 
JAVA ENVIRONMENT
JAVA  ENVIRONMENTJAVA  ENVIRONMENT
JAVA ENVIRONMENTjosemachoco
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open InnovationTim Ellison
 
Os Grossupdated
Os GrossupdatedOs Grossupdated
Os Grossupdatedoscon2007
 
Developer Conference 2.6 - (Skills and Development Efficiency) Modernizing yo...
Developer Conference 2.6 - (Skills and Development Efficiency) Modernizing yo...Developer Conference 2.6 - (Skills and Development Efficiency) Modernizing yo...
Developer Conference 2.6 - (Skills and Development Efficiency) Modernizing yo...Micro Focus
 
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developersnick_garrod
 
Java introduction
Java introductionJava introduction
Java introductionKuppusamy P
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-finalRohit Kelapure
 

Was ist angesagt? (20)

History of java'
History of java'History of java'
History of java'
 
Os Rego
Os RegoOs Rego
Os Rego
 
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseSingle Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi Hacking
 
Analysis
AnalysisAnalysis
Analysis
 
Java 1
Java 1Java 1
Java 1
 
Transforming your COBOL UI - COBOL Developer Day
Transforming your COBOL UI - COBOL Developer DayTransforming your COBOL UI - COBOL Developer Day
Transforming your COBOL UI - COBOL Developer Day
 
JAVA ENVIRONMENT
JAVA  ENVIRONMENTJAVA  ENVIRONMENT
JAVA ENVIRONMENT
 
Features of java 02
Features of java 02Features of java 02
Features of java 02
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open Innovation
 
Java History
Java HistoryJava History
Java History
 
Os Grossupdated
Os GrossupdatedOs Grossupdated
Os Grossupdated
 
Developer Conference 2.6 - (Skills and Development Efficiency) Modernizing yo...
Developer Conference 2.6 - (Skills and Development Efficiency) Modernizing yo...Developer Conference 2.6 - (Skills and Development Efficiency) Modernizing yo...
Developer Conference 2.6 - (Skills and Development Efficiency) Modernizing yo...
 
The Java Story
The Java StoryThe Java Story
The Java Story
 
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
 
Evolution of java By Abbas khan
Evolution of java   By Abbas khan Evolution of java   By Abbas khan
Evolution of java By Abbas khan
 
Java presentation
Java presentation Java presentation
Java presentation
 
Java ms harsha
Java ms harshaJava ms harsha
Java ms harsha
 
Java introduction
Java introductionJava introduction
Java introduction
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
 

Ähnlich wie Visual COBOL Development for Unix and Java

JAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptxJAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptxMurugesh33
 
JAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptxJAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptxMurugesh33
 
Java virtual machine
Java virtual machineJava virtual machine
Java virtual machineNikhil Sharma
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting StartedRakesh Madugula
 
What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouJohn Pape
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBayTony Ng
 
Unit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rdUnit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rdprat0ham
 
imperative programming language, java, android
imperative programming language, java, androidimperative programming language, java, android
imperative programming language, java, androidi i
 
basic core java up to operator
basic core java up to operatorbasic core java up to operator
basic core java up to operatorkamal kotecha
 
Javanotes ww8
Javanotes ww8Javanotes ww8
Javanotes ww8kumar467
 
Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Mr. Akaash
 
OOP with Java
OOP with JavaOOP with Java
OOP with JavaOmegaHub
 
Introduction to java by priti sajja
Introduction to java by priti sajjaIntroduction to java by priti sajja
Introduction to java by priti sajjaPriti Srinivas Sajja
 

Ähnlich wie Visual COBOL Development for Unix and Java (20)

Understanding the Dalvik Virtual Machine
Understanding the Dalvik Virtual MachineUnderstanding the Dalvik Virtual Machine
Understanding the Dalvik Virtual Machine
 
JAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptxJAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptx
 
JAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptxJAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptx
 
Java virtual machine
Java virtual machineJava virtual machine
Java virtual machine
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting Started
 
Java security
Java securityJava security
Java security
 
What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell You
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
Java Starting
Java StartingJava Starting
Java Starting
 
Java unit 1
Java unit 1Java unit 1
Java unit 1
 
Unit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rdUnit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rd
 
imperative programming language, java, android
imperative programming language, java, androidimperative programming language, java, android
imperative programming language, java, android
 
basic core java up to operator
basic core java up to operatorbasic core java up to operator
basic core java up to operator
 
Javanotes ww8
Javanotes ww8Javanotes ww8
Javanotes ww8
 
Java notes
Java notesJava notes
Java notes
 
Basic Java I
Basic Java IBasic Java I
Basic Java I
 
Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...
 
OOP with Java
OOP with JavaOOP with Java
OOP with Java
 
Introduction to java by priti sajja
Introduction to java by priti sajjaIntroduction to java by priti sajja
Introduction to java by priti sajja
 
Java lab lecture 1
Java  lab  lecture 1Java  lab  lecture 1
Java lab lecture 1
 

Mehr von 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
 

Mehr von 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
 

Visual COBOL Development for Unix and Java

  • 1. Visual COBOL Development for Unix & Java Darren Self & Paula Willis Product Development
  • 2. Visual COBOL for Eclipse • Complete COBOL development environment – Modern IDE – Remote development – Native and managed code 2
  • 4. RSE/SAMBA • Project Creation/Maintenance • Compilation • Debugging 4
  • 5. Why hold with tradition? © Daily Telegraph 5
  • 8. Develop on all platforms Well, almost! © Science Museum, London
  • 9. Remote Development Supported Platforms Desktop Eclipse IDE Server Hubs 9
  • 10. Seeing more details... 10 © Darren Self, 2012
  • 11. 11
  • 12. Java JVM source code managed code java (.java) JVM bytecode Java ... class c1 compiler iconst_0i aload { javac istore_1 } jsr .class/.jar Write Once Run Anywhere
  • 13. COBOL JVM source code managed code COBOL (.cbl) JVM bytecode Program-id P COBOL ... working-stor compiler iconst_0i procedure di aload display “hel jvmgen istore_1 goback. jsr .class/.jar
  • 14. Mixing languages source code managed code JVM COBOL compiler COBOL Java compiler ... Java JVM bytecode JRuby compiler JRuby
  • 15. What is JVM COBOL? • COBOL with extensions to take advantage of features of the JVM framework set/invoke set/invoke OO syntax OO syntax inner-class inner-class annotations annotations exception handling exception handling collections collections declare declare Core COBOL extension methods extension methods sync verb sync verb predefined types predefined types linkage-less linkage-less enums enums and much more.... and much more....
  • 16. Choice of 2 runtime configurations Pure runtime Impure runtime native native native app app app app app myapp.jar/class myapp.jar/class runtime components Micro Focus FileHandler SQL Native Native SQL mffilehandler.jar mfsqljvm.jar FileHandler pure runtime runtime mfcobolrtspure.jar mfcobolrts.jar & mfcobol.jar • Pure JVM runtime, JVM FileHandler, JVM SQL • JVM runtime with native interop support • No support for interop to native code • Calls the native FileHandler
  • 17. SmartLinkage • If legacy COBOL app contains COBOL data types in linkage • Set ilsmartlinkage directive on legacy COBOL app • On compilation auto-generates managed types • So you can access COBOL linkage data from other managed languages transparently. – No hand-written wrapper classes needed – No changes required to the original code – COBOL data shown in C#/Java/COBOL intellisense

Hinweis der Redaktion

  1. Why?Limited hardwareGeographical realitiesCompile with local librariesThird party limitations (Tuxedo for instance)Debug on platform where code will be running
  2. RSE over TCPIP – can be secured over SSLOptional SAMBA connection for project accessLong running daemon on server Starts processes per user under their authentication These processes control compilation and debugging of remote applications
  3. Connect to anything – almost!