service registry repository opensource implementato su semantic media wiki

19
Agenda UN SERVICE REGISTRY REPOSITORY OPENSOURCE Matteo 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

Upload: matteo-busanelli

Post on 23-Jan-2015

297 views

Category:

Technology


4 download

DESCRIPTION

Un Service Registry Repository Opensource basato su modelli ontologici e Semantic Media Wiki

TRANSCRIPT

Page 1: Service Registry Repository Opensource implementato su Semantic Media Wiki

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

Page 2: Service Registry Repository Opensource implementato su Semantic Media Wiki

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)

Page 3: Service Registry Repository Opensource implementato su Semantic Media Wiki

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

Page 4: Service Registry Repository Opensource implementato su Semantic Media Wiki

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

Page 5: Service Registry Repository Opensource implementato su Semantic Media Wiki

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

Page 6: Service Registry Repository Opensource implementato su Semantic Media Wiki

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

Page 7: Service Registry Repository Opensource implementato su Semantic Media Wiki

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

Page 8: Service Registry Repository Opensource implementato su Semantic Media Wiki

Un esempio di Modello

UN SERVICE REPOSITORY OPENSOURCE 9

Concetti direttamente correlati ai servizi

Concetti esterni (accessori)

Page 9: Service Registry Repository Opensource implementato su Semantic Media Wiki

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

Page 10: Service Registry Repository Opensource implementato su Semantic Media Wiki

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

Page 11: Service Registry Repository Opensource implementato su Semantic Media Wiki

Screenshot: homepage

UN SERVICE REPOSITORY OPENSOURCE 13

Page 12: Service Registry Repository Opensource implementato su Semantic Media Wiki

Screenshot: tassonomia della governance

UN SERVICE REPOSITORY OPENSOURCE 14

Page 13: Service Registry Repository Opensource implementato su Semantic Media Wiki

Screenshot: navigazione modello

UN SERVICE REPOSITORY OPENSOURCE 15

Page 14: Service Registry Repository Opensource implementato su Semantic Media Wiki

Screenshot: dettaglio di un servizio

UN SERVICE REPOSITORY OPENSOURCE 16

Page 15: Service Registry Repository Opensource implementato su Semantic Media Wiki

Screenshot: editing

UN SERVICE REPOSITORY OPENSOURCE 17

Page 16: Service Registry Repository Opensource implementato su Semantic Media Wiki

Screenshot: diagrammi e relazioni

UN SERVICE REPOSITORY OPENSOURCE 18

Page 17: Service Registry Repository Opensource implementato su Semantic Media Wiki

Screenshot: filtri su servizi

UN SERVICE REPOSITORY OPENSOURCE 19

Page 18: Service Registry Repository Opensource implementato su Semantic Media Wiki

DOMANDE, DUBBI, CURIOSITÀ?Question Time

UN SERVICE REPOSITORY OPENSOURCE 20

Page 19: Service Registry Repository Opensource implementato su Semantic Media Wiki

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