|
Rich Internet Applications Made Easy with the Composite Application Integrator
by Drew Falkman
Rich Internet Applications (RIAs) are unquestionably the wave of the future. Applications that can utilize backend data, but don't require the unnatural request/response process that has become typical of HTML-based Web applications. Regenerating the user interface (UI) with every click? No longer. Using a composite of existing technologies (like the Flash Player and JavaScript) and server-side engines, new strategies are emerging to make development faster and easier. Software AG makes a splash in this arena with their Asynchronous JavaScript and XML (AJAX)-based Composite Application Integrator (CAI).
SoftwareAG's RIA strategy is based on the growing standard of AJAX to provide a front-end interface to (generally XML-based) service-oriented applications. AJAX is coming on strongit is used on Web sites like Google Localand uses the browser's scripting in combination with XML to create interfaces that include UI components, client-side data models, and interaction with remote services. The upside of this approach is that, unlike other RIA tools which require clients such as Flash Player or Java runtime engines, nothing other than a browser is required (CAI will also run in an instance of JWT on the client). The downside of AJAX is that you have to manage browsers on the client (instead of on the client plugins) and, traditionally, scripting has been cumbersome. SoftwareAG hopes their CAI will resolve this last issue and turn AJAX into a more intuitive development environment comprised of a graphical user interface (GUI) server and a WYSIWYG studio application.
The CAI Server
The core foundation of CAI is the GUI server. This server is responsible for not only generating layouts dynamically (think the JSP server model), but also handling data bindings and interactions with server-side services. The CAI server resides on a J2EE server. The standalone comes with a Tomcat server. You could also install this on JBoss, IBM WebSphere, BEA WebLogic, or SAP NetWeaver. This GUI server handlea sessions, binds data from your data models to UI controls, and even handles updates to the UI.
Basically, the server works like this:
- A DHTML page is generated based on what you lay outan XML definition. This result is sent to the client's browser.
- An Adaptor Class (basically, a JavaBean object) is created on the server. The JavaScript from the client UI can then call on this class to interact with serviceseither created for the application or existing.
The CAI Tookit
Using CAI is largely a matter of creating XML descriptors of your UIs and accompanying Java adaptor classes to handle the server-side interaction. There are several software tools are available to streamline these tasks, but first, take a look at what you can put into your applications. Applications in CAI are made up primarily of Containers, Controls, and Bindings.
Containers are layout elementsthe rectangular shapesthat together make up the UI. Some of the available containers are:
-
TR/ITR: Essentially HTML table rows.
-
AREA: Bordered elements.
-
TABAREA: Tab controls to toggle between screens.
-
SCROLLAREA: A bordered area with scroll bars.
-
HSPLIT/VSPLIT: Cells with dividers, either horizontal or vertical.
Controls are the actual visual elements that make up the UI. Generally, these are visible, though a few invisible controls are available as well:
-
LABEL, TEXTOUT, and TEXT are used to display static or dynamic text.
-
IHTML allows you to embed HTML from other Web pages.
-
STRIPSEL and TABSEL2 are selectors that enable toggling between screens.
- An assortment of buttons.
-
GOOGLEMAP allows you to interact with Google Local (an AJAX application).
- Grid controls offer Excel-like interaction and/or display of data.
- Tree controls allow for user-friendly file/directory or other hierarchical data interaction.
- Menus allow for drop down menus like the
FILE/EDIT/ menus in Windows.
- Reporting controls allow for comprehensive report generation including charts and PDFs.
- A set of database controls allow for simplified database connectivity.
- An API that allows you to create your own controls.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|