The Virtual Enterprise
VE/Designer
"In only 5 man-hours we were able to build a single object model with four objects and one process, replacing more than 10,000 lines of Delphi code."
Tim Davis,
CTO
Hosted Application Provider

The Virtual Enterprise (VE) provides a complete separation of application logic from interface logic. In addition, VE abstracts out all of the technology related code, yielding a pure, technology-independent, and fully functional representation of the application logic. VE/Designer adopts the Unified Modeling Language (UML) for capturing the application logic, namely UML Class Diagram and Activity Diagram, while it stores the captured logic in open XML documents.

Application logic consists of objects, processes, and rules. The combination of these three types of artifacts provides a complete language for representing any structural or algorithmic problem--non-artificial intelligence one. The Technology Approach pages go into further explanation.

To build objects, VE/Designer provides an Object Modeler that uses the UML Class Diagram notation for capturing objects, their primitive attributes, inter-relationships, and even object operations. The Object Modeler provides full support for object-oriented design principles. Once an object is drawn, one can immediately click on the play button and execute the object. Executing an object constitutes creating a new instance of the object and serving it back into a browser. The default look-and-feel for that browser is used for rendering the object into an HTML page. The Interface & Presentation pages go into further details on how to customize the look-and-feel for any object.

Nevertheless, all of the object properties, rules, and constraints are immediately enforced during this execution. Hence, one can immediately verify and validate the application logic without having to go through tedious hours of traditional coding, compilation, and deployment.

To build processes, VE/Designer provides a Process Editor that uses the UML Activity Diagram notation for capturing the flow of activities, their rules, and any conditional or looping logic. Process Editor can be used for both developing a stand-alone (global) process or an object operation. In either scenario, an activity diagram has all of the constructs found in procedural languages: expressions, decision constructs (e.g. if-then-else or switch statement), looping (e.g. for loop, while-do, and do-while), and exception handling (e.g. try-catch). In addition, VE supports specifying process (or operation) parameters, temporary variables, and return value, and handles recursive calls. Accordingly, one can develop the dynamic behavior of an application including complex algorithms, still without writing traditional code.

However, for the die-hard coders, the Process Editor supports specifying alternate implementations for a given process including: embedded SQL statements, stored-procedures, client-side JavaScript, and Java methods. VE also uses this same mechanism to integrate with external resources like Web services and EJBs (see the Integration pages for more details).

For example, the screenshot on the right shows a JavaScript implementation to the getQuotes operation on the Trade object. In this scenario, VE will recognize that this is an appropriate implementation for a web-browser client and would automatically include it in the rendered HTML page whenever a Trade instance is served. Accordingly, the implementation would execute completely on the client providing enhanced user experience.
Copyright © 1999-2008 INTELLIUN CORPORATION. All rights reserved.