The Software Management Experts
![]() June 2004 Volume 8, Number 2
Eclipse and Open Source DevelopmentMany Hands Make Light WorkBy Steve Elsemore, Vice President of Programming Development The developers at SoftLanding have long been intrigued by the idea of a graphical editor for TurnOver application definitions. To remain flexible enough to adapt to your environment, TurnOver stores a lot of detail. Wouldn't it be great if you could define, store, and manage all the details associated with your software applications and development processes, just by drawing a diagram? Click on a diagram element and you'd be able to drill down to the nitty-gritty beneath... It's a pleasant tease of an idea, to be sure. But early R & D dabblings taught us that we could waste a lot of time struggling with woefully inadequate tools, only to render a result that proved equally inadequate. Pioneers in AS/400 client/server programming will no doubt recall how the fun ended with drawing a box on the PC screen. Completing the picture and then making the different elements actually DO something such as refresh themselves in response to updates to the application model on the host AS/400 computer required the Herculean efforts of a veritable army of programmers. However, things are changing not because SoftLanding now employs an army of programmers, but because it provides Eclipse-based solutions such as TurnOver's WebSphere Studio change management plug-ins. By building products that are based on the Eclipse platform, SoftLanding and companies like it can reap the benefits of employing an army of programmers (without having to procure office space for them).
Eclipse is a successful open source project with hundreds of contributors. Ongoing contributions broaden Eclipse by providing development frameworks that make various aspects of development life easier for the iSeries programmer. Among the recently contributed frameworks are two that guess what? dramatically reduce the effort required to produce a feature-rich graphical application for the iSeries.
Figure 1: A simple two-level TurnOver Application Definition with two alternate promotion paths, as it might be presented graphically.
The first of these frameworks is the Graphical Editor Framework (GEF). GEF provides tools for graphically rendering practically any shape, and it handles the intricacies of painting, resizing, and other low-level graphical functions. More important, GEF lets the developer map an existing model (such as a TurnOver application definition) to a visual representation, and it provides a controlling framework through which changes to the model are reflected in the view. Just as the TurnOver application definition lets programmers concentrate on the task at hand without drowning in peripheral (but critical) chores, GEF allows the developer of a graphical editor to focus on the application under development without worrying about repainting graphics after a window is resized. Another valuable new Eclipse framework is the Eclipse Modeling Framework (EMF). EMF is used to define data models, and to generate the classes that you use to manipulate your application's data. EMF can manage a command stack, which supports the undo/redo functionality we all consider standard in our software tools. Let's face it the data that supports any useful software application is likely to be complex. But a truly worthy solution doesn't pummel you with the complexity that lies beneath. A traditional application interface can be really well designed delivering only the most appropriate level of detail in any given context upon request and still benefit by adding pictures. Pictures simplify. Take your TurnOver application definition, for example. It documents your company's development process. It describes your development phase, any number of intermediate quality assurance or testing phases, and the production phase when the changes go live. It identifies the libraries, directories, and source files that are associated with each phase, and the rules that you have chosen to control the flow of components from one phase to the next. These rules control who can change the application, who must approve changes before they can take effect, how to handle object ownership and authorities, any additional computers that should receive changes, and much more all without imposing a canned development cycle on your company. TurnOver is flexible enough to enforce your development cycle and adapt to your needs. This flexibility brings with it a degree of complexity but, unless you introduce a new application or change your policies, you only have to do it once. A graphical application definition editor will be a standard feature of TurnOver Release 5.4, which is targeted for 4th quarter 2004. For TurnOver users who are both developer and administrator, the application editor and its related functionality will extend the current WDSC-based TurnOver plug-ins. For someone with a strictly administrative TurnOver role, the application will run alone. Developing the graphical editor is progressing well, thanks to TurnOver's WebSphere Studio plug-ins. Most of the work is done in the Java perspective. Occasionally, we switch to the TurnOver perspective to work on server-side ILE programs and TurnOver APIs, to update task details so they accurately reflect project status, and to create and run TurnOver forms for finished work. Ultimately, though, Eclipse is the heart of the new TurnOver graphical application editor and many other coming attractions from SoftLanding. The experience and contributions of the Eclipse community have resulted in solid software frameworks like GEF and EMF that accelerate the development of increasingly sophisticated tools. Those frameworks are beginning to re-define user expectations as companies bring to market products that demonstrate extraordinary levels of first-release maturity. Keep your eye on Eclipse. And watch for our new graphical application editor. Many hands are truly making light work. |