Pentru SOA sau Service Oriented Architecture, același lucru se poate spune ca o glumă că programarea orientată pe obiecte este ca sexul adolescenților - toată lumea vorbește despre asta și nimeni nu o face corect și în siguranță. SOA este cea mai recentă nebunie și pe bună dreptate - promite să schimbe modul în care sunt create sistemele software și comunicarea în cadrul companiei, precum și cu clienții.

revoluție

SOA nu este un alt cuvânt în jurul căruia există mult zgomot, dar nu se face nimic. La Forumul pentru inovare în afaceri de la Darmstadt din 2 septembrie, acesta a fost unul dintre subiectele principale. Chiar și în discuția dintre ministrul justiției și șefii unor companii majore de software, SOA a fost evidentă în fiecare idee și argument. Scopul este duplicarea virtuală a tuturor serviciilor oferite în prezent de personalul de la diferite niveluri, astfel încât să fie posibilă nu doar accesul rapid la date, ci și automatizarea multor sarcini. Discuția în cauză a fost despre e-guvernare, despre care voi vorbi altă dată, dar acest concept este deja foarte activ în sectorul privat. Majoritatea portalurilor majore de Internet au lansat api (puncte și standarde pentru conectarea la alte site-uri), unele folosind standarde adoptate pentru SOA, cum ar fi SOAP și WSDL. Astfel de site-uri sunt Ebay, Amazon și Flickr.

Cu toate acestea, o pasăre nu izvorăște și, așa cum sugerează comicul de mai sus, același lucru este valabil și pentru serviciile SOA și Internet. Ce sunt mai exact serviciile de internet sau WS pe scurt (din serviciile web)? Ei publică mai multe documente tehnice care descriu ce face serviciul în cauză, unde poate fi găsit, cum ar trebui să fie apelat și dacă este nevoie de plată și un contract preliminar. Dacă vi se pare că consumă mult timp - nu este - „documentele tehnice” în cauză nu sunt hârtie pentru păpuși cu ochelari, ci fișiere XML cu informații care pot fi procesate automat de un computer. Așa că îi poți spune să caute un serviciu care să ofere informații gratuite despre vremea din Varna și să îl lase în pace să-l găsească, să-l sune și să-ți arate rezultatele.

SOA nu înseamnă doar să ai unul sau două servicii disponibile publicului. SOA înseamnă că toate programele și sursele de informații din companie sunt exportate ca WS și comunică între ele prin intermediul mesajelor SOAP. Acesta nu este un scop în sine - cu toate aceste WS-uri la locul lor, adevărații creatori ai unui sistem informatic - fie că este un spital, minister sau corporație - au la dispoziție blocuri universale Lego și pot asambla orice structură doresc rapid și convenabil, în funcție de nevoile actuale ale instituției. Acest lucru este extrem de important în afacerea din ce în ce mai dinamică de astăzi.

Pentru a înțelege de ce este atât de necesar, să ne uităm prin ochii consumatorului mediu. Acesta este adesea un angajat al unei companii care încearcă să adune informații despre un proiect sau statistici despre activitatea companiei sale. Am ilustrat mai sus ceea ce facem acum - parcurgem zeci de site-uri interne cu design nereușit, căutăm pe bloguri Google și străine, scriem colegilor în speranța că vor ști ceva. Informația există undeva, dar este foarte împrăștiată și diversă. Chiar dacă îl găsim la un loc, șansele ca acesta să nu fie bine prezentat și exhaustiv sunt mari. Pentru a face față acestei probleme avem nevoie de date omogene pure pe care să le putem modela în felul nostru propriu pentru a le înțelege.

De aceea SOA ne este utilă. Aici, după cum puteți vedea, devine puțin mai colorat. Sferele roșii sunt locurile în care există informații - pot fi baze de date, senzori, indici bursieri sau agenții de știri. Anterior, ei au conceput informațiile în sine ca site-uri web și a trebuit să o citim și să o înțelegem singuri. Acum exportă totul către WS (roșu și violet). Unele dintre aceste servicii vor trimite solicitări automate colegilor noștri. Putem lua aceste WS, le putem combina funcționalitatea și putem crea un serviciu mai puternic (albastru deschis). Apoi, puteți construi un site care acceptă aceste servicii (albastru închis) și formează informațiile așa cum ne convine.

Cea mai bună parte a întregului proces este că există deja programe pentru aproape toate sarcinile. Cu ei puteți aranja vizual serviciile și le puteți conecta între ele. Același lucru este valabil și pentru site-urile web care afișează informații. Ca o ilustrare a acestui fapt, vă pot prezenta proiectul pe care l-am făcut cu câțiva prieteni pentru Software AG. Acolo am făcut toate lucrurile despre care am scris mai sus. Iată pagina video oficială a fluxului de lucru. Iată o descriere a modului în care am lucrat.

De fapt, unul dintre programele de acolo - Integratorul de informații - este scopul lucrării mele de licență, pe care o voi începe în octombrie. Scopul II este de a lua o sursă de informații, cum ar fi o bază de date, un document XML sau un serviciu de internet, pentru a crea o ontologie, pentru a transforma acea ontologie într-o formă convenabilă, pentru a o interoga și a exporta rezultatele ca un nou WS . Scopul meu va fi de a rescrie programul folosind instrumente open source deja disponibile, precum și noi standarde de internet.

În sfârșit, vreau să clarific ceva pe care mi l-au întrebat mulți oameni - de ce avem nevoie de servicii de internet pentru a primi informații, dacă avem deja RSS. RSS este un protocol foarte puternic care este utilizat pe scară largă astăzi. RSS și WS au în comun faptul că în ambele cazuri trebuie să cerem informațiile pentru a le obține. Diferența este că cu WS puteți specifica parametrii prin care să efectuați un exemplu de căutare sau prelucrare a datelor. Există ceva mult mai important - WS sunt activi. Aceasta înseamnă că, apelând un serviciu de internet și oferind informațiile necesare, inițiază o acțiune. Acest lucru poate fi căutarea unui avion, cumpărarea unui bilet, rezervarea unei mașini și a unui hotel la sosire sau chiar o masă într-un restaurant din fața hotelului și totul cu câteva clicuri. Nu trebuie trecute cu vederea avantajele precum securitatea, automatizarea și ușurința integrării. Aceasta este puterea SOA și cred că în curând ne vom putea bucura de roadele ei.