Computing Reviews

An accessible verification environment for UML models of services
Banti F., Pugliese R., Tiezzi F. Journal of Symbolic Computation46(2):119-149,2011.Type:Article
Date Reviewed: 04/08/11

Service-oriented architecture (SOA) is gaining a footing on enterprise architecture, where cross-domain applications exchange information based on the diverse needs of the industry. The inter-communication of the different Web services can involve either simple data passing (using Extensible Markup Language (XML), JavaScript Object Notation (JSON), or other popular data exchange formats) or multiple services that coordinate some activity or set of activities.

On the other hand, unified modeling language (UML) provides the bare-bones design model for remote procedure call (RPC)-based architectures such as simple object access protocol (SOAP). The popular Web services of today, however, have shifted toward representational state transfer (REST). That being said, a considerable number of Web services, such as Amazon, still use SOAP. For this type of Web service, a formal model to check the constraints imposed by the designer is in demand. Though some such approaches already exist, they are not highly effective.

UML4SOA is one of the most popular behavior profiling tools for modern Web services. This paper discusses taking the XML Metadata Interchange (XMI) files generated by MagicDraw (the tool for modeling the business logic in UML4SOA format) and passing them through Venus, a tool designed by the authors. Venus accepts the behavioral properties of the business logic as obtained in calculus for the orchestration of Web services (COWS) terms, and then checks and tells the user whether the properties are satisfied.

In Section 3, the authors define a multitude of properties of Web services. They offer good insight, since those properties must be satisfied for perfect coupling between two or more Web services. The authors’ choice of Java as the programming language is smart, but languages such as PHP, Ruby, and Python as platform-independent programming tools may be a better choice, considering their ease of programming and that they are tailor made for these types of applications. Using such languages instead of Java would reduce the execution time to a certain degree, since Venus is a combination of COWS, UStoC, and CMC.

In Section 4, the authors provide an introduction to COWS, including the underlying calculi in which they represent the UML by transforming from UML4SOA with UStoC. The authors use a number of operators from COWS, but they should have explained the functions of these operators in a bit more detail. For example, in Figure 2, a better explanation of the functions would have been helpful.

The descriptions of the COWS, UStoC, and CMC tools and their functions are very clear, and, in Sections 4 through 6, they enhance a proper understanding of the underlying framework of Venus. The idea of Venus is not novel; previous approaches along similar lines already exist. Venus, however, provides a more effective solution.

Venus will be useful to developers who use UML as a design tool for deploying Web applications. On the other hand, going by current trends, where a new version of a product may be launched in a cycle of 90 days or less (modern online games have a cycle of 30 days or so), this approach of designing a Web application is far more time consuming and requires more man hours. As RESTful Web services are more popular these days, a tool to validate the constraints and properties of such Web applications would be much more in demand.

Overall, this paper provides good insight into the authors’ tool. I recommend it to developers and testers who want to deploy applications related to these technologies.

Reviewer:  Bodhisatta Barman Roy Review #: CR138971 (1110-1077)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy