DEZVOLTAREA APLICATIILOR SOA INTR-O FIRMA

Slides:



Advertisements
Similar presentations
Exemple de bune practici în domeniul SCMI Endre-Sandor ERDŐDI, Manager public, Direcţia de politici publice.
Advertisements

Aplicatie pentru intarirea capacitatii manageriale Coriolis Consulting pentru INCD-PM Alexandru Darabont.
PROGRAMUL CADRU 7 Cum să folosim facilitatea CORDIS: “Search for partners”
2009 Pag Pag. 2 Agenda 1.Obiectivul proiectului 2.Parteneri 3.Autentificare versus identificare 4.Schema generala 5.Probleme de rezolvat / rezolvate.
Subinterogări multiple
IntraShip inovatie, flexibilitate, rapiditate.
Sisteme integrate pentru -business
Funcţii Excel definite de utilizator (FDU) în VBA
Construirea Aplicatiilor de tip SOA
Instrumente CASE Curs nr. 7.
Posibilităţi de analiză în timp real a parametrilor de calitate a apei cu ajutorul sistemului informatic de management SIVECO Business Analyzer September.
Căutarea şi regăsirea informaţiei.
LOREDANA POPASAV.
Candidat: Mihai RUSOAIE
SOFTWARE Tipuri de software.
Windows Movie Maker.
Dispozitive de stocare
Servere de comunicaţii Unified Communications
Construirea aplicatiilor SOA
Arhitectura serviciilor web
Transport Layer Security TLS, SSL, HTTPS
Căutarea şi regăsirea informaţiei.
Managementul serviciilor IT
Paxos Made Simple Autor: Puşcaş Radu George
SCC Services Romania Centrul International de Servicii
Primirea si procesarea cererilor
Gestionarea datelor stiintifice
Retele de calculatoare
Design and implementation of a virtual shop using the joomla CMS
Reflexia luminii.
METODA BACKTRACKING Examenul de bacalaureat 2012
Software product management
Introducere in HCI.
Crearea si gazduirea serviciilor
Tipuri structurate Tipul tablou
Bucuresti ZF Mobilio Principalele metode de dezvoltare a afacerilor folosind aplicatiile mobile Sebastian Vaduva -
Principalele capitole ale cursului
Tehnologia Silverlight si echivalente
Funcții C/C++ continuare
prof. mrd. Negrilescu Nicolae Colegiul National Vlaicu Voda
Ethernet.
Apache WEB Server.
Integrare prin procese de business
Citește-mă Acest slide are rolul de a-ți explica modul în care să folosești umătoarele slide-uri. Șterge-l din prezentarea finală. În următoarele slide-uri.
Crearea si gazduirea serviciilor
INTERNET SERVICII INTERNET.
SOAP Simple Object Access Protocol
Eclipsele de soare si de luna
Windows Communication Foundation (WCF)
Îmbunătăţirea serviciilor publice prin intermediul Chartelor de Servicii: Elaborarea şi implementarea Planurilor de Acţiune pentru Îmbunătăţirea Serviciilor.
A great way to create a channel of communication
Cursul 9. SEO (Promovarea site-urilor web)
Functia de documentare
Administrarea reţelelor de calculatoare
SOAP -Simple Object Access Protocol-
Dezvoltarea aplicaţiilor WEB
Configurarea, deployment-ul automat si testarea serviciilor
ERP – Business Process Reengineering
Programarea in limbajul Java 2004 Lecturer: Gavrila Cristian
Realizarea prezentarilor cu Microsoft PowerPoint
Software open source in industria software
Crearea unei aplicatii Windows Forms simple
Student:Dvornic Mihaela Grupa:342 C5
Aplicaţii specializate pentru realizarea unei prezentări – PowerPoint
CMMI- Arii de proces: Inginerie si managementului proiectelor
Sistemul de control intern managerial
Configurarea metodelor de management al calităţii în sectorul public
Implementarea listelor simplu inlantuite
Harti de imagini, Cadre, Stiluri
Model arhitectural de reţea
Presentation transcript:

DEZVOLTAREA APLICATIILOR SOA INTR-O FIRMA Raluca Georgian 341 C5

Cuprins Generalitati Provocari in dezvoltatea aplicatiilor SOA Abordare studiu Analiza componente software Dezvoltare Agila de software Dezvoltare de WS-uri Caracteristici WS-uri si Best Practices Conformarea la Standardele industriei. Componente software adresabile. Exemplu Metodologie

SOA reprezinta o arhitectura software care defineste cum trebuie create serviciile pentru a putea indeplini cerintele utilizatorilor. Aceste servicii au urmatoarele caracteristici: -sunt componente business refolosibile -sunt slab cuplate -contin componente de tip SOA avand ca scop oferirea de servicii ca aplicatii dedicate utilizator sau alte servici prin retele eterogene.

Implementarea aplicatiilor SOA este posibila prin realizarea de servicii Web. Un serviciu web este o componenta software avand un set de functii business specifice, care sunt descrise, publicate sau invocate pe internet folosindu-se de standarde XML cum ar fi SOAP,WSDL sau UDDI. Dezvoltarea aplicatiilor SOA presupune dezvoltarea de componente software pentru reutilizarea de soft si pentru incapsularea componentelor software ca si servicii Web pentru aplicatii dedicate utilizator sau pentru alte servicii consumator. Totusi exista goluri in metodologia actuala de dezvoltare de componente software pentru ca aceasta nu include factorii de dezvoltare si design specifici pentru servicii Web.

Provocari in dezvoltarea aplicatiilor SOA Intr-o economie digitala dinamica, atat cererea pentru integrarea directa a proceselor intre parteneri de business ai diferitelor organizatii cat si nevoia de a interschimba informatii este in crestere.   Organizatiile isi  indreapta  privirea astfel spre aplicatii de tip SOA pentru a-si spori agilitatea business si productivitatea IT. Componentele folosite pentru o aplicatie SOA vin de la distribuitori de servicii diferiti. Procesul de dezvoltare a aplicatiilor SOA este unul complex si pretentios. Pentru a putea face o astfel de aplicatie este nevoie de un management al proiectului bazat pe planificare si control pentru a asigura o indreptare sistematica care controleaza si dezvolta o aplicatie SOA.

Provocari in dezvoltarea aplicatiilor SOA 1. Dificultatea de a indeplini toate cerintele utilizator. Aceasta problema apare deoarece aceste cerinte nu vin de la o singura sursa. Pot veni de la multiplii beneficiari care se pot afla in diverse colturi ale lumii. 2. Dificultatea de a lega diferite servicii deoarece nu toate sunt implementate folosind aceiasi tehnologie. Gazduirea serviciilor pe diferite platforme tehnologice contribuie la aceasta problema. 3. Dificultati in consumul de resurse al serviciilor datorat de diferitele servicii oferite; unele suporta doar interactiune asincrona,altele pot suporta si interactiuni sincrone.

Provocari in dezvoltarea aplicatiilor SOA 4. Dificultate in comunicarea serviciilor datorate diferitelor interfete : de exemplu schimb de mesaje bazate pe documente, parametri. 5. Diferite servicii au grade diferite de cuplare. Serviciile bazate pe documente sunt mai slab cuplate decat cele bazate pe parametri de exemplu. 6. Greutati in testarea aplicatiilor de tip SOA datorita necesitatii unei bune coordonari din partea tuturor providerilor de servicii (toate serviciile trebuie sa fie disponibile).

Abordare studiu O abordare pentru a detemina cele mai bune metode de dezvoltare a aplicatiilor SOA o reprezinta un studiu agil al metodologiei pentru a se identifica golurile. Apoi trebuie studiata dezvoltarea de aplicatii de servicii Web pentru a se identifica pasii specifici tipurilor de servicii Web folosite si pentru a se determina caracteristicile acestor servicii precum si cele mai bune abordari.

Analiza componente software O componenta reprezinta o secventa software reutilizabila: cod aplicatie incapsulat care poate fi combinat cu alte componente si care impreuna cu dezvoltarea de soft aditional poate produce aplicatia dorita. O componenta software reprezinta un pachet independent de servicii sofware reutilizabile. Componentele software reprezinta componentele reutilizabile ale unei aplicatii SOA. Relatia dintre componente sofware , servicii web si aplicatia SOA este prezentata in figura. Dezvoltarea serviciilor Web se bazeaza pe componente software care prin interfete publice sunt expuse ca servicii.

Dezvoltare agila de software Dezvoltarea de sofware bazata pe componente este o abordare in care intreaga durata de viata a dezvoltarii , deploymentului si mentenantei este centrata pe conceptul de start-to-finish al ciclului de viata a componentei.

Dezvoltarea de servicii web Se aduna toate cerintele utilizatorilor. => URD Se analizeaza componentele business existente pentru reutilizare => Lista de componente Se proiecteaza serviciul Web. => Diagrama Arhitecturala Se implementeaza logica de businees cu ajutorul claselor de interfata si de implementare. Clasa de interfata este clasa unde interfata serviciului va fi expusa pentru consum si clasa de implementare este cea unde de fapt se va face implementarea serviciului derivat din componente software. => Application Layer. Componentele arhitecturii SOA

Dezvoltarea de servicii web Se construieste WS-ul prin incapsularea componentei in WS. Se face deployment la WS pe serverul tinta pe baza unui script de deployment. => Publicare Locala Se testeaza si corecteaza WS folosindu-se  de clientul de web-service. Se publica WS-ul => Lansare Oficiala

Fig.2: Web Services Development Workflows

Caracteristici WS si Best Practices Realizarea de aplicatii SOA se bazeaza pe WS-uri. Este deci important sa intelegem bine caracteristicile WS-urilor, ce se poate si ce nu se poate implementa in WS-uri pentru a putea forma baza pentru cele mai bune abordari in dezvoltarea de WS-uri. Aceste caracteristici afecteaza proiectarea si implementarea WS-urilor.

WSBP1.Stiluri Cele mai comune tipuri de WS sunt cele bazate pe apeluri procedurale(RPC) si cele bazate pe documente. RPC-urile ofera simplitate si suport pentru diverse unelte pe cand WS-urile bazate pe documente ofera flexibilitate superioara si sunt mai slab cuplate.

WSBP2.Mod de interactiune sincron asincron cu solicitare de raspuns cu notificare Oricare din aceste moduri va afecta maniera in care se proiecteaza si implementeaza un WS.

WSBP3.Interactiune cu Clientul WS Implementarea clientului WS este determinata de modul de interactiune folosit de WS. Daca WS-ul este asincron clientul va fi implementat folosind Java API pentru XML Messaging JAXM , altfel va fi folosit de exemplu Java API pentru XML pentru Apeluri procedurale (JAX-RPC).

WSBP4.Tipuri de implementari pentru WS Client Implementarea clientului determinata de tipul de WS Client. In particular pentru serviciu RPC bazat pe Java exista 3 tipuri diferite de clienti WS: static stub, dinamic proxy dinamic invocation proxy. Fiecare optiune ofera alt nivel de flexibilitate.

WSBP4.Tipuri de implementari pentru WS Client Cel mai putin flexibil este static stub la care orice schimbare adusa serviciului necesita reconstruirea clientului. Cel mai flexibil este dinamic invocation proxy pentru ca clientul paseaza serviciul WSDL pentru construirea unui mesaj SOAP pentru invocarea serviciului. O schimbare nu necesita reconstruirea clientului.

WSBP5.Nivelul potrivit de granularitate Granularitatea interfetei serviciului afecteaza  proiectarea si implementarea WS-ului. De asemenea afecteaza performantele serviciului. Cu cat granularitatea este mai fina cu atat performantele sunt mai scazute pentru ca aceasta aduce un overhead network-ului.

WSBP6.Interoperabilitate Problemele de interoperabilitate pot fi cauzate de: diferite standarde de mesaje SOAP utilizate, diferite tipuri de algoritim de securitate pentru semnaturi digitale, criptare/decriptare si variatiunile de standard WS oferite de diversi producatori. Se recomanda folosirea tipurilor de date primitive pentru parametri ori de cate ori este posibil. O alta recomandare este aceea de a nu folosi variante customizate de  SOAP serializat sau neserializat .

WSBP7.Tipuri de binding (legatura) Folosirea de rpc/econded respectiv ordoc/literal este determinata de nevoile de interschimbare de informatii dintre clientul de WS si serviciu Daca interschimbul este intensiv sau informatia schimbata este un fisier atunci doc/literal binding este preferat. Daca datele interschimbate sunt relativ statice atunci rpc/encoding este preferat.

WSBP8.Performante pentru Cerere-Raspuns WS-urile lucreaza intensiv. Acestea au nevoie de mai multa largime de banda si de CPU-uri puternice si memorie datorita nevoii de serializare si deserializare a mesajelor SOAP.

WSBP8.Performante pentru Cerere-Raspuns Cele mai frecvente solutii pentru optimizarea timpilor de cerere si raspuns sunt: Folosirea de data-caching pe client sau server. Folosirea XML-ului in WS-uri bazate pe documente prin adoptarea decizilor de a trimite intregul document sau doar fragmente din acesta. Operatie de decizie WS granulara.

WSBP9.Securitate Exista diferite moduri de a securiza informatiile trimise intre emitatorul initial al mesajului SOAP si ultimul destinatarul final al mesajului prin numeroare noduri SOAP intermediare. Diferite metode de securitate pot afecta modul in care WS-urile sunt proiectate si implementate.

Metode de securitate Transport Level Security (TLS). Aceasta metoda se bazeaza pe mecanismul de securitate a transportului . Numai emitatorul initial al mesajului si destinatarul final sunt securizati. Nodurile intermediare nu sunt securizate. (cand se foloseste SSL sau HTTPS). Message Level Security (MLS). Prin aceasta metoda mesajul poate fi securizat pe toata calea pe care o parcurge. Standarde precum XML Encryption0, XML Signature0, XML Key Management0, WS-Security0, SAML pot fi folosite pentru securizarea mesajului XML Infrastructual Level Security. Aceasta metoda se bazeaza pe mecanismul de securitate oferit de platforma WS-ului.

WSBP10.Platforma si Tehnologia folosita pentru implementarea WS-urilor Care este platforma tehnologica folosita? Ce fel de aplicatie server este necesara? Raspunsul la aceste intrebari duce la interoperabilitate crescuta intre servicii.

Conformarea la Standardele Industriei. Componente software adresabile Conformitatea cu standardele industriei determina tipurile de servicii.  Aceasta duce la necesitatea unui XML bine format si a unui WS bazat pe document pentru serviciu. Fiecare serviciu este idenficabil printr-un URL. Pentru a sti daca un serviciu este disponibil se va face un test de invocare a serviciului  care va arata disponibilitatea acestuia.

Nevoile WS-urilor WS-urile sunt folosite pentru a solutiona diverse nevoi si obiective de business. Factorii ce trebuie luati in considerare sunt: refolosirea componentelor de business, integrarea diferitelor platforme IT si a diferitelor tehnologii, integrare directa business-to-business (B2B) intre parteneri pentru a facilita interschimbul de informatii. Intelegerea nevoilor de baza conduce la descoperirea tipului de WS ce va fi folosit.

Arhitectura pe Layere a WS-urilor Nevoia de abstractizare ierarhica pentru WS-uri determina relatiile slab-cuplate intre servicii. Analiza lacunelor metodologiei software-ul pentru servicii Web (WS), studiul caracteristicilor Web Services şi cele mai bune practici discutate anterior se completează reciproc. Aceasta formează baza pentru extinderea metodologiei software-ului existent cu cele mai bune practici pentru servicii de Web (WSBP).

Arhitectura pe Layere a WS-urilor Efortul major consta in parcurgerea tuturor activităţilor şi sarcinilor definite pentru fiecare faza a ciclului de viaţă a software-ului prin analiza modului in care cele mai bune practici pentru servicii Web ar putea fi utilizate. Fazele identificate sunt: identificarea cerințelor, analiză, proiectare, implementare, testare și incarcare pe server.

Identificarea cerintelor Obiectivul acestei etape este de a înţelege cerinţele afacerii şi traducerea acestora în cerințe WS în ceea ce privește caracteristicile, condițiile funcționale și non-funcţionale şi restricţiile WS. WSBP13 oferă linii directoare pentru identificarea Web Services, clasificand nevoile în servicii Web. Determina caracteristicile necesare pentru serviciile Web. Defineşte utilizarea modelelor pentru serviciile Web respective.

Analiza Obiectivul acestei etape este de a determina cerințele suplimentare şi a traduce cerințele în modele conceptuale. Analiza arhitecturala este făcuta pentru a defini structura la nivel înalt şi a identifica interfeţele serviciilor Web . WSBP1, WSBP2, WSBP5, WSBP6, WSBP10 furnizeaza orientări de analiză pentru următoarele activități:

Analiza. Activitati Analiza granularitatii interfetelor serviciilor WEB Selectarea platformei tehnologice pentru implementarea cadrului de lucru Definirea arhitecturilor posibile de servicii WEB. Identificarea componentelor arhitecturale care vor fi expuse ca WS-uri si principalele informatii care vor fi schimbate cu clientul

Proiectarea Obiectivul acestei etape este de a detalia proiectarea serviciului WEB. In aceasta faza se detaliaza interfata WS-ului. Este luata in considerare interfata intre seviciu si client, adica asincron/sincron sau rpc/document. Sunt luate in considerare cele mai bune practici pentru serviciile WEB corespunzatoare pentru WSBP1, WSBP2, WSBP3, WSBP5, WSBP6, WSBP7 .

Implementarea Obiectivul acestei etape este de a face codificarea reala a serviciilor Web. Este realizata impachetarea componentelor API in interfaţă Serviciilor Web. Sunt generate WS de testare client şi WSDL. WS vor fi implementate în serverul de aplicaţie ţintă. Cele mai bune practici pentru WS referitoare la WSBP1 furnizeaza orientări pentru punerea în aplicare a serviciilor Web.

Testarea Obiectivul acestei faze este efectuarea unui test complet de servicii Web, inclusiv cerințele funcționale și non-funcţionale. Cele mai bune practici WS pentru WSBP1 pana la WSBP10 furnizeaza orientări pentru testarea de servicii Web.

Incarcarea pe server Obiectivul acestei faze este incarcarea corespunzatoare a serviciului Web în serverul de aplicaţie tinta. Pentru a valida incarcarea corespunzatoare a WS, clientul Ws-ului participa la incarcare. Pentru WSBP1, utilizatorul va specifica daca publicarea serviciului WEB este necesara in interiorul organizatiei sau este extinsa la partenerii de afaceri sau pentru utilizari externe. Aceasta va determina decizia de avea acces pubic sau privat pentru a servi nevoilor companiei.

Figura 3. Metodologia Extinsa In figura se prezinta o vedere generala asupra ciclului de viata a metodologiei extinse care incorporeaza cele mai bune practici WS in diferite faze ale ciclului de viata.

Figura 3. Metodologia Extinsa

WSBP= Web Service Best Practice

Bibliografie Lucas Jelema -Oracle SOA 11g Handbook –Implement an Enterprisewide Service Oriented Arhitecture. http://www.fibre2fashion.com/industry-article/9/807/web-services-implementation-methodology-for-soa-application6.asp