(Thisresearch is part of the WebSI (Web Service Integration) project, funded by theEC in the Fifth Framework)
While the Web consolidates as theubiquitous application delivery platform, the features of Web applicationsevolve to cover new requirements, like the capability of managing complexworkflows spanning multiple users and organizations. This scenario challengesthe Web engineering methods to address a broader class of applications. Thispaper introduces Workflow Driven Hypertexts, defined as Web-enabled hypertextualapplications serving the workflow of multiple users, and proposes a designmethod integrating process, data, and hypertext modeling, expressly conceived tosupport the development of this class of applications.
Web site design, web sitemanagement, workflow, application integration.
Web engineering is aboutapplying the principles, techniques, and best practices of software engineeringto Web application development. Oneof the key ingredients of software engineering is conceptual modeling, that is,the ability of describing the properties of an application at a high-level, forthe purpose of exchanging requirements and automatically generating theimplementation code. Conceptual modeling has been successfully applied tohypertextual applications for the Web [3, 2] and is gaining momentum also in themarket of software development tools.
However, as time passes, themission of Web applications evolves, from online information browsing tofull-fledged collaborative applications, supporting workflows spanning multipleindividuals and organizations. In this paper we propose a fusion of data,hypertext, and workflow modeling concepts and methods into a novel approach formodeling lightweight Web-enabled workflows; this approach extends the benefitsof high-level conceptual modeling and automatic code generation to a muchbroader class of Web applications.
Integrating hypertexts withworkflows means delivering Web interfaces that permit the execution ofactivities and embody constraints that drive the navigation of users. We callthese applicationsworkflow-driven hypertexts (WFdHT, for short).
Figure1pictoriallycontrasts the characteristics of workflow managements systems, of hypertextapplications, and of WFdHTs. "Pure" workflow management systems arecharacterized by a rich set of constraints, do not allow free navigation, andexpose only the data needed for accomplishing the workflow objective."Pure" hypertexts, at the opposite, do not constrain navigation norestablish the accessible information a priori. WFdHTs lay in the middle of thespectrum. Constraints, the degree of navigation freedom, and the amount ofdisplayed information can be tuned to obtain different application flavors.
Figure1– Hypertexts vs. workflows
We advocate a developmentprocess for WFdHTs centered onconceptual modeling, blending threeingredients, representing orthogonal perspectives:
· Theprocess modelrepresents the process to be executed, in terms of the activities that composeit, their precedence constraints, and the actors in charge of executing eachactivity.
· Thedata modelrepresents the domain objects published and manipulated in the application, andpossibly the meta-data necessary for implementing the application (e.g., dataabout the users, auditing data, and so on).
· Thehypertextmodel specifies the elements of the interface for executing the activities,in terms of the pages delivered to the user, the content published in each page,the operations that can be invoked from the interface, and the links necessaryto enable navigation and operation invocation; the boundaries of activities (i.e., where in the application interface an activity can bestarted and terminated), and the operations necessary to track the execution ofthe process.
We have defined these featuresas an extension of the WebML language [1], a high-level notation for specifyingWeb applications. In WebML the database content is described using theEntity-Relationship model, and hypertexts are represented as graphs ofpagesto be presented on the Web. Pages enclosecontentunits,representing atomic pieces of information to be published (e.g., indexes listingitem lists, details of a single object, entry forms, and so on); content unitshave aselector, which is a predicate identifying the entity instances tobe extracted from the underlying database and displayed by the unit. Pages andunits can be connected withlinks to express a variety of navigationeffects. Besides content publishing, WebML allows specifyingoperations,like creating, modifying and deleting entities and relationships, sendinge-mail, login and logout, e-payment, and so on. Further details about WebML canbe found in [1].
The extensions required forsupporting WFdHT include the addition of some standard entities to the datamodel (for recording activities, activities instances and process cases) and offew primitives to the hypertext concepts (for defining activities, for assigningobjects to activities, and for expressing process constraints). The newhypertext primitives are graphically represented in Figure2.Start and end activityunitsdelimit the portion of hypertext associated with the execution of an activity.They can be tagged respectively as the start of the case, when the activity tostart is the first one of the entire process, or, dually, as the end of thecase, when the activity is the last one of the entire process.Assignoperationsare conceived for connecting an application object (or a set of objects) to anactivity instance, typically to specify the future job to be performed on theobject. Objects connected to the instances of a particular activity can beretrieved by means ofworkflow-aware content units (e.g. indexes of suchobjects). Finally,if andswitchunits can be used to expressnavigation conditions. Together with assign/workflow-aware content units, theyallow to represent any process constraint described by the process model.
Figure2– Workflow primitives
Example.Figure3 presentsa WFdHT implementing a simple process consisting of two activities performed bytwo different users: the creation of a document and its translation. Twohypertexts (Creator and Translator sites) represent the operations required forperforming the two activities. In the first hypertext the first kind of userstarts the process and the creation activity by following a link exiting thehome page: the activity consists in filling a form; when submitted, a newdocument is created and assigned to the translation activity (by means of theassign operation). The activity is ended and the user is led back to the homepage. In the second hypertext the translator first selects a document to betranslated from an index showing the documents assigned to the translationactivity (through a workflow-aware index unit), then the translation activitystarts for the selected document. The user fills in a form with the translation,and a new document is created and associated with the original one. Thisactivity ends the whole process.
Figure3– Hypertext implementing a simple workflow
The modelling approach briefly introduced in this paper hasbeen experimented in the context of a real-world CASE tool, called WebRatio [4],which supports the model-driven development of "traditional" Webapplications. Our ideas have been benchmarked in the development of a realworkflow-driven Web application (www.aceradvantage.com).The application deals with the process of requesting, checking, and activating awarranty extension for laptops and personal computers, which requires theexecution of a workflow spanning several individuals and business units of theservice provider. The application is a perfect representative of the concept ofWFdHT, because it requires the use of hypertextual interfaces, to which thecustomer is accustomed, the delivery of data (e.g., the warranty contracts) andthe enforcement of process constraints. The application was successfullydelivered in a very short time (five weeks), and has been generatedautomatically from a conceptual model described with WebML enhanced withworkflow primitives.