Service Oriented Architecture (SOA) has gained popularity as a design paradigm for realizing enterprise software systems through abstract units of functionality called services. While the key design principles of SOA have been discussed at length in the literature, much of the work is prescriptive in nature and do not explain how adherence to these principles can be quantitatively measured in practice. In some cases, metrics for a limited subset of SOA quality attributes have been proposed, but many of these measures have not been empirically validated on real-life SOA designs. In this paper, we take a deeper look at how the key SOA quality attributes of service cohesion, coupling, reusability, composability and granularity may be evaluated, based only on service design level information. We survey related work, adapt some of the well-known software design metrics to the SOA context and propose new measures where needed. These measures adhere to mathematical properties that characterize the quality attributes. We study their applicability on two real-life SOA design models from the insurance industry using a metrics computation tool integrated with an Eclipse-based service design environment. We believe that availability of these measures during SOA design will aid early detection of design flaws, allow different design options and trade-offs to be considered and support planning for development, testing and governance of the services.
Software developers often face steep learning curves in using a new framework, library, or new versions of frameworks for developing their piece of software. In large organizations, developers learn and explore use of frameworks, rarely realizing, several peers may have already explored the same. A tool that helps locate samples of code, demonstrating use of frameworks or libraries would provide benefits of reuse, improved code quality and faster development. This paper describes an approach for locating common samples of source code from a repository by providing extensions to an information retrieval system. The approach improves the existing approaches in two ways. First, it provides the scalability of an information retrieval system, supporting search over thousands of source code files of an organization. Second, it provides more specific search on source code by preprocessing source code files and understanding elements of the code as opposed to considering code as plain text.
The service-oriented modeling and architecture modeling environment (SOMA-ME) is first a framework for the model-driven design of service-oriented architecture (SOA) solutions using the service-oriented modeling and architecture (SOMA) method. In SOMA-ME, Unified Modeling Language (UMLe) profiles extend the UML 2.0 metamodel to domain-specific concepts. SOMA-ME is also a tool that extends the IBM Rationalt Software Architect product to provide a development environment and automation features for designing SOA solutions in a systematic and model-driven fashion. Extensibility, traceability, variation-oriented design, and automatic generation of technical documentation and code artifacts are shown to be some of the properties of the SOMA-ME tool.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.