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):
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]
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.
RegiBarosa 100000328E Tags:  iphone soap cobol web2.0 modernization eglcafe ims rpg richui z/os i service web egl cics rui 2 Comments 10,977 Views
I am sure that there is many ways to accomplish this task...
But I want to show one that I have done using Web Services and Rich UI.
Do you have an iPhone or iPod touch?
(the options 1, 2,3 and 5 were done with EGL Rich UI; the #4 was done by COBOL/CICS only and not discussed in this blog.)
http://testiphone.com/?address=on&url=http://iseriesd.demos.ibm.com:59900/isys/rpg.html(Application Server on System i)
Application Server on System z)
I have done all that above (the client and the server piece) in less than 12 hours and I am an old generation guy. I started doing COBOL development punching IBM 029 cards.. Since then I had learned lots of new stuff, but as you all know this is a never ending.... and this is the beauty of EGL: simplifies that learning curve.
I am familiar with the EGL language and Rational Developer for z with EGL (RDz) as well some skill on Rational Developer for system i for SOA Construction(RDi SOA). Using those tools I created these simple demos, reusing existing COBOL/CICS/VSAM, COBOL/IMS and RPG code.
What really impressed me in this small demo is the response time to invoke either CICS, IMS or RPG Services... Try it..
Another surprise.. when the parsing is done by COBOL (CICS demo) I got the same or even better response time compared to parsing done by Java (IMS and RPG demos).
Using the Service Monitor (available here in the EGL Café) when you click in the green icon:
The response time to invoke the web services will vary from 0.15 to 2 seconds.. Really impressive. This is like green screens response time.. and remember that we have SOAP XML parsing, etc..
You also can see this in action using the YouTube links below:
I have created those demos using 4 different topologies:
1. Demos #1, # 2, and #3 - All the code was deployed into our WebSphere Application Server (WAS) located in our demo z/OS system in Austin, Texas.
2. RPG Demo #1 - (WAS and RPG Web Service on System i)
3. RPG Demo #2 (WAS on System z and RPG Web Service on system i)
4. IMS Demo #4 (WAS on System z and the IMS Service deployed as Java - JCA using RAR connectors - in the WAS also)
1.0 Creating the iPhone Web 2.0 for COBOL/CICSTo explain this code creation I will split in two parts.. Creating the Web Service provider (under CICS) and creating the Web Service requester (iPhone).
Part 1 – Create the COBOL/CICS SOAP Web ServiceThis was very easy, since I have been doing that since 4 or more years ago.
Basically using an existing COBOL/CICS program and the RDz wizards the CICS SOAP Web Service is created and WSDL is generated. The code is deployed into the CICS also using RDz facilities. The XML parsing is done by the COBOL generated by RDz.
You can see a tutorial as well do it yourself using the System z Sandbox and the tutorial Wrap existing COBOL programs as Web Services with IBM Rational Developer for System z.
This is the same service that I am using in the option # 2 and option #3 of the demo link.
The option of the demo link is also being explained in the article Modernize your CICS applications with SOA and Web 2.0 using Rational tools.
It’s not easy? The service can be created, deployed and tested using RDz and without any change in the existing COBOL/CICS code.
Given the WSDL generated on part 1, I used RDz and the EGL wizards to create the Rich UI piece.
All the code was deployed into our WebSphere Application Server located in a z/OS system in Austin, Texas.
2.0 Creating the iPhone Web 2.0 for RPGAgain to explain this code creation I will split in two parts.. Creating the service provider (under System i ) and creating the service requester (iPhone), that is similar to the CICS piece.
Part 1 – Create the RPG SOAP Web Service.This is easy and you need the RDi SOA to wrap the RPG existing code into service.This is a bit different that the CICS piece since the Web Service here is deployed in the Application Server, not handled directly by CICS like in the previous example..Using RDi SOA and an existing RPG the SOAP Web Service is created and WSDL is generated. The code is deployed into the System i WebSphere Application Server System i WebSphere Application Server.Again this is very easy, let the tool generated the Java wrapper. The service can be created, deployed and tested using RDi SOA and without any change in the existing RPG code.
Part 2 - Create the Web 2.0 that will invoke the RPG Web ServiceGiven the WSDL generated on part 1 above, I used RDi SOA and the EGL wizards to create the Rich UI piece.
All the code was deployed into our WebSphere Application Server located in the System i, also located in Austin, Texas.
In this demo I decided to have to different options. In the demo RPG demo #1 this is on System I and in the RPG demo #2the Rich UI and AJAX proxy are located in our z/OS system. In both demos the SOAP Web Service is deployed in the System I Application Server.
3.0 Creating the iPhone Web 2.0 for IMSI could create Web services as I did with CICS, generating COBOL adapters to do the SOAP parsing, but I decided to have other approach here. I used the Java connectors to create the web services using the JCA adapters (using RAR - J2EE Resource Adapters) and deployed the generated Java web service to WAS on z. The XML parsing here is done by Java, not by the COBOL adapters. The idea was to compare the response time.
Part 1 – Create the Java SOAP Web Service.This is easy and you need the RDz with Java or RAD (Rational Application Developer) to wrap the existing COBOL/IMS code into Java Web Services.
I used the J2C wizards (part of RDz with Java or RAD). The wizards also generated the WSDL as well the Java code (EAR file) that I deployed into WAS on z. Again, note that this is a bit different that the CICS demo since the XML parsing is done by JAVA (not COBOL as in CICS) and the EAR iss deployed in the Application Server.
Part 2 - Create the Web 2.0 that will invoke the Java Web Service that will invoke the existing COBOL/IMS code.Given the WSDL generated on part 1 above, I used RDz with EGL as I did before with CICS to create the Rich UI piece.
All the code was deployed into our WebSphere Application Server located in the System z.
To execute this use:
4.0 Running the demoYou can demonstrate this using either an iPod touch connected via WI-FI or using an iPhone connected to a network. Also you may demonstrate using Browser emulators for the iPhone.
For the demo sequence as well a PDF that you can print, see the attached file.
5.0 Flash movies provided.I have uploaded two movies that may help you. You must download the *.wmv appended on this blog. Sorry my "Boston" accent.. :
1. How the COBOL/CICS Demo was built using RDz and EGL Rich UI.
2. The demo in action using an iPhone browser emulator.
3. The demo in action using an iPhone browser emulator.
Exciting happenings on the EGL Cafe and more
I'd like to take this opportunity to introduce myself...I’m Jennifer Polleck the new Program Director for Enterprise Tools. I’m happy to have the opportunity to collaborate with you and other community members using products such as Rational Business Developer (EGL), COBOL, PL/I, and Host Access Transformation Services (HATS). There’s a lot of new things going on that I am excited to share with you.
For the EGL Café, we’ve opened the EGL Gallery http://www-949.ibm.com/software/rational/cafe/community/egl/gallery where you can find sample applications and demos. Also, you can download and use the Dojo widget library for EGL Rich UI. We are hosting several EGL Distance Learning courses in 2009, so be sure to sign up now! http://www-949.ibm.com/software/rational/cafe/docs/DOC-3004
We’ve introduced the COBOL Café http://www-949.ibm.com/software/rational/cafe/community/cobol where folks using COBOL can learn best practices and share their experiences. There’s also a new HATS HotSpot http://www-949.ibm.com/software/rational/cafe/community/hats to learn HATS Tricks to help modernize your enterprise applications.
I’m also looking forward to the Rational Software Conference http://www-01.ibm.com/software/rational/rsdc/ being held May 31-June 4 in Orlando. The agenda is chocked full of great sessions, technical workshops, labs, and much more - including some time for food and fun. You still have time to register. I hope to see you there!
The Rational Software Conference (RSC) starts tomorrow in Orlando. What a fun (and long) week this is going to be! This will be my second RSC, but first as product manager for EGL. RSC is easily the biggest conference of the year for us - everyone has been working hard to get ready (even with months of planning, the week before is complete chaos).
The guys from MythBusters will be here later in the week - should be entertaining (assuming they blow something up)! There's no way they can be as good as last years featured celebrity (William Shatner). He talked about how making software is like making a movie - except that people making movies are a lot better looking and make a lot more money
Btw, check back on Monday to learn more about the big EGL announcement being made at RSC.
I'll be blogging from RSC all week, so even if you didn't make the trip down, you can stay up-to-date.
Out for now.[Read More]
Over the past several months, the RBD team has been working with several customers on questions related to the performance of EGL applications. The scenarios can be as simple as a batch job taking longer to run than expected or as complex as a large JSF application not meeting a Service Level Agreement for the number of active users, the transaction throughput rate, and the response time.
This blog is intended to be a place for sharing best practices for the creation of EGL applications that perform well. We will talk about which alternative ways of coding EGL programs that produce best results in each environment or the most acceptable result across all environments. We'll solicit recommendations on how to measure resource consumption, how to put a repeatable load on your system, or how to locate the culprit in a problem situation.
We value your contributions to this blog as well. Please comment on what performance topics would be most useful to you or propose a topic for sharing your experiences with others as a guest blogger.
Looking forward to hearing from you![Read More]
Many customers include logging or tracing capabilities in their large applications. At times we've seen situations where applications perform poorly and one of the issues was the amount of resource being consumed by application traces that developers forgot to remove before conducting the performance evaluation. You can minimize performance problems related to logging overhead by following one simple rule: make sure any logging done from the main line path of your production applications can be turned on or off without regenerating your program.
The following table illustrates the importance of making your log invocations conditional. The table lists some measurements made using the simple logging library attached to entry. The log library includes a logging control switch that can be used to turn logging on and off.
Hey everyone - what a great week this was for EGL! As you probably know, we made a big announcement at RSC (a community edition of EGL is coming later this summer). You can read more about it here - EGL Community Edition FAQ.
There were quite a few activities related to EGL and Rational Business Developer at the conference this year. On Sunday morning we had an invite-only session with customers and partners. The purpose was to get feedback on what we're working on and our plans. Of course, we got feedback about things we can do to improve the product as well. One of the main things we discussed was our goals for 2009 and our focus areas:
The general consensus was that these are the right areas to focus on. Let me know if you do or don't agree!
Tuesday was one of the biggest days for EGL at the conference. During the opening keynote session (attended by thousands) the director of Rational marketing talked about the RSC Scheduler created by Chris Laffra and Kapow Technologies! As with last year, the scheduler was a big hit with conference participants (I am sure Chris will brag, err, blog about this sometime in the near future)! We also had the EGL Rich UI session on Tuesday (EM08 was the session number if you want to search for the slides when they are posted). We had close to 50 people attend (which is great!). Lots of good questions and discussions. We also had a birds-of-a-feature session on Tuesday night. At this session we talked more about our announcement and also demo'ed an early version of EGL Free. The reaction was positive - people liked some of the new things we've done (like simplifying the new project wizard and the project structure).
Besides the formal and informal sessions, we also had good one-on-one conversations throughout the week. Chris manned the Rational Labs ped where we demo'ed EGL and showed the cool things you can do with it. Theresa manned the Users First Lounge. We also had a few panel discussions that featured IBMers and some of our partners.
So, overall a great week for EGL! Everyone that loves EGL should be happy to know that there is a lot of excitement in IBM and the EGL community about the technology and where it's going!
Ben_Margolis 270001971J Tags:  documentation eglcafe web book web2.0 soa egl 2 Comments 5,974 Views
When you learn, you want to know how one subject is related to another. Our new book, Enterprise Web 2.0 with EGL, puts EGL in its place:
The Place of EGL in Business
We show that EGL lets you write code at less expense and in a way that enables a competitive advantage. We describe two technologies that have business implication: Web 2.0 and service-oriented architecture. Also, we give you an insight into the economics of social computing.
The Place of EGL in History
We present EGL as part of the trend to greater power per language statement, from machine code to assembly language to third-generation languages to an "enterprise language."
The Place of EGL in Secure Computing
We give an illustrated overview of Web security, with details on EGL. This stuff is interesting!
The Place of EGL in the Runtime Environment
We show how EGL-generated code -- user interfaces, services, and programs -- fits into the runtime environment and makes modernization easier than ever.
The Place of EGL in Day-to-Day Development
We offer a detailed overview of the language, including a practical look at our newest technology, Rich UI. Please note that some of this material was first published in IBM Rational Business Developer with EGL, which is replaced with the current work.
Our EGL book is growing, and we'd like it to be as useful as the language. You can help by reading the book, logging on to the EGL Cafe, and adding a comment to this post.
For further details, see Enterprise Web 2.0 with EGL.[Read More]