Sie sind auf Seite 1von 7

WHITE PAPER

Open Systems COBOL


Development with Eclipse

white paper

Open Systems COBOL Development with Eclipse


Executive Summary
COBOL and Eclipse
Enterprise development powerhouse
Modern IT departments use a wide variety of technologies and
platforms either because systems have evolved over time or as the
result of acquisitions and mergers. Wherever multiple platforms and
programming languages are used, the number of tools and skills
required to maintain and evolve those systems grows rapidly. This
diversity makes it difficult for IT organizations to deliver economies
of scale, follow standardized processes, or use standard sets of tools.
In addition, some platforms have had very limited choices for the
toolsets, or have tools that dont maximize the benefit of modern
technology, such as language-aware integrated development
environments (IDEs).
Micro Focus Net Express for Eclipse (development on Windows) and
Micro Focus Server Express for Eclipse (development on Unix or Linux)
address these challenges.

COBOL development environments


Micro Focus Net Express is a COBOL development environment
that takes core business processes and extends them to Windows
and other distributed platforms. Using Net Express you can quickly
construct enterprise components and services from your existing
business logic, and use these to develop modern and contemporary
applications across your distributed enterprise.
Micro Focus Server Express is the platform of choice for creating
scalable, high-performance business applications on UNIX and
Linux. Server Express helps to dramatically reduce development and
deployment costs, and provides increased service levels through
state-of-the-art components like FaultFinder and Enterprise Server.
Eclipses open source community has made it the development
platform of choice for many developers for several years, especially for
Java development. Its extensible framework ensures that developers
constantly improve and extend the framework to make it work the
way they (the development community) want it to as a result it is
a highly efficient development environment.
With Net Express for Eclipse and Server Express for Eclipse available
as add-on options to the base products, COBOL is now a first-class

citizen in the Eclipse framework, providing the key capabilities that


COBOL developers demand to streamline their work.
There are two main groups of developers that need Net Express or
Server Express for Eclipse:
COBOL Developers on UNIX or Linux
UNIX or Linux COBOL developers have had limited tool support
until now. The main tools have either been separate editors and
command line driven compilers, or Micro Focus own character-mode
development environment, COBOL Toolbox within Server Express.
With the Eclipse plug-in, developers now have full access to the
tightly integrated edit-compile-debug environment, as well as the
additional tools provided by Micro Focus.
COBOL Developers on Windows, familiar with Eclipse or crosslanguage development
For developers on Windows who have already been using Eclipse
for non-COBOL (e.g. Java) development, or creating applications
using a combination of Java and COBOL, the new Eclipse plug-in
is a must-have as they can continue to use their environment of
choice with the Micro Focus COBOL compiler and tools.
Whether developing on Windows or UNIX/Linux, the same
powerful COBOL tools are now available in Eclipse.

Developer productivity
Developer productivity is something that might be considered
the motherhood and apple pie of IT. Its something that every IT
organization wants, and is continually looking to improve. Especially
in times of financial challenge, productivity becomes a critical business
imperative. Productivity, however, can cover a wider variety of
aspects, some of which are difficult to measure - and the cost of
failure can be high.
The question also arises over what productivity aspects organizations
want to measure, and how? Having the right or wrong measures can
significantly affect company success. For example, as immortalized
in a Dilbert cartoon if the measure and reward is how many bugs
can a programmer find in their code, then programmers can make
themselves very rich, very quickly (as Wally said Im going to code me
a minivan this afternoon!)

white paper | Open Systems COBOL Development with Eclipse

Besides the getting more stuff done type measures, productivity


can have many intangible benefits (some of which may be more
measurable than others). For example:
Reducing code defects in shipped applications reduces support
costs later in the application lifecycle.
Reducing rework not only reduces time to market but also reduces
wasted time and effort, seen by the programmer as unrewarding.
Being able to get product builds to users earlier increases their
participation in the development process, which leads to more
customer satisfaction when the product is released.
Cutting the number of rebuilds reduces the load on hardware
systems, delaying or avoiding the need for expensive upgrades.
In a typical development organization there are many activities
that are perceived by developers as low value. For example,
resubmitting application builds because a simple typing error causes
the compiler to reject the code. Similarly, adding many DISPLAY
or printf type calls into program source to be able to debug a
program that is misbehaving.
Taking a look at the typical developer tasks of making a source
code change demonstrates how much of this low-value, but time
consuming activity, they may be involved in:
1.

FTP to UNIX server

2.

Find appropriate source files

3.

FTP copy UNIX source back to Windows client


(ensuring CR/LF handled correctly)

4.

Use favorite editor (textpad etc.) to make changes to source file(s)

5.

FTP to UNIX server

6.

Copy source files back to UNIX server


(ensuring CR/LF handled correctly)

7.

Telnet into UNIX server

8.

Find (or create) a shell script thats appropriate to rebuild


the application

9.

Initiate rebuild script. Wait ...

10. Review listings from build. Check what passed/what failed


