UML (Unified Modeling Language) is a modeling language standardized by the OMG.
The objective of this language is to provide system architects, software engineers and software developers with tools for the analysis, design and implementation of software-based systems, as well as for modeling business and similar processes.
One of its primary goals is to advance the state of the industry by enabling object visual modeling tool interoperability. In order to enable a meaningful exchange of model information between tools, UML meets the following requirements:
In 1990 Modelio defined and published an object-oriented method called Class Relation, supported by a case tool called Objecteering. At the time, Class Relation was a very advanced OO method, already able to support model-driven development. In 1996, Modelio joined the UML standardization team within the OMG, and since then, Modelio has participated in the elaboration of the different UML versions. The UML profile mechanism was one of the contributions from Modelio.
Some metamodel parts or constructs are not well defined and subject to change. The UML metamodel is too complex, in particular but not only due to the heavily used "Package Merge" mechanism. These are concerns that will lead to yet more evolutions of the standard.
This is why Objecteering and Modelio implement the entire UML standard, using a pragmatic approach. The Modelio metamodel was designed to be easy to understand, use and handle, while remaining as close as possible to the standard. It also provides some additional features and end user simplifications that make UML easier to use and extend.
Modelio implements the UML interchange standard (XMI), and has validated it with the OMG MIWG (Model Interchange Working Group) in order to guarantee that the Modelio XMI import and export services are standard-compliant and efficiently work with other UML tools.
Service Oriented Architecture (SOA) is a way of describing and understanding organizations, communities and systems in order to maximize agility, scale and interoperability. The SOA approach is simple – people, organizations and systems provide services to each other. These services allow us to get something done without doing it ourselves or even without knowing how to do it, helping us be more efficient and agile. Services also enable us to offer our capabilities to others in exchange for some value, thus establishing a community, process or marketplace. The SOA paradigm works equally well for integrating existing capabilities as for creating and integrating new capabilities.
A service is a value delivered to another through a well-defined interface and available to a community (which may be the general public). A service results in work provided to one by another. Thus, SOA is an architectural paradigm for defining how people, organizations and systems provide and use services to achieve results.
SOA has been associated with a variety of approaches and technologies. SOA is first and foremost an approach to systems architecture, where architecture is a way to understand and specify how things can best work together to meet a set of goals and objectives. In this context, systems include organizations, communities and processes as well as information technology systems. The architectures described with SOA may be business architectures, mission architectures, community architectures or information technology systems architectures – all can be equally service oriented. The SOA approach to architecture helps with separating the concerns of what needs to get done from how it gets done, where it gets done or who or what does it. Some other views of SOA and “Web Services” are very technology focused and deal with the “bits and bytes” of distributed computing.
Enterprise Information Systems tend to be a group of monolithic applications, organized in silos that depend on techonology and/or business units. The increasing complexity and demand on Information Systems has resulted in information systems which are hard to maintain, hard to make evolve, and not well aligned to business needs.
SOA architecture helps design systems that are no longer monolithic and application-oriented. This provides agile information systems that are aligned to the business, thereby avoiding redundancy and facilitating communications and sharing within the IS.
SOA does not provide the whole solution by itself. However, associated with Enterprise Architecture, SOA helps encompass IT and the business in a global vision.
Modelio is one of the many contributors to the OMG's SoaML standard.
SoaML is a standard modeling language dedicated to designing and modeling SOA solutions using the Unified Modeling Language® (UML®). SoaML is mainly defined as a UML profile that uses the built-in extension mechanisms of UML to define SOA concepts in terms of existing UML concepts. SoaML can be used with current “off the shelf” UML tools although some tools may offer enhanced modeling capabilities.
SoaML integrates modeling capabilities to support the use of SOA at different levels and with different methodologies, in particular support for the “contract-based” and “interface-based” approaches which, in general, follow the “ServiceContract” and “ServiceInterface” elements of the SoaML profile respectively.
Modelio provides a module dedicated to SOA modeling named Modelio TOGAF Architect. This module, which is integrated in the Modelio BA - Enterprise Architect product, is based on the usual notions and approaches to model SOA architectures. It is purposely simple, in order to be easily usable by users who are not necessarily well-versed in the arcanes of UML. Its main concepts are:
Modelio provides model transformations and generators to easily and quickly transform an SOA architecture model into a software model and then into an implementation, for example by generating XML schemas, WSDL web services, BPEL orchestration, SQL database schemas, BPMN mapping or using Java code generator.
The SoaML profile is a much more complex model that supports a wide variety of methodologies and requires a thorough understanding of UML. Modelio already has an implementation of an SoaML profile which is published as an open source module (available in the Modelio Store). The use of this SoaML module and of the TOGAF Architect module will be mutually exclusive, since each implements a different approach to SOA modeling.
Enterprise Architecture (EA) is a discipline that has gained and will continue to gain huge importance to master enterprise organization and its IT support.
Enterprise Architecture is a complete expression of the enterprise, a master plan which “acts as a collaboration force” between aspects of business planning (such as goals, visions, strategies and governance principles), aspects of business operations (such as business terms, organization structures, processes and data), aspects of automation (such as information systems and databases) and the enabling technological infrastructure of the business (such as computers, operating systems and networks).
Enterprise architects use various business methods, analytical techniques and conceptual tools to understand and document the structure and dynamics of an enterprise. In doing so, they produce lists, drawings, documents and models, together called "artifacts". These artifacts describe the logical organization of business functions, business capabilities, business processes, people, information resources, business systems, software applications, computing capabilities, information exchange and communications infrastructure within the enterprise.
Several enterprise architecture frameworks break down the practice of enterprise architecture into a number of practice areas or "domains" (also called viewpoints, layers or aspects).
The dividing of the practice into a number of domains allows enterprise architects to describe an enterprise from a number of important perspectives, dividing the descriptive task between many participants and allowing the practice as a whole to make good use of individual domain-specific expertise and knowledge. By taking this approach, enterprise architects can ensure a holistic description of the design of the enterprise is produced.
Modelio integrates the entire set of models necessary to cover the whole scope of Enterprise Architecture. It supports goal analysis through its Analyst module, which also provides support for business rules and domain dictionaries. Modelio BA - Enterprise Architect provides dedicated Enterprise Architecture modeling support by integrating UML and BPMN, in order to provide both integrated business process modeling support and TOGAF-dedicated modeling support.
The support Modelio provides is based on well-defined standards (UML, BPMN, TOGAF, BMM). Enterprise Architecture extensions are added to this using the UML profile technique. Modelio offers dedicated diagrams for modeling organization, business process maps, application maps, SOA architecture views, etc.
Modelio provides a unique repository for all aspects of Enterprise Architecture, thus helping to achieve the Enterprise Continuum recommended by TOGAF.
Standards such as TOGAF, MODAF, DODAF provide definitions and predefined viewpoints for enterprise architecture. There also exist open methodologies such as PRAXEME (www.praxeme.org) that specify how to model and realize enterprise architecture. A wide diversity of tools and company-specific practices for enterprise architecture development exist.
Business Process Modeling Notation (BPMN) is a graphical representation used to specify business processes in a workflow.
The Business Process Modeling Notation (BPMN) is a standard for business process modeling that provides a graphical notation for specifying business processes in a Business Process Diagram (BPM), based on a flowcharting technique very similar to that used in UML activity diagrams. The objective of BPMN is to support business process management for both technical and business users, while still being able to represent complex process semantics. The BPMN specification also provides a mapping between the graphics of the notation and the underlying constructs of the execution languages, particularly BPEL (Business Process Execution Language).
Modelio provides wide support of modeling, covering the entire scope from enterprise vision through software implementation, including Enterprise Architecture and business process modeling. Modelio integrates all the necessary modeling techniques within one consistent modeling tool.
In particular, Modelio is one of the very rare tools to integrate UML2 and BPMN2 support in a single metamodel, allowing smooth and consistent modeling across the entire modeling scope.
Modelio also provides process map modeling, with dedicated diagrams showing an overview of existing business processes, which are then modeled in detail using BPMN.
BPMN was originally developed by Business Process Management Initiative (BPMI), which has since merged with the Object Management Group (OMG). The most recent version of BPMN is BPMN2.0, now supported by many tools. However, BPMN1.2 was very popular and most tools are still at BPMN1.2 level.
The primary goal of BPMN is to provide a standard notation that is readily understandable by all business stakeholders. These stakeholders include business analysts who create and refine processes, technical developers responsible for implementing processes, and business managers who monitor and manage processes. Consequently, BPMN is intended to serve as a common language to bridge the communication gap that frequently occurs between business process design and implementation.
BPMN supports only those modeling concepts that are applicable to business processes. This means that other types of modeling carried out by organizations for non-business purposes will be outside the scope of BPMN. For example, the modeling of organizational structures, functional breakdowns and datamodels will not be a part of BPMN.
Download the " World Wide Modeling: The agility of the web applied to model repositories" white paper. </>