It's been an interesting few weeks as Chris Laffra and I have been working on the scheduler application for RSDC. To give you a quick overview, I'm running the EGL part of the application on a Windows workstation (in fact, I'm running it inside of RBD's test environment). That in turn talks to my IBM iSeries model 270 and exposes the RPG business logic as web services. The front end that consumes the web services (written in EGL Rich UI) is being served either through that same RBD instance or from a public PHP server in Norway somewhere.
So as it stands, you could be using a browser in South America to talk to a server in Chicago that talks to an iSeries in the same room, or you could be using an iPhone in Japan to talk to a PHP server in Norway that talks to that same iSeries in Chicago. And all of this without Chris or I having to write a single line of Java code or do much of anything except generate the WSDL using RBD (me) and consume it (him). And all with excellent speed. And you should see it when the whole thing is on a single LAN!
Anyway, the really interesting bit happened last week. The iSeries (and its successors, the System i and now the IBM i) share an incredible reliability. They're very good about handling RAID disk and they also will tell you about any problems they're having. I happen to have two servers: an older workhorse model 270 that I own and that I use for day-to-day application serving, and then a newer development box that I lease, getting a new box every year or two to keep up with the latest technologies.
Well, the production machine, where I was running the application, started telling me it had a pending disk drive error. I love that - not only does it support RAID, but it also tells you when one of the drives is acting up even before it fails so that you can be ready to replace it. And while replacing a drive is easy enough, rebuilding a RAID set takes time. Since we were getting close to the conference and actually had the application up for live testing, I didn't really want to bring the machine down for the couple of hours it would take to rebuild the RAID set.
So I made an executive decision. I brought down the WAS server in RBD, did a save/restore of the RSDC library from the production i machine (the model 270) to the development i machine (the model 520), changed the server name on the Linkage parts, did a quick regen of the app, and restarted the WAS server. All of this took about five minutes, and nobody was the wiser. And reflecting on this, since I use a hardcoded HOSTS table on the workstation, I could have simply changed that entry to point to the other model 520 and saved myself two of those five minutes.
The point of all this? Well it seems that the architecture is doing exactly what it's supposed to do. Chris was able to do initial testing without even needing the back end. Then, once the back end was up, it was easy to run the front end simultaneously on two different machines. And as for the back end, failing over to a different machine is as easy as changing an address in the HOSTS table. Chris and I have been able to concentrate on features rather than infrastructure, and that really is the promise of EGL.
Joe [Read More]
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: May 2008 X
EGL Rich UI makes the development of Rich Web Applications much easier. Why is that?
EGL Rich Web was specifically developed to easily develop these highly responsive rich web applications. EGL strives to provide abstractions that are at just the right level, allowing developers to focus on the "what", rather than on the "how". All user interfaces are expressed in a declarative language, and Ajax calls are very easily implemented because EGL Rich Web automatically parses the resulting JSON and XML documents and turns them into easy to manage EGL data structures.
Furthermore, with the addition of EGL Rich Web support, it is now possible to write an entire web based application, from server to the user interface, in EGL. And, once you have learned EGL for one specific application tier, you can immediately transfer those skills and be productive in all parts of an application.[Read More]
EGL Rich UI is all about Rich Web Applications. In this blog post, I will spend some time discussing what the buzz is all about around web 2.0.
Rich Web Applications, sometimes also called Rich Internet Applications, are applications offered via a browser that behave like desktop applications,. They typically serve up data stored on one or more servers, and display that data in a highly responsive user interface. Both validation and business logic can run inside the browser and no installation is required. Typical examples are applications to process a travel expense account, do tax processing, perform a mortgage calculator, or find the perfect house based on a wide variety of requirements.
Most rich web application are situational in nature, meaning that they are used infrequently or from different locations and/or computers. The web is the ideal distribution medium for those types of applications. Namely, unlike desktop applications, rich web applications are easy to maintain because new versions can be offered by simply refreshing the current page in the browser. There is no installation required, so new users get going faster also.
Furthermore, when compared to traditional static websites, rich web applications have operational advantages. Rich web applications tend to do most of the orchestration in the browser itself, thereby moving presentation logic from the server to the browser. This is why people refer to those applications as "mashup" applications. This reduces the load on the server, thereby increasing both throughput and improving transaction rates. Finally, the type of services calls invoked by rich web application tend to be more stateless, improving the opportunity for caching of results both inside the server and on edges, such as inside proxy servers.[Read More]
I am getting ready for RSDC 2008, where I will be showing off EGL Rich UI in the Rational Labs sessions at the exhibit floor, and presenting at session EM09. To organize my way around the conference, I wrote a conference scheduler with Joe Pluta, and together we showcase EGL being used end-to-end, starting at an IBM i box to WebSphere to a UI running on an iPhone.
See you there...[Read More]
Who am I?
On the surface, I am responsible for IBM Rational's Enterprise Modernization tools and compilers. EGL is included in that category because it is a key element of our strategy to help customers modernize their applicaiton portfolios. EGL is multi-dimensional, though, so lets be careful about pigeon-holes. Much more on this in future blogs!
A second answer to who am I can be found in what I have been. Prior to working for IBM, I joined a small start-up System 38 Independent Software Vendor that focused on the Oil & Gas industry. For the 11 years that I spent with that company I built or managed the building of line of business applications for that industry in the RPG language for the System 38/AS400/iSeries/System i/IBM i platform. We were "business developers" before anyone had coined the term in the software industry. This meant that our understanding of the Oil & Gas business was valued as highly as our ability to write killer applications for that industry quickly. This blending of business and technical knowledge and a keen focus on solving business problems with software applications was a perfect match for the System 38 and its successors. This is because that platform was targeted at providing a well-conceived, complete, end-to-end, highly productivce, yet simple application environment that encourages a focus on solving the business problem, not technology issues. So, this tells you that I wrote business applications and liked the i platform...
What does EGL mean to me?
This description of the System 38 can also help to describe a key aspect of EGL...that is, its keen focus on helping developers to solve business problems. Specifically, It's designed be a highly productive, complete, well-conceived, yet simple way to build business applications from one end to the other, with the added advantage of being able to run in several different runtime environments.
My hopes and aspirations for this site
Community is essential to a language today and we've had countless suggestions from our customers and partners that they needed a central place to meet, share experiences, and get the latest on EGL. The EGL Cafe is that place. I expect to see blogs from partners and ISV's that are leveraging EGL and have parts or services to share or sell. I expect to see additional forums spawned around specific sub-communities like Web 2.0 development with EGL or ISV's or exploiting IBM i or ... These sub-communities can drill deep and talk about things that are specifically interesting to them. I expect to see Jon Sayles' extensive portfolio of EGL content exposed to more EGL developers in "Jon's Corner". I expect to see all sorts of documents related to the wonderful world of EGL application development. And finally I hope to be surprised with new and interesting content and ideas for the EGL world![Read More]
Hayden Lindsey here. Let me be one of the first to welcome you to the EGL Café!
First, let me introduct myself. I am responsible for Enterprise Tools & Compilers within Rational, which includes development and jumpstart services for EGL and the Rational Business Developer product. I have been with IBM for almost 23 years now, and for my entire career, I have been involved in one way or another with what is now EGL. While I have seen many great technical advances, customer success stories and the like through the years I have never been more excited about the potential and WW momentum that I am now seeing around EGL.
The goal of this Café is to accelerate that momentum and, in particular, accelerate the growth of the EGL community. Customers, business partners, and IBM employees can use the Café to connect with each other, share best practices, share code, get access to the latest product information, and learn from each other. Of course, like any social network, the value that you will gain from the EGL Café is directly tied to the active participation of the community--if you participate, you increase the value for everyone; if you do not...well let's assume that will not happen.
In the last 2 years, I have travelled extensively, meeting with hundreds of cusotmers worldwide. When discussing their IT challenges, I frequently hear the same set of issues...customers wanting to know how they can:
So, again, welcome to the EGL Café. Let's all participate in order to raise the value of this venue for everyone.[Read More]
I am the chief architect and inventor of the EGL programming language. I would like to use this blog to involve the community in issues that revolve around the language itself such as:
Tim W Wilson, STSM, EGL Chief Architect [Read More]
Hi, and welcome to the Extending RPG Applications to the Web with EGL blog. This is a blog by some of the IBM i application development tools team members at the IBM Toronto Lab. We've all been involved with RPG and related application development tools for 10+ years (each of us, not cumulative!)
We all believe in using the right tool for the right job. RPG is a very powerful business language on the IBM i. EGL is a powerful language for working with new technologies such as AJAX, JavaServer Faces (JSF)and Web services. So this blog will focus on using the two together; taking business logic written in RPG and providing a Web user interface or Web service interface to it using EGL.
To that end, we hope to provide tips, techniques, stories, pointers and probably even a few questions in this blog. If you are an RPG developer and are using (or looking to use) EGL, we encourage you to comment on blog postings.
Claus, George F, George V, Satish, and Don[Read More]
NorthCarolina 120000QHDE Tags:  maestro powerbuilder vb ca_ideal eglcafe ca_cool:gen cobol application_transformatio... natural application_modernization ca_telon application_conversion adabas rpg 2 Comments 9,932 Views
The Application Transformation Blog is a forum for IBMers, customers and business partners to discuss the who, what , when, where , how and whys of transforming legacy applications written in VAGen, SmallTalk, I4GL, Natural/ADABAS, RPG, CA Cool:Gen, CA Ideal, CA Telon, Maestro, APS, Powerbuilder, VB, and other 4GLs to Rational Business Developer featuring EGL technology.
This blog should be used by customers who have spent huge sums of time and treasure developing custom applications that set them apart from competitors and optimally support their specific business processes. Yet when it comes to functionality and technology, these custom applications can quickly grow old and lose their value. So th ey need to find alternatives that leverage their investments.
Who is a candidate for Applicaiton Transformation?
Literally any IT organization running older legacy systems that are core to the business, not necessarily broken, but are on life support due to the software being in maintenance mode, a lack of skilled IT programming staff in the older language or an IT strategic direction is to move to a new , modern software development platform.
When is it appropriate?
That depends on the specific business need, for example:
Extending the application lifecycle
Transitioning to an SOA
New UI (User Interface) requirements - Web/JSF, Rich Client/Web 2.0
Improving agility and Increasing competiveness
Vanishing RPG developer skills - Consolidating development teams
Through maintenance, functional aging can be circumvented or at least significantly slowed. Most of the time, however, technical aging goes unnoticed until unreasonably high maintenance costs arise later on in the lifecycle; application agility declines; or the development platform begins dying a slow death. These are all indications that it's time to migrate an application to a new technological platform before its costs outweigh its benefits.
When they reach this point, companies often find themselves in a bind. They realize that it's not cost-effective to simply replace their legacy applications with modern standard software. And few can afford to continually rewrite all of their custom software to keep it up to date. Even if they can afford rewrites, companies realize that the money could be better spent on a more cost-effective approach to modernizing and migrating to the latest technical standards.
How do you approach application transformation? What's involved? Which technologies? Are there phases?
There are three main phases in any applicaiton transformation:
Discovery aNd Analysis(DNA)
Implementation, Testing and Deployment
From a technology perspective the target of all Rational Application transformations is Rational Business Developer featuring EGL technology. Embedded in Eclipse, EGL offers a modern, service-oriented language for the efficient development of different application types, including Web programs, database applications, Web services, and batch and high-performance servers for fast transaction processing. Thanks to the tightly knit integration in the IBM Rational tool chain, EGL development can be embedded in a professional development process or lifecycle -from requirements management to modeling and coding, to testing and deployment. EGL's ease of adoption helps facilitate the transformation of RPG applications. Because EGL is easy to learn, 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 transfer to Java technology.
Where does it occur?
Some tasks can be performed off-site on secured servers - the initial DNA and actual code transformation. The actual code transformation is typically performed off-site on secured servers. An EGL Project or Projects would be delivered to the customer site for implementation and testing which can be performed by the application owner or a service provider. Other tasks must be performed on-site - Education & training, code remediation (if required), implementation and testing.
Who performs which tasks?
Depending on the legacy source code environment, IBM & IBM specific business partners will perform the analysis and code transformation. The code remediation (if required), implementation, testing and deployment can be performed by internal IT staff with or without assistance from IBM, IBM SI or IBM Business Partners.
None of this is trivial, but it is all doable. The best advice is to contact Ed Gondek at IBM Rational - firstname.lastname@example.org and start the discussion![Read More]
Welcome to the EGL Development Team blog! The EGL development team consists of the testers, developers, writers and architects who make the magic of EGL technology happen. This is a highly talented group of individuals who are dispersed around the world: North Carolina, US (our main site), Connecticut, US, Beijing, China and Toronto, Canada.
In this blog, you will hear from us what we are up to with driving our technology and products forward. Occasionally, you might even hear about what we are up to with our personal lives. We hope to develop a virtual connection with you, our users. Please give us feedback by commenting on our blog entries.
I am very excited about what we are doing and where we are headed with the product. My team and I look forward to sharing our excitement with you via this blog.
Wing Hong (Albert) Ho, Senior Manager, EGL & RBD Development[Read More]