Modernizing your applications with Visual COBOL ... - Micro Focus
Modernizing your applications with Visual COBOL ... - Micro Focus
Modernizing your applications with Visual COBOL ... - Micro Focus
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Modernizing</strong> <strong>your</strong> <strong>applications</strong> <strong>with</strong><br />
<strong>Visual</strong> <strong>COBOL</strong><br />
Michael Bleistein & Scot Nielsen
Key Concepts<br />
User Interface Modernization for Net Express & Server Express<br />
<strong>applications</strong><br />
• User Interface modernization using .NET or Java/JVM<br />
• Thick Client/desktop <strong>applications</strong><br />
• Thin Client/browser <strong>applications</strong><br />
• <strong>Modernizing</strong> using web services<br />
• BYOD<br />
• Best Practices and considerations for <strong>COBOL</strong> UI<br />
modernization
Universal Deployment <strong>with</strong> <strong>COBOL</strong> Server<br />
rapid, cost-effective, flexible service delivery <strong>with</strong> <strong>Visual</strong> <strong>COBOL</strong><br />
Cloud .NET Unix Linux Windows<br />
JVM<br />
INNOVATE CHOOSE DEPLOY<br />
Application Virtualisation: Mobile, SaaS and cloud-based solutions
<strong>Visual</strong> <strong>COBOL</strong> Deployment Agility<br />
<strong>COBOL</strong><br />
source<br />
<strong>Micro</strong> <strong>Focus</strong><br />
compiler<br />
<strong>COBOL</strong> is the unique solution<br />
The fastest & lowest risk route to Java or<br />
.NET<br />
INT<br />
code<br />
MSIL<br />
code<br />
Byte<br />
code<br />
Native Code<br />
Generator<br />
Native<br />
code
Desktop UI modernization <strong>with</strong><br />
Managed Code<br />
• .NET based UI<br />
– Window Forms (WinForms)<br />
– Windows Presentation Foundation (WPF)<br />
Take advantage of <strong>Visual</strong> Studio’s built-in UI design<br />
tools…but generate <strong>COBOL</strong><br />
• Java based UI<br />
– AWT, SWT<br />
– Swing<br />
Take advantage of Java UI design tools…and call <strong>COBOL</strong><br />
compiled as a Java Class<br />
5
Design Tools <strong>with</strong> <strong>Visual</strong> <strong>COBOL</strong> and .NET<br />
6
Design Tools <strong>with</strong> <strong>Visual</strong> <strong>COBOL</strong> and Java<br />
7
<strong>Modernizing</strong> Dialog System apps<br />
• Replace a screen <strong>with</strong> a<br />
Windows Form<br />
• Wrap a .NET user<br />
control as an ActiveX<br />
and use that in Dialog<br />
System
Service based modernization <strong>with</strong><br />
<strong>Visual</strong> <strong>COBOL</strong><br />
• .NET Web Service<br />
– WCF - Windows Communication Foundation<br />
• <strong>COBOL</strong> JVM and Java App Servers<br />
– Deploy Java and <strong>COBOL</strong> together under Tomcat<br />
– Use Java to provide web service and call <strong>COBOL</strong> on the<br />
back end<br />
• Web Services – Enterprise Server<br />
– Native code support for web services and J2EE app<br />
server deployment<br />
9
Best Practices<br />
10
Keep Existing <strong>COBOL</strong> portable where possible<br />
• Existing <strong>Micro</strong> <strong>Focus</strong> <strong>COBOL</strong> in many cases can be compiled as-is<br />
or <strong>with</strong> very little changes.<br />
• One set of existing <strong>COBOL</strong> source can be reused on multiple<br />
platforms (Native, .NET, or even JVM)<br />
• Provides for a clean and easier to maintain architecture<br />
• <strong>COBOL</strong>.NET class interfaces <strong>with</strong> “other” .NET languages in an<br />
object oriented way – Class Definition, Methods, Properties<br />
• Methods in <strong>COBOL</strong>.NET class can call legacy <strong>COBOL</strong> <strong>with</strong> standard<br />
<strong>COBOL</strong> syntax:<br />
– CALL “program” USING… or CALL WS-PROGRAM USING…
Begin separating layers of the application<br />
• Gives you more options as new technologies come along<br />
• I/O Layer, UI Layer, Services, Layer, Business Rules layer<br />
• Gives flexibility <strong>with</strong>in the application as well makes it<br />
more open to other <strong>applications</strong> and re-use
Procedural <strong>COBOL</strong> re-use in Multi-User<br />
<strong>applications</strong><br />
• Without changing one line of <strong>COBOL</strong>, allows existing procedural <strong>COBOL</strong> to run in<br />
multi-user <strong>applications</strong><br />
• Classes provided a runtime service classes that can be used by any .NET language<br />
that needs to use legacy <strong>COBOL</strong> in multi-user <strong>applications</strong><br />
• Only needed at the top level class that is calling the procedural <strong>COBOL</strong>. Any<br />
called modules below are also protected.<br />
• Absolutely necessary in server or multi-user .NET <strong>applications</strong> – Code at<br />
executed ON the server by many users<br />
• Allows you to bring valuable existing business logic forward into .NET server<br />
<strong>applications</strong><br />
• Provided in <strong>Micro</strong><strong>Focus</strong>.<strong>COBOL</strong>.RuntimeServices assembly<br />
• RunUnit class
Demonstration
Demo Architecture<br />
Client<br />
15<br />
Server<br />
<strong>COBOL</strong> JVM<br />
Server<br />
WCF <strong>COBOL</strong> .NET
Things to remember…<br />
• Where and how you want to deploy <strong>your</strong> <strong>applications</strong> will<br />
help determine <strong>your</strong> modernization strategy<br />
• <strong>Visual</strong> <strong>COBOL</strong> provide a number of choices for modernizing<br />
<strong>your</strong> existing <strong>COBOL</strong><br />
• Choices are enabled by support for and integration into<br />
modern development IDEs and associated technologies<br />
• Test Drive a <strong>Visual</strong> <strong>COBOL</strong> app in the cloud:<br />
http://vcdemo.microfocus.com/airportdemo<br />
You don’t have to take the B out of <strong>COBOL</strong> for it to be COOL!<br />
16
Demonstration
@microfocus or hashtag #devcon2013<br />
Follow us on LinkedIn or join the group<br />
Connect <strong>with</strong> <strong>your</strong> peers on the Community