TheresaRamsey 1100004FVX Tags:  eglcafe xml json egl record rest soap service wsdl 4 Comments 13,550 Views
We want to help you be an EGL rockstar and make your own record...an EGL Record that is. When you combine EGL and Web services is sure to be a hit.
To create EGL Records from the XML or JSON, try this web application written in EGL Rich UI:
http://comm05.haw.ibm.com/EGLRecordConversionServices/transform-en_US.html. The JSON or XML can be loaded from a URL or directly input. You can create EGL Records from XML schema too.
So be a rockstar programmer and make tons of records using EGL!
We looking forward to hearing from you. Login and enter a comment to let us know what you think of this application. Thanks![Read More]
ChrisLaffra 060000KCEQ Tags:  development eglcafe egl rich_ui ibm rational web 2 Comments 11,450 Views
When you are developing EGL Rich UI (RUI) applications, you are really developing distributed web applications. EGL never tries to replace existing frameworks or standards, such as HTML, CSS, REST/SOAP, and application servers. We just try and make using all this plumbing a lot easier to consume by people like you.
While EGL solves much of the complexity surrounding web development, to be most effective in your job you should know a little bit about the underlying frameworks and solutions that the web offers, and that RUI uses and simplifies.
Below, you will find a list of Q&A's that discuss topics that many of you run into and may actually have wondered about already.
What security features are available in RUI?
Another mechanism to insert extra code could be by intention. People routinely use third party widgets, such as page counters, or things like Google Maps. To run those gadgets in your application you are essentially downloading and running third party code inside your application without being able to completely ensure they are not scanning the heap or extracting cookies from your browser store. If you are serious about this, never include third party code unless you have access to the source or know and trust your provider. Some applications go as far as detecting if they are being loaded in an iFrame, and disallow that, for instance.
Another attack could be the "man in the middle". Code, or data, that is downloaded from a server can be intercepted by malicious parties, and extra code can be inserted along the way to run inside your browser as a trojan horse. Using secure socket connections, which establish a private peer-to-peer connection between your browser and server certainly minimize the risk of code insertion.
Finally, hackers or inside agents can get control of your server through a different attack (or login), and replace your application's code with newly enhanced code.
Concluding, minimize third party libraries to those you trust, avoid the use of addons/extensions, use SSL, constantly update your browsers, and DO NOT USE IE6!
Version 2.0 was experimental when we release EGL Rich UI, and we will consider picking up the extra features offered in v2.0 in future releases of RUI.
What support for data encryption exists for cached data on the client side in RUI?
Is it possible to securely move business logic to client side for execution?
All events end up in an event queue in the order they are received. Only one single thread runs in the browser, and it runs the top of the queue. While it is running the top event, nothing gets rendered in the browser. Numerous changes can be made to the DOM, and the browser keeps track of them all. But, only when the thread returns is the browser content rendered to show all the modification being made while the event was being dealt with. If another event is waiting, it gets processed in the order it was received. This loop continues ad infinitum.
As the browser is single threaded, execution has to happen asynchronously and any operation that takes a while to complete needs to be broken up in various sub-activities to avoid making the browser unresponsive.
What mechanisms are available to measure the performance of each widgets at runtime (logging/instrumentations)
Are the Dojo widgets available in RBD 220.127.116.11?
When creating a library there’s an RichUI properties library option, what’s this?
In JSF we have request,session and application variables how to handle this in RichUI?
How do I include a CSS file that is shared by more than one project, such as a company-wide global stylesheet?
What happens at runtime when the children field is set? What is the life-cycle of widgets and RUIHandlers?
Does RUI support any type of workflow?
Does RUI have support for Views composition (independent modules and views are composed at runtime)?
If you have any more questions, append them as a comment to this blog entry.
Fix pack 18.104.22.168 is now available. It contains fixes in many areas
of the product, as well as quite a few enhancements. Everyone who is using RBD 7.5.x should install this fix
pack. See IBM Rational Business Developer, Version 22.214.171.124 Release Information
for more info, including installation instructions a list of the
APARs which have been fixed, and the list of enhancements.
If you generate COBOL for System z, you should also install PTF UK55911.
This PTF is also compatible with RBD 7.1.x and previous 7.5.x fix pack levels.
Some highlights from the enhancements list:
Try it - you'll like it! [Read More]
In the past various examples have been shown that demonstrate how easy it is to develop iPhone applications. With the advent of the iPad, I decided to write a sample with the following features:
The end result is attached, and all you need to do is customize and then run the enclosed deploy.xml Ant script. It will copy the entire application and all its required settings to an Apache server. A live version can be seen here.
Here is what the app looks like to your end-user when it is first launched:
A different UI can be shown before installation time. You could decide to not show the application's UI until users launch the application from their home screen, for instance. This would force them to perform the installation. Currently, the sample has the following simple logic:
If the user follows the installation instructions, they will get a custom icon on the home screen. You will find the icon in the WebContent directory, and it can be easily customized to your needs. This home screen icon launches the app without any browser bars, in less than 2 seconds.
On the iPhone, a splash screen will be shown while the application starts up. On an iPad, a screenshot of the most recent run of your application is shown. This allows you to return back to the exact same spot in your UI (assuming you can track that much), and reduce the amount of flickering that would otherwise occur during launching.
The iPhone and iPad scroll content using gestures and touch events. If you want to have only a portion of the screen be scrollable, you have to capture these events and handle them yourself. This logic is abstracted in the externalType called "Safari", enclosed in the sample project.
A special feature of the scrolling on iPad and iPhone is that it follows certain physical realities. When you flick a panel down or up, it will keep moving for a while. When you scroll past the end of the container, it gets "sticky" and bounces back like it is attached to its parent by an elastic band. All this logic is implemented in an EGL widget that is part of this sample project. Take a look at "ScrollPanel.egl" when you are interested.
The ScrollPanel widget is simple to use. It follows the API of any other container, so it has a children fields, etc. It can be added to any other container, such as a Box or a Div. This new widget hides a lot of the complexities of dealing with touch events, and you will find it to be a huge time saver.
After running the app once from the home screen, it will be stored in the HTML5 resource cache (as we specified a cache manifest in our HTML file). This means all the files needed by the application are already copied to your iPad/iPhone and the application can launch in Safari even when there is no Internet connection. You can test this by turning your iPhone into airplane mode, or by disabling wi-fi on your iPad.
The way HTML5 caching works is that when the application is launched, the cache.manifest file is downloaded and compared with the previously downloaded version. If any byte in the contents differs, the entire application is reloaded. This means that if you want to invalidate the cache, you have to change the actual contents of the manifest file. That is why it contains a version field. Simply increase the number and the application will invalidate its cache. To see cache updates happen, you have to launch the app twice. Once to make Safari realize the cache is invalid and allow it to download the new files in the background. The second launch will then use the new version.
Automatic Upload to an Apache Server
One target in the Ant Script will take care of uploading the final end-result to a server. Customize the server name, target directory, userid, and password, and the Ant build automatically uploads the file to your server. Make sure to check the cache.manifest and increase its version number.
Eclipse Keyboard Shortcuts
After a while I really got fed up with mis-typing Alt+Shift+X,Q and I opened the preferences to Window > Preferences > General > Key. There I looked for "Run Ant Build", copied the command, and assigned F10 to it. Now, I just select the deploy.xml file and hit F10 to get it deployed.
To see a larger, working example that also uses client-side storage and lots of compression on the server, take a look at iflip. It uses Google fast flips to find interesting news articles, downloads their contents and all their images, and stores the complete page into a browser-side database. This allows you to launch the application while being disconnected from the Internet and read all your news offline.
The application also uses nice transitions and scrolling animations to compliment the offline aspects of the web application.
Here are two screendumps of iflip:
Let me know what kind of iPad applications you can come up with!
Attachments (EGL CE project archive)
com.ibm.touch-April-14a.zip [Read More]