service registry repository opensource implementato su semantic media wiki
DESCRIPTION
Un Service Registry Repository Opensource basato su modelli ontologici e Semantic Media WikiTRANSCRIPT
Agenda
UN SERVICE REGISTRY REPOSITORY OPENSOURCEMatteo Busanelli
Perché Service Registry e Repository? Funzionalità base di un SRR Tipologie di utenti Una soluzione open: modello + strumenti Funzionalità offerte Un esempio di domande a cui potrebbe rispondere SRR Esempio di modello Informazioni gestite Architettura
1
Approccio e architettura
Perché Service Registry e Repository?
Service Registry Repository (SRR)
Repository
Registry
UN SERVICE REPOSITORY OPENSOURCE 2
Registry: (runtime) Nasceva dall’esigenza di disaccoppiare provider e consumer del servizio definendo un luogo dove il primo potesse pubblicare meta informazioni sul servizio necessarie al cunsumer per trovare (discovering) e usare (binding) il servizio stesso.
Repository: (design time e build-time) Offre funzionalità abilitanti per l’intero lifecycle SOA. Permette di gestire tutte le informazioni e gli artifact relativi ai servizi, i metadati e lo storing di tutti gli asset fisici connessi (es. documentazione e linee guida).
I trend di mercato e l’esperienza mostrano che i due componenti sempre più spesso tendono a fondersi in un unico strumento che integri le diverse funzionalità
Registry + Repository = SRR (Service Registry Repository)Combinazione dei due strumenti:
descrizione e classificazione dei servizi descrizione funzionale (es. operazioni) descrizione tecnica e operativa (wsdl, xsd) relazioni con i relativi artifact (es. SLA, Test case, analisi) relazioni con entità esterne (es. Business Object Model)
Funzionalità base di un SRR
SRRNavigazione consultazione e
ricerca dei servizi
Data entry/editing• Linee guida e
documentazione• Input assistito degli item da
form•Upload wsdl e xsd
Versioning dei servizi•Gestione di più versioni di
uno stesso servizio•Gestione dello storico dei
servizi
Monitoring dei servizi•Verifica KPI•Verifica rispetto degli SLA Reporting
•Aggregazione dati•Viste diversificate per ruoli
Quering• Interrogazione delle info sui
servizi anche dall’esterno
Integrazione con fonti esterne• Importazione massiva dati •Riferimenti puntuali a
documentazione e dati esterni
UN SERVICE REPOSITORY OPENSOURCE 3
Tipologie di utenti
Provider: gli sviluppatori dei servizi sistemi automatici di alimentazione innescati dai processi di sviluppo e
deployment
Consumer: sviluppatori che devono utilizzare i servizi service owner’s
Altri (da prospettive differenti): analisti architetti …
UN SERVICE REPOSITORY OPENSOURCE 4
Una soluzione open: modello + strumenti
Modello: Descrizione formale e condivisa dei concetti e relazioni per la gestione dei servizi Descrizione di eventuali concetti “accessori” utili ad una gestione più avanzata del lifecycle Totale indipendenza dai tool e da specifiche logiche applicative Aperto e standard
Semantic Media Wiki (SMW): Wiki basato sulla famosa piattaforma opensource Mediawiki (es. wikipedia) Estensione semantica: consultazione, interrogazione, data-entry , annotazione rispetto alle relazioni e concetti
definiti nel modello Caricamento di dati provenienti anche da sorgenti esterne ed eterogenee ma semanticamente correlate
WSO2 (a supporto): Metadata registry opensource storing degli artifact tecnici relativi ai servizi censiti (wsdl, xsd ed eventuali altri media)
Sistema di integrazione: allineamento e sincronizzazione delle varie componenti
Storage centralizzato (eventuale) Mantenimento dei modelli e dei dati Accessibilità a condivisione con altri tools Endpoint per le interrogazioni dirette
UN SERVICE REPOSITORY OPENSOURCE 6
Funzionalità offerte
Consultazione e ricerca via SMW Ricerca testuale Composizione di filtri (faceted browsing) Interrogazioni via query direttamente da pagine wiki
Data-entry e alimentazione Form generate automaticamente dal modello per l’input/editing assistito Pagine wiki di documentaione con testo libero e annotazioni rispetto alle relazioni con gli item del
modello Creazione di riferimenti verso entità esterne (diagrammi, wsdl o altri media) o pagine web Upload degli artifact tecnici che descrivono i servzi: wsdl, xsd Importazioni dati da fonti esterne
Notifica Via RSS su canali di aggiornamento diversificati in base ai ruoli
Reporting Creazione di viste diversificate a secondo del ruolo Diagrammi, tabelle e grafici
Integrazione con sorgenti esterne Importazione di informazioni già esistenti da fogli excel, DB e altre fonti eterogenee
Storing centralizzato del modello/dati e accessibilità dall’ esterno Programmaticamente via API Via query Tramite altri tool di navigazione/ricerca/reporting specifici
UN SERVICE REPOSITORY OPENSOURCE 7
Un esempio di domande a cui potrebbe rispondere SRR
Quali servizi, applicazioni o eventuali processi sono coinvolti in un progetto? e viceversa: in quali progetti è utilizzato servizio?
Quali servizi sono invocati da una applicazione? e viceversa: da quali applicazioni è richiamato un dato servizio?
Quali altri servizi sono invocati da un dato servizio/processo?
Quali servizi utilizzano un dato WSDL? e viceversa: qual'è il WSDL di un servizio?
Dato un WSDL si vuole sapere se esso definisce internamente i tipi XSD o se ne ha di associati e definiti esternamente.
Quali sono le operazioni fornite da un servizio? Quali le entità coinvolte?
Esistono una o più classificazioni dei serivizi? Se si quali?
Quale Suite di Test è stata definita per un dato servizio
Che analisi è stata fatta relativamente ad ad un servizio?
Quali servizi sono più usati e su quali operazioni
Quali sono tutte le versioni in produzione per un dato servizio?
… UN SERVICE REPOSITORY OPENSOURCE 8
Un esempio di Modello
UN SERVICE REPOSITORY OPENSOURCE 9
Concetti direttamente correlati ai servizi
Concetti esterni (accessori)
Principali informazioni gestite
Le entità gestite inizialmente sono le seguenti: Servizio Applicazione (Progetto ) (Processo) Operazioni Analisi Test-Case WSDL XSD
Relativamente ai servizi è necessario gestire: Lifecycle dei serivizi (inizializzazione, analisi, design, implementazione, utilizzo, ritiro) Ambienti dei servizi (sviluppo, test, produzione) Versioni dei servizi Classificazioni dei servizi (inizialmente Business e Tecnico successivamente altre da definire) elenco e numero delle operazioni per servizio
Relazioni base: progetto servizio/applicazione/processo applicazione servizio/processo servizio servizio servizio versioni servizio analisi servizio test-case servizio WSDL WSDL XSD
UN SERVICE REPOSITORY OPENSOURCE 10
Architettura SRR
UN SERVICE REPOSITORY OPENSOURCE 12
S T O R I N G(modello + dati)
S M W WSO2
DB
allineamento diretto
harvasting
alimentazione dati e modello
allineamento dati
WSDL
XSD
RDB
XLS
Importazione sorgenti esterne
Endpoint per interrogazioni
DB
CSV
Screenshot: homepage
UN SERVICE REPOSITORY OPENSOURCE 13
Screenshot: tassonomia della governance
UN SERVICE REPOSITORY OPENSOURCE 14
Screenshot: navigazione modello
UN SERVICE REPOSITORY OPENSOURCE 15
Screenshot: dettaglio di un servizio
UN SERVICE REPOSITORY OPENSOURCE 16
Screenshot: editing
UN SERVICE REPOSITORY OPENSOURCE 17
Screenshot: diagrammi e relazioni
UN SERVICE REPOSITORY OPENSOURCE 18
Screenshot: filtri su servizi
UN SERVICE REPOSITORY OPENSOURCE 19
DOMANDE, DUBBI, CURIOSITÀ?Question Time
UN SERVICE REPOSITORY OPENSOURCE 20
Più di 20 anni di esperienza nell’Enterprise IT Consulenza e Skill Transfer su Architetture, Integrazione e Processo OMG Influence Member, JSR 312 Expert Group, CSI, WWISA,
OpenESB Key Partner, NetBeans Strategic Partner
Semantic Web company, now!
Ricerca applicata, formazione, progetti
DBin, Semantic Web for user communities
ISWC 2006 Semantic Web Challenge 3rd. classificato
La comunita’ italiana dedicata a Java 10 anni di articoli, pubblicazioni, libri, eventi, training
Dai programmatori agli architetti Piu’ di 1.000.000 pagine lette al mese
UN SERVICE REPOSITORY OPENSOURCE 21