stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea...

20
Managementul Intreprinderilor Arhitecturi SOA

Transcript of stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea...

Page 1: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

Managementul Intreprinderilor

Arhitecturi SOA

Page 2: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

Magereanu Alexandrumaster ISC

Cuprins1. ERP – Planificarea Resurselor Intreprinderii (Enterprise Resource Planning)

2. Managementul intreprinderii si SOA (Service Oriented Architecture)

3. Tehnologii pentru SOA

4. Evolutia SOA

5. Concluzii

Page 3: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

Managementul Intreprinderilor

1. ERP – Planificarea Resurselor Intreprinderii (Enterprise Resource Planning)

Programele pentru planificarea resurselor intreprinderii, sau ERP, sunt conceputepentru a fi nucleul unei intreprinderi, tinand sa integreze toate departamentele sifunctiile unei companii intr-un singur sistem informatic ce poate servi tuturornecesitatilor particulare ale oricarui departament.

Proiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din departamentul financiar, cat si a celor de la resurse umane sau a celor de la productie nu este deloc usoara, deoarece fiecare departament are propriile lui sisteme informatice specializate si optimizate pentru nevoile particulare proprii. Insa ERP le combina pe toate acestea intr-un singur program informatic conectat la o baza de date comuna, astfel incat comunicarea interdepartamentala este mult mai facila.

Modulele componente ale unui ERP 1

In cazul in care este implementat corect, un ERP, prin abordarea sa integrata, poateaduce beneficii deosebite companiei respective. Pentru a ilustra utilitatea deosebita aprogramelor ERP se prezinta o situatie care ilustreaza ceea ce intampla in lipsa ERPcomparativ cu situatia existentei implementarii acestuia. De exemplu, in mod clasic, comanda unui client, chiar si in cazul in care este primita electronic, va trece din Inbox in Inbox pe la mai multe birouri, acest lucru generand intarzieri in prelucrare sau chiar si rataciri ale acesteia. De asemenea, nici un angajat din 1 http://www.travelpluserp.com/erp.html

Page 4: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

companie nu poate spune cu adevarat care este stadiul respectivei comenzi la un anumit moment, deoarece cei de la departamentul financiar nu au cum sa intre in sistemul informatic al celor de la depozit, de exemplu, si nici invers nu este posibil. Sistemul ERP inlocuieste vechile programe informatice de la depozit, productie, financiar, resurse umane cu un singur sistem integrat, divizat in mai multe module ce aproximeaza functionalitatile vechilor programe. Fiecare departament lucreaza cu propriile lui programe, numai ca diferenta este ca acestea sunt conectate intre ele, facand posibil de exemplu ca cei de la financiar sa interogheze sistemul de la depozit pentru a vedea daca o comanda a fost onorata sau nu.

La inceputul anilor ’90, sistemele ERP aveau o constructie monolitica, dar intre timpproducatorii acestora le-au facut din ce in ce mai flexibile si mai modularizabile, fiindposibil pentru o anumita companie sa instaleze de exemplu doar modulele pentrufinanciar si pentru resurse umane si sa lase restul departamentelor pentru mai tarziu.

Scopul declarat al sistemelor ERP este de a imbunatati activitatile corespunzatoareetapei dintre obtinerea unei comenzi de la un client si emiterea facturii pentru aceacomanda precum si plata ei, etapa cunoscuta sub numele de „fulfillment process”. Din acest motiv, ERP se mai numeste si „back-office software”. In general, nu exista preocupari legate de partea de vanzare a produselor, (desi exista mai multi furnizori de ERP care au dezvoltat module de CRM - Customer Relationship Management pentru acest lucru), ci de optimizarea traseului unei comenzi primite de la client pana cand aceasta va fi onorata.

Atunci cand un reprezentant al serviciului de relatii cu clientii introduce comanda in sistemul informatic, el va avea in acest fel acces la toate informatiile necesare si anume:

- suma maxima cu care poate fi creditat clientul, informatie ce poate fi preluata de la departamentul financiar;

- istoricul comenzilor pentru respectivul client, tot de la departamentul financiar;- nivelul stocurilor, de la depozitul firmei;- posibilitatile de transport, de la modulul de logistica.

In cazul in care este bine implementat, un sistem ERP poate reduce considerabilcosturile companiei si poate accelera procesul transformarii unei comenzi primite dela un client intr-o factura corespunzatoare. Comunicatiile intre departamentelecompaniei sunt mult imbunatatite. De asemenea, deoarece angajatii diferitelor departamente au acces la datele altor departamente, pot fi luate decizii mai pertinente, si clientul va fi mai bine servit.

Principalele avantaje sunt enumerate mai jos:- Reducerea considerabila a timpului de procesare a unei comenzi. Avand in

vedere ca parcurgerea traseului se face in mod automatizat, este evident catimpul este mult diminuat.

- Angajatii din fiecare departament au acces la aceleasi informatii, pe care le potsi modifica in caz de necesitate. Atunci cand un departament finalizeazaactivitatea la o anumita comanda, aceasta este automat directionata de catre

Page 5: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

ERP spre urmatorul departament.- Poate fi cunoscut in fiecare moment stadiul in care a ajuns o comanda. Pentru

aceasta, este suficient sa te conectezi la sistemul ERP pentru a vedea la ce departament a ajuns respectiva comanda.

- In mod asemanator cu procesul de prelucrare a comenzilor de la clienti, ERPpoate aduce beneficii si celorlalte departamente ale companiei, cum ar fi celecare se ocupa de raportarile financiare.

Desi avantajele aduse companiei sunt destul de consistente, in acelasi timp si dezavantaje care pot fi chiar mai mari decat avantajele atunci cand sistemul ERP nueste bine implementat si mai ales atunci cand acesta nu este insotit de schimbari in modul de organizare a companiei. Desi nu era suficient de eficienta, organizarea separata a fiecarui departament era mult mai simpla, si in cazul in care ceva nu functiona bine in afara departamentului, aceasta era problema altcuiva.

Implementarea unui ERP trebuie insotita obligatoriu si de schimbari in modul de organizare a departamentelor firmei. Angajatii de la departamentul de relatii cu clientii nu mai realizeaza doar introducerea datelor in sistemul informatic. Avand acces la toate informatiile despre istoricul clientului, lista comenzilor anterioare, lista comenzilor achitate sau inca neachitate, ca si datele de la depozitul firmei, acesti angajati trebuie sa ia decizii mult mai complicate iar munca lor devine dintr-o data mult mai complexa, datorita faptului ca deciziile lor afecteaza clientii si toate celelalte departamente.

Dar nu numai angajatii de la relatii cu clientii trebuie sa-si schimbe modul de lucru. Daca inainte cei de la depozit erau obisnuiti sa-si pastreze datele in minte, sau pe mici bucati de hartie, sau chiar si in registre, acum aceasta nu mai este posibil. Vor trebui sa introduca datele in sistemul ERP, pentru ca cei de la celelalte departamente sa le poata accesa.

Sintetizand, principalele dezavantaje pe care le au sistemele ERP sunt urmatoarele:- Costul sistemelor ERP este foarte mare;- Implementarea lor este foarte dificila si de lunga durata; desi foarte multi

vanzatori prezinta in reclame ca implementarea se realizeaza in 3-6 luni,de cele mai multe ori timpul real este de 1-3 ani in medie;

- La inceput poate incetini considerabil activitatea companiei, deoareceangajatii erau obisnuiti cu vechile programe iar ERP introduce nu numainoi programe, dar si schimbari in activitatea acestora;

- Implementarea ERP presupune foarte multe schimbari in modul de lucrual departamentelor companiei.

Avand in vedere toate aceste dezavantaje, se poate observa de ce foarte multe implementari ale sistemelor ERP nu si-au atins scopul. Pentru ca nu este atat deimportant sistemul informatic, cat schimbarile in modul de lucru al companiei. Daca sistemul este doar instalat, fara a se incerca schimbarea modului in care angajatii isi

Page 6: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

desfasoara activitatea, atunci ERP nu va fi altceva decat un foarte complex si foarte scump nou program de contabilitate. Daca ERP este utilizat pentru a imbunatatimodul in care sunt preluate si realizate comenzile sau modul cum sunt livrate siincasate, atunci integrarea adusa de sistemul ERP poate aduce mari beneficii.

Exista urmatoarele motive principale pentru care companiile trebuie sa instaleze si saimplementeze un sistem ERP:

- Integrarea informatiilor financiare. Atunci cand managerul unei companiiincearca sa descopere performanta de ansamblu a intregii sale companii, el poate gasi mai multe versiuni ale starii adevarate a firmei. Departamentul financiar are un set de cifre, vanzarile au alt set, si fiecare departament are o parere diferita despre modul cum contribuie la obtinerea profitului. Sistemele ERP creeaza o singura versiune a starii financiare, care nu poate fi pusa laindoiala deoarece fiecare departament foloseste aceeasi versiune.

- Integrarea informatiilor despre comenzile de la clienti. Sistemul ERPpoate deveni locul unde sunt procesate comenzile de la clienti din momentul in care acestea sunt primite de catre serviciul de relatii cu clientii pana in momentul in care produsele sunt livrate si este emisa factura pentru comanda respectiva. Pastrand aceste informatii intr-un singur sistem, (si nu in mai multe sisteme informatice ce nu pot comunica unele cu altele), poate fi mai usor de urmarit traseul unei comenzi, stadiul in care ea se afla in orice moment, si de asemenea, pot fi coordonate mai usor toate departamentele firmei, indiferent de locatia unde se afla.

- Standardizarea si cresterea vitezei de productie. De multe ori, companiilede productie descopera ca unele locatii fabrica aceleasi produse folosind metode diferite si sisteme informatice diferite. Sistemele ERP ofera premizele pentru a standardiza diferitele etape ale procesului de productie, standardizare ce reduce costurile, mareste viteza si productivitatea sectorului respectiv.

- Reduce timpul pierdut prin inventariere. ERP ajuta la desfasurarea multmai uniforma a procesului de productie si imbunataTeste vizibilitatea unei comenzi pe toata perioada in care aceasta este procesata in interiorul companiei. Toate acestea, insotite si de standardizarea procedeelor de productie, conduc de asemenea la reducerea numarului de inventare a materiilor prime, a marfurilor si a produselor in curs de realizare necesare.Cunoscandu-se in orice moment situatia stocurilor, pot fi facute planuri multmai precise de livrare a produselor la clienti si coordonarea mult mai buna adistributiei acestora.

- Standardizeaza informatiile pentru resursele umane. In special lacompaniile care au mai multe unitati de productie sau mai multe filiale, un sistem ERP aduce beneficii suplimentare deoarece introduce un sistem unificat de urmarire a activitatii angajatilor si de comunicare intre acestia.Desi sistemele ERP au fost la inceput concepute pentru companiile cu productie normala, cu produse care pot fi usor cuantificate, acum acestea au devenit atat de complexe incat pot fi implementate in aproape toate domeniile de activitate si din toate ramurile, producatorii de astfel de sisteme integrate pretinzand ca sutele sau chiar miile de particularizari aduse sistemelor lor le preteaza chiar si pentru companii petroliere, din chimie sau din industria de utilitati.

Page 7: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

2. Managementul intreprinderii si SOA (Service Oriented Architecture)

Transpunerea in realitate a idealului ca oamenii de afaceri sa controleze direct logica afacerii intr-o maniera agila este cunoscuta ca arhitectura orientata spre servicii SOA(Service Oriented Architecture). Arhitectura SOA este o abordare catre proiectarea infrastructurii de calcul cu resurse distribuite in care resursele software sunt servicii disponibile prin reţeaua Internet. Producatorii serviciilor publica informaţia despre ele in registre ale serviciilor (repository), acolo unde consumatorii potenţiali pot sa caute.

Soluţiile SOA ar trebui sa deţina urmatoarele caracteristici:- Slab cuplate – Intr-un sistem cuplat slab, aplicaţiile consumator nu au nevoie sa

ştie a priori detalii ale funcţionalitaţii sistemului cu care se conecteaza. Funcţionalitatea aplicaţiilor şi programele care o invoca pot fi schimbate independent unele de altele in loc de a reproiecta componentele implicate.

- Granulat brut – In loc sa interacţioneze cu un set larg de detalii, granulate fin, cum sunt interfeţele de programare ale aplicaţiilor (API), utilizatorii pot interacţiona cu sisteme prin granule brute, la nivel de interfaţa de afacere, care impacheteaza funcţionalitatea multor apeluri API intr-un numar mic de mesaje de afaceri.

- Bazate pe standarde.

Astfel SOA este arhitectura in care serviciile sunt bazate pe standarde, declanşate de evenimente şi cuplate slab. Arhitectura SOA permite consolidarea serviciilor in servicii de afaceri granulate brut care au flexibilitatea şi receptivitatea pentru a susţine prioritaţile afacerii flexibile şi dinamice.

Page 8: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

O abordare din ce in ce mai intalnita, care rezolva aceste cerinţe schimbatoare, este ESB(Enterprise Service Bus). ESB este combinaţia dintre mesajele standard la nivelul midleware, containere distribuite de servicii agregate in servicii granulate brut, bazate pestandarde şi pe transmiterea documentelor pe cai guvernate de reguli.ESB furnizeaza servicii cu valoare adaugata deasupra celor gasite in abordari anterioaremidleware, cum sunt: validarea mesajelor, transformarea, alegerea caii pe baza conţinutului, securitate, descoperirea serviciului, balansarea incarcarii, toleranţa la defecte şi jurnalizarea. Astfel, ESB poate furniza fundaţia peste care pot avea loc interacţiuni asincrone cuplate slab. ESB retrogradeaza serverele de aplicaţii in rolul de a rula servicii asincrone particulare, in timp ce ESB formeaza fundaţia comunicarii intre servicii.

2 http://www.army.mil/ArmyBTKC/focus/sa/soa.htm

Page 9: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

Calitatea ESB se masoara prin determinarea abilitaţii de a modela şi implementa procesede afaceri din lumea reala. O magistrala ESB eficienta furnizeaza mecanisme prin care utilizatorii pot manipula componente la nivelul modelului afacerii pentru a defini şi rula procese de afaceri declanşate de evenimente, raspuns in timp real al schimbarilor afacerii.Magistralele ESB pot fi realizate in diverse tehnologii cum sunt Java Messaging System,Microsoft, IBM etc. in arhitecturi orientate spre servicii bazate pe standarde XML. Pesteimplementarea unei magistrale ESB, pachetele software conţin unelte vizuale destinatedefinirii proceselor complexe de afaceri, compuse astfel din servicii accesibile saucreate prin noua platforma:

- Magistrala de mesaje (ESB) – Implementeaza interfeţe standard pentru comunicaţie, conectivitate, transformare, portabilitate, şi securitate. Specificitatea este data de modelul serviciilor de afaceri granulate brut combinate cu extensibilitatea, toleranţa la defect intr-o arhitectura distribuita care permite proceselor de afaceri sa fie coordonate cu integritate tranzacţionala peste un mare numar de aplicaţii rulate pe platforme eterogene .

- Coada de mesaje (MQ) – Infrastructura de mesagerie, bazata pe protocoale cu sunt JMS sau MSMQ etc.

- Dirijorul proceselor şi evenimentelor - Un set de unelte software integrate pentru definirea şi gestionarea proceselor de afaceri declanşate de evenimente folosind

3 http://blogs.msdn.com/publicsector/archive/2007/11/09/microsoft-enterprise-service-bust-soa-guidance-for-biztalk-server-2006-r2.aspx

Page 10: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

servicii granulate brut create pe baza resurselor TI existente şi din funcţionalitatea moştenita sau a programelor nou create.

- Suita de programe de integrare cu afacerile. Combinaţia dintre infrastructura ESB,arhitectura SOA şi setul de unelte de compoziţie şi dezvoltare care permit coordonarea şi interacţiunea dintre resurse. Suitele de unelte software conţin şi facilitaţi avansate pentru manipularea nivelul de servicii şi evenimente al afacerii precum şi unelte pentru depanare.

Pentru a obţine idealul de agilitate in afaceri, afacerile cer infrastructurii IT acces la funcţionalitate prin servicii capabile sa fie configurate de utilizatori oameni de afaceri fara sa devina experţi in IT. Produsele software moderne, care implementeaza arhitectura SOA, furnizeaza funcţionalitatea necesara firmei agile in afaceri prin implementarea unei magistrale ESB. Abordarea ESB este aceea de a transforma infrastructura robusta de mesagerie intr-o platforma de dezvoltare a aplicaţiilor care interacţioneaza prin interfeţe de tip serviciu. Metoda de lucru şi gestiune pe baza uneltelor conţinute in produsele software SOA/ESB transforma infrastructura IT, astfel incat poate fi utilizata atat de administratorii IT, de programatori cat şi de utilizatorii oameni de afaceri.

3. Tehnologii pentru SOA

SOA (Service Oriented Architecture - Arhitectura software bazata pe servicii) este un tip de arhitectura software care presupune distribuirea funţionalitaţii aplicaţiei in unitaţi mai mici, distincte - numite servicii - care pot fi distribuite intr-o reţea şi pot fi utilizate impreuna pentru a crea aplicaţii destinate afacerilor. Capacitatea mare cu care pot fi reutilizate aceste servicii in aplicaţii diferite este o caracteristica a arhitecturilor software bazate pe servicii. Aceste servicii comunica intre ele trimiţand informaţii de la un serviciu la altul. SOA este deseori vazuta ca o evolutie a programarii distribuite si a programarii modulare.

SOA este o arhitectura flexibila şi standardizata ce contribuie la o mai buna conectare a diverselor aplicaţiilor şi faciliteaza schimbul de informaţii intre acestea. SOA unifica procesele de business structurand marile aplicaţii intr-o colecţie de module mai mici numite servicii. Aceste aplicaţii pot fi folosite de diverse grupuri de oameni atat din cadrul companiei cat şi din afara ei.

Page 11: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

Serviciile sunt unitaţi funcţionale neasociate care nu au apeluri unele catre altele inglobate in ele. In mod tipic sunt implementate funcţionalitaţi pe care majoritatea oamenilor le-ar recunoaşte ca si serviciu cum ar fi de exemplu completarea unei aplicaţii online pentru un cont, vizualizarea unui formular de banca sau a unui extras de cont online sau efectuarea unei comenzi de bilet de avion online.

Serviciile nu au in codul propriu implementat modul in care acestea sa comunice intre ele, protocoalele sunt cele in cadrul carora este implementat acest lucru.

Page 12: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

4. Evolutia SOA

In etapa 1 nu existau sisteme bazate pe Internet.

Existenta sistemelor distribuite.

Page 13: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

Existenta sistemelor bazate pe SOA

Page 14: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

5. Concluzii

O arhitectura bazata pe componente este o arhitectura in care functionalitatea intregului este impartita in functii mult mai mici, fiecare incapsulata intr-o componenta.Un sistem distribuit este o extensie a arhitecturii bazate pe componente la componente care ar putea exista in locatii fizice diferite.Un exemplu simplu de sistem distribuit, care are la baza o arhitectura bazata pe componente este arhitectura email-ului. In aceasta arhitectura interactionaeza Clienti de Desktop, un serviciu DNS si servere de email. Toate intereractioneaza reciproc, dar de multe ori se afla in locatii fizice diferite.Aceasta arhitectura se incadreaza ca o implementare a SOA.

Page 15: stst.elia.pub.rostst.elia.pub.ro/RIC/Teme_RIC_2007_8/AlexandruMagereanu... · Web viewProiectarea unui singur produs informatic care sa raspunda necesitatilor atat personalului din

Bibliografie

- http://en.wikipedia.org/wiki/Service-oriented_architecture - http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1088626,00.html - Academia de Studii Economice - Integrarea sistemelor informatice

de gestiune pe Internet (Prof. univ. dr. Năstase Pavel)- Revista Informatica Economică nr.3(39)/2006 - Software Solutions for Agile

Business- Implementing SOA: Total Architecture in Practice (by Paul C. Brown)