Beruflich Dokumente
Kultur Dokumente
white paper
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!)
2.
3.
4.
5.
6.
7.
8.
9.
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:
1.
Start Eclipse
COBOL editing
2.
Syntax highlighting
3.
4.
Edit file to make the change. The typo error gets immediately
highlighted by red squiggly underline). Correct the error.
5.
6.
7.
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.
COBOL outlining
COBOL templates
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.
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.
Interface mapping
Net Express provides an interface mapping toolkit which assists in
exposing existing COBOL program interfaces as Web Services, or
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.