Application Workflow

By Timothy Dyck  |  Posted 2003-04-14 Print this article Print

Application Workflow

We began the application creation process with M7s M7 Enterprise Repository. The program provides a data mapping layer for M7 applications. Using it, we could register database tables, EJB, JSP (JavaServer Pages) custom tags or external Web services. This process creates an object metadata layer accessed by M7 tools to populate its back-end data pick lists.

M7 Workflow and M7 Studio are the two main Web development tools in the M7 Application Assembly Platform. M7 Workflow (see screen) provides the tools to link application Web pages in an overall design. Nodes in the workflow can be pages or prebuilt actions such as declaring or setting a variables value; issuing a database query; data persistence actions, such as creating a new record or deleting a record; sending an e-mail message; setting session variables; or managing user log-in or log-out actions.

Workflows can branch or loop back on themselves. We could, for example, branch from one workflow into a separate workflow, a way to more effectively reuse code. The workflow tool also specifies how form variables defined in one JSP are passed on to the next page in the sequence.

M7 Studio provides a JSP editing environment for creating dynamic Web pages. The editor provides a roughly WYSIWYG page display where we could lay out text elements, forms and tables. Its template support provides a quick way to establish a basic look for all application pages (this release has improved support for importing HTML pages created in other tools for use as a template page).

Variables and elements in the metadata model are displayed in a Variables windowpane; we could simply drag and drop them into the page to create data-bound fields (drag-and-drop support is new in this release). It was easy to add the ability to page through a result set one set of rows at a time and add end-user navigation controls to control this paging.

Three built-in form wizards are provided to speed creation of common types of forms: a log-in form, a database record edit page and a record search page. We could simply select the objects we wanted to edit or search, and M7 Studio generated most of the required page code automatically. We could also choose to display parts of pages conditionally, based on user log-in identity or session variable values

M7 Studio provided the option of inserting custom HTML or server-side Java code fragments into Web pages as well. When we used the graphical editor to do this, we had to type code we inserted into tiny boxes, an awkward way to work. An automatic switch to the full code editor would be a good idea here.

The code editor highlights in yellow the Java script embedded in the current JSP. Unfortunately, there was no cursor synchronization between the visual and text editors—switching to the text view didnt place our cursor in the same text we had been editing in the visual editor.

M7 makes extensive use of its own JSP custom tag libraries for its applications. A standard Java class-based API is also available that exposes M7s data persistence, data validation and data caching layers to direct developer control. This API can be used to issue custom SQL commands to the data layer.

As it does with EJB, M7 Enterprise Repository Manager provides automatic object management for external Web services. We could add Web Services Description Language locally or from a URL, and the Web services methods were automatically added to the list of available commands displayed in M7 Studio.

M7 Executive Summary West Coast Technical Director Timothy Dyck can be reached at

Timothy Dyck is a Senior Analyst with eWEEK Labs. He has been testing and reviewing application server, database and middleware products and technologies for eWEEK since 1996. Prior to joining eWEEK, he worked at the LAN and WAN network operations center for a large telecommunications firm, in operating systems and development tools technical marketing for a large software company and in the IT department at a government agency. He has an honors bachelors degree of mathematics in computer science from the University of Waterloo in Waterloo, Ontario, Canada, and a masters of arts degree in journalism from the University of Western Ontario in London, Ontario, Canada.

Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel