Content area
Full text
Service-oriented modeling and architecture (SOMA) has been used to conduct projects of varying scope in multiple industries worldwide for the past five years. We report on the usage and structure of the method used to effectively analyze, design, implement, and deploy service-oriented architecture (SOA) projects as part of a fractal model of software development. We also assert that the construct of a service and service modeling, although introduced by SOA, is a software engineering best practice for which an SOA method aids both SOA usage and adoption. In this paper we present the latest updates to this method and share some of the lessons learned. The SOMA method incorporates the key aspects of overall SOA solution design and delivery and is integrated with existing software development methods through a set of placeholders for key activity areas, forming what we call solution templates. We also present a fractal model of software development that can enable the SOMA method to evolve in an approach that goes beyond the iterative and incremental and instead leverages method components and patterns in a recursive, self-similar manner opportunistically at points of variability in the life cycle.
INTRODUCTION
The evolution of software engineering has passed through various eras, including structured programming, analysis, and design and undulated between data orientation or process orientation until it finally brought us to the notion of object orientation, 1,2 where data and process unite to form the object (class). An object exposes a set of methods that can be invoked to manipulate underlying data structures whose implementations are hidden from the invoker. Object-oriented (OO) analysis and design (OOAD) methods abounded 2 in the early 1990s. Component-based software engineering then advanced the state of the art and built on the foundation laid by object orientation. The focus on the unit of deployment as the component gradually gave way to a protocol of remote invocation of those components over a distributed network using hitherto unprecedented consensus around standards in this arena. Distributed objects and remote-object invocation using Object Management Group CORBA**, Open Software Foundation Distributed Computing Environment (DCE), Microsoft Component Object Model (COM), and Sun Java** Remote Method Invocation (RMI) have continued to mature.
Eventually, within client/server and network-centric computing environments in which the client knows about...





