Why I Like Java EE

Article ID: 61997

If you're an IBM developer and you haven't been living in a green-screen cave, you probably know about WebSphere Development Studio Client (WDSc) for the System i. WDSc is (or more precisely, was) IBM's premier development tool for the i platform. However, IBM made a couple of crucial mistakes in the delivery of the product, and in correcting them gave us the next great development tool for the i.

In the Beginning

IBM built WDSc on top of Rational Application Developer, pretty much the top of the line as far as Java EE programming environments go. Because of this, WDSc included not only development tools for the System i, but it also inherited all the tools for Java EE development, tools that typically sold for thousands of dollars. A significant number of i shops would simply never use those tools. Java EE development, even with the best of tools, is not something to be entered into lightly. I've been teaching simple, thin-layer Java EE development for years and, to this day, not many i shops are not willing to make the investment.

Even with the UI integration of JavaServer Pages (JSP), learning the Java code required to integrate with existing business logic on the i was too much for many shops. Java is a different world, both highly abstract due to its object-oriented nature and at the same time very detail oriented, with lots of specific syntax that needs to be followed even though it may not make a lot of intuitive sense, especially to procedural programmers.

What Has Changed

Two things have changed that: JavaServer Faces (JSF) and Enterprise Generation Language (EGL).

JSF is a technology that adds value to JavaServer Pages. It gives you new options for using certain HTML constructs (such as radio buttons, which are grouped as a single entity) because you can now bind them to variables from the host program. These two things let JSF act very much like display file DDS, but for the browser.

However, even that improvement still forces the user to learn the intricacies of the Java syntax. Although Java is not impossible to learn, it does require a commitment in terms of time that not many i programmers seem to be able to make these days.

What was needed was a way to simplify the interface between the programmer and the browser page, something declarative and procedural in nature. That something is EGL, IBM's fourth-generation language for Java EE development. Built on top of a venerable history of cross-system products going back to the 1980s, EGL incorporates the latest technologies, including JSF and the rich UI capabilities of Web 2.0. EGL is by far the fastest IBM method for web-enabling existing business logic on the i.

Taking a page from Visual Studio, Rational's EGL tooling is very much point and click. Produce a new web page, and you also create a backing Part ("Part" is the generic EGL term for just about any programming construct) called a JSF Handler. That handler has predefined functions for the first time the page is loaded and every time the page is redisplayed. Variables in the page handler are directly available to the WYSIWYG page designer, and you can easily drag and drop fields, records (sets of fields), or even arrays of records onto a page. That last action actually generates a table with column headings taken from the metadata for the fields in the records. EGL is very data centric and takes full advantage of the concept of metadata.

It's All About the Integration

If EGL were a standalone language, I wouldn't be interested in it. However, I've been heavily involved with the beta programs of these tools, and I know that pros have worked hard to get the best performance out of combining EGL with ILE languages--performance that let us build a fully functional scheduling application for the 2008 IBM Rational Software Development Conference. The application used RPG for the business logic, but the UI ran on the iPhone. That's what prompted me to remark once that EGL puts the i in iPhone.

EGL also lets you mesh that sophisticated business logic with next-generation SQL development techniques, all using the unparalleled metadata capabilities of the EGL language--capabilities that let you paint a screen with a simple drag and drop or fill that same page with a single line of code. You can also encapsulate your logic in a web service and make it available to anyone else in an organization, including rich clients--rich clients that you can also write using EGL and that can incorporate the latest widgets, such as maps from Google or vector graphics from Dojo.

EGL removes the complexity of these technologies so that you can focus on the business issues. That's why I believe EGL and RDi SOA comprise the next great development tool for the i.

Joe Pluta is the founder and chief architect of Pluta Brothers Design, Inc., and has been extending the IBM midrange since the days of the IBM System/3. He has written several books, including E-Deployment: The Fastest Path to the Web, Eclipse: Step by Step, and WDSC: Step by Step. He will speak at a Java/.NET Face-Off in September at the IBM Innovation Center in Chicago.

ProVIP Sponsors

ProVIP Sponsors