UML

UML est le Unified Modeling Language

Qu'est-ce qu'UML ?

UML (Unified Modeling Language) est un langage de modélisation standardisé par l'OMG.

UML a pour but de fournir aux architectes système et aux ingénieurs et développeurs logiciel les outils pour analyser, concevoir et mettre en oeuvre des systèmes basés sur des logiciels, et pour modéliser des processus métiers et d'autres processus similaires.

L'un des objectifs principaux d'UML est de faire avancer l'industrie à travers l'interopérabilité des outils de modélisation graphique orientés objet. Afin de permettre l'échange significative d'informations de modèles entre outils, UML satisfait les exigences suivantes :

  • Une définition formelle d'un méta-modèle commun, basé sur MOF, qui spécifie la syntaxe abstraite d'UML. Cette syntaxe abstraite définit l'ensemble des concepts de modélisation UML, avec leurs attributs et leurs relations, ainsi que les règles qui gouvernent la combinaison de ces concepts, afin de constuire des modèles UML partiels ou complets.
  • Une explication détaillée de la sémantique de chaque concept de la modélisation UML. Cette sémantique définit comment les concepts UML seront réalisés par les ordinateurs, indépendamment de toute technologie.
  • Une spécification des éléments lisibles par l'homme, pour la représentation des concepts individuels de la modélisation UML, ainsi que des règles qui gouvernent la combinaison de ces éléments en différents types de diagramme correspondant aux différents aspects des systèmes de modélisation.
  • Une définition détaillée des différentes façons de rendre des outils UML conformes à cette spécification. Cette exigence est supportée (dans une spécification à part) par une spécification (basée sur XML) des formats d'échange de modèle correspondants (XMI) qui doivent être réalisés par les outils conformes.

La contribution de Modelio à UML

En 1990, Modelio a défini et publié une méthode orientée objet nommé Class Relation, qui était supportée par un atelier de génie logiciel nommé Objecteering. A cette époque, Class Relation était une méthode orientée objet très avancée, déjà capable de supporter le développement piloté par le modèle. En 1996, Modelio a rejoint l'équipe de standardisation d'UML au sein de l'OMG, et depuis cette date, Modelio participe à l'élaboration des différentes versions du langage. Le mécanisme de profils UML fut l'une des contributions de Modelio.

Implémentation du méta-modèle UML par Modelio

Certaines parties du méta-modèle ne sont pas bien définies, ou sont susceptibles de changer. Le méta-modèle UML est trop complexe, notamment, mais pas seulement, à cause du mécanisme de "Package Merge", très fréquemment utilisé. Ces sujets mèneront très certainement à de nouvelles évolutions du standard.

Pour cette raison, Objecteering et Modelio mettent en oeuvre l'intégralité du standard UML, en utilisant une approche pragmatique. Le méta-modèle Modelio a été conçu pour être simple à comprendre, à utiliser et à gérer, tout en restant aussi fidèle que possible au standard. Il fournit également des fonctionnalités et des simplifications supplémentaires, rendant ainsi UML encore plus facile à utiliser et à étendre.

Modelio met en oeuvre le standard d'échange d'UML (XMI), standard qu'il a fait valider par le MIWG (Model Interchange Working Group) de l'OMG, afin de garantir que les services d'import et d'export XMI de Modelio soient conformes au standard, et fonctionnent bien avec d'autres outils UML.

SOA

Les architectures orientées services

Qu'est-ce que SOA ?

SOA (Service Oriented Architecture) est une façon de décrire et de comprendre des organismes, des communautés et des systèmes, afin de maximiser l'agilité, la graduation et l'interopérabilité. L'approche SOA est simple – les personnes, les organismes et les systèmes fournissent des services entre eux. Ces services nous permettent de faire faire quelque chose, sans que nous ayons besoin de le faire nous-mêmes, sans même que nous ayons besoin de savoir le faire nous-mêmes. Ceci nous aide à être plus efficace et plus agile. Les services nous permettent également à proposer nos capacités aux autres en échange de quelque valeur, établissant ainsi une communauté, un processus ou un marché. Le paradigme SOA fonctionnement tout aussi bien pour l'intégration des capacités existantes que pour la création et l'intégration de nouvelles capacités.

Un service est une valeur livrée à quelqu'un d'autre à travers une interface bien définie, disponible à une communauté (qui peut être le grand public). Un service a comme résultat un travail fait par l'un et fourni à l'autre. Ainsi, SOA est un paradigme architectural pour définir comment les personnes, les organismes et les systèmes fournissent et utilisent des services, afin d'obtenir des résultats.

Exemples de SOA

SOA technology

 

SOA technology

Les Approches SOA

SOA a été associée à une large gamme d'approches et de technologies. Tout d'abord, SOA est une approche à l'architecture des systèmes, où l'architecture est un moyen de comprendre et de spécifier comment les choses peuvent travailler ensemble de manière aussi efficace que possible, afin d'atteindre des buts et des objectifs précis. Dans ce contexte, les systèmes incluent les organismes, les communautés et les processus, ainsi que des systèmes informatiques. Les architectures décrités par SOA peuvent être des architectures métier, des architectures de missions, des architectures de communautés, ou des architectures de systèmes informatiques – toutes peuvent être orientées vers les services. L'approche SOA à l'architecture aide à séparer la question de ce qu'il faut faire de la question de comment le faire, où, par qui ou par quoi. Certaines vues de SOA et des "Web Services" se concentrent sur les technologies, traitant des "bits and bytes" de l'informatique distribué.

Les Bénéfices de SOA

Les Systèmes d'Informations d'Entreprise ont tendance à être des groupes d'applications monolithiques, organisés en silos qui dépendent des unités de technologies ou des unités métier. La complexité croissante des Systèmes d'Informations, ainsi que la demande augmentée à laquelle ils doivent faire face, ont mené aux systèmes d'informations mal alignés aux besoins métier, difficiles à maintenir et à faire évoluer.

L'architecture SOA aide les systèmes de conception qui ne sont plus monolithiques, ni orientés vers les applications. Ceci fournit des systèmes d'informations agiles qui sont bien alignés aux besoins métier, évitant ainsi la redondance et facilitant la communication et le partage au sein du système d'informations.

SOA ne fournit pas toute la solution. En revanche, lorsque l'on l'associe à l'Architecture d'Entreprise, SOA aide à englober les questions informatiques et les considérations métier dans une seule et unique vue globale.

La contribution de Modelio à SOA

Modelio figure parmi les nombreux contributeurs au standard SoaML de l'OMG.

SoaML est un langage de modélisation standard, dédié à la conception et à la modélisation de solutions SOA solutions utilisant le Unified Modeling Language® (UML®). SoaML est principalement défini comme un profil UML qui utilise les mécanismes d'extensions d'UML pour définir les concepts SOA en termes de concepts UML existants. SoaML peut être utilisé avec des outils UML "sur étagère" actuels, mais certains outils proposent des capacités de modélisation enrichies.

SoaML intègre des capacités de modélisation, afin de supporter l'usage de SOA à différents niveaux, et avec différentes méthodologies. En particulier, SoaML supporte les approches "contract-based" et "interface-based" qui, en général, suivent respectivement les éléments "ServiceContract" et "ServiceInterface" du profil SOA.

Le support Modelio de la Modélisation SOA

Modelio fournit un module dédié à la modélisation SOA : le module Modelio TOGAF Architect. Ce module, qui est intégré dans le produit Modelio BA - Enterprise Architect, est basé sur les notions et approches habituellement utilisées dans la modélisation d'architectures SOA. Il est délibérément simple, et donc facilement utilisable par des utilisateurs qui ne sont pas forcément des experts des arcanes d'UML. Ses principaux concepts sont les suivants :

  • Les composants "service" : Les composants "service" représentent les composants d'un système qui sont reliables à travers des services. Les composants "service" sont habituellement très grands (des applications ou systèmes complets qui peuvent être implémentés par des centaines de classes). La pratique standard est de structurer l'architecture basée sur les composants en plusieurs couches de types de composants "service" différents. Les composants "entité" sont des composants dédiés à la gestion de données système; les composants "processus" sont responsables de la mise en oeuvre d'un processus métier; les composants "présentation" gèrent l'accès à l'IHM. Cette classification introduit également les composants "fonctionnalité" (à mi-chemin entre les composants "processus" et les composants "entité") et les composants "utilité". De nombreuses méthodologies expliquent comment identifier ces composants, et définissent des règles qui gouvernent leur structuration en couches.
  • Services : Les services se décomposent en services fournis et services requis. Ils sont représentés de manière simplifiée par les ports sur les composants typés par une interface (la définition du service).
  • Connecteurs de composants : Les connecteurs de composants lient les composants, en assemblant les services fournis et les services requis, afin de former un système complet et cohérent.
  • Messages : Les messages représentent les informations échangées entre les composants service à travers les services. Ils sont typiquement implémentés comme documents XML.

Modelio fournit des transformations de modèles et des générateurs, afin de faciliter la transformation rapide d'un modèle d'architecture SOA en modèle logiciel, puis en implémentation, par exemple en générant les schémas XML, les services web WSDL, les orchestrations BPEL, les schémas de bases de données SQL, les mappings BPMN, ou en utilisant le générateur de code Java.

Le profil SoaML est un modèle bien plus complexe, supportant une large gamme de méthodologies, et nécessitant une compréhension approfondie d'UML. Modelio a déjà une implémentation d'un profil SoaML, publiée sous la forme d'un module open source dans le Modelio Store. L'utilisation de ce module SoaML ou du module TOGAF Architect doit être mutuellement exclusive, car chacun de ces deux modules met en oeuvre une approche différente à la modélisation SOA.

Architecture d'Entreprise

L'Architecture d'Entreprise fournit une expression complète de l'entreprise

Qu'est-ce que L'Architecture d'Entreprise ?

Le domaine de l'Architecture d'Entreprise (EA) a déjà gagné et va continuer à gagner beaucoup d'importance dans la maîtrise de l'organisation de l'entreprise et de son support informatique.

L'Architecture d'Entreprise est l'expression complète de l'enterprise, une sorte de plan de maîtrise qui fait collaborer les aspects du planning métier (les objectifs, les visions, les stratégies et les principes de gouvernance), les aspects des opérations métier (les termes métier, les structures d'organisation, les processus et les données), les aspects d'automation (les systèmes d'informations et les bases de données) et l'infrastructure technologique de l'entreprise (les ordinateurs, les systèmes d'opération et les réseaux).

Les architectes d'entreprise utilisent différentes techniques d'analyse et différents outils de conception pour comprendre et documenter la structure et la dynamique d'une entreprise. Ils produisent ainsi des listes, des dessins, des documents et des modèles, appelés communément "artéfacts". Ces artéfacts décrivent l'organisation logique des fonctionnalités métier, des capacités métier, des processus métier, des personnes, des ressources d'informations, des systèmes métier, des applications logicielles, des capacités informatiques, des échanges d'informations et de l'infrastructure de communication au sein de l'entreprise.

 

Domaines de l'Architecture d'Entreprise

Plusieurs frameworks d'architecture d'entreprise décomposent la pratique de l'architecture d'entreprise en plusieurs zones ou "domaines" (également appelés points de vue, couches ou aspects).

  • Il y a au moins deux domaines, "Modélisation Métier" et "Systèmes et Technologie Courants", que l'on peut ensuite décomposer en "Architecture de Données", "Architecture d'Applications" et "Architecture de Technologies".
  • Le framework populaire TOGAF divise la pratique en trois domaines, "Architecture Métier", "Architecture des Systèmes d'Informations" et "Architecture de Technologies", avant de décomposer l'architecture des systèmes d'informations en "Architecture d'Informations" et "Architecture d'Applications".
  • Le Modèle Stratégique d'Architecture permet la division flexible en jusqu'à dix domaines, couvrant plusieurs aspects d'une entreprise, depuis ses objectifs jusqu'à ses projets et programmes, en passant par ses applications et ses technologies logicielles.

La division de la pratique en plusieurs domaines permet aux architectes d'entreprise de décrire une entreprise de plusieurs points de vue importants, en allouant la tâche à plusieurs participants et en permettant ainsi la capitalisation de l'expertise et du savoirs spécifique au domaine. En utilisant cette approche, les architectes d'entreprise garantissent la production d'une description holistique de la conception de l'entreprise.

L'approche Modelio à l'Architecture d'Entreprise

Modelio intègre tous les modèles nécessaires à l'Architecture d'Entreprise. L'outil supporte l'analyse des objectifs grâce à son module Analyst, qui supporte également l'analyse des dictionnaire du domaine et des règles métier. Modelio BA - Enterprise Architect supporte la modélisation de l'Architecture d'Entreprise à travers, en intégrant UML et BPMN, afin de supporter la modélisation de processus métier intégrée et la modélisation dédiée TOGAF.

Le support fourni par Modelio se base sur les standards (UML, BPMN, TOGAF, BMM) auxquels on rajoute des extensions dédiées à l'Architecture d'Entreprise grâce à la technique des profils UML. Modelio fournit des diagrammes dédiés à la modélisation de l'organisation, des processus métier, des applications, des vues d'architectures SOA, et ainsi de suite.

Modelio utilise un référentiel unique pour tous les aspects de l'Architecture d'Entreprise, contribuant ainsi au Continuum de l'Entreprise recommandé par TOGAF.

 

Architecture repository

Approches de l'Architecture d'Entreprise

Approches métier

  • Vision : Objectifs, Stratégie
  • Organisation, Unités d'organisation, Déploiement géographique
  • Processus métier
  • Modèles métier, Règles métier, Concepts Clé métier

Approches d'applications

  • Inventaire d'applications logiciels
  • Inventaire de référentiels
  • Interfaces d'application logiciels, événements, messages, flux de données
  • Intra/Extra-net, eCommerce, EDI, liens internes et externes entre organisations
  • Modèles de données

Approches techniques

  • Hardware, réseaux, serveurs
  • Infrastructure logicielle : Serveurs d'applications, BDR, etc

Standards de l'Architecture d'Entreprise

Les standards tels que TOGAF, MODAF et DODAF fournissent des définitions et des points de vue prédéfinis pour l'architecture d'entreprise. Il existe également des méthodologies ouvertes, telles que PRAXEME (www.praxeme.org) qui précisent comment modéliser et réaliser des architectures d'entreprises. Une large gamme d'outils et de pratiques spécifiques aux sociétés existent pour le développement de l'architecture d'entreprise.

BPMN

BPMN est le standard pour la modélisation des processus métier

Qu'est-ce que BPMN ?

Business Process Modeling Notation (BPMN) est une représentation graphique permettant de définir des processus métier dans un flux d'informations.

Business Process Modeling Notation (BPMN) est un standard pour la modélisation de processus métier qui fournit une notation graphique permettant de définir des processus métier dans un diagramme de processus métier (BPM), basé sur une technique d'organigrammes très proche de celle utilisée par les diagrammes d'activité UML. L'objectif de BPMN est de supporter la gestion des processus métier pour les utilisateurs technique et métier, tout en étant capable de représenter des sémantiques complexes de processus. La spécification BPMN fournit aussi une relation entre les graphiques de la notation et les concepts sous-jacents des langages d'exécution BPEL (Business Process Execution Language).

L'approche Modelio à BPMN

Modelio fournit un support étendu de modélisation, couvrant complètement le cadre de la vision d'entreprise à travers l'implémentation logicielle, incluant l'Architecture d'Entreprise et la modélisation de processus métier. Modelio intègre toutes les techniques de modélisation nécessaires dans un outil de modélisation cohérent.

En particulier, Modelio est l'un des rares outils à intégrer le support d'UML2 et de BPMN2 dans un seul et unique méta-modèle, facilitant ainsi la cohérence sur toute la portée de la modélisation.

Modelio fournit aussi la modélisation de plans de processus, avec des diagrammes dédiés montrant un aperçu des processus métiers existants, qui sont alors modélisés en détail grâce à BPMN.

Histoire de BPMN

A l'origine, BPMN a été développé par le Business Process Management Initiative (BPMI), qui, depuis, a fusionné avec l'OMG (Object Management Group). La version la plus récente de BPMN est BPMN2.0, actuellement supportée par de nombreux outils. En revanche, BPMN1.2 a connu beaucoup de succès, et la plupart des outils sont encore au niveau de BPMN1.2.

Objectifs de BPMN

L'objectif principal de BPMN est de proposer une notation standard facilement compréhensible par les partenaires professionnels. Ces partenaires incluent les analystes métiers qui créent et raffinent les processus, les développeurs techniques responsables de l'implémentation des processus, et les directeurs commerciaux qui suivent et gèrent les processus. Par conséquent, BPMN est prévu pour servir comme langage visant à combler un déficit de communication qui survient souvent entre le design des processus métier et l'implémentation.

BPMN supporte seulement ces concepts de modélisation qui sont applicables aux processus métier. Ce qui signifie que d'autres types de modélisation réalisés par des organisations à caractères non commerciaux seront en dehors de la portée de BPMN. Par exemple, la modélisation de structures organisationnelles, les répartitions fonctionnelles et les modèles de données ne feront pas partie de BPMN.

Exemples de BPMN

Modèles BPMN

Modélisation BPMN business process maps

Modélisation distribuée à l'échelle mondiale

Distribuez et partagez vos modèles sur le web

Distribuer vos référentiels grâce aux "fragments de modèle"

  • Tout comme les pages web ou les sites web, les fragments de modèle peuvent être distribués à l'échelle mondiale.
  • Avec Modelio, la localisation des fragments de modèle est transparente.
  • Plusieurs utilisateurs peuvent partager le même fragment de modèle.
  • Les éléments de modèle originaires de différents fragments de modèle peuvent se référer mutuellement de manière transparente.
  • Les liens entre les fragments de modèle peuvent être cassés puis restaurés de manière transparente, à la manière des liens web.

constellation

A project containing model fragments

Un projet Modelio est un ensemble de fragments

  • Les fragments peuvent être locaux, partagés ou bien accessibles depuis le web.
  • Les fragments peuvent être utilisés par plusieurs projets.
  • Les liens de traçabilité peuvent être définis dans un projet entre tous les éléments des fragments de modèle sélectionnés.

Exemple : Un projet composé de fragments

  • Project model : Partagé avec plusieurs participants, géré avec Modelio Teamwork Manager, en utilisant la Modelio SD Java.
  • Test model : Modèle local sur l'ordinateur portable de l'utilisateur. Son objectif n'est que de permettre à l'utilisateur courant d'effectuer des tests locaux.
  • JDK 1.7 : Composant de modèle Modelio (bibliothèque de modèle), versionné et mis à jour selon les besoins du projet.
  • Project requirements : Accessible via le web (modèle en mode lecture seule), géré ailleurs par les analystes métier avec le produit Modelio BA.

Project examples

Plus d'informations...

Pour plus d'informations, téléchargez le white paper " World Wide Modeling: The agility of the web applied to model repositories".