Skip to main content

Enterprise Generation Language: Leveraging existing IT skills and resources for today's modern applications

Georgiann Zaglakas (gzaglakas@comcast.net), Reporter, The Rational Edge
Georgiann Zaglakas is a freelance writer who specializes in translating complex technical and business information into clear, concise communications materials. During her twenty-year career, she has worked extensively with clients in the high-tech industry, developing internal and external communications. She currently writes whitepapers, articles, testimonials, product and marketing collateral, and Web-based communications.

Summary:  from The Rational Edge: Many of today's software developers working in heritage IT environments do not have the technical skills and knowledge to develop Java-based code. This article describes how IBM's new Enterprise Generation Language (EGL) -- delivered via IBM Rational Business Developer Extension -- enables these development teams without the need for costly training.

Date:  15 Apr 2006
Level:  Introductory
Activity:  675 views

illustration Companies have always been challenged to develop and deploy new applications and systems as quickly and cost effectively as possible. With the emergence of Java, J2EE, and Web services standards, the pressure on software development teams has only increased as companies attempt to tap into the advanced functionality -- and subsequent benefits -- of these new technologies.

Unfortunately, many companies lack a staff of knowledgeable and skilled developers fully trained in Java and J2EE, or even COBOL, for that matter. This places these companies at a significant competitive disadvantage. Now, IBM's Enterprise Generation Language (EGL) -- delivered via IBM Rational Business Developer Extension -- helps companies overcome these disadvantages by enabling them to better utilize their current development staffs without the need for costly training. This article introduces this new technology and explores its benefits.

The complexity of today's development environment

No one disagrees that businesses need to leverage their IT departments more effectively to meet their business goals. The problem is, the typical IT environment is a patchwork of multiple platforms and middleware that has evolved slowly over several decades. For many companies, their business-critical systems run applications that were written years ago in older, heritage languages such as COBOL, RPG, and PL/I. Today, there are seasoned developers who have years of experience writing in these heritage languages, and are updating and maintaining these business-critical applications. These developers possess the expertise and knowledge of the business domain, business requirements, and how to implement these systems.

However, for many of these developers, the introduction of Java has had a limited effect on how they create and maintain their applications. That's because many of them find Java to be too complex and difficult for writing code, so they continue to develop applications with the programming technologies they know and understand, and have historically been the mainstay of development in their IT environments. While retraining these developers in Java/J2EE and Web services technologies might seem the logical course of action, it is usually not cost effective. In fact, recent studies indicate that it can cost $40,000 or more to retrain a business-oriented developer on this type of technology. A costly solution, and this doesn't even take into account the additional time required for these developers to reach the level of proficiency required to do their jobs. It also doesn't take into account the failure rate associated with this type of retraining.

According to Ed Gondek, product manager, Enterprise Generation Language and Enterprise Modernization, IBM Rational Software, companies are looking for ways to capitalize on the skills and experience of these developers while taking advantage of the functionality of Java and Web services. "Companies want to utilize today's new technologies, to move into the J2EE world, and to leverage application servers like IBM® WebSphere® while maximizing the skill and domain expertise of their seasoned developers," he explained. "They want to find some common ground within their development environments in which they can use Java or COBOL as appropriate and leverage their developers across multiple projects and platforms -- and do so in a way that is highly cost effective and delivers a return on investment. IBM's Enterprise Generation Language enables them to do just that."

The evolution of 4th generation languages

EGL is a high-level programming language that enables developers working in COBOL, RPG, and PL/I, as well as 4th generation languages, such as Natural, CA tools, and PowerBuilder, to write fully functional applications based on Java and service-oriented architectures (SOAs) without having to become an expert in Java, J2EE, or Web services technologies. With EGL, developers write their business logic in EGL source code, then the EGL tool generates Java or COBOL code and the corresponding runtime artifacts required to deploy the application.

EGL represents the latest IBM offering in the business application development space that began with the introduction in 1981 of the Cross System Product mainframe application development tool. Over the years, IBM has enhanced this technology -- first in the early 1990s with the IBM® VisualGen® and VisualAge Generator products, and later with the introduction of the IBM WebSphere family of application development tools on the Eclipse platform. Today, this evolution continues with EGL. EGL is a key component of the IBM Rational Software Development Platform, which delivers a complete package of application lifecycle management capabilities that includes requirements and analysis, modeling, design and construction, testing, software configuration management, and process and project management tools.

EGL technology is tightly integrated into a set of design and construction tools offered under the Rational and WebSphere brands that include IBM Rational Application Developer, IBM Rational Software Architect, IBM WebSphere Developer for zSeries, and IBM WebSphere Development Studio Client for iSeries®. When combined with the EGL technology, these tools simplify the process of creating, testing, deploying, and maintaining business applications that use Java, J2EE, Web services, SOA, and portal technologies.

Gaining the benefits of EGL

For companies faced with the dilemma of producing business-critical applications in limited timeframes, EGL offers capabilities that deliver benefits to all levels of the organization:

  • IT and business executives and managers can improve organizational efficiencies, reduce development costs, and speed time to market by standardizing their entire organization on a single application development platform that is open, flexible, and customizable. Executives and managers can improve their return on investment by eliminating the time and exorbitant costs associated with training their developers on Java and other technologies in order to make the most of these new technologies. At the same time, companies can protect their investments by migrating their applications or components to new and improved development platforms, and using these components as services.
  • Project managers can better manage their team's workflow, improve developer productivity, and enable their teams to build high-quality solutions on time and on budget by using a flexible and scalable platform that makes their teams more responsive to business changes and growth. The tight integration of EGL with other development tools such as IBM Rational Application Developer and IBM Rational Software Architect also helps development teams gain additional productivity improvements.
  • Business-oriented developers responsible for writing the business application code can focus on solving business problems without having to worry about the underlying technology. EGL enables these developers to integrate and extend their business applications so they can be deployed on newer technologies like J2EE and SOAs without spending weeks -- or even months -- becoming proficient in the intricacies of these new technologies.

"One of the benefits that EGL and its predecessors have been able to deliver is smoothing over the disruptions that are caused when a new technology is thrown at developers every six to twelve months," stated Gondek. "With each new technology introduction, companies have had to pull developers off of their projects and say 'Okay, now you have to study SOAP, or now you have to study Java or some other new technology.' Companies are interested in building business applications in a highly productive way that keeps developers focused on their jobs -- and EGL clearly helps them address these development issues."

With EGL, developers of all kinds can coexist in an environment that recognizes their contributions and the skills and experience that they can bring to the company. "Recent analyst studies have pointed out that asking companies to retrain their business-oriented developers to be Java gurus is just not going to happen," said Gondek. "That's not to say that some companies won't retrain their developers; but because of the expense and time associated with this training, it's unlikely that companies will attempt this with business-oriented developers. With EGL, you can have developers proficient in Java working alongside those who have made a career of developing in COBOL or another heritage language. And they can all develop Java applications that satisfy the top priorities for leveraging IT investment -- from building the company's service-oriented architecture, to meeting regulatory and industry compliance requirements."

Breaking down development silos

EGL has been designed to be platform neutral, which enables companies to break down development silos and exploit whatever platform is most appropriate for the application that needs to be run. "The application code that EGL generates is applicable across all platforms, whether it's a zSeries® or an iSeries system or an application running on the Windows or UNIX operating systems," explained Gondek. "Historically, in siloed environments, development teams were often separated, with certain developers working on a particular platform or even a particular operating system on a platform. With EGL, every developer can produce applications to run on specific platforms or across platforms -- regardless, they are all working within the same integrated development environment. This creates lots of development strength, cost savings, and cross-domain expertise that companies can tap into as they need it."

EGL also allows companies to address market needs with flexible business solutions based on standards such as SOAs. Generated for reuse internally or externally, a service can be created in a number of ways to support an SOA. EGL provides constructs, wizards, and code construction that automate all the steps required to create and consume any number of services in an SOA environment. EGL is the first language to include a "service" as a first-class language element. This in turn reduces the learning curve associated with developing SOA applications, reduces costs, and enables faster delivery of business applications.

Conclusion

Competitive pressures and changing customer needs are forcing companies to develop and deploy applications and systems that take advantage of new technologies such as J2EE and Web services. However, many of today's developers do not have the technical skills and knowledge to develop Java-based code. With EGL, developers can easily generate Java or COBOL code no matter what their technical skills or proficiencies may be, thereby helping their companies address changing business requirements quickly and cost effectively. At the same time, EGL helps development teams achieve the highest levels of productivity by enabling them to create code once and deploying it anywhere within their IT environment.

Resources


About the author

Georgiann Zaglakas is a freelance writer who specializes in translating complex technical and business information into clear, concise communications materials. During her twenty-year career, she has worked extensively with clients in the high-tech industry, developing internal and external communications. She currently writes whitepapers, articles, testimonials, product and marketing collateral, and Web-based communications.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=107011
ArticleTitle=Enterprise Generation Language: Leveraging existing IT skills and resources for today's modern applications
publish-date=04152006
author1-email=gzaglakas@comcast.net
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers