Don't miss out!
There will be a number of sessions, labs, demonstrations, panel discussions on EGL at the Rational Software Conference (RSC) 2009 in Orlando starting May 31.
See the attached documents for IBM i and System z-specific sessions for all Rational Enterprise Modernization solutions.
The developerWorks Connections Platform is now in read-only mode and content is only available for viewing. No new wiki pages, posts, or messages may be added. Please see our FAQ for more information. The developerWorks Connections platform will officially shut down on March 31, 2020 and content will no longer be available. More details available on our FAQ. (Read in Japanese.)
From archive: April 2009 X
The way a web browser arranges artifacts on a web page is sometimes confusing. By default, a web page arranges its artifacts in a top-down, left to right order. This is also true of EGL Rich UI widgets. Fortunately, EGL gives you an easily understood layout container widget, in the form of a Box widget, which arranges its child widgets in rows and columns. Boxes may also contain other Boxes as children. When Boxes are used, a web page consists of a hierarchy, or tree of EGL widgets.
This becomes apparent as you decide to move an existing widget to another location by dragging the widget in the Design page. When you begin to drag, a set of colored indicators (yellow by default) appear, where each indicator denotes a potential drop location. As you drag your mouse close to one of these potential drop indicators, the indicator will change color (to green by default) which indicates where the widget will be placed if the mouse is released. The term "placed" needs to be clarified. Since widgets exist in a hierarchy, potential drop indicators reflect a new hierarchical location, and not necessarily a physical location. To help you in visualizing the new widget location in the hierarchy, as the widget is dragged over a potential drop indicator, a small diagram of your EGL widget hierarchy appears. This diagram displays where in the hierarchy your widget will be placed when you release the mouse button.
In the image below, the Configure button is being dragged to a new location between the MyTextLabel label and the MyTextField field. The hierarchy diagram displays where the Configure button is currently located as indicated with the dotted rectangle, and its new location as indicated by the green line. The color of the line matches the color of the potential drop indicator in the design area. Indicator colors are configurable in the tool's preference page. Potential drop indicators that are dotted on one side represent a location that is either before or after a Box. The large rectangular area at the bottom represents the area below all other widgets.
Widgets, whose positions are set to either absolute or relative, have positions that are independent of the widget hierarchy. When these widgets are dragged to a new position, the potential drop indicators and hierarchy diagram do not appear, and the widget's x and y attributes are set to new values when the widget is dropped.
After moving widgets, you can view what changes were made in your EGL source code.[Read More]
Today, I just stumbled along componentArt.com. I have no affiliation with them, and never heard of them before, but I thought the following welcome screen succinctly shows the dilemma many people face when choosing a Web 2.0 user interface solution (the yellow arrow is mine):
Fix pack 22.214.171.124 is now available. It includes fixes across all
areas of the product. It includes COBOL runtime performance
improvements, and IDE performance improvements, particularly in JSF validation and build. Everyone who is using RBD 7.5.x should install it. This fix pack is based on RAD 7.5.2.
See IBM Rational Business Developer Version 126.96.36.199
for more information, including installation instructions and the list
of APARs that are fixed in this release. The download instructions are here.
This fix pack includes the enhancements which were recently shipped in 188.8.131.52:
We've added a small enhancement for JSF applications, to allow you to specify whether a forward to URL statement with a relative URL is implemented as dispatch or redirect. This is described in the Release Information.
Also, we've addressed several issues for applications that have been migrated from VisualAge Generator, where EGL has had inconsistent behavior between V6 and V7. In this fix pack we have focused on two areas, to ensure that we have consistent behavior in debug, Java runtime, and COBOL runtime:
We have added a couple of new annotations for these areas, to allow you to specify whether you prefer V6 (and VAGen) runtime behavior or V7 behavior. The defaults for these new annotations are determined by the setting of the vagCompatibility switch, so most people will not need to
set them explicitly. Generally you will only need to worry about these new switches if you have a mixture of applications migrated from VAGen and new applications that depend on V7 behavior, and you've been getting unexpected results. You can read more about this in the Release Information.
If you generate COBOL for System z, you should also install PTF UK45676 when it becomes available in the next few days (it's in the process of being published). You do not need to wait for the host PTF before you install 184.108.40.206. >> Updated 4/15 - this PTF is now available <<[Read More]
One of the best parts of EGL RUI is that your not restricted to a single widget library. This early version of the EGL Dojo widgets shows how easy it is to create your own set of widgets and easily consume them within EGL RUI.
The 0.6 version includes 17 EGL Dojo widgets with samples for each of them to show you how to get started. Even better we have the EGL Dojo Samples running on the Cafe right now. Head over to the Dojo Widgets for EGL RUI page and give them a try!
The Dojo Build System
So how do you use the Build System? The first step to get the full Dojo Runtime code from the Dojo Toolkit download page. The EGL Dojo widgets are built using version 1.2.3. Once the Dojo Runtime is downloaded and extracted you'll see four folders, one of them being the util folder.
Within the util folder you'll see the buildsystem folder, which is were all the magic happens. The Dojo Buildsystem uses a notion of a profile, you need to tell the Buildsystem which files to include in the custom Dojo.js. So within util\buildscripts\profiles create a new js profile file and call it customBuild.js.
Following the format specified in the other samples in that folder, you need to specify the list of Dojo import statments you want included in the Dojo.js file. So for the EGL Dojo Widget Samples, I specified this:
From the list, you can see the Buildsystem uses standard Dojo import statments, the same as if you were developing a Dojo application from scratch. The last step is to run your profile through the Buildsystem and create your custom Dojo build. The Buildsystem uses Java and is run by this command:
java -Xms256m -Xmx256m -jar ../shrinksafe/custom_rhino.jar build.js profile=standardCustomBase cssOptimize=comments action=release
You can re-run this command with action=clean to delete the release folder. You'll also notice the cssOptimize=comment. This forces the Buildsystem to remove CSS comments and combine all the CSS files into each individual theme rather than including each CSS file as a seperate @import statment.[Read More]
This year, EGL was represented at the Web 2.0 Expo at San Francisco, held early April, 2009.
We implemented the scheduler in EGL Rich UI, after having done similar ones at previous conferences. In the scheduling UI conference data, booth information, and social networking buzz was mashed up in an easy to use web application optimized for viewing on an iPhone.
The original online schedule, which was really designed for large desktop browsers with Flash plugins installed was converted using scraping tools from Kapow Technologies. The resulting web services were then consumed by the EGL Rich UI application and shown in easy to use grids, highlighting sessions added to personal schedules, and a useful "now" button that showed what was going on right at this moment.
I was attending the IBM booth together with Mike Virga, and I really enjoyed working with him. Scary thing was we both booked a random hotel in San Francisco and we ended up in the same hotel, on the same floor, with joining doors! Spooky.
The Friday before the start of Web 2.0 Expo, Ryan Boyles approached me. Ryan is the community manager for sMash, and he asked me if we could add some extra UI that uses the service he and Dustin Amrhein developed to run on sMash on the Amazon Cloud. Dustin and I worked on this on Sunday and some more on Monday while Ryan was flying to San Francisco. With the two extra buttons, booth information could be downloaded and booths could be tagged. The "Buzz" button allowed people to search for Tweets and photos related to the conference. I wrote a nice slide show widget in Rich UI to rotate the images around.
Try the Buzz button by visiting the scheduler and hitting the Buzz button.
Ryan uploaded a couple of cool images to Flickr.[Read More]
As organizations face demands for new products and services, respond to competitive threats, and try to attract new customers, more and more requirements are placed on the ISVs that provide products and services to these organizations. However the ISVs ability to support their customer’s business goals is often severely limited by the architecture and years of evolution of the existing systems.
You,as many other RPG users, are facing a variety of business pressures that are driving a strategic decision to modernize your products and offerings, currently developed in RPG and deployed on the IBM i platform.
This document outlines IBM’s potential to meet and exceed your application modernization objectives through the transformation of the existing RPG investment to IBM’s premier business oriented language, EGL, and the adoption of IBM Rational application development tools that deliver EGL programming facilities.
Rational Business Developer with EGLRational Business Developer (RBD), which features Enterprise Generation Language (EGL), is a modern, highly productive and extremely versatile environment for critical business applications. The RBD Integrated Development Environment is built on the hugely successful open source Eclipse platform.
EGL offers a modern, service-oriented language for efficient development of different application types, including Web applications (both traditional dynamic web application architecture as well as new Web 2.0 architecture), database applications, Web services, and batch and high-performance servers for fast transaction processing. EGL applications can run optimally on nearly every platform, from Linux, Windows or UNIX to IBM i and IBM z/OS® systems.
EGL is IBM Rational’s recommended target for RPG applications transformation because of its flexibility, similarity to RPG constructs, and ease of adoption. Because EGL is easy to learn (average learning curve of about 1.5 months to be totally productive), it enables RPG developers to transfer their valuable business know-how in just a fraction of the time it would take for those same developers to become proficient in Java or .NET technologies.
In a nutshell, RBD and EGL provide flexibility, end to end coverage, and ease of learning which is unmatched by the competition.
Moving to Windows from IBM i
Your Goals and Motivations*Reduce total cost of your solution*The mounting pressure from competitive offerings, particularly in the low end of the target markets, demands that you be able to offer a competitively priced turnkey solution. To achieve this goal, we often see the need for applications to be targeted to run on Windows platforms rather than on IBM i, eliminating the need to heavily discount the software to compensate for the higher cost required hardware.
Achieve optimal use of your talent
To successfully maintain your new applications, they need to be written in a language that is easily mastered in a very short time by the team of developers who currently maintain your existing RPG applications. This allows you to leverage the valuable business domain expertise of your staff and guarantees continuity.
Increase fast responsiveness to business requirements
The new application development technology has to facilitate the adoption of modern Service oriented application architectures, and must deliver a highly productive modern development toolset.
Support all necessary business models
Any strategic move to a new development language and IDE must provide the flexibility of maintaining a single code base for all customer segments including service bureau customers, current System i/IBM platform customers, and new windows/distributed/UNIX platform customers.
Why EGL, and is it right for you?EGL has several characteristics that make it the ideal language for an RPG conversion, and therefore meet the three key goals and motivations described
Broad application deployment platform coverage
Fast, cost-effective migration path
Modern, Flexible and powerful Development Platform
Maximize on the existing in-house IT skills & domain expertise
A strategic IBM solution
A significant and growing Customer base
EGL is simple and versatileEGL is a simple and easy to learn language, and a move to RBD/EGL will allow organizations to effectively leverage the business domain expertise of the current pool of traditional developers.
IBM has invested in creating a simplified and easy to learn programming model that supports creation of JEE web applications or Web 2.0 web applications with efficient database access. With the introduction of EGL, IBM has delivered a modern programming environment that offers all the advantages of JEE, while surpassing the ease of use and productivity of alternatives.
Furthermore, EGL provides
The Migration ProcessUnlike competitive offerings, the Rational Migration Extension for IBM i (RMEi), is an official IBM product guaranteed and backed by IBM. IBM and its business partners bring a dozen years of experience in migrating RPG applications to more modern and productive environments. The overall migration process is low impact, and well isolated from existing customer application development and delivery processes. Changes will be managed in an iterative fashion and worked into the migration process. This allows customers to continue concentrating on their business while the migration process is underway.
Transitioning from 5250 to EGL Rich UI using a low-risk RMEi approach
IBM Commitment to your SuccessIBM and Rational product teams are totally committed to the success of this project. As part of RPG conversion projects, IBM typically proposes to
ConclusionFor companies that turn to IBM to mitigate the risks of modernizing their IBM i RPG applications, a number of long-term benefits can be realized, including:
Alternative solutions force traditional RPG shops to consider hard decisions about IBM i, which might lead to counter productive and inflexible results. EGL on the other hand provides first class support for both IBM i, and distributed platforms like Windows, thus allowing an organization to standardize on one language instead of maintaining disparate code bases.
Modernizing an RPG application is an important strategic step toward maintaining a successful business outlook. As such, it requires careful preparation. Organizations can expect that complex projects such as yours have unanticipated glitches, and it is imperative that the reliability, experience, and partnership of IBM be leveraged to assure success.[Read More]
In an article that Joe Pluta wrote entitled "Welcome to the New RDi-SOA", he talks at length about the EGL Rich UI editor and states that "The WYSIWYG designer is the only one of its kind". As the user interface designer and developer of the first version of this editor, my primary consideration was to maximize the tool's visual accuracy, so that you the designer will have the most real and accurate representation of your web page. As Joe has stated, its because of its "what you see is what you get" ability that gives this tool an edge.
When you use the EGL Rich UI editor for the first time, you will notice that the editor has the usual Design page for arranging EGL widgets in a web page, a Source page for viewing and modifying your EGL code, and a Preview page for seeing what the web page will look like and how well your EGL code responds to some user interface events.
When using the Design page, the web page that you are working on always reflects what the web page will initially look like when your application is run. Not only does this include the layout arrangment of EGL widgets, but also the web page's associated style sheet contributions. In fact, due to the way the Design page was architected, it will always do so even as web standards such as HTML and CSS are enhanced. You will always know whether visual changes that you made to your EGL code has the expected result, reducing the need to refer to the Preview page.
The EGL Rich UI editor was architected with a unique Design page that does not simulate the visual content of a web browser and its constantly changing standards, but instead always shows what the web page actually looks like. Combined with its Preview page, and a Source page for those who enjoy specifying concise EGL code, this one tool gives you the flexibility of a few useful working modes to help you craft your EGL Rich UI applications.
Stay tuned for a future post, in which I will describe how to visually arrange widgets on your web page.[Read More]