Reply ti permette di entrare a far parte di una realtà formata da persone da tutto il mondo con la passione per la tecnologia, la capacità di immaginare ed esplorare nuove soluzioni, la voglia di innovare e sfidare lo status quo.Vuoi unirti alla squadra?
AGILITA’: la business agility può essere definita come la capacità che hanno i sistemi IT di adeguarsi alle future richieste del business. In periodi in cui il cambiamento avviene in maniera repentina, e quindi i tempi tra l’analisi di una nuova situazione e la realizzazione di soluzioni ad hoc per gestirla o metterla in pratica diventano sempre piu rapidi, l’agilità diventa un fattore decisivo, per permettere all’azienda di rispondere alle opportunità di business o reagire a situazioni critiche. Molto spesso i sistemi realizzati mediante soluzioni proprietarie e chiuse, detti anche sistemi legacy, diventano un ostacolo per la realizzazione o l’integrazione di nuove soluzioni. Decomporre i sistemi informativi spesso monolitici in un insieme di servizi permette di poter modificare ed assemblare le funzionalità di business in maniera piu veloce e flessibile. RIUSO: il concetto alla base del riuso non è nuovo, esiste da quando esistono i sistemi software, ma è sempre stato limitato dall’evoluzione di sistemi e linguaggi nel corso del tempo. L’adozione dei Web Services come strumento di connessione neutro per creare componenti ed esporli mediante interfacce standard (ad es. WSDL) è quello che rende i servizi realmente riusabili. La standardizzazione delle interfacce permette la riutilizzabilità dei componenti indipendentemente dalla tecnologia con la quale essi sono stati realizzati: da qui il concetto di servizio come oggetto che espone una funzionalità. Semplificando si puo dire che lo stato di maturità raggiunto dai linguaggi di definizione delle interfacce è quello che rende i servizi realmente riutilizzabili. Ma questo non basta, infatti perchè un componente da utilizzabile diventi effettivamente un building block di una struttura, è necessario che esso sia sufficientemente specializzato da fornire una funzione utile, ma allo stesso tempo non troppo atomico, per evitare che la funzione che esso compie sia troppo specifica e quindi di scarsa utilità per altre funzioni di business. La competenza del progettista di soluzioni SOA in questa fase di definizione gioca un ruolo importantissimo nella scelta del livello di granularità dei servizi. INTEROPERABILITA’: viene intesa come la capacità di far parlare tra loro componenti di business o funzionali diverse in modo semplice ed efficace. Le architetture software del passato, anche definite architetture a SILOS, portavano con se la difficoltà dell’estrazione dei dati critici presenti in ognuna delle piattaforme delle varie funzioni aziendali. Il Paradigma SOA si pone come obiettivo quello di favorire la disponibilità di informazioni da un building block all’altro in modo da consentire operazioni di aggregazione dei dati. Per ottenere questa caratteristica, a livello tecnologico, la metodologia SOA si appoggia ad interfacce standardizzate da enti come OASIS, W3C, e WS-I, favirendo il disaccoppiamento dell’interfaccia dalla logica applicativa sottostante (vedi DISACCOPPIAMENTO). Queste due caratteristiche sono la premessa per realizzare sistemi facilmente interoperabili. DISACCOPPIAMENTO: in un sistema informatico per accoppiamento si intende il grado in cui due sistemi o componenti software dipendono l’uno dall’altro.
Se due o piu sistemi sono fortemente accoppiati, ogni cambiamento che viene fatto ad uno dei due deve essere valutato ed analizzato in relazione a quello di tutti i sistemi correlati. i principi di base di SOA prevedono che ci sia una forte distinzione logica tra la modalità in cui una funzione viene utilizzata (detta interfaccia), e la logica di business sottostante. In questo modo, ogni cambiamento evolutivo su uno dei due elementi del servizio o della funzione di business ha una influenza molto inferiore sui sistemi correlati. Questo tipo di approccio facilita le manutenzioni evolutive pur garantendo l’interoperabilità tra le varie funzioni.