SOA stands for Service Oriented Architecture, i.e. a software architecture which is based on services and is not dominated by monolithic programs. SOA is therefore not a new technology to solve technical problems better, faster or more elegantly, but describes a paradigm for software development based on independent building blocks, the services. Technologically, SOA could be implemented decades ago, e.g. through the CORBA middleware. Nowadays, services are mostly offered via web services (SOAP).
The idea behind SOA is to create closed and independent services which are made available to the public through their interfaces via a network. These services are platform-independent and can be requested at runtime via a directory service. The encapsulated services can now be combined (orchestrated) into "higher" services.
Services can therefore be reused as required and thereby help to minimize the development costs of new "higher" services. The loose coupling of the services also facilitates the maintenance and expansion of the "higher" services. In order to achieve this flexibility, however, the current application landscape must first be restructured and replaced by services.
The introduction of SOA requires well-considered planning with the involvement of employees and management. In order to be able to cope with this planning effort, SparxSystems offers a variety of tools in its modeling platform Enterprise Architect.
Enterprise Architect, originally UML CASE Tool, now has a large number of modeling languages. In addition to UML, Maind Maps and Archimate (http://www.archimate.org/) models can be used to support team-based restructuring of your monolithic applications.
The language of (SOMF - Service-Oriented Modeling Framework), which was specifically defined by Michael Bell for SOA, is already supported by Enterprise Architect. Another language supported by Enterprise Architect is the SoaML (Service-Oriented Architecture Modeling Language) specified by the OMG, which was developed in response to the Call for Proposals for "UML Profiles and Metamodel for Services" (UPMF).
Once the individual services have been worked out, they can be used for handling more complex (“higher”) processes. The orchestration of the individual services into a large process can be defined in addition to UML activity diagrams with the languages BPMN (Business Process Modeling Notation) and eEPK (extended event-driven process chains) available in Enterprise Architect.
In order to be able to describe your SOA software development process, Enterprise Architect offers the language SPEM (Software and Systems Process Engineering Meta-model) specified by the OMG. This means that your project managers and other groups of people who are responsible for the creation and maintenance of development processes have a tool at hand to make these processes available to everyone involved in the project in a standardized manner.
Enterprise Architect is a cost-effective solution to advance your SOA projects and to provide your entire team with the necessary information. See for yourself, here you can download a 30 day trial version. If you are interested, write to vendor@SparxSystems.eu
SoaML Archimate SPEM BPMN MindMap