SOAML

SoaML (Service-Oriented Architecture Modeling Language) è un progetto open source dell’Object Management Group (OMG), che offre un metamodello ed un profilo UML per la modellazione e la progettazione di servizi all’interno di un’architettura.
SoaML nasce con l’obiettivo di sopperire alle mancanze dell’UML in materia di programmazione orientata a servizi in quanto sembra essere troppo generale.
Prima di addentrarci in SoaML si ritiene opportuna una piccola digressione sugli attori che interagiscono in una SOA.

SOAML actor

Attori che interagiscono in una piattaforma SOA

Gli attori del pattern SOAML sono il Service Provider, il Service Requestor e il Service Registry.
Il Service Provider pubblica la descrizione di uno o più servizi nel Service Registry.
Il Service Requestor interroga il Service Registry per scoprire i servizi a lui disponibili.
Infine il Service Registry si occupa della sincronizzazione tra i due attori precedentemente descritti.
La piattaforma utilizzata per la modellazione della SOA è MagicDraw con il Plugin CameoSOA.
Occupiamoci in prima battuta della configurazione dell’ambiente necessario per la modellazione.
1) Procurarsi la JDK(Java Development Kit) sul sito della Oracle con versione maggiore alla 6 è preferibile la versione 7 o 8 di Java.
2) Procuriamoci poi lo zip di MagicDraw che basterà unzippare per poterlo installare sul sistema operativo (https://www.magicdraw.com/download), in questo momento consiglio l’ultima versione ossia MagicDraw 18.0.
3) Dopo aver configurato MagicDraw, software shareware si consiglia di esser forniti di una chiave o potrete acquistarla dopo un periodo di prova occupiamoci ora di installare il plugin CameoSOA. Nella barra dei menù selezionare Help->Resource/Plugin Manager nella lista che comparirà selezionare CameoSOA+ Plugin e cliccare su Download/Install. Dopo l’installazione automatica riavviare MagicDraw.
Si concludono quì i procedimenti di configurazione dell’ambiente di modellazione software.


Cameo SOA+ supporta tutti i diagrammi SoaML, come ad esempio il Service Structure Diagram, il Service Choreography Diagram, il Service Architecture Diagram, il Message Type Diagram, il Composite Application Component, l’Activity, il Capability e il Provisioning. In questo tuorial ci occuperemo essenzialmente dei seguenti diagrammi:

  • Service Structure Diagram: diagramma che definisce le interfacce e il contratto tra la Consumer Part e la Provider Part.
  • Service Choreography Diagram: serve per specificare ciò che viene trasmesso tra la Consumer Part e la Provider Part.
  • Message Type Diagram: diagramma che rappresenta le informaioni scambiate tra i richiedenti ed i servizi.
  • Activity Diagram per i Servizi Composti.

TUTORIAL PER LA REALIZZAZIONE DI UN PROGETTO CAMEOSoa+
Per lo svolgimento di questo tutorial vi rimando alla pagina 21 del PDF su CameoSOA+ Plugin UserGuide scarabile qui.
Voglio solo precisare quali sono gli step obbligatori e quelli opzionali, che potete saltare, ma per completezza potrebbero tornarvi utili.

      Step 1. Start modelling (OBBLIGATORIO)
      Step 2. Modeling Services Architecture (OPZIONALE)
      Step 3. The Service Structure (OBBLIGATORIO)
      Step 4. Integration of services (OBBLIGATORIO SE EFFETTUATE LO Step 2. ALTRIMENTI OPZIONALE)
      Step 5. Validation errors (OBBLIGATORIO SE EFFETTUATE LO Step 2. E LO Step 4. ALTRIMENTI OPZIONALE)
      Step 6. The communication structure (che sul PDF è identificato come Step 7. errore del team di Magic Draw che ha realizzato il PDF) (OBBLIGATORIO)
      Step 7. Information exchange (che sul PDF è identificato come Step 8. errore del team di Magic Draw che ha realizzato il PDF) (OBBLIGATORIO)
      Step 8. Interfaces and Participants(che sul PDF è identificato come Step 9. errore del team di Magic Draw che ha realizzato il PDF) (OPZIONALE)

Inoltre vi forniscono un zip ove troverete un progetto completo che prevede gli Step 1., Step 3., Step 4., Step 6. per Service Structure Diagram, Service Choreography Diagram e Message Type Diagram dei servizi, nel progetto sono inoltre presenti dei servizi composti realizzati mediante degli Activity Diagram. Il progetto prevede la modellazione di una piattaforma a servizi per un sistema portuale, i file .mdzip(estensione file MagicDraw) sono scaricabili qui.
Dopo aver concluso il tutorial su CameoSOA abbiamo imparato a creare e strutturare un progetto SoaML, mediante viste ad alto livello definendo contratti, architetture, messaggi e servizi scambiati tra i vari Partecipants della SOA.

SOAML ultima modidfica: 2015-01-05T10:36:55+01:00 da Gianluca Di Vincenzo