Sparx Enterprise Architect niet alleen voor UML modellen
Sparx Enterprise Architect is met name bekend als UML modelleertool voor software ontwikkelaars. Echter Sparx Enterprise Architect heeft zich verder ontwikkeld tot een multimodel omgeving waar voor iedere modelleerprofessional bruikbare modellen te vinden zijn. In dit artikel kijken we naar de mogelijkheden die er zijn voor enterprise architecten en voor datamodelleurs.
Veel mensen die bekend zijn met Sparx Enterprise Architect kennen het als een van de grote spelers in de UML modellering. UML modellering is vanaf de eerste versie van Enterprise Architect volledig ondersteund en ook de latere versies van UML zijn steeds opgenomen in de functionaliteiten van deze modelleertool.
Naast het opstellen van de verschillende UML modellen zijn er functionaliteiten opgenomen die een software modelleur ondersteunen op het vlak van:
- Code generatie
- Genereren van documentatie en publicatie voor het web
- Gezamenlijk modelleren
- Requirements management
- Wire framing en GUI ontwerp
In de afgelopen periode heeft Enterprise Architect een functionaliteit toegevoegd, MDG genaamd, waarmee het mogelijk is om naast UML nieuwe modelleertalen te introduceren. Dat maakt het enerzijds mogelijk om eigen modelleertalen te ontwikkelen. Anderzijds heeft de leverancier zelf op basis van deze technologie een groot aantal nieuwe modelleertalen geïntroduceerd. Ook voor enterprise architecten en voor data modelleurs zijn een aantal interessante modelleertalen geïntroduceerd. In dit artikel kijken we vanuit het perspectief van beiden rollen wat er mogelijk is in Enterprise Architect.
Sparx Enterprise Architect voor enterprise architecten
Enterprise architecten hebben veelal een abstractere modelleerbehoefte dan wat mogelijk is met behulp van UML. Met name de integratie van modellen waarbij de verbanden tussen bedrijfsprocessen en organisatie inrichting inzichtelijk gemaakt wordt, is van belang. Daarnaast zijn de verbanden tussen de bedrijfsmodellen en het applicatielandschap en de onderliggende infrastructuur kenmerkende gezichtspunten voor enterprise architecten.
Voor de bovengenoemde gezichtspunten heeft de modelleertaal ArchiMate zich steeds meer ontwikkeld tot een standaard. Enterprise Architect heeft deze modelleertaal dan ook in een vroeg stadium op basis van MDG technologie geïmplementeerd. Onderstaande afbeelding geeft een voorbeeld van een scherm.
In dit scherm zie je enerzijds een voorbeeld van een ArchiMate viewpoint, daarnaast wordt een overzicht getoond van de binnen de taal gedefinieerde viewpoints. Anderzijds een voorbeeld van de toolbox (aan de rechterkant van de afbeelding) waarbij je ziet dat er per laag of extensie van ArchiMate een uitwerking is van de aanwezige elementen en associaties.
Voor organisaties die eigen viewpoints hebben binnen ArchiMate is het relatief eenvoudig deze zelf te definiëren binnen Enterprise Architect. In voorgaande versies van de modelleertool was het mogelijk om af te wijken van de conventies van ArchiMate in de diagrammen. Het tool heeft zich echter in de laatste versies doorontwikkeld en het niet volgen van de ArchiMate modelleerconventies is nog nauwelijks mogelijk.
Naast modelleren in ArchiMate is er meer interessants voor enterprise architecten. ArchiMate is voor bepaalde situaties niet gedetailleerd genoeg. De kracht van de taal zit met name in het brengen van overzicht op enterprise niveau. Is meer detail gewenst dan zijn er ondertussen veel interessante modelleertalen aanwezig die desgewenst met ArchiMate gecombineerd kunnen worden. Denk hierbij aan:
- BPMN (business process modellering)
- BPSim (Simuleren van BPMN procesmodellen
- DMN (modelleren van bedrijfsregels)
- Mindmapping
Hiermee is Enterprise Architect een interessant en zeer betaalbaar alternatief voor enterprise architectuur modelleertools. Reden om voor architectuur modellering Sparx Enterprise Architect in te zetten.
Sparx Enterprise Architect voor data modelleurs
Ook voor data modelleurs zijn er een aantal interessante functionaliteiten aanwezig. Met name data modelleren voor relationele databases en voor berichtdefinities zit wat verborgen in de structuur van Enterprise Architect. Er is een MDG ontwikkeld voor ER diagrammen echter deze heeft als nadeel dat de attributen buiten de entiteiten gemodelleerd worden. Dat is een ietwat verouderde notatiewijze. De notatiewijze die beter aansluit bij de huidige modelleerconventies is te vinden onder UML met de specialisatie data engineering. Onderstaande afbeelding toont een data model met als doel een fysiek relationeel datamodel in een RDBMS te implementeren. Je herkent hier alle extra concepten als primary en foreign keys maar ook (unique) indexen.
Niet alleen voor RDBMS modellering zijn er functionaliteiten aanwezig. Datamodellering is ook belangrijk voor SOA architecturen en voor het uitwerken berichtdefinities op basis van XSD en JSON. Ook hiervoor is een MDG extensie aanwezig die het mogelijk maakt deze modellen tot in detail uit te werken. Zie een samenvattend voorbeeld in de afbeelding hieronder.
Naast het opstellen van fysieke modellen is het mogelijk om deze modellen om te zetten naar implementaties bijvoorbeeld in de vorm van DDL scripts voor relationele databases of de generatie van schema’s op basis van XSD. Hiervoor zijn schermen beschikbaar zoals de Database builder en de Schema Composer die de modelleur ondersteunen bij het genereren maar ook importeren van bovengenoemde artifacten.
Ook voor ETL modellen zijn er een aantal voorzieningen aanwezig. Bijvoorbeeld het modelleren van mappings op attribuutniveau is voor veel data modelleurs een belangrijke functionaliteit. In Enterprise Architect is dit in de basis aanwezig zoals je kunt zien in onderstaande afbeelding. Met een open source extensie wordt het modelleren van data mappings bijzonder eenvoudig.
Data modellering wordt voor steeds meer organisaties belangrijker. Bijvoorbeeld voor het opstellen van modellen van een DWH, een MDM inrichting of een Canoniek datamodel binnen een SOA implementatie. Datamodellering neemt hier een centrale plaats in. Enterprise Architect maakt het mogelijk door de multitaal inrichting en de ondersteuning van associaties tussen de talen om op eenvoudige wijze een gelaagd informatiemodel te introduceren:
- Conceptueel datamodel in ArchiMate
- Logisch datamodel in UML
- Fysiek model in schema definities (XSD) en RDBMS.
- Mappings voor modellering tussen de lagen
Tot slot
Vanuit de rollen enterprise architect en data modelleur hebben we gekeken naar wat er tegenwoordig mogelijk is in de modelleertool Sparx Enterprise Architect. In dit artikel kunnen we naar een klein deel van de functionaliteiten te kijken. Veelal is er veel meer mogelijk binnen de specifieke context van een organisatie. Enterprise Architect is daarbij voldoende open en configureerbaar om aanpassingen te doen die deze rollen verder ondersteunen in hun modelleerwerkzaamheden.
Daarnaast hebben we in dit artikel naar slechts twee rollen gekeken. Vanwege het multi modelleertaal karakter van Enterprise Architect kunnen ook andere rollen op interessante wijze ondersteund worden. Denk bijvoorbeeld aan requirement engineers voor het opstellen van aanbesteding specificaties of aan system engineers voor het opstellen van SysML modellen voor complexe industriële en bouwkundige constructies.
Meer lezen over dit topic kan onder blogs. Of neem eens een kijkje op de site van Bert Dingemans en mede-maat Han van Roosmalen.