I web Services come soluzione per l'interoperabilità e l'interazione automatica fra sistemi software



Scaricare 2.16 Mb.
Pagina1/19
02.02.2018
Dimensione del file2.16 Mb.
  1   2   3   4   5   6   7   8   9   ...   19



Università degli Studi di Bologna


FACOLTÀ DI INGEGNERIA


Corso di Laurea in Ingegneria Informatica

I web services come soluzione per l’interoperabilità e l’interazione automatica fra sistemi software

Tesi di Laurea di: Relatore:

Stefano Ricciarelli Prof. Antonio Natali


Correlatori:

Prof. Enrico Denti

Ing. Luca Bicci

Anno Accademico 2001-2002

Parole chiave


  • WEB SERVICES




  • DESCRIZIONE DI SERVIZI




  • INTEROPERABILITÀ CROSS-PLATFORM




  • DISCOVERY AGENCY




  • BUSINESS PROCESS

Indice


CAPITOLO 1

Presentazione 1

Web Services: modello architetturale e standard tecnologici 9

Progetto del Web Service EBroker: analisi concettuale e problematiche coinvolte 27

Sviluppo della soluzione per il case study 49

Discovery Agency e interazione automatica 91

Web Services e Business Process 107

Sintesi e Conclusioni 121

Appendice A - Soluzione finale per la piattaforma Java 133

Appendice B – Soluzione finale per l’interoperabilità con la piattaforma .NET 141

Bibliografia 151

Ringraziamenti 159

Capitolo 1



  1. Presentazione

1.1Introduzione

1.1.1Integrazione e costo del software


Secondo un tendenza ormai consolidata, negli ultimi anni si è assistito al progredire di una forte introduzione dell’elaborazione digitale che arriva ormai a coinvolgere qualunque categoria di business, e si spinge fino a fornire un supporto per ogni singola attività all’interno dello specifico business. Di fronte a questo fenomeno – per il quale, ad oggi, non emergono ragioni per ipotizzare un’inversione di tendenza – il mondo dell’information tecnology ha prodotto una serie di soluzioni specifiche che si sono tradotte in una moltitudine di sistemi software. Il risultato di questo processo è una sostanziale diversificazione delle soluzioni che ha reso i sistemi software sempre più eterogenei e complessi, a causa della pluralità di sistemi operativi, sistemi informativi, linguaggi di programmazione e tecnologie adottate. In un simile contesto, nel momento in cui si passa da un’elaborazione centralizzata e confinata ad un’esigenza di comunicazione fra sistemi, emerge in modo evidente un forte problema di integrazione fra questi sistemi.

L’elevato dinamismo del mondo dell’information tecnology, con il rapido e continuo sviluppo di nuove soluzioni, ha tuttavia evidenziato costi spesso proibitivi nel momento in cui l’adozione di una nuova tecnologia comportava l’integrazione con tutti i sistemi preesistenti. La necessità di fornire una risposta alla sfida dell’integrazione a costi ragionevoli ha portato allo sviluppo del concetto di middleware, ossia di uno strato logico applicativo in grado di fare da ponte fra sistemi eterogenei, grazie all’adozione di un linguaggio comune per lo scambio di dati e per l’invocazione di operazioni. Il middleware diventa quindi il collante del sistema informativo, realizzando esso stesso un’infrastruttura di comunicazione efficace fra applicazioni.

Una piattaforma di middleware fornisce un linguaggio intermedio di specifica per la definizione dei tipi di dato e delle funzionalità condivise, nonché un sistema di traduzione fra la piattaforma concreta di implementazione e il livello di specifica offerto dal middleware. Un middleware può inoltre fornire un insieme aggiuntivo di funzionalità ad alto valore, quali la gestione di un sistema di nomi per la pubblicazione e la ricerca di servizi, o la realizzazione di un sistema per la gestione delle transazioni. [1] [5]

1.1.2Un nuovo middleware per un contesto globale


Negli ultimi anni sono apparse diverse piattaforme middleware, fra le quali la più nota è probabilmente CORBA, sviluppata nel 1999 da OMG. Ma anche grandi aziende software hanno sviluppato dei prodotti che interpretano il concetto di middleware, come la specifica Enterprise Java Bean di SUN e DCOM di Microsoft. Indubbiamente queste proposte hanno costituito una risposta alle necessità e ai costi di integrazione, ma hanno anche rappresentato un’ulteriore nuova tecnologia da integrare all’interno del sistema informativo, con nuovi costi e necessità di apposite figure professionali a causa della complessità di queste soluzioni. Complessità che, assieme alla mancanza di un solo standard universale, aumenta il rischio collegato alla loro adozione.

Parallelamente, la domanda di integrazione è ulteriormente cresciuta, ma soprattutto è il contesto ad essere cambiato, assumendo una connotazione sempre più globale e distribuita. Di fronte ad esso, i sistemi presenti si sono dimostrati troppo rigidi, poiché costituiti di componenti eccessivamente integrati e dipendenti fra loro, con una conseguente ripercussione sui costi collegati ad una qualche modifica all’interno del sistema.

Un particolare risalto a queste problematiche deriva poi dal rapido sviluppo di un e-business B2B ubiquo attraverso internet che ha determinato, o andrà a determinare nel prossimo futuro, il fallimento delle architetture monolitiche, spingendo nella direzione di sistemi sempre più loosely coupled. Questi sistemi, per loro natura, rispondono meglio alle esigenze della prossima generazione di e-business, poiché hanno nelle loro caratteristiche fondamentali la flessibilità: essendo infatti sistemi maggiormente confinati, sono in grado di sopportare cambiamenti senza che questi si ripercuotano a cascata su una serie di altri sistemi.

Il mutato scenario prefigura quindi lo spazio per un middleware di nuova concezione capace di raccogliere la forte necessità di interoperabilità all’interno di un contesto globale, distribuito ed eterogeneo, come quello posto in essere dalla nuova generazione di e-business. [5] [3]


1.1.3I web services


Nello scenario analizzato, le nuove tecnologie dei web services si pongono come le più accreditate per interpretare questa evoluzione di middleware, ponendosi alla base di una sfida estremamente ambiziosa: rappresentare per l’interazione programma-programma quello che oggi rappresenta il web per l’interazione utente-programma. Il che significa costituire uno standard universale per la comunicazione fra programmi.

Un simile traguardo rende indispensabile la presenza di fattori altamente qualificanti, capaci di determinare per questa tecnologia il raggiungimento di un tale successo. Fra questi fattori, quello essenziale riguarda la volontà, di carattere politico, delle maggiori aziende impegnate nell’ambito della realizzazione di soluzioni software, a convergere verso uno standard comune, rinunciando alle tecnologie proprietarie sulle quali sono state investite ingenti risorse.

È difficile avanzare delle previsioni su considerazioni di questo tipo, tuttavia oggi si assiste ad un atteggiamento diverso rispetto al passato, poiché la storia ha dimostrato che l’adozione di standard pubblici ha sempre determinato un abbassamento dei costi e una migliore interoperabilità, indispensabile per l’integrazione fra aziende in quel processo che prende il nome di Business-to-Business Integration (B2Bi). Questo nuovo atteggiamento ha determinato il raggiungimento di un consenso decisamente ampio sui web services, che arriva a contare un numero di aziende e organizzazioni ragguardevole: basti considerare, a titolo esemplificativo, che il WS-I1 consta già di più di un centinaio delle maggiori aziende operanti nell’information tecnology.

Inoltre, almeno per quanto riguarda i livelli di base, gli standard dei web services, seppure nati in ambiti proprietari (principalmente IBM e Microsoft), sono gestiti da organismi internazionali indipendenti che ne garantiscono uno sviluppo autonomo, ma soprattutto li rendono di domino pubblico e esenti da royalty; fatto di indubbia importanza nel momento in cui si vogliono affermare queste nuove tecnologie a livello universale.

Oltre al contesto di standardizzazione decisamente diverso da quello delle precedenti infrastrutture middleware, i web services si distinguono per la nuova architettura che propongono e per le tecnologie di base sulle quali essa è sviluppata. Rimandando al capitolo 2 per un approfondimento di questi temi, va sottolineato come un carattere distintivo dei web services sia la semplicità. Semplicità che si traduce indubbiamente in una più limitata gestione degli aspetti inerenti le comunicazioni fra componenti, ma che, proprio per questo, apre la strada ad una più ampia diffusione e adozione di queste tecnologie, che non costituiscono più una prerogativa riservata alle sole grandi aziende dotate di adeguati sistemi software.

Inoltre, la strutturazione a stack – similmente a quanto avviene con lo standard OSI nelle comunicazioni – garantisce una modularità tale da consentire lo sviluppo futuro di funzionalità più avanzate che possono erigersi a partire dai protocolli di più basso livello. Infatti, dopo avere ormai delineato definitivamente la parte fondamentale dello stack dei web services, è questa la direzione che si sta attualmente percorrendo, con particolare interesse a quegli aspetti di gestione delle transazioni e di Business Process Management (BPM) per i quali le precedenti infrastrutture hanno prodotto soluzioni molto valide.

Un’ultima importante caratteristica da evidenziare riguarda il salto qualitativo realizzabile attraverso l’architettura service-oriented dei web services2 rispetto ai sistemi object-oriented tradizionali. Questa architettura promuove infatti lo sviluppo di componenti software loosely coupled in grado di interagire in modo del tutto dinamico e non noto a priori, tanto da parlare di Just-in-time integration. Inoltre, in un mondo di web services, si modifica il significato di progettare applicazioni, che si traduce nella descrizione della capacità di una rete di web services di realizzare una funzionalità desiderata, mediante l’orchestrazione di detti componenti. [2] [3] [4]



Condividi con i tuoi amici:
  1   2   3   4   5   6   7   8   9   ...   19


©astratto.info 2019
invia messaggio

    Pagina principale