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



Similar documents
Tool Support for Model Checking of Web application designs *

How To Evaluate Web Applications

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

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

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

Aplicando enfoque MDE a aplicaciones WEB-SOA

OntoWebML: A Knowledge Base Management System for WSML Ontologies

Process Modeling in Web Applications

DESIGNING WEB APPLICATIONS WITH WEBML AND WEBRATIO

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

SOFTWARE TESTING TRAINING COURSES CONTENTS

Conceptual-Level Log Analysis for the Evaluation of Web Application Quality

Revel8or: Model Driven Capacity Planning Tool Suite

MSWL Development & Tool. Eclipse IDE

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

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

Testing Web Applications: Tools and Techniques

What is BPM? Software tools enabling BPM

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

Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

A Framework of Model-Driven Web Application Testing

Modern Software Development Tools on OpenVMS

XFlash A Web Application Design Framework with Model-Driven Methodology

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Web Application Development Focused on BP Specifications*

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

Time: A Coordinate for Web Site Modelling

Domain-Specific Modeling and Code Generation for Cross-Platform Multi-Device Mobile Apps

Build management & Continuous integration. with Maven & Hudson

MDA Transformations Applied to Web Application Development 1

A standards-based approach to application integration

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

A Model Driven Architecture Approach to Web Development

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Koen Aers JBoss, a division of Red Hat jbpm GPD Lead

Metamodels and Modeling Multiple Kinds of Information Systems

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS

PHPlus Framework + IDE for Rapid Web Application Development using PHP

Software Development Kit

Instrumentation Software Profiling

Professional. SlickEdif. John Hurst IC..T...L. i 1 8 О 7» \ WILEY \ Wiley Publishing, Inc.

RUX-Method

Web Development with the Eclipse Platform

Business Process Management

SERG. Integration of Data Validation and User Interface Concerns in a DSL for Web Applications

Meister Going Beyond Maven

Embarcadero DB Change Manager 6.0 and DB Change Manager XE2

Role Based Access Control for the interaction with Search Engines

Semarchy Convergence for Data Integration The Data Integration Platform for Evolutionary MDM

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

SAP NetWeaver Opens SAP ERP world. Amedeo Prodi SAP Italia

DDI Lifecycle: Moving Forward Status of the Development of DDI 4. Joachim Wackerow Technical Committee, DDI Alliance

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

A Cloud Architecture for an Extensible Multi-Paradigm Modeling Environment

Maven or how to automate java builds, tests and version management with open source tools

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

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

Foundations of Model-Driven Software Engineering

Enterprise Integration: operational models of business processes and workflow systems *

SAP HANA Core Data Services (CDS) Reference

creating a text-based editor for eclipse

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

An Easier Way for Cross-Platform Data Acquisition Application Development

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Getting Started Guide Testable Architecture

Building Java Servlets with Oracle JDeveloper

Practical Application of Service Oriented Architecture

Transcription:

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 {roberto.acerbis, aldo.bongio, stefano.butti}@webratio.com 2 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci, 32. I20133 Milano, Italy mbrambil@elet.polimi.it Abstract: The goal of this work is to present the software WebRatio 5, which is a good representative of a new generation of CASE tools for model-driven design of Web applications. WebRatio 5 supports the WebML language and methodology, and exploits the implementation experience of previous versions of the software for providing user-friendly application design paradigms and reliable code generation engines. The tool is developed as a set of Eclipse plugins and takes advantage of all the features of this IDE framework. Moreover, it provides new capabilities in terms of support of extensions to the models, project documentation, and coverage of new phases of the development lifecycle. The overall approach moves towards a full coverage of the specification, design, verification, and implementation of Web applications. 1. Introduction and motivation Although new paradigms of Web applications are arising, data-intensive Web applications still constitute the most diffused class of applications found on the Web. Since their size and complexity are typically high, the ideal software development process for this kind of applications should meet two goals: (i) incorporate requirements and model driven design in the development lifecycle; (ii) delivering a software architecture that meets the non-functional requirements of performance, security, scalability, availability, maintainability, usability, and high visual quality. Such process should also be amenable to automation, to let developers concentrate on functional requirements and optimization, and delegate the repetitive tasks (such as code implementation) to software tools. The model-driven design of this kind of Web applications should start from well established requirement specifications and involves the definition of a data model (to specify the data used by the application), a hypertext model (to describe the organization of the front-end interface) and a presentation model (to personalize the graphical aspect of the interface). Afterwards, model verification and model transformations (e.g., for generating the running code) should be provided to

complete the development process. Unfortunately, no existing CASE tool can claim to support all these aspects of the development. In this work we present the CASE software WebRatio 5 [10], representing a new generation of model-driven CASE tools for Web applications. WebRatio 5 supports the WebML language and methodology, and exploits the implementation experience of previous versions of the software for providing user-friendly application design paradigms and reliable transformation engines. The tool is developed as a set of Eclipse plug-ins and takes advantage of its features. Moreover, it provides new capabilities in terms of support of extensions to the models, project documentation, and coverage of new phases of the development lifecycle. The main advantages of the new Eclipse version of WebRatio are the following: All the design and development activities are performed through a common interface. This includes the modeling of the Web application, the definition of the visual identity, and the development of new business components; All the design items (models, components, documentation, and so on) are stored into a common area (the so-called Eclipse workspace) and can be easily versioned into a versioning system, such as CVS; All the existing Eclipse widgets can be reused and integrated in the toolsuite; New and existing editors for model and code design can be easily integrated. The following sections outline the main features of the tool, provide some GUI examples and describe the overall philosophy of the WebRatio toolsuite, more and more moving towards a full coverage of development process of Web applications. 2. Supporting the design of WebML models WebRatio 5 fully supports the WebML metamodel [9] [3], including the most recent extensions for workflow-driven Web applications [2] and Web services [8]. WebML is a high-level notation for data-, service-, and process- centric Web applications. It allows specifying the data model of a Web application and one or more hypertext models (e.g., for different types of users) used to publish and manipulate the underlying data. Each hypertext is a graph of pages, consisting of connected units, representing at a conceptual level the primitives for publishing contents into pages. Units are connected by links, that define navigation paths and carry data to allow computation of the hypertext. Hypertexts also include operations that specify business actions, such as content management operations on the data or other kinds of tasks. Fig. 1. Java components and XML descriptors for WebRatio units.

3. WebRatio 5 architecture The design-time part of WebRatio 5 is a GUI for application design comprising a set of editors, a set of transformers and model validators, and some workspace management components. Models are saved as XML documents. The model is transformed into a running Web application through a code generator, which is developed using the ANT, XSLT, and Groovy technologies. Groovy [7] is an agile language using a Java-like syntax and fully integrated in the Java Platform. It provides many features that are inspired by scripting languages. The tool is integrated with CVS [1] for collaborative design and visual synchronization of project versions. The architecture is fully extensible, since it allows to specify new components (units) and include them in the application design and code generation framework. At design time, the components are described through a Java class that implements the service of the component and by a set of XML descriptor, defining its interface. The run-time framework exploits a set of off-the-shelf object-oriented components for organizing the business tier: Smart service creation: services that implement units or business actions are created upon request, cached, and reused across multiple requesters; Activity log: a set of pre-built functions for logging each service is provided; XML parsing and access: access to the information stored in the XML unit descriptors is granted by standard parsing tools; Connection pooling: pre-built functions for dynamically managing a pool of database connection allow to optimize performance and reliability. At runtime one single service class is deployed for each type of component (which is then instantiated with the smart service creation approach). Moreover, one runtime XML descriptor is deployed for each component used in the design (Fig. 1). 3. WebRatio 5 GUI WebRatio 5 has been implemented as a set of Eclipse [5] plug-ins. Eclipse is a framework for IDEs, in the sense that, besides being an IDE itself, it provides the infrastructure for defining new IDEs, i.e., new plug-ins for a particular programming language or model. For instance, plug-ins exist for Java, C/C++, Python, Perl, UML, and many others. Eclipse is an open source multi-platform framework, executable on Linux, Windows, and Mac OS X. The WebRatio GUI defines a special Eclipse perspective designed to better suit the needs of visual modelling. It comprises several panels, which include: Model diagram editors for the design of the WebML data model and hypertext models. The diagram editors are based on the GEF [6] framework and libraries. GEF is a very powerful framework for visually creating and editing models. Fig. 2 (a) shows a snapshot of the data model editor, comprising the project tree, the main diagram editor, the component panel (bottom left), the property panel (center), and the error panel (bottom right);

(a) (b) Fig. 2. Data model editor and HTML editor (with code completion) in WebRatio 5. Advanced text editors for the design of XML descriptors, Java components, and so on. The editors provide typical features like syntax highlighting, autocompletion, and so on. An example is shown in Fig. 2 (b); Form-based editors for the specification of new components and for the properties of components instances. Fig. 3 (a) shows the editor of Indexes; Wizards for the support of the most common design tasks (e.g., new projects); Documentation editors for refined and customized project documentation generation. For instance, Fig. 3 (b) shows the editing and the generated documentation for the Index unit component. The long-term focus of the WebRatio 5 is oriented towards the full coverage of the development process. In this sense, some new beta pieces are being developed, for project documentation generation and coverage of new design steps. For instance, a new fully-integrated Business Process editor and WebML model generator [1] is now available (Fig. 4 shows a sample snapshot). It generates skeletons of WebML models that comply with the BP specification and can be refined by the designer. (a) (b) Fig. 3. Component definition editor and project documentation editor in WebRatio 5.

Fig. 4. The BPMN business process editor for Eclipse. 4. Conclusions The proposed demonstration illustrates WebRatio 5, a CASE tool based on the Eclipse framework that allows the model-driven specification of a complex Web application, including process management primitives, calls to Web services, and integration of heterogeneous data sources. The demonstration shows that application developers can concentrate only on the requirements of the application and on its high-level design, because code and project documentation are automatically generated by the CASE tool and correctness is automatically verified. References [1] M. Brambilla. Generation of WebML Web Application Models from Business Process Specifications. Demo at ICWE2006, ACM Press, pp. 85-86, 2006. [2] M. Brambilla, S. Ceri, P. Fraternali, I. Manolescu. Process Modeling in Web Applications. ACM TOSEM, volume 15, number 4, October 2006, pp. 360-409. [3] S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera. Designing Data-Intensive Web Applications. Morgan Kaufmann, 2002 [4] CVS, Concurrent Versions System, http://www.nongnu.org/cvs/, 2007 [5] Eclipse, http://www.eclipse.org/, 2007 [6] Eclipse GEF, http://www.eclipse.org/gef/, 2007 [7] Groovy, http://groovy.codehaus.org/, 2007 [8] I. Manolescu, M. Brambilla, S. Ceri, S. Comai, P. Fraternali. Model-Driven Design and Deployment of Service-Enabled Web Applications. ACM TOIT, volume 5, number 3, August 2005, pp. 439-479. [9] WebML.org. http://www.webml.org, 2007 [10] WebRatio 4.3. http://www.webratio.com/, 2007