Welcome!

SOA & WOA Authors: David Deans, Salvatore Genovese, Yeshim Deniz, Christopher Keene, Dave Haynes

Related Topics: SOA & WOA

SOA & WOA: Article

Above All Studio 2.0

A powerful tool for quick deployment

Much has been written recently about the business-to-business aspects of Web services, but what about the region between the Web service and the desktop? Above All Software lays claim to this "last mile" by providing a platform for delivering composite applications.

Gartner defines a composite application as "a software assembly that implements one business function (one step) and where the component parts are heterogeneous in their information architecture." I prefer to define a composite application as one that does not manage any data of its own, but brings together data from various applications around a firm to support cross-functional transactions.

I work for a large systems integrator and many of the projects I've worked on were to provide integration between application silos in the form of moving data from one silo to the other. The silos then grow warts (enhancements) to support the "integrated" data. There were times when I couldn't help but think that the integrated views should reside outside the silos. That's where composite applications come in.

Overview
Above All Studio provides a slick point-and-shoot visual environment for building these composite applications. Studio allows the user to load service descriptions (WSDL) into its dictionary, create forms that operate on these services, and combine these forms into applications.

The Basics
The Above All platform is almost entirely data driven; all data that is entered into Studio is placed within a dictionary. Services can be added to the dictionary through a wizard. The wizard installs the Web service in the dictionary as a set of objects and operations.

Each object contains a list of its elements, operations, and relationships to other objects. The elements and operations are automatically populated by the wizard from the WSDL specification, but the relationships between objects must be created within Above All Studio.

Creating relationships is done by linking output fields from one operation to input fields of another operation. This is comparable to setting up foreign key relationships in a relational database. Relationships can be visualized through an "Enterprise View" (see Figure 1). For complex applications a user can create one or more enterprise views, grouping objects into categories with cross links between views.

Forms
Once the objects have been loaded and the appropriate relationships created, the fun begins. To create a form, just select an object from either the dictionary or enterprise views and launch the form wizard. You'll need to select which operations to support and which relationships to traverse, then the wizard will generate a form.

Using the Above All?provided tutorial I was able to generate a form in a few seconds that allowed me to retrieve a list of customers, browse orders for each customer, and view shipment tracking data for each order. The form was immediately operable and fairly usable. Granted the form was not pretty or optimally laid out, but I can place the form in design mode and tweak it till I'm happy. Better yet, I can hand it over to the guys with the tinted glasses and black turtlenecks to get the "experience" just right.

But if I need the form to operate differently and massage the data in some way, I can use the Above All Studio form modeler (see Figure 2). The form modeler displays form components and the relationships between controls, dataset elements, and operations. Data flows are shown by arrows that indicate the direction of movement. Circles superimposed over the data flow lines denote a transform operation. Transforms can be fairly involved and scripted using JavaScript.

Scripting
Above All Studio does not limit the user to operations provided by imported services. Users can create custom operations that are scripted. The custom operations define inputs and outputs, and then allow the user to enter a script to provide the processing. Scripts can be powerful in that they can access other operations in the dictionary.

Above All also provides a robust event mechanism. ObjectTypes, Datasets, Operations, forms, and all visual components generate a variety of events that can be used to trigger predefined actions or custom scripts. Overall this is a very nice scripting architecture.

Applications
There is the notion of an application within the product. Basically, an application is a group of forms that are linked together. One form is designated as the start form. That form is automatically opened when the application is launched. The remaining forms can be launched from the start form.

Dictionaries
I mentioned earlier that the dictionary was the core information repository for Above All Studio. One of the nice features about dictionaries is that they are stored as XML files and can be managed in any standard source code control system. Note that there are two types of dictionary. The local dictionary, which resides on your desktop, is intended solely for your personal use and the server dictionary, which resides on the network, is for shared use and supports access control. The server dictionary requires additional software from Above All Software to be installed on the server and is licensed separately.

Authentication
When using services that require authentication, Above All supports stored credentials. These credentials can be provided to the service automatically to minimize delays if retrieving data. If credentials are not set up in advance, Above All can prompt the user to enter the credentials that will be stored and used for the entire session.

Extended Services
Above All Software realizes that composite applications will need to integrate with more than Web services. They support an extended set of services through add-ins called "knowledge packs."

Currently, Above All Software provides four knowledge packs. The ODBC pack provides connectivity to database applications. This pack supports insert, update, delete, and query facilities as well as access to stored procedures. The Oracle knowledge pack supports native Oracle connectivity and direct access to PL/SQL stored procedures modeled as Above All Studio operations. The Microsoft Office knowledge pack supports functionality to perform calculations, coordinate e-mail with customer data in other applications, and use Office functionality in forms and deployed applications.

The last knowledge pack is the most interesting. Most Web service demos provide services with straightforward interfaces. But in the real world Web services can be, and are, considerably more complicated. The application service provider salesforce.com delivers a state-of-the-art CRM platform over the Internet. Part of their integration strategy is to provide a full array of Web services that access its capability. Loading the salesforce.com WSDL into any tool would be daunting, but the salesforce.com knowledge pack automatically creates a set of higher-level business objects, operations and relationships that correspond to Web services thereby providing quick and easy start up. This is the type of add-on I would like to see more of from vendors.

Deployment
Above All Studio deploys applications as a compressed XML file. This file can be run stand-alone using the Above All application runner, or in a browser using the Above All activeX component. In the works as of this writing is the Above All WebRunner component. This component would plug into an application server and provide a true thin client to your Above All composite application.

Conclusion
Above All Studio is a powerful tool that enables a user to quickly build composite applications. Above All also provides a number of deployment options to fit most users' needs. If your organization is starting to deploy services across the enterprise, you should look into the Above All Product suite.

Company Information
Above All Software
2755 Campus Drive
Suite 150
San Mateo, CA 94403
Phone: (650) 341-4600
Fax: (650) 341-1258
Sales: 800-819-5530
Web: www.aboveallsoftware.com

Licensing Information
Above All Studio: $4,995
End User Runtime: Varies by number of users, deployment options

Testing Environment
OS: Windows XP Professional (Service Pack 1)
Hardware: Intel Pentium M Processor (1300MHz)
1.29 GHz ? 1 GB RAM

More Stories By Paul Maurer

Paul Maurer is a principal in the financial services practice of a leading consulting services company.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.