A CASE tool for modelling and automatically generating web service-enabled applications

Size: px
Start display at page:

Download "A CASE tool for modelling and automatically generating web service-enabled applications"

Transcription

1 354 Int. J. Web Engineering and Technology, Vol. 2, No. 4, 2006 A CASE tool for modelling and automatically generating web service-enabled applications Marco Brambilla*, Stefano Ceri, Sara Comai and Piero Fraternali Politecnico di Milano Dip. Elettronica e Informazione Via Ponzio, 34/ Milano, Italy mbrambil@elet.polimi.it ceri@elet.polimi.it comai@elet.polimi.it fraterna@elet.polimi.it *Corresponding author Abstract: This paper presents a CASE tool for the high-level specification of web applications integrated with web services. The CASE tool is based on WebML, a conceptual modelling language used for the specification of the front end of web applications. WebML, extended with new primitives for modelling web services, allows one to specify complex interactions between a web application, driven by the user, and remote processes, represented by services. The CASE tool also allows the specification and deployment of application functionalities as web services and automatically generates the running code, including web pages, web services calls and the exposed web services. In this paper, we describe the primitives for web services modelling, the architecture of the CASE tool for designing the applications, and the runtime architecture of the generated applications. Finally, we give an overview of some industrial applications developed with the described approach. Keywords: web engineering; web service; CASE tools. Reference to this paper should be made as follows: Brambilla, M., Ceri, S., Comai, S. and Fraternali, P. (2006) A CASE tool for modelling and automatically generating web service-enabled applications, Int. J. Web Engineering and Technology, Vol. 2, No. 4, pp Biographical notes: Marco Brambilla is an Assistant Professor at Politecnico di Milano. His research interests include web modelling methodologies, web design patterns, and conceptual design of data-intensive web applications. He has collaborated as an Application Analyst in several industrial projects with the WebRatio team. Stefano Ceri is Full Professor of Database Systems at Politecnico di Milano. His research interests are focused on extending database technology to incorporate data distribution, deductive and active rules, object-orientation, and semantic models and design methods for data-intensive websites. He was Associate Editor of ACM-TODS and is currently an Associate Editor of several international journals, including IEEE-TSE. He won the VLDB Ten Years Award in Copyright 2006 Inderscience Enterprises Ltd.

2 A CASE tool for modelling 355 Sara Comai has a PhD in Computer and Automation Engineering and is currently an Assistant Professor at Politecnico di Milano. Her main research interests include active databases, graphical languages for querying and restructuring semistructured data, and conceptual modelling of data-intensive web applications. Piero Fraternali is Full Professor at Politecnico di Milano. His research interests focus on active rules, object-orientation, design methods for data-intensive websites, CASE tools for automatic website production and multi-channel applications. He is coauthor of the books Designing database applications with objects and rules: the IDEA methodology (Addison Wesley, 1997) and Designing data-intensive web applications (Morgan-Kaufmann, 2002). 1 Introduction The web has recently become the standard implementation platform for B2B applications supporting business processes, content management, document approval flows and valueadded services. This leads to the integration of several technologies, far beyond the simple implementation of web interfaces for content publishing. Web services are proving to be a good paradigm for communication and interoperability between applications; however, they are not meant as an interface for human users participating in business processes. Therefore, the need arises for engineering user-friendly, platform-independent, low-cost, efficient, and perhaps most important correct interfaces for humans, who enact complex application workflows communicating with web services. The navigational paradigm of web interfaces, whereby users interact by activating links and/or providing input, is becoming extremely popular also in the B2B scenario, thanks to its unprecedented user friendliness. For building web applications, several research groups advocate the use of declarative design languages (for a survey see Fraternali, 1999), to raise the focus of development from the source code to abstract and platform-independent models, enabling fast prototyping, automatic code and documentation generation, and model-level correctness checking. The industry is also embracing this approach, as witnessed in the increasing interest in the use of UML and other notations for web applications (Conallen, 2002). However, none of the proposals focusing on the development of web applications considers interaction with remote processes. Among recent proposals using services, the ActiveXML system (Abiteboul et al., 2003) manages XML applications and document composition, including calls to services, but does not consider web interfaces and user interaction. The well-known BEA Workshop 1 tool allows developers to specify web applications and web services, but with a limited high-level view of the application, because it concentrates on the implementation tasks. The goal of this paper is to describe the implementation of new conceptual primitives for web services invoked within web applications or exposed by the application. The paper builds upon an existing web modelling language called WebML 2 (Ceri et al., 2002), a graphical notation for the specification of web applications, close to conceptual methodologies like UWE (Koch and Kraus, 2002), W2000 (Baresi et al., 2000) and OO-HMETHOD (Gomez et al., 2001) (based on UML interaction diagrams). In Manolescu et al. (2005) WebML has been extended with a set of novel primitives that

3 356 M. Brambilla, S. Ceri, S. Comai and P. Fraternali support various forms of interplay between web applications and web services. The resulting model can be used for designing web applications, mixing the use of traditional data sources (e.g., relational databases) and web services, as well as for specifying new web services, by composing existing services, local data sources and also user interaction. In this paper we show how the proposed approach has been implemented by the CASE tool WebRatio. 3 The tool offers a uniform and coherent environment for visually specifying web interfaces for human users and web service interfaces for remote peers. The design environment is equipped with a code generator that deploys the specified application and web services in the J2EE platform, by automatically generating all the necessary pieces of code, including data extraction queries, web service calls, data mapping logics, page templates and WSDL service descriptors. The tool also supports information marshalling between the XML format (used by web services messages) and the relational format (usually used by most enterprise web applications). To facilitate the XML-ER data-mapping task, a visual model for the transformation has been studied and a simple XSL generator tool has been developed. The paper is structured as follows: Section 2 describes the running example that will be used throughout the paper to motivate the proposed approach. Section 3 gives an overview of the main characteristics of the WebML language. Section 4 introduces the basic concepts of the WSDL classes of web service operations. Sections 5 and 6 present the approach to web applications and web services integrated design and web service publishing supported by the CASE tool, while Section 7 addresses the problem of data marshalling. Section 8 describes the architecture of the modelling tool and of the generated web applications. Section 9 presents some industrial cases that have been addressed using our approach. Finally, Section 10 concludes the paper. 2 Running example The running example consists of a Small-Medium Enterprise (SME) that needs to integrate its operations with its supply chain partners. This case is inspired by a suite of industrial applications that has been implemented for a set of SMEs in the mechanical field of a local district (see the MetalC project description in Section 9). The example assumes that interaction between different companies can be enacted only through web services, which are integrated in modern web application front-ends or wrap possible legacy systems. Each company is provided with a web portal, and we assume that all the companies are provided with the same portal structure. Each partner may ask services of other partners, and in turn offer them the same services, as shown in Figure 1. The web portal can be used by its employees, who can perform all the routine tasks without needing to switch to other websites or to other applications. In the portal, employees can find interfaces for asking other partners for quotations, and for submitting orders to other partners. This is implemented by means of hypertexts that include web service calls to services published by the provider, thus consuming remote services.

4 A CASE tool for modelling 357 The portal offers the dual set of services to remote peers (for instance, company customers) who can ask for a quotation, submit an order, and so on. The employees of the company are provided with an interface for managing the requests and providing the responses. Finally, an additional news service allows customers to subscribe to the newsletter of the company. Interaction between companies is hidden beneath the front-end interface of each portal and is implemented through web service exchanges. Figure 1 SME running example 3 Background on WebML The specification of a WebML application consists of a data schema (represented as a standard Entity-Relationship (E-R) model) describing application data, and of one or more hypertexts (e.g., for different types of users or for different publishing devices), called site views, expressing the web interface used to publish this data. A site view is a graph of pages (possibly clustered into areas), consisting of connected units, representing at a conceptual level atomic pieces of homogeneous information to be published: the content that a unit displays is extracted from an entity, possibly filtered. Unit sites are normally connected by links carrying data from a unit to another, to allow the computation of the hypertext. WebML also allows specifying of update operations on the data underlying the site (e.g., the creation, modification and deletion of data instances) or operations performing arbitrary business actions (e.g., sending s). We explain the main concepts of WebML in the running example. For further details about the language, the reader may refer to Ceri et al. (2002). Figure 2 shows the E-R schema describing the local database of a partner of the SME application. The schema also describes the users of the web applications, grouped into different classes (e.g., employees and customers). A different site view (hypertext) is associated with each group of users. Users can submit quotations for the products of the partner, and possibly issue an order for those products. Moreover, users can subscribe to a newsletter (represented by the NewsSubscription entity and its relationship with the User entity) for selected topics and periods of delivery; finally, the News entity models the news issued in connection with a specific subscription. For the sake of readability the model includes only the entities for offering services to the user. Dual entities and relationships are defined to invoke the same services provided by the other SME partners.

5 358 M. Brambilla, S. Ceri, S. Comai and P. Fraternali Figure 3 shows a simple example of hypertext modelling published by the SME: employees can browse the quotation list and create new products. They can enter the SME web application using its Home page, which may contain static, unmodelled content; a link leads to the Quotations page, located in the Quotations area and containing an index of quotations; and the selection of a quotation from the index leads to the Quotation page, showing the quotation details and the index of the products it refers to. This is possible thanks to the mechanism of parameter passing, which is implemented by the link; indeed, besides providing navigation paths, links allow the transfer of information from a unit to another by means of parameters. The InsertProduct page contains the NewProduct entry unit, denoting a form for user input. NewProduct is connected to the CreateProduct operation unit. When the user submits the data by navigating the outgoing link of the entry unit, the data are passed to the create unit, which inserts a new product instance in the database. Subsequently, the user is led to the Product page, where the details of the newly created product are displayed. Figure 2 Data model of the SME portal running example Figure 3 A fragment of the hypertext model of the SME portal running example

6 A CASE tool for modelling Specification of web services To describe web services interactions, WebML has been extended with web service units, implementing the WSDL classes of web service operations. We start by recalling some basic aspects of WSDL, 4 providing the foundation of the proposed WebML extensions. A WSDL operation is the basic unit of interaction with a service, and is performed by exchanging messages; messages sent by the client to the service are called input messages, and messages sent by the service output messages. Two categories of operations are initiated by the client: 1 One-way operations consist of a message sent by the client to the service. 2 Request-response operations consist of one request message sent by the client and one response message built by the service and sent back to the client. Two other operation categories are initiated by the service: 1 Notification operations consist of an output message sent to the client. 2 Solicit and response operations are devised for receiving a request message from the client and providing one output message as a response to the client. The CASE tool supports both categories of operations. In particular, we interpret the operations initiated by the service as web services publishing operations. Therefore, we assume that these operations will not be used within the traditional hypertext schemas representing the website, but within appropriate Service views, which contain the definition of published services. The operations initiated by the client are instead integrated within the specification of the web application. In the following subsections, we will see how they can be specified in WebML and present some examples applied to the SME application. 5 Modelling web applications integrated with web services The specification of web service invocation within a web application is achieved through the introduction of new operations, presented in the following paragraphs. One-way operation The simplest WebML primitive modelling interaction with a web service is the one-way operation, an example of which is seen in Figure 4. This operation is represented by the one-way unit, whose icon is labelled with the web service operation name and includes a single arrow that represents the message sent by the application to the web service. The one-way unit is triggered when the user navigates one of its input links; from the parameters transferred by these links, a message is composed, and then sent to a remote service as a request. In the example in Figure 4, from the Home page of the SME application, users can navigate through a link to the News Subscription page (carrying no parameters), where they can subscribe to the news delivery service offered by another SME web portal. To create such a subscription, the user must enter a topic and the period of interest in the fields of the Enter Data entry unit. The navigation on the output link of the entry unit

7 360 M. Brambilla, S. Ceri, S. Comai and P. Fraternali triggers a chain of two operations: first, the new subscription is recorded in the local database of the SME application, and second, the Subscription operation of the SME web service (see Figure 1) is called to actually register the subscription at the service provider. After the one-way message is sent, the user is returned to the SME Home page. Figure 4 Example of usage of one-way operation Request-response operation The WSDL request-response operation is modelled through the request-response unit, whose graphical notation is shown in Figure 5. This operation involves two messages: the input message sent to the service and the output message received from the service. Its icon is labelled with the web service operation name and includes two arrows that represent the input and output messages. Like the one-way operation, the request-response operation is triggered when the user navigates one of its input links; from the parameters transferred by these links, a message is composed, and then sent to a remote service as a request. The user waits until the arrival of the response message from the invoked service; she then can resume navigation from the page reached by the output link of the web service operation unit. Figure 5 Example of usage of request-response operation

8 A CASE tool for modelling 361 In the example in Figure 5, the employee can browse to the SupplySearch page, in which the SearchProducts entry unit permits the input of search criteria, such as the code of the product or a keyword. From this information, a request message is composed and sent to the RemoteSearch operation of the web service exposed by another SME company (see Figure 1). The user then waits for the response message containing a list of products satisfying the search criteria. From these options, a set of instances of the SearchedProduct entity are created, and displayed to the user by means of the Products index unit; the user may continue browsing, e.g., by choosing one of the displayed products and looking at its details. Notice that no action can be performed by the user between the two messages exchanged in the web service operation. In Brambilla et al. (2004) the concept of a request-response operation has been extended with the possibility of exchanging the two messages asynchronously, i.e., some action taken by the user may occur between the two messages exchanged in the web service operation. Currently, asynchronous operations are not supported by the CASE tool. 6 Modelling web services publishing The tool also supports the publication of web services that can be invoked by third-party applications. From the application point of view, no user interaction is required in a published web service. The actions to be performed when the notification or the solicit-response operations are triggered are not specified through pages, but as a chain of operations (e.g., for storing or retrieving data, or for executing generic operations such as sending s). Therefore the publishing of web services can be specified separately from the site view of a web application. We introduce the following concepts for the publishing of web services: Service view it is a collection of ports which expose the functionality of a web service through operations. Port it represents the individual service, composed of a set of operations, each of them modelled through a solicit-response and/or notification operation. An operation (in the WSDL sense) is described by a chain of WebML operations, which specify the actions to be performed as a consequence of the invocation of the service, and possibly to build the output message to be sent back to the invoker. Each WSDL operation starts with a special operation unit called solicit unit that triggers the service, and possibly ends with the response unit, which provides an output message. Notification operation The notification operation is modelled through a chain of operations starting with the solicit unit, whose graphical notation is shown in Figure 6. The hypertext represents the specification of the NewsManagementPort, consisting of a single chain of actions performed by the web application, upon the arrival of a new subscription from a partner. The port contains the solicit unit SolicitSubscription, representing the reception of a message containing data relative to a subscription. The solicit unit is linked to a chain of two operations. First, a create unit inserts the NewsSubscription instance into the local

9 362 M. Brambilla, S. Ceri, S. Comai and P. Fraternali database; second, a connect operation associates the NewsSubscription instance with the user it refers to, extracted from the XML message of the notification operation. This schema is the dual specification of the NewsSubscription service invocation represented in the example in Figure 4. Figure 6 Example of usage of the notification operation Solicit-response operation The solicit-response operation extends the notification operation by allowing the composition of the response message: this task is performed through the response unit, whose graphical notation is shown in Figure 7. This picture represents the RemoteSearch service implementation: some search criteria are received and the corresponding products are provided as output of the service. The WebML diagram is similar to the one in Figure 6: the interaction starts with the solicit unit SearchSolicit, which denotes the reception of the message. Upon the arrival of the message, an XML-out operation is executed, which extracts from the database the list of products that correspond to the specified conditions, and formats the result as an XML document. More details on the XML-out unit are provided in Section 7.2. In contrast with Figure 6, the operation chain now terminates with the SearchResponse unit, receiving as input the produced XML document, which can be used as a response message for the invoking web service. This schema is the dual specification of the RemoteSearch service invocation represented in the example in Figure 5. Figure 7 Example of usage of the solicit-response operation

10 A CASE tool for modelling Modelling data marshalling and unmarshalling Despite the current trends towards service-oriented architectures and semi-structured data models (e.g., XML), several enterprise applications still rely on relational databases. This aspect cannot be ignored, since web services are often used just to wrap existing information systems and databases. Thus, to represent the stored and managed data, applications usually rely on the E-R model, while WS messages follow the XML Schema standard. Invoking a web service within an application requires the ability to: construct an XML-structured message (e.g., a request message) by extracting E-R data from a relational database decompose an XML-structured message (e.g., in a response message) into E-R data to be stored and then manipulated in the database. 7.1 The canonical XML format For facilitating the transformation of data from E-R to XML format and vice versa, we have defined a canonical XML format, which corresponds to the E-R model, with XML elements representing entities, relationships and their attributes. Figure 8 shows an example of the canonical XML representation of a piece of E-R diagram. Element <entity> includes, for each entity, the set of instances with respective attributes, while element <relationship> includes all the instances of the E-R relationships, described by source and destination object identifiers. Figure 8 Canonical XML fragment <?xml version="1.0" encoding="utf-8"?> <root> <entity id="user"> <instance> <attribute id="oid">user1</attribute> <attribute id="username">smith</attribute> </instance> </entity> <entity id="newssubscription"> <instance> <attribute id="oid">subscr1</attribute> <attribute id="topic">new products</attribute> </instance> <instance> <attribute id="oid">subscr2</attribute> <attribute id="topic">events</attribute> </instance> </entity> <relationship id="user_newssubscription"> <instance> <source-oid>user1</source-oid> <target-oid>subscr1</target-oid> </instance> <instance> <source-oid>user1</source-oid> <target-oid>subscr2</target-oid> </instance> </relationship> </root> The benefits of the canonical XML format are twofold:

11 364 M. Brambilla, S. Ceri, S. Comai and P. Fraternali 1 It provides a standard format for describing relational data stored in the native format of the application. 2 It facilitates the construction and decoding of the input and output messages necessary to interact with web services. An incoming XML message, which conforms to its own service-dependent XML Schema, needs only to be converted into the canonical XML format to be automatically inserted into the E-R data repository; in a dual manner, the E-R content of the data repository can be automatically extracted as a piece of canonical XML, which simplifies its translation into the XML Schema required by the web service. Using the XML canonical form, the XML-ER data-mapping (and the converse mapping) problem is reduced to defining the transformations between the generic web service XML message and the canonical XML representation (and vice versa). This can be achieved by means of ordinary XSLT transformations. 7.2 Additional WebML primitives for data marshalling and unmarshalling The transformation of E-R content into XML and vice versa is specified with the help of three additional WebML units, illustrated in Figure 9. Figure 9 XML-in, XML-out and adapter units The XML-in unit takes as input a canonical XML fragment and stores in the underlying E-R repository the value of a specific property of the unit. From the physical viewpoint, the storage can be done either in main memory (in which case the lifespan of the stored information is the user session), or persistently in the database. The XML-out unit allows the selection of a set of objects belonging to an E-R subschema from the data repository and outputs their content as an XML fragment conforming to the canonical XML Schema. The Adapter unit takes in input n links carrying XML fragments, and emits along an output link another XML fragment with the desired schema and content. All the XML-XML transformations (including those involving the canonical XML format of the data) are currently expressed using XSLT, and are supported by a visual transformation tool, which is described next. The XML-in, XML-out and adapter units are necessary to express the data transformation tasks required by the exchange of messages with web services. In the previous examples we have omitted these units from the WebML diagrams for the sake of readability. You can see a complete specification example, including both the web service and the data transformation operations, in Figure 7: the XML-out unit is in charge of generating the XML canonical form of the subschema describing the Product list.

12 A CASE tool for modelling Visual XSL generator tool In this section, we briefly examine the possible cases necessary for mapping generic XML data to the canonical XML structure, and a tool that has been developed for the visual design of such mappings. The converse mapping can be obtained in a symmetrical way. An XML element that is mapped to a database entity, and univocally identified through one of its elements or attributes (called Key), may be associated with other XML elements in three ways: 1 It may be associated with one of its nested elements. 2 It may be referenced by other elements in the XML document through its Key. In this case the association is called Reference by key. 3 It may be associated with any other XML element through an intermediate XML element called Bridge, which pairs off the Keys of the associated XML elements. These three kinds of XML association can be used for building entities with attributes and with relationships in the E-R model. In particular, appropriate transformation rules may be used to indicate the creation of (a) a database entity and (b) a database relationship. Depending on the kind of association, different transformation rules apply. To facilitate the XML-ER data-mapping task, a visual XSL generator tool has been developed and integrated in the CASE tool GUI. The XSLT file used to transform XML fragments into a desired E-R structure (in particular, in the XML canonical form) is generated by the tool, without requiring any manual XSL programming. The tool accepts as input: an XML example message or a WSDL file, which can be selected by the user to automatically obtain the structure of the input or output web service message an XML description (XML canonical form) of the relational schema of the database that is implemented at the relevant peer. The GUI is divided into two parts: the left-hand side represents the structure of the XML message, while the right-hand side represents the structure of the canonical form of the underlying E-R schema (or a subpart of it, if only some entities/relationships are involved in the transformation). By connecting nodes in the two trees, the developer defines the transformations to be supported by the generated XSLT file. The connections are either direct edges between XML elements and entities/relationships, or more complex transformations denoted by means of mapping boxes. The available transformation box types are visible in the toolbar at the top of the interface and support some very basic transformation rules that have been recognised as the most widely used in marshalling XML messages to relational format. Figure 10 shows a very simple transformation from the SOAP message that contains the result of a RemoteSearch invocation (which provides a set of products of the supplier), and the local database storing the products. The Product XML element on the left is the source of the transformation and is mapped onto the Product entity on the right. Its sub-elements (code, name and price) are mapped onto the respective attributes of the Product entity.

13 366 M. Brambilla, S. Ceri, S. Comai and P. Fraternali Figure 10 E IDREF mapping box for database entity creation Once all the needed transformation edges and boxes have been specified, the necessary XSL files for the transformation can be automatically generated by the mapping tool. The generated transformation includes two steps: 1 The first step consists of inserting the needed key attributes (unique identifiers of tags) in the XML file to guarantee the unique properties of XML elements, which is fundamental for obtaining correct transformations. 2 The second step consists of the actual transformation rules represented in the visual diagram. To define transformations from an E-R representation to an XML document, the XSL generator can be used in the symmetric way. 8 Architecture of the implementation This section presents an overview of the CASE tool architecture for the specification of web applications and web services, the deployment architecture of the generated web applications, and a comparison with related products currently on the market. 8.1 WebRatio tool architecture WebRatio supports the WebML design process (Ceri et al., 2002), consisting of the two main phases of data design and hypertext design, and supports implementation by automating the production of the relational database and of the application page templates. More precisely, WebRatio focuses on five main aspects: 1 Data design supports the design of Entity-Relationship data schemas, with a graphical user interface for drawing and specifying the properties of entities, relationships, attributes and generalisation hierarchies. 2 Hypertext design assists the design of site views, providing functions for drawing and specifying the properties of areas, pages, units and links. The hypertext design also includes the integration of the web services primitives presented in Sections 5 and 7, and the specification of service views introduced in Section 6.

14 A CASE tool for modelling Data mapping permits declaring of the set of data sources to which the conceptual data schema has to be mapped, and automatically translates Entity-Relationship diagrams into relational databases and views. 4 Presentation design offers functionalities for defining the presentation style of the application, allowing the designer to create XSL style sheets and associate them with pages, and organise page layout, by arranging the relative position of content units in the page. 5 Code generation automatically translates site views into running web applications built on top of the Java2EE, Struts and.net platforms. The diagram of Figure 11 summarises the design flow of WebRatio, highlighting the design phases, together with their inputs and outputs, and also represents its architecture. The tool consists of two layers: a design layer, providing functions for the visual editing of specifications (supporting data, hypertext and presentation design and data mapping), and a runtime layer, implementing a Model View Controller (Buschmann et al., 1996) web application framework. These layers are connected by the WebRatio code generator, which exploits XML transformations to map the visual specifications edited in the design layer into application code executable at the runtime layer. Figure 11 WebRatio architecture The design layer, code generator and runtime layer have a plug-in architecture: new components can be described using XML descriptors and made available to the design layer as custom WebML units. The code generator can be extended with additional XSL rules to produce code wrapping the plug-in components, and the components themselves can be deployed in the runtime application framework. Such plug-in architecture has been exploited to extend the WebRatio tool with the web services primitives. For supporting web services, the site design component has been extended with the concept of service view and the set of hypertext primitives that are needed for services modelling. The tool also supports further functionalities for:

15 368 M. Brambilla, S. Ceri, S. Comai and P. Fraternali Correctness checking one of the benefits of conceptual modelling is the possibility of automatically checking for errors already at the design level: in particular, it is possible to verify the correctness of the data and hypertext diagrams, to check if the elements of the data schema are correctly mapped to the data sources, and to check if each page is associated with all the information needed for generating the final template. Automatic production of project documentation project documentation can be generated in a format called WebMLDoc, inspired by the popular JavaDoc documentation layout. Collaborative work and project version management. Database direct and reverse engineering. 8.2 Deployment architecture of generated web applications Figure 11 represents the deployment architecture of the application generated by the tool, which is compliant to the Model-View-Controller (MVC2) architecture. According to this architecture, each WebML element maps into different components of the MVC2 architecture. For further details the reader may refer to Ceri et al. (2003). Deployment and publishing of web services required an extension of the WebRatio runtime framework. The tool must be able to accept SOAP requests; therefore the web front end is extended with a SOAP listener. We also extended the site generation algorithm to produce descriptors for each of the new web service publishing primitives. Figure 12 Runtime architecture of the web applications generated by WebRatio 8.3 Product comparison Other vendors are proposing tools oriented towards web development; however, most of them have only adapted to web environment from other fields. Among them, we can cite the following products:

16 A CASE tool for modelling 369 Oracle JDeveloper 10g 5 is heavily oriented towards database design (Oracle), and provides UML-like data modelling and a very basic navigation model. Code Charge Studio 6 (Code Charge) provides a GUI for designing web applications based on a set of predefined page types, corresponding to database tables. Borland Enterprise Studio for Java 7 (Borland) is basically an advanced IDE tool, integrating some modelling features from TogetherJ and basic WYSIWYG interfaces. Rational Rapid Developer 8 (Rational) consists of a UML design tool, adapted to the web environment, where automatic code generation is provided just for the business logic layers (model), while JSP (or analogous) pages must be coded by hand. All these tools work at a lower level with respect to WebRatio, providing a good development solution for the implementer, the web designer or the programmer, without considering the option of full-fledged high-level modelling of web applications. 9 Implemented applications The concepts presented in this paper have proved valid on the field. Several case studies have been implemented, thus validating and refining the approach. The most relevant applications include MetalC, a complex application including a set of B2B portals, one for each business partner; Acer Business Portal, an application invoking and defining remote service calls for providing location and driving information to users, and supporting workflow-based interaction between Acer and its commercial partners; Tiscover Tourism Application, a tourism broker web application which leverages several third-party tourism sources through web services and in turn provides to its customers (travel agents and hotel managers) a set of integrated web services that responds to their specific needs. 9.1 The MetalC platform The purpose of the MetalC project is to allow business interactions between small Italian companies of the mechanical sector by means of their respective web portals, through web services calls. Complex web services interactions have been put in place, to grant reliable cooperation between the companies. For example, the purchasing process in a B2B scenario consists of a very complex set of interactions, since the buyer typically asks for a quote, the seller makes his offer, and the buyer then sends his order for the best offer. In this context, exceptions management becomes very critical and must be carefully addressed. In the implemented communication platform, this is implemented through a set of web portals, pertaining to each company, which interacts with the portals of other actors of the value chain by means of web services-based message exchanges.

17 370 M. Brambilla, S. Ceri, S. Comai and P. Fraternali 9.2 Acer-Euro Business Portal The Acer-Euro Business Portal is a multicountry, multilingual, multiuser-hosted web application connecting European subsidiaries and partners to the services embedded in the company s enterprise applications (e.g., order tracking, technical information management and marketing information management). The ultimate goal of the business portal is to standardise the communication processes of the various channel operators, especially in the areas of inventory and sales management. One of the main requirements of the Acer portal is the retrieval of information from third-party remote services. To grant remote services interaction capabilities, WebML primitives, for supporting web services publishing and invocation and the data conversion operations, have been exploited. Acer also needs to provide web access to the repository of marketing materials, stored in a native XML repository. In the application, queries are modelled and implemented through calls to the web service interface exposed by a native XML database. The XML data retrieved through web service calls from the XML repository can be locally stored in the application database for subsequent reuse or in the session storage for temporary usage. Given that the involved XML trees have a limited depth, the XML structure is represented by using one table for the root element of the document, connected to further tables representing nested sub-elements. 9.3 Tiscover Tourism Services The Tiscover Tourism Services Application, developed by a leading international tourism broker, extends an existing tourism management system with feature-rich web services. The deployed web services are made available to travel agents and hotel managers, who can provide their customers with personalised and accurate access to a lot of tourism information, including data from heterogeneous sources (weather conditions, events, etc.). The main goal of Tiscover was the integration of different data sources and the presentation of contents within online documents, i.e., reports with up-to-date information from heterogeneous sources, to be added to specialised brochures built up on the basis of individual preferences, or for a peculiar client (such as a hotel manager or a tourist office). Generated reports are transmitted to clients (via both push and pull strategies) and can be transformed into a printer-friendly version to be used as offline media. The retrieval of the data and the communication with remote tourism and news services have been supported by web services. 10 Conclusions The proposal and CASE tool presented in this paper demonstrated the potential of combining declarative design of web applications and web services, typically used as communication interfaces for implementing complex processes. The CASE tool relies on WebML, a model (with associated graphical notation) for designing web applications and extended to support WSDL web service primitives and the management of XML messages. We have also discussed the architectural extensions necessary to support web services in a WebML-specified website.

18 A CASE tool for modelling 371 The implementation of the industrial applications described in Section 9 have proven good field experiments for evaluating the power of high level modelling of application integration. The developed applications demonstrated that high-level design, graphical notations and conceptual modelling are a good tool for designing complex applications and for integrating them. Enormous advantages have been recognised in various aspects: resource savings, time-to-market improvement, focalisation on key tasks of the development, and overall quality of the resulting applications. Acknowledgements We wish to thank Ioana Manolescu and Christina Tziviskou for the useful comments and suggestions on the proposed approach. We are also grateful to the WebRatio team for interesting discussions about the implementation of the topics presented in this paper. References Abiteboul, S., Bonifati, A., Cobéna, G., Manolescu, I. and Milo, T. (2003) Dynamic {XML} documents with distribution and replication, Proceedings of the 29th ACM SIGMOD International Conference on the Management of Data, San Diego, CA, USA: ACM, pp Baresi, L., Garzotto, F. and Paolini, P. (2000) From web sites to web applications: new issues for conceptual modeling, Proceedings of the ER 2000 Workshops on Conceptual Modeling Approaches for E-Business and the World Wide Web and Conceptual Modeling, Salt Lake City, UT, USA: LNCS Springer, pp Brambilla, M., Ceri, S., Passamani, M. and Riccio, A. (2004) Managing Asynchronous Web Services Interactions, ICWS, Vol. 2004, pp Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P. and Stal, M. (1996) Pattern-Oriented Software Architecture, John Wiley and Sons. Ceri, S., Fraternali, P., Acerbis, R., Bongio, A., et al. (2003) Architectural Issues and Solutions in the Development of Data-Intensive Web Applications, CIDR2003, Asilomar. Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S. and Matera, M. (2002) Designing Data-Intensive Web Applications, Morgan-Kaufmann, December. Conallen, J. (2002) Building web applications with UML, Object Technology Series, 2nd ed., Addison Wesley. Fraternali, P. (1999) Tools and approaches for developing data-intensive web applications: a survey, ACM Comput. Surv., Vol. 31, No. 3, pp Gomez, J., Cachero, C. and Pastor, O. (2001) Conceptual modeling of device-independent web applications, IEEE MultiMedia, Vol. 8, No. 2, pp Koch, N. and Kraus, A. (2002) The expressive power of UML-based engineering, Second International Workshop on Web Oriented Software Techonlogy, CYTED, pp Manolescu, I., Brambilla, M., Ceri, S., Comai, S. and Fraternali, P. (2005) Model-driven design and deployment of service-enabled web applications, TOIT, August, Vol. 5, No. 3.

19 372 M. Brambilla, S. Ceri, S. Comai and P. Fraternali Notes 1 BEA Weblogic Workshop, W3C, WSDL Web Service Description Language, 5 Oracle JDeveloper 10g, 6 Code Charge Studio, 7 Borland, Enterprise Studio for Java, estudiojava. 8 Rational Rapid Developer, software/awdtools/rapiddeveloper.

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications WebRatio 5: An Eclipse-based CASE tool for engineering Web applications Roberto Acerbis 1, Aldo Bongio 1, Marco Brambilla 2, Stefano Butti 1 1 WebModels S.r.l. Piazzale Gerbetto, 6. I22100 Como, Italy

More information

Model-Driven Design and Deployment of Service-Enabled Web. Applications

Model-Driven Design and Deployment of Service-Enabled Web. Applications Model-Driven Design and Deployment of Service-Enabled Web Applications Ioana Manolescu, Marco Brambilla, Stefano Ceri, Sara Comai, Piero Fraternali Dipartimento di Elettronica e Informazione, Politecnico

More information

Model-Driven Design and Deployment of Service-Enabled Web Applications

Model-Driven Design and Deployment of Service-Enabled Web Applications Model-Driven Design and Deployment of Service-Enabled Web Applications IOANA MANOLESCU INRIA Futurs and MARCO BRAMBILLA, STEFANO CERI, SARA COMAI, and PIERO FRATERNALI Politecnico di Milano Significant

More information

How To Evaluate Web Applications

How To Evaluate Web Applications A Framework for Exploiting Conceptual Modeling in the Evaluation of Web Application Quality Pier Luca Lanzi, Maristella Matera, Andrea Maurino Dipartimento di Elettronica e Informazione, Politecnico di

More information

DESIGNING WEB APPLICATIONS WITH WEBML AND WEBRATIO

DESIGNING WEB APPLICATIONS WITH WEBML AND WEBRATIO Chapter 9 DESIGNING WEB APPLICATIONS WITH WEBML AND WEBRATIO Marco Brambilla, Sara Comai, Piero Fraternali, Maristella Matera Dipartimento di Elettronica e Informazione, Politecnico di Milano, Pizza L.

More information

Tool Support for Model Checking of Web application designs *

Tool Support for Model Checking of Web application designs * Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,

More information

Design Abstractions for Innovative Web Applications: the case of the SOA augmented with Semantics

Design Abstractions for Innovative Web Applications: the case of the SOA augmented with Semantics Design Abstractions for Innovative Web Applications: the case of the SOA augmented with Semantics Stefano Ceri 1, Marco Brambilla 1, Emanuele Della Valle 2 1 Dipartimento di Elettronica e Informazione,

More information

DESIGNING AND MINING WEB APPLICATIONS: A CONCEPTUAL MODELING APPROACH

DESIGNING AND MINING WEB APPLICATIONS: A CONCEPTUAL MODELING APPROACH DESIGNING AND MINING WEB APPLICATIONS: A CONCEPTUAL MODELING APPROACH Rosa Meo Dipartimento di Informatica, Università di Torino Corso Svizzera, 185-10149 - Torino - Italy E-mail: meo@di.unito.it Tel.:

More information

REPORTS IN INFORMATICS

REPORTS IN INFORMATICS REPORTS IN INFORMATICS ISSN 0333-3590 Composing Web Presentations using Presentation Patterns Khalid A. Mughal Yngve Espelid Torill Hamre REPORT NO 331 August 2006 Department of Informatics UNIVERSITY

More information

Model-Driven Design of VoIP Services for E-Learning

Model-Driven Design of VoIP Services for E-Learning Model-Driven Design of VoIP Services for E-Learning Nicola Aste, Aldo Bongio +, Stefano Ceri*, Marco Fais, Maristella Matera*, Alessandro Raffio* AbbeyNet S.p.A. ex S.S. 131 Km 8,200, 09028 - Sestu, Cagliari

More information

Process Modeling in Web Applications

Process Modeling in Web Applications Process Modeling in Web Applications Marco Brambilla, Stefano Ceri, Piero Fraternali Dipartimento di Elettronica e Informazione, Politecnico di Milano, Italy Ioana Manolescu INRIA Futurs LRI, PCRI, France

More information

Developing ebusiness Solutions with a Model Driven Approach: The Case of Acer EMEA

Developing ebusiness Solutions with a Model Driven Approach: The Case of Acer EMEA Developing ebusiness Solutions with a Model Driven Approach: The Case of Acer EMEA Roberto Acerbis 1, Aldo Bongio 1, Marco Brambilla 2, Massimo Tisi 2, Stefano Ceri 2, and Emanuele Tosetti 3 1 Web Models

More information

FIFTEEN YEARS OF INDUSTRIAL MODEL-DRIVEN DEVELOPMENT IN SOFTWARE FRONT-ENDS: FROM WEBML TO WEBRATIO AND IFML

FIFTEEN YEARS OF INDUSTRIAL MODEL-DRIVEN DEVELOPMENT IN SOFTWARE FRONT-ENDS: FROM WEBML TO WEBRATIO AND IFML FIFTEEN YEARS OF INDUSTRIAL MODEL-DRIVEN DEVELOPMENT IN SOFTWARE FRONT-ENDS: FROM WEBML TO WEBRATIO AND IFML Text Marco Brambilla 1, Stefano Butti 2 1 Politecnico di Milano, DEIB. Piazza L. Da Vinci, 32.

More information

Aplicando enfoque MDE a aplicaciones WEB-SOA

Aplicando enfoque MDE a aplicaciones WEB-SOA Aplicando enfoque MDE a aplicaciones WEB-SOA María Consuelo Franky lfranky@javeriana.edu.co Dpto. Ingeniería de Sistemas Universidad Javeriana Bogotá - 2010 http://sophia.javeriana.edu.co/~lfranky/ 1 Temario

More information

OntoWebML: A Knowledge Base Management System for WSML Ontologies

OntoWebML: A Knowledge Base Management System for WSML Ontologies OntoWebML: A Knowledge Base Management System for WSML Ontologies Christina Tziviskou and Marco Brambilla Politecnico di Milano, Dipartimento di Elettronica e Informazione Piazza L. Da Vinci 32, 20133

More information

Conceptual modeling of data-intensive Web applications

Conceptual modeling of data-intensive Web applications Conceptual modeling of data-intensive Web applications Stefano Ceri, Piero Fraternali, Maristella Matera Dipartimento di Elettronica e Informazione Politecnico di Milano Via Ponzio, 34/5 20133 Milano Italy

More information

WQA: an XSL Framework for Analyzing the Quality of Web Applications

WQA: an XSL Framework for Analyzing the Quality of Web Applications WQA: an XSL Framework for Analyzing the Quality of Web Applications PIERO FRATERNALI, fraternal@elet.polimi.it and MARISTELLA MATERA, maternal@elet.polimi.it and ANDREA MAURINO maurino@elet.polimi.it Dipartimento

More information

A Workbench for Prototyping XML Data Exchange (extended abstract)

A Workbench for Prototyping XML Data Exchange (extended abstract) A Workbench for Prototyping XML Data Exchange (extended abstract) Renzo Orsini and Augusto Celentano Università Ca Foscari di Venezia, Dipartimento di Informatica via Torino 155, 30172 Mestre (VE), Italy

More information

A Software Engineering Approach to Design and Development of Semantic Web Service Applications

A Software Engineering Approach to Design and Development of Semantic Web Service Applications A Software Engineering Approach to Design and Development of Semantic Web Service Applications Marco Brambilla 1, Irene Celino 2, Stefano Ceri 1, Dario Cerizza 2, Emanuele Della Valle 2, Federico Michele

More information

Architectural Issues and Solutions in the Development of Data-Intensive Web Applications

Architectural Issues and Solutions in the Development of Data-Intensive Web Applications Architectural Issues and Solutions in the Development of Data-Intensive Web Applications Abstract S. Ceri, P.Fraternali Dipartimento di Elettronica, Politecnico di Milano, P.za L. Da Vinci 32, 20123 Milano

More information

Introduction to Service Oriented Architectures (SOA)

Introduction to Service Oriented Architectures (SOA) Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction

More information

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives

More information

A standards-based approach to application integration

A standards-based approach to application integration A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights

More information

Process Modeling using BPMN 2.0

Process Modeling using BPMN 2.0 Process Modeling using BPMN 2.0 This chapter provides a brief overview of Business Process Modeling Notation (BPMN) concepts with particular emphasis on the BPMN 2.0 additions. In addition, it describes

More information

A common interface for multi-rule-engine distributed systems

A common interface for multi-rule-engine distributed systems A common interface for multi-rule-engine distributed systems Pierre de Leusse, Bartosz Kwolek and Krzysztof Zieliński Distributed System Research Group, AGH University of Science and Technology Krakow,

More information

WebML Application Frameworks: a Conceptual Tool for Enhancing Design Reuse

WebML Application Frameworks: a Conceptual Tool for Enhancing Design Reuse WebML Application Frameworks: a Conceptual Tool for Enhancing Design Reuse Stefano Ceri, Piero Fraternali, Maristella Matera Dipartimento di Elettronica e Informazione Politecnico di Milano P.zza L. da

More information

A Survey Study on Monitoring Service for Grid

A Survey Study on Monitoring Service for Grid A Survey Study on Monitoring Service for Grid Erkang You erkyou@indiana.edu ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide

More information

MDA Transformations Applied to Web Application Development 1

MDA Transformations Applied to Web Application Development 1 MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T

More information

The Importance of Flashweb

The Importance of Flashweb flashweb: Graphical Modeling of Web Applications for Data Management Mihály Jakob Oliver Schiller Holger Schwarz Fabian Kaiser Institute of Parallel and Distributed Systems Universität Stuttgart Universitätsstr.

More information

WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web

WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Marco Brambilla, Stefano Butti 2, Piero Fraternali Politecnico di Milano, Dipartimento di Elettronica e Informazione P.za

More information

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use Product Data Sheet BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use BEA AquaLogic Integrator delivers the best way for IT to integrate, deploy, connect and manage process-driven

More information

Designing RIAs With WebML

Designing RIAs With WebML Designing Rich Internet Applications with Web Engineering Methodologies Preciado, J.C. 1 ; Linaje, M 1 ; Comai, S. 2 ; Sánchez-Figueroa, F. 1 1 Quercus Software Engineering group. Universidad de Extremadura

More information

Time: A Coordinate for Web Site Modelling

Time: A Coordinate for Web Site Modelling Time: A Coordinate for Web Site Modelling Paolo Atzeni Dipartimento di Informatica e Automazione Università di Roma Tre Via della Vasca Navale, 79 00146 Roma, Italy http://www.dia.uniroma3.it/~atzeni/

More information

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario Oracle Service Bus Situation A service oriented architecture must be flexible for changing interfaces, transport protocols and server locations - service clients have to be decoupled from their implementation.

More information

Model Simulation in Rational Software Architect: Business Process Simulation

Model Simulation in Rational Software Architect: Business Process Simulation Model Simulation in Rational Software Architect: Business Process Simulation Mattias Mohlin Senior Software Architect IBM The BPMN (Business Process Model and Notation) is the industry standard notation

More information

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume L, Number 2, 2005 AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY ANNA LISA GUIDO, ROBERTO PAIANO, AND ANDREA PANDURINO Abstract.

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

IBM Rational Web Developer for WebSphere Software Version 6.0

IBM Rational Web Developer for WebSphere Software Version 6.0 Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,

More information

Run-time Service Oriented Architecture (SOA) V 0.1

Run-time Service Oriented Architecture (SOA) V 0.1 Run-time Service Oriented Architecture (SOA) V 0.1 July 2005 Table of Contents 1.0 INTRODUCTION... 1 2.0 PRINCIPLES... 1 3.0 FERA REFERENCE ARCHITECTURE... 2 4.0 SOA RUN-TIME ARCHITECTURE...4 4.1 FEDERATES...

More information

MODEL-DRIVEN WEB USAGE ANALYSIS FOR THE EVALUATION OF WEB APPLICATION QUALITY

MODEL-DRIVEN WEB USAGE ANALYSIS FOR THE EVALUATION OF WEB APPLICATION QUALITY Journal of Web Engineering, Vol. 3, No. 2 (2004) 124 152 c Rinton Press MODEL-DRIVEN WEB USAGE ANALYSIS FOR THE EVALUATION OF WEB APPLICATION QUALITY PIERO FRATERNALI, PIER LUCA LANZI, MARISTELLA MATERA,

More information

Modeling the User Interface of Web Applications with UML

Modeling the User Interface of Web Applications with UML Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de

More information

Oracle Service Bus Examples and Tutorials

Oracle Service Bus Examples and Tutorials March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan

More information

A Framework For Rapid Development Of OLTP Information Systems: Transformation Of SQL Statements To Three-Tier Web Applications

A Framework For Rapid Development Of OLTP Information Systems: Transformation Of SQL Statements To Three-Tier Web Applications A Framework For Rapid Development Of OLTP Information Systems: Transformation Of SQL Statements To Three-Tier Web Applications Teduh Dirgahayu Department of Informatics Indonesian Islamic University Yogyakarta,

More information

Ontological Identification of Patterns for Choreographing Business Workflow

Ontological Identification of Patterns for Choreographing Business Workflow University of Aizu, Graduation Thesis. March, 2010 s1140042 1 Ontological Identification of Patterns for Choreographing Business Workflow Seiji Ota s1140042 Supervised by Incheon Paik Abstract Business

More information

Oracle Application Development Framework Overview

Oracle Application Development Framework Overview An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services

More information

Enterprise Integration Architectures for the Financial Services and Insurance Industries

Enterprise Integration Architectures for the Financial Services and Insurance Industries George Kosmides Dennis Pagano Noospherics Technologies, Inc. gkosmides@noospherics.com Enterprise Integration Architectures for the Financial Services and Insurance Industries Overview Financial Services

More information

CAPTURING APPLICATION-DOMAIN SPECIFIC PATTERNS IN A WEB APPLICATION: THE E-LEARNING PARADIGM

CAPTURING APPLICATION-DOMAIN SPECIFIC PATTERNS IN A WEB APPLICATION: THE E-LEARNING PARADIGM CAPTURING APPLICATION-DOMAIN SPECIFIC PATTERNS IN A WEB APPLICATION: THE E-LEARNING PARADIGM Dimitra Dimitrakopoulou 2, Maria Rigou 1,2, Spiros Sirmakessis 1,3, Athanasios Tsakalidis 1,2, Giannis Tzimas

More information

Lightweight Data Integration using the WebComposition Data Grid Service

Lightweight Data Integration using the WebComposition Data Grid Service Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed

More information

HP Systinet. Software Version: 10.01 Windows and Linux Operating Systems. Concepts Guide

HP Systinet. Software Version: 10.01 Windows and Linux Operating Systems. Concepts Guide HP Systinet Software Version: 10.01 Windows and Linux Operating Systems Concepts Guide Document Release Date: June 2015 Software Release Date: June 2015 Legal Notices Warranty The only warranties for HP

More information

Productivity Comparison for Building Applications and Web Services

Productivity Comparison for Building Applications and Web Services Productivity Comparison for Building Applications and Web Services Between The Virtual Enterprise, BEA WebLogic Workshop and IBM WebSphere Application Developer Prepared by Intelliun Corporation CONTENTS

More information

Enterprise Application Designs In Relation to ERP and SOA

Enterprise Application Designs In Relation to ERP and SOA Enterprise Application Designs In Relation to ERP and SOA DESIGNING ENTERPRICE APPLICATIONS HASITH D. YAGGAHAVITA 20 th MAY 2009 Table of Content 1 Introduction... 3 2 Patterns for Service Integration...

More information

ActiveVOS Server Architecture. March 2009

ActiveVOS Server Architecture. March 2009 ActiveVOS Server Architecture March 2009 Topics ActiveVOS Server Architecture Core Engine, Managers, Expression Languages BPEL4People People Activity WS HT Human Tasks Other Services JMS, REST, POJO,...

More information

Complex Information Management Using a Framework Supported by ECA Rules in XML

Complex Information Management Using a Framework Supported by ECA Rules in XML Complex Information Management Using a Framework Supported by ECA Rules in XML Bing Wu, Essam Mansour and Kudakwashe Dube School of Computing, Dublin Institute of Technology Kevin Street, Dublin 8, Ireland

More information

A Business Process Services Portal

A Business Process Services Portal A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

1 What Are Web Services?

1 What Are Web Services? Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1) E14294-04 January 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include: What

More information

Designing portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development

Designing portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development Designing portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development By Kenji Uchida Software Engineer IBM Corporation Level: Intermediate

More information

Model-driven Development of Social Network enabled Applications with WebML and Social Primitives

Model-driven Development of Social Network enabled Applications with WebML and Social Primitives Model-driven Development of Social Network enabled Applications with WebML and Social Primitives Marco Brambilla Politecnico di Milano Dip. di Elettronica e Informazione P.za L. Da Vinci, Milano, Italy

More information

The Role of Visual Tools in a Web Application Design and Verification Framework: A Visual Notation for LTL Formulae

The Role of Visual Tools in a Web Application Design and Verification Framework: A Visual Notation for LTL Formulae The Role of Visual Tools in a Web Application Design and Verification Framework: A Visual Notation for LTL Formulae Marco Brambilla 1, Alin Deutsch 2, Liying Sui 2, and Victor Vianu 2 1 Dipartimento Elettronica

More information

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application Siti Azreena Mubin Faculty of Computer Science and Information Technology, Universiti Putra Malaysia, 43400 Serdang,

More information

Curriculum Vitae MARCO BRAMBILLA

Curriculum Vitae MARCO BRAMBILLA MARCO BRAMBILLA Family name: Brambilla First name: Marco Organisation: Politecnico di Milano Current Position and Department: Ricercatore confermato (Assistant Professor) Dipartimento di Elettronica e

More information

A FRAMEWORK FOR THE ANALYSIS AND COMPARISON OF HYPERMEDIA DESIGN METHODS

A FRAMEWORK FOR THE ANALYSIS AND COMPARISON OF HYPERMEDIA DESIGN METHODS A FRAMEWORK FOR THE ANALYSIS AND COMPARISON OF HYPERMEDIA DESIGN METHODS Susana Montero, Paloma Díaz and Ignacio Aedo Laboratorio DEI. Dpto. de Informática Universidad Carlos III de Madrid Avda. de la

More information

Source Code Translation

Source Code Translation Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven

More information

PIE. Internal Structure

PIE. Internal Structure PIE Internal Structure PIE Composition PIE (Processware Integration Environment) is a set of programs for integration of heterogeneous applications. The final set depends on the purposes of a solution

More information

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Enterprise Web 2.0 >>> FAST White Paper November 2006 Abstract Modern Rich Internet Applications for SOA have to cope with

More information

Objectif. Participant. Prérequis. Pédagogie. Oracle SOA Suite 11g - Build Composite Applications. 5 Jours [35 Heures]

Objectif. Participant. Prérequis. Pédagogie. Oracle SOA Suite 11g - Build Composite Applications. 5 Jours [35 Heures] Plan de cours disponible à l adresse http://www.adhara.fr/.aspx Objectif Describe SOA concepts and related technology Create an SOA Composite application using JDeveloper Work with Mediator components

More information

Service-oriented Development of Federated ERP Systems

Service-oriented Development of Federated ERP Systems Service-oriented Development of Federated ERP Systems Nico Brehm, Jorge Marx Gómez Department of Computer Science, Carl von Ossietzky University Oldenburg, Ammerländer Heerstrasse 114-118, 26129 Oldenburg,

More information

A Software Engineering Approach to Design and Development of Semantic Web Service Applications

A Software Engineering Approach to Design and Development of Semantic Web Service Applications A Software Engineering Approach to Design and Development of Semantic Web Service Applications Marco Brambilla 1, Irene Celino 2, Stefano Ceri 1, Dario Cerizza 2, Emanuele Della Valle 2, Federico Michele

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

Business Intelligence and Service Oriented Architectures. An Oracle White Paper May 2007

Business Intelligence and Service Oriented Architectures. An Oracle White Paper May 2007 Business Intelligence and Service Oriented Architectures An Oracle White Paper May 2007 Note: The following is intended to outline our general product direction. It is intended for information purposes

More information

A SOA visualisation for the Business

A SOA visualisation for the Business J.M. de Baat 09-10-2008 Table of contents 1 Introduction...3 1.1 Abbreviations...3 2 Some background information... 3 2.1 The organisation and ICT infrastructure... 3 2.2 Five layer SOA architecture...

More information

What is BPM? Software tools enabling BPM

What is BPM? Software tools enabling BPM What is BPM? BPM, or Business Process Management, is a technology, but it is also more than that. Broadly speaking, one can consider BPM as a management discipline in which processes are valued as assets

More information

SODDA A SERVICE-ORIENTED DISTRIBUTED DATABASE ARCHITECTURE

SODDA A SERVICE-ORIENTED DISTRIBUTED DATABASE ARCHITECTURE SODDA A SERVICE-ORIENTED DISTRIBUTED DATABASE ARCHITECTURE Breno Mansur Rabelo Centro EData Universidade do Estado de Minas Gerais, Belo Horizonte, MG, Brazil breno.mansur@uemg.br Clodoveu Augusto Davis

More information

Rapid Development of Modular Dynamic Web Sites using UML

Rapid Development of Modular Dynamic Web Sites using UML Rapid Development of Modular Dynamic Web Sites using UML Tim Schattkowsky 1, Marc Lohmann 2 1 Paderborn University, C-LAB, D-33102 Paderborn, Germany tim@c-lab.de 2 Paderborn University, Department of

More information

Reverse Engineering in Data Integration Software

Reverse Engineering in Data Integration Software Database Systems Journal vol. IV, no. 1/2013 11 Reverse Engineering in Data Integration Software Vlad DIACONITA The Bucharest Academy of Economic Studies diaconita.vlad@ie.ase.ro Integrated applications

More information

Designing Rich Internet Applications Combining UWE and RUX-Method

Designing Rich Internet Applications Combining UWE and RUX-Method Designing Rich Internet Applications Combining UWE and RUX-Method Juan Carlos Preciado, Marino Linaje, Rober Morales-Chaparro, Fernando Sanchez-Figueroa Quercus SEG. Universidad de Extremadura {jcpreciado,

More information

Designing Business Processes in E-commerce Applications

Designing Business Processes in E-commerce Applications Designing Business Processes in E-commerce Applications Hans Albrecht Schmid 1 and Gustavo Rossi 2 1 University of Applied Sciences, Konstanz, Germany. schmidha@fh-konstanz.de 2 LIFIA-Universidad Nacional

More information

Service-Oriented Architectures

Service-Oriented Architectures Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems

More information

Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting

Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting S.N.CHEONG AZHAR K.M. M. HANMANDLU Faculty Of Engineering, Multimedia University, Jalan Multimedia,

More information

i-questionnaire A Software Service Tool for Data

i-questionnaire A Software Service Tool for Data i-questionnaire A Software Service Tool for Data Analysis in e-business 1 ANDY S.Y. LAI, 2 Y.C. POON 1, Department of Information and Communications Technology, Hong Kong Institute of Vocational Education,

More information

TOWARDS SEMANTIC INTEROPERABILTY In-depth comparison of two approaches to solving Semantic Web Service Challenge mediation tasks

TOWARDS SEMANTIC INTEROPERABILTY In-depth comparison of two approaches to solving Semantic Web Service Challenge mediation tasks TOWARDS SEMANTIC INTEROPERABILTY In-depth comparison of two approaches to solving Semantic Web Service Challenge mediation tasks Maciej Zaremba, Tomas Vitvar, Matthew Moran Digital Enterprise Research

More information

A Visual Language Based System for the Efficient Management of the Software Development Process.

A Visual Language Based System for the Efficient Management of the Software Development Process. A Visual Language Based System for the Efficient Management of the Software Development Process. G. COSTAGLIOLA, G. POLESE, G. TORTORA and P. D AMBROSIO * Dipartimento di Informatica ed Applicazioni, Università

More information

Web Application Development for the SOA Age Thinking in XML

Web Application Development for the SOA Age Thinking in XML Web Application Development for the SOA Age Thinking in XML Enterprise Web 2.0 >>> FAST White Paper August 2007 Abstract Whether you are building a complete SOA architecture or seeking to use SOA services

More information

Classic Grid Architecture

Classic Grid Architecture Peer-to to-peer Grids Classic Grid Architecture Resources Database Database Netsolve Collaboration Composition Content Access Computing Security Middle Tier Brokers Service Providers Middle Tier becomes

More information

XML DATA INTEGRATION SYSTEM

XML DATA INTEGRATION SYSTEM XML DATA INTEGRATION SYSTEM Abdelsalam Almarimi The Higher Institute of Electronics Engineering Baniwalid, Libya Belgasem_2000@Yahoo.com ABSRACT This paper describes a proposal for a system for XML data

More information

The BPM to UML activity diagram transformation using XSLT

The BPM to UML activity diagram transformation using XSLT The BPM to UML activity diagram transformation using XSLT Ondřej Macek 1 and Karel Richta 1,2 1 Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University,

More information

1 What Are Web Services?

1 What Are Web Services? Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1.6) E14294-06 November 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include:

More information

The Expressive Power of UML-based Web Engineering 1

The Expressive Power of UML-based Web Engineering 1 The Expressive Power of UML-based Web Engineering 1 NORA KOCH AND ANDREAS KRAUS Ludwig-Maximilians-Universität München. Germany UML-based Web Engineering (UWE) is a development process for Web applications

More information

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED LOGICAL DESIGN MODEL LANGUAGE SPECIFICATIONS

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED LOGICAL DESIGN MODEL LANGUAGE SPECIFICATIONS SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED LOGICAL DESIGN MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The -Oriented Modeling Framework (SOMF)...

More information

XML Processing and Web Services. Chapter 17

XML Processing and Web Services. Chapter 17 XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing

More information

Generating Enterprise Applications from Models

Generating Enterprise Applications from Models Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,

More information

Automated Test Approach for Web Based Software

Automated Test Approach for Web Based Software Automated Test Approach for Web Based Software Indrajit Pan 1, Subhamita Mukherjee 2 1 Dept. of Information Technology, RCCIIT, Kolkata 700 015, W.B., India 2 Dept. of Information Technology, Techno India,

More information

UML-based Test Generation and Execution

UML-based Test Generation and Execution UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA jeanhartmann@siemens.com ABSTRACT

More information

Patterns in Software Engineering

Patterns in Software Engineering Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 7 GoV Patterns Architectural Part 1 1 GoV Patterns for Software Architecture According to Buschmann et al.: A pattern for software architecture

More information

An Approach for Designing Ubiquitous Web Applications: A Case Study

An Approach for Designing Ubiquitous Web Applications: A Case Study An Approach for Designing Ubiquitous Web Applications: A Case Study Vito Perrone, Paolo Paolini perrone paolini@elet.polimi.it HOC (Hypermedia Open Center) Politecnico di Milano Via Ponzio 34/5-20133 Milano

More information

Business Process Modelling Languages

Business Process Modelling Languages Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Business Process Modelling Languages Paola Turci AOT Lab - DII - Università di Parma Business

More information

BUILDING OLAP TOOLS OVER LARGE DATABASES

BUILDING OLAP TOOLS OVER LARGE DATABASES BUILDING OLAP TOOLS OVER LARGE DATABASES Rui Oliveira, Jorge Bernardino ISEC Instituto Superior de Engenharia de Coimbra, Polytechnic Institute of Coimbra Quinta da Nora, Rua Pedro Nunes, P-3030-199 Coimbra,

More information

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework

More information

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University Sections 9.1 & 9.2 Corba & DCOM John P. Daigle Department of Computer Science Georgia State University 05.16.06 Outline 1 Introduction 2 CORBA Overview Communication Processes Naming Other Design Concerns

More information

How To Use X Query For Data Collection

How To Use X Query For Data Collection TECHNICAL PAPER BUILDING XQUERY BASED WEB SERVICE AGGREGATION AND REPORTING APPLICATIONS TABLE OF CONTENTS Introduction... 1 Scenario... 1 Writing the solution in XQuery... 3 Achieving the result... 6

More information