11. For the failed builds, find the relevant source files
12. Edit source files locally (e.g. with vi) or repeat steps 1 9
to edit with rich editor
13. Repeat steps 1 10 until a clean build is complete
14. Project is ready for testing
This is an extreme example, and programmers are typically very good
at finding optimization process paths. For example, they may use
Samba to directly access source code on a remote machine without

the need for the FTP steps. It is easy to see that reducing this process
gives the programmer time back in the day, which in turn allows
more time for improving quality, or delivering additional value.
Unfortunately, these process optimizations are typically created by
each developer to suit their particular way of working. Frequently,
there may be no sharing of these process tweaks, nor would they
document them if someone else had to pick up that work, would
they know how to use the same custom-built tools?
Additionally, those tools and tweaks may be specific to a particular
platform or programming language. This can introduce additional
cost to the IT organization if it has to maintain multiple tools and
processes, and agility is reduced because staff have to learn to use
new tools as they move between projects.

Modern IDEs
Over the last 30 years, a lot of research and effort has gone into
studying and improving programmer productivity. Today, developers
have a rich set of highly powerful tools at their disposal, to reduce or
remove the unproductive tasks.
Some of these tools are only available on limited platforms, or support
limited sets of technology. For example, to many people Microsofts
Visual Studio is probably the pinnacle of development environments.
It is, however, only available on Windows platforms, and although it
supports many languages very well, not all are available.
For developers on Linux and UNIX, the choice of tools for COBOL
programmers has been limited. Micro Focus provides COBOL
Toolbox as part of its Server Express product. It includes a very
powerful interactive debugger, but the editor is limited compared
to that in Visual Studio, and doesnt provide instant feedback to the
programmer on whether they are writing valid code.
The Eclipse Rich Client Platform has been an enormous success
over the last 5 years. A huge variety of tools have been built using
the technology, but perhaps the most successful has been the
Java Development Toolkit which provides a highly integrated and
developer-focussed environment for Java programmers. With its
cross-platform heritage and powerful plug-in architecture, it has rapidly
become the development tool of choice for many Java programmers.
Until Micro Focus released Net Express for Eclipse and Server Express
for Eclipse, these tools havent been available to COBOL programmers.
With this plug-in, the full power of the Eclipse environment is now
enabled for COBOL developers building applications that are deployed
on Linux/UNIX, or where COBOL and Java are being used in the same
projects or teams.
Compare the development scenario above with the steps needed
when using COBOL in Eclipse:

white paper | Open Systems COBOL Development with Eclipse

1.

Start Eclipse

COBOL editing

2.

Open the relevant project

Syntax highlighting

3.

Double-click the appropriate source file

4.

Edit file to make the change. The typo error gets immediately
highlighted by red squiggly underline). Correct the error.

5.

Save the file

6.

Click rebuild project

7.

Project is ready for testing.

With the Eclipse plug-in, the editor is fully aware of COBOL syntax,
and colorizes the text appropriately. Colorization is sensitive to the
compiler directives specified, and the user can choose a preferred set
of colors for highlighting. By providing this instant feedback to the
developer, he/she can see that they are creating valid code. They can
also identify data which is not being used, which can therefore be
refactored to reduce unnecessary complexity.

The rest of this paper describes this COBOL support and how each
feature directly improves developer productivity.

Rich developer support


COBOL perspective
Perspectives are Eclipses technique for ensuring the developer has
access to all the right tools at the right time. By providing a COBOL
perspective, the COBOL programmer has direct access to:
COBOL project types
COBOL editing, debugging, and building
Templates that accelerate the entry of code, reducing typing time,
and errors
Outline views of the program structure for quick navigation
COBOL language syntax colorization, Watch windows, breakpoints
and more, when editing and debugging COBOL applications
The developer has all the tools they need to create or modify quality
code very quickly, with minimal need for unrewarding rework.

Figure 2: COBOL syntax highlighting

Figure 1: Example COBOL Perspective view

white paper | Open Systems COBOL Development with Eclipse

COBOL outlining

Figure 4: COBOL templates in action

Figure 3: The outline view


The outline view provides a collapsible tree view of the program
showing the various sections of that program, including the data
division and procedure division. Clicking on the various items in the
outline view provides quick access to that point in the source code.
For developers moving onto a new project, tools such as this reduce
the time needed to become familiar with the code and to start
delivering added value.
COBOL breakpoints and watchpoints can be set directly from items in
the outline view for optimum developer efficiency. There is also the
ability to start searching for references of COBOL data items from the
outline view, with the results displayed in the Search Results view
exactly as you would see for a standard Java search.

When the developer is entering or modifying COBOL source, pressing


a keyboard shortcut provides quick access to standard COBOL
statements. These can be inserted directly into the source, saving time
and reducing errors. Productivity is gained by reducing the amount
of typing required, but also ensuring that valid code is being created
without waiting for a full project rebuild.
Background parsing
While changes are being made to the application, a background
process continually performs a syntax check while the programmer
continues working. This is completely transparent theres no slowdown in the editor and any typographical errors are immediately
highlighted using the familiar red squiggly underline under any
unrecognized words.

COBOL templates

Figure 5: Instant feedback for errors

white paper | Open Systems COBOL Development with Eclipse

Figure 8: Debugging a COBOL application


Figure 6: Help on COBOL and Cheat Sheets
COBOL help
Selecting a COBOL keyword and then choosing Help presents instant
assistance on that COBOL syntax, along with links to more general
information on creating and debugging COBOL applications. Cheat
sheets are also available to provide quick tutorials on the most
commonly performed development tasks. For any developer new to
Eclipse, or to COBOL, these tools help them become productive as
quickly as possible.
Reference lookups
With access to the dictionary built by the COBOL compiler, the Eclipse
Find References feature allows developers to quickly see where data
items are referred to, making it easier to spot the impacts of changes
being made. Without this information, a developer may make a
change without understanding the knock-on effects, which are only
found later during testing, causing rework.

Within the debug view, the developer has instant access to the
threads in execution, the stack of PERFORMs/CALLs executed,
variables in the current statement showing the before and after
contents, additional variables being watched in the Expressions
view, breakpoints, and much more.
Remote debugging
For maximum productivity, the Eclipse developer can choose to have
Eclipse running locally on a Windows workstation, but debugging
applications residing on remote servers running Micro Focus Server.
In this mode, Eclipse runs at full speed so there are no network
lags while editing, but the application continues to run, and be
tested, on the actual target platform where it has access to system
resources or data which could be expensive, or time consuming, to
move to another platform.
ANT scripts
The COBOL project information is held in standard XML format with
ANT scripts controlling how the components in a project are built.
With COBOL build and link tasks extending the capabilities of ANT,
any COBOL project can be built outside of Eclipse, if so desired, using
the industry standard ANT tool. This gives flexibility, and portability, as
to how COBOL projects are built.

Consolidated trace facility viewer

Figure 7: References view


Using filters on the references view allows for quick identification
of where data items are used an important impact-analysis
consideration when making changes to code, especially if the
developer is not familiar with every line of code.

Debugging
With full support for debugging COBOL applications, the developer
can use the powerful debugging tools in Net Express for Eclipse and
Server Express for Eclipse to investigate problems.

Micro Focus COBOL Server provides a Consolidated Trace Facility


(CTF) to assist developers in tracing application behaviour and
performance. However, log files tend to grow very rapidly, and can
often be cryptic in nature, so tools are needed to manage and use the
trace file effectively. CTF Viewer provided with Net Express for Eclipse
and Server Express for Eclipse allows for compression of log files,
bookmarking for easy navigation, and text searching. Using tools for
managing these logs increases productivity by reducing the amount
of effort required to identify failures in testing, or production.

Interface mapping
Net Express provides an interface mapping toolkit which assists in
exposing existing COBOL program interfaces as Web Services, or

white paper | Open Systems COBOL Development with Eclipse

as EJBs for use with Java, .NET, SOA toolkits, etc. With Net Express
and Server Express for Eclipse, these tools are provided within the
Eclipse framework to allow the developer to map COBOL entry point
parameters to interface fields, deploy these service interfaces to Micro
Focus Enterprise Server, and generate test clients. Without these
tools, the programmer would have to manually create all the wrapper
classes, and manage data transformation, which can be a time
consuming and error prone process.

Summary
Developer productivity is clearly a goal all organizations are seeking
to achieve, whether its to do more with less, improve quality, or
improve programmer satisfaction. Having powerful tools to support
the programmer is a major contributor to improving productivity. It
also helps ensure consistent processes and increased flexibility, as the
same tools and processes can be used on multiple platforms, and
with multiple languages.
Micro Focus Net Express for Eclipse and Server Express for Eclipse
provide the modern development environment that all COBOL
programmers need to reduce rework, and improve quality. They also
include powerful tools for modernizing applications to exploit new
platforms, for example SOA, and for quickly identifying issues found
during testing, or in production.

About Micro Focus

Figure 9: Interface mapping

Micro Focus, a member of the FTSE 250, provides innovative


software that allows companies to dramatically improve the
business value of their enterprise applications. Micro Focus
Enterprise Application Modernization and Management
software enables customers business applications to respond
rapidly to market changes, and embrace modern architectures
with reduced cost, and risk.

For additional information please visit: www.microfocus.com


Copyright Micro Focus (IP) Limited 2009. All rights reserved. The software and information contained herein are proprietary to, and comprise valuable trade secrets of, Micro Focus (IP) Limited,
which intends to preserve as trade secrets such software and information. This software is an unpublished copyright of Micro Focus and may not be used, copied, transmitted, or stored in any
manner. This software and information or any other copies thereof may not be provided or otherwise made available to any other person.
WPOSCD1109

Das könnte Ihnen auch gefallen