ACADEMIA DE STUDII ECONOMICE DIN BUCURESTI
PROIECT PRACTICA METROSYSTEMS GmbH
BUCURESTI, 2013 7
CUPRINS
2
PREZENTAREA ORGANIZATIEI METROGROUPesteunadintre cele mai maricompanii internationalede retailla nivel mondial: aproximativ280.000de angajațidin150 denațiunilucreazainaproximativ2209de magazinedin33 de țăridinEuropa, AfricașiAsia. Portofoliul companiei oferăogamă largădeserviciipentruclienți privațisau comerciali, prin magazine ca:
METRO/MAKRO Cash&Carry;
Hypermarket-urile Real;
Magazinele MediaMarkt si Saturn;
Galeriile Kaufhoff.
Vânzarea cu amănuntul într-o companie internațională ce se afla intr-o continua dezvoltare determina că fluxurile mari de marfa sa se deplaseze în întreaga lume zi cu zi. Condiția prealabilă pentru acest lucru este un schimb continuu, rapid și fiabil de date. În calitate de furnizor intern de servicii IT a METROGROUP, METROSystems GmbHoferă consultanță companiilor care aparțin grupuluide retail, în toate aspectele legate deIT, dezvoltă soluțiide-a lungullanțului valoriccompletșioferăoinfrastructurăITputernica-la nivelnaționalșiinternațional. Ca o companie de retail la nivel global de operare, tehnologia informației eficienta este de o importanță capitală pentru METRO GROUP. METROU Systems GmbH se asigură că procesele de vânzare cu amănuntul din întreaga lume pot fi gestionate eficient, pe de o parte, în timp ce oferă avantaje competitive decisive asigurându-se că informațiile corecte sunt disponibile la momentul și locul potrivit, pe de altă parte. La nivel internațional, dar și la nivel local permite fluxuri de lucru perfecte și un răspuns rapid și flexibil la cerințele pieței. METROSYSTEMSdezvoltă șiopereazăsisteme demărfuride management, sisteme de logistica, de informații,de managementși sisteme dearhivare, sisteme dedepozitede date, informații despre clienți și sisteme decase de marcat, solutii de e-commercesi sisteme Intranet precum și sistemeadministrative. Serviciile oferite deMETROSYSTEMS se bazeazape o fundație solidă: principiile deafaceri puse
în
aplicareîn
mod
constantghideaza
acțiunilefirmei.
Proceselede
vânzare
cu
amănuntuleficienteșirentabile, răspunsul rapid șitermenele scurte de livraresuntîntotdeauna încentrul atenției.
3
ANALIZA SISTEMULUI ORGANIZATIONAL EXISTENT Pentru a permite o integrare strânsă cu diviziile de vânzări, procesele de afaceri și a infrastructurii IT a METRO GROUP, METRO SYSTEMS este împărțită în trei unități de afaceri:
"Business Process Engineering" - acționează ca interfață pentru afacerile operaționale și sprijină societățile care aparțin de METRO GROUP în toate problemele legate de IT;
"Business Solution Management" - este responsabil pentru arhitectura sistemului, precum și pentru furnizarea de soluții software pentru procesele de afaceri;
"Business SolutionOperation" asigură buna funcționare a infrastructurii IT la nivel internațional.
Diagrama structurii functionale a METRO SYSTEMS Asociatia Generala a Actionarilor METRO GROUP Consiliul de Administratie al METRO GROUP
Manager regional
Senior Manager
Manageri ai departamentelor
Manageri ai unitatilor operative
Team-leaderi
4
Organigrama METRO SYSTEMS
7
Diagrama fluxului informational
6
APPLICATION OPPERATION METRO SERVICE BUS(AO MSB)
Departamentul AO MSB din cadrul METRO SYSTEMS se ocupa cu asigurarea transferului pentru a furniza date pentru sistemele de backend si pentru aplicatiile folosite în mediul METRO GROUP. AO MSB este responsabil de livrarea datelor şi conversia lor. Responsabilitati AO MSB:
De configurare pentru deschiderea unui nou magazin (NSO = New Store Opening)
Elibera upgrade-uri sau patch-uri de instalare (Producţie/Pre- Producţie /AC)
Migraţia magazin - mediu MMS/MPOS
Re-transfer datele lipsă la spre spate sfârşitul sisteme
Întreţinere preventivă & reactivă
Controalele pe partea MSB după întreţinerea periodica a sistemelor AIX
Suport pe rezolvarea incidentelor automată sau la client
Monitorizare de mediu de pre-producţie
Sprijin in rezolvarea defectelor de pre-producţie şi QA
Procesul de bootstrap client/articol
Documentaţia pentru uz intern
Alte departamente cu care lucreaza AO MSB pot fi observate in imaginea urmatoare:
7
Reguli generale pentru transferul datelor prin sistemul AO MSB
1. Persistenta transferului de date MSB este responsabil pentru transferul de date furnizat persistent din sistemul sursă la sistemul de destinaţie. În cazul în care sistemul sursă primeste confirmarea că datele au fost acceptată de MSB, poate fi sigur, că transferul tehnic va fi finalizat se ocupă de sistemul de MSB. Consecinţe: MSB este locaţia principală şi centrală, care colectează informaţii despre starea şi potenţial eşec al oricărui flux de transfer. Monitorizarea trebuie să fie furnizată.
2. Transferul de date asincron Definită de tehnologia de bază middleware (Websphere MQ), toate fluxurile de lucru pot lucra asincron. Consecinţe: De obicei, transferul cu Websphere MQ funcţionează rapid, dar din cauza caracterului asincron nici o livrare la sistemele de ţintă poate fi garantată. De asemenea, nu este posibil să se garanteze că un răspuns de la o ţintă de sistem înapoi la sursa poate fi livrat în acelasi timp cu "timpul tranzactiei online", în special, în cazul în care un WAN este inclus în topologia de transfer.
3. Date salvate in caz de urgenta sau eroare MSB nu este sistemul de rezervă a tuturor informaţiilor transportate pentru a sprijini în situaţii de urgenţă, ca de exemplu retrimiterea datelor din ultimele 5 zile, deoarece o baza de date țintă a fost corupta etc.În cazul în care unele date din trecut sunt necesare, un sistem de back-end este necesar , sistem de care este responsabila aplicatia destinatie pentru obiectele afectate de afaceri. Altfel MSB va avea centralizate doar copii temporare ale tuturor datelor, care sunt schimbate între toate sistemele conectate. Acesta nu va fi accesibil pentru a oferi spatiu pe disc necesar pentru acest lucru. Consecinţe: Pentru fiecare obiect de afaceri sistemul sursă este responsabil trebuie să definească metode, pentru cât de mult este capabil, retrimiterea datelor.
8
4. Date eronate de la sursa MSB nu corectează datele greşite sau nu extinde date incomplete. Consecinţe: În cazul în care regulile sunt cunoscute pentru a verifica plauzibilitatea si corectitudinea datelor furnizate, MSB le va pune în aplicare pentru a returna o reacţie la sursă cât mai repede posibil. Corectitudinea şi completitudinea datelor furnizate se află în responsabilitatea sistemului de sursă.
5. Date respinse la destinatie În cazul în care datele nu pot fi preluate cu succes la una sau mai multe sisteme de ţintă, acest lucru poate avea diferite cauze: (a) Sursa a oferit date gresite, lucru ce ar putea sa nu fiedetectat de MSB (b) MSB făcut o prelucraregreşită (c) sistemul ţintă se comportă diferit decât de aşteptat şi definite În toate cele trei cazuri, problema va fi înregistrată în MSB. MSB este responsabil pentru păstrarea datelor respinse pentru a evita orice pierdere de informaţii. Consecinţe: Dacă a fost posibil transmiterea datelor prin MSB la sistemul ţintă (de exemplu, în tabelele interfaţă) cu succes, fluxul de lucru se înțelege fi finalizată cu succes, pentru că au fost îndeplinite toate convenţiile pentru interfaţa receptoare. Dacă apar erori într-o etapă de prelucrarea ulterioară în sistemul ţintă, tratarea exceptiilor se află în responsabilitatea sistemul ţintă.
9
Sistemul de transmitere a mesajelor prin WEBSPHERE MQ WebSphere MQ este suita de programe care oferã soluţia idealã pentru integrarea tuturor aplicaţiilor software care ruleazã în companie într-un tot unitar şi eficient, printr-un canal de comunicare deschis, flexibil şi robust. Poate traduce şi transmite mesaje, alerte, date între orice tip de aplicaţii şi sisteme, fãrã a fi necesarã dezvoltarea unor soft-uri adiţionale de interfaţare. 1. Introducere în sistemul de transmitere a mesajelor prin coadă
Produse de WebSphere MQ ® permite programelor comunicarea unuia cu altul într-o reţea de spre deosebire de componente (procesoare, sisteme de operare, subsisteme şi protocoale de comunicatie) folosind o interfaţă de programare aplicarea consecventă. Aplicaţii proiectate şi scrise folosind această interfață sunt cunoscute ca mesaj aşteptat aplicaţii, deoarece acestea utilizează stilul de transmitere a mesajelorprin coadă: Mesaje - programelecomunica prin trimitereade date prin mesaje, decât de conectare directa. Pe coadă - mesajele sunt plasate pe cozile într-un“depozit”, care permite programelor pentru a rula independent unele de celelalte, la viteze diferite şi în diferite locaţii, şi fără o legătură logică între ele. 2. Ce inseamna procesarea prin coadă Procesarea prin coadă este mecanismul prin care mesajele sunt ţinute până când o cerere este gata să le prelucreze. Coada permite:
Comunicarea între programe (care ar putea fi difuzate în medii diferite), fără a scrie cod de comunicare.
Selectarea ordinii în care un program proceseaza mesajele.
Echilibrarea datelor pe un sistem prin amenajarea astfel incat mai multe programe asteapta date dintr-o coadă de serviciu atunci când numărul de mesaje depăşeşte un prag.
Creşte disponibilitatea aplicaţiilor prin aranjarea unui sistem alternativ la cozile de serviciu în cazul în care sistemul primar este indisponibil.
10
3. Ce este un mesaj? În procesareaprin coadă, un mesaj este o colecţie de date trimise de un program și destinat pentru un alt program. WebSphere ® MQ defineşte patru tipuri de mesaj:
Datagram - un mesaj simplu pentru care nici un răspuns este de aşteptat
Request - un mesaj care este aşteptat un răspuns
Reply - un răspuns la un mesaj de solicitare
Report - un mesaj care descrie un eveniment, cum ar fi apariţia de unei erori
4. Cozi pentru mesaje O coadă pentru mesaje, cunoscut doar ca o coadă, este o destinaţie numită la care mesajele pot fi trimise.Mesajele se acumulează pe cozile până când acestea sunt preluate de programe care ruleaza pe aceste cozi. Cozile rezidă în, şi sunt administrate de un manager de coadă(queue manager - QM). Managementul fizic al cozilor este responsabilitatea managerului de coadă şi nu are legatura cu programele de aplicaţie sursa participante. Programe acceseaza cozile numai prin serviciile externe ale managerul de coadă. Puteţi deschide o coadă, pune mesaje pe ea, primi mesaje de la ea, şi inchide coada de aşteptare. Se pot, de asemenea, stabili atributele cozi.
5. Queue managerele(manager de cozi) Un manager de coadă este un program de sistem, care oferă servicii de aşteptare pentru aplicaţii. Acesta oferă o interfaţă de programare aplicatie astfel încât programele pot pune mesaje pe cozi, şi potprelua mesaje de pe cozi. Un manager de coadă oferă funcţii suplimentare astfel încât administratorii pot crea noi cozi, pot modifica proprietăţile cozilor existente şi pot controla funcționarea managerul de coadă. Pentru ca procesarea mesajelor prin coada WebSphere MQ ® serviciile să fie disponibile pe un sistem, trebuie să existe un manager responsabil coada de funcţionare. Puteţi avea mai mult de un manager de coadă care rulează pe un singur server. Diferite aplicaţii pot utiliza serviciile managerului de coada în acelaşi timp, şi aceste aplicatii pot fi în întregime fără legătură. Pentru un program sautilizeze serviciile unui manager de coadă, acesta trebuie să stabileasca o conexiune la acel manager de coadă.
11
Pentru ca aplicaţiilesa trimita mesaje la cererile care sunt legate de alti manageri de coadă, managerii de coadă trebuie să fie capabili să comunice între ei. WebSphere MQ pune în aplicare un protocol de stocare-şi-transmitere, pentru a asigura livrarea sigură a mesajelor între aceste cereri. Coada de manageri defineste proprietăţile (cunoscute ca atribute) ale acestor obiecte. Valorile acestor atribute afectează modul în care WebSphere MQ prelucrează aceste obiecte. Din aplicaţiile, se utilizeaza mesajul de interfaţă (MQI) pentru a controla aceste obiecte. Obiecte sunt identificate de un descriptor de obiect (MQOD), atunci când dintr-un program.
6. Schema generala a sistemului
Clientii WebSphere ® MQ sunt componente independente si instalabileale produselor WebSphere MQ. Un client permite rularea aplicatii WebSphere MQ, printr-un protocol de comunicații, să interacţioneze cu unul sau mai multe servere cu coada interfaţă de mesaje (MQI) pe alte platforme şi să se conecteze la managerii lor de coadă.
12
Instrumente utilizate(Tool-uri)
SQL Developer Instrument gratuit, grafic de la Oracle pentru interacţiunea cu bazele de date Conexiuni definite sunt stocate într-un fişier XML => uşor de import/export Permite instrucţiunile SQL & PL/SQL script-uri pentru a fi rulat pe DBs Utilizatorii de DB tech_read_if_ai (MMC, CFM, MMS), tech_read_2ls (brokeri DB: MAI06I, MAI06P, MAI08, mai18P), mai_adapters (GMS SCS ST, GMS SCS HO) SQL Developer - utilizate în MSB numai pentru inspectarea DBs (selectati); separa procedura pentru schimbarea conţinutului DB (actualizare, ştergere, Inserare)
IBM Broker Toolkit Instrument grafic pentru gestionarea WebSphere mesaje de pe brokeri Conexiunile sunt adăugate manual Alternativă la liniile de comanda mqsi Operaţiunile de obicei Creeaza/elimina grupuri de executie Oprire/pornire mesaj fluxurilor Verificare starea fluxurilor de mesaj (pentru mesaj de Broker v. 6 )
Comenzi mqsi Alternativă la - dar mai rapid decât - IBM Broker Toolkit Accesibile din linia de comandă brokerul, cu OS utilizator mqsi Comenzi uzuale o mqsilist, mqsireload o mqsistopmsgflow, mqsistartmsgflow Exemplu
$ LS (dirname $(which mqsilist)) pentru a vedea toate comenzile mqsi cmd_name? -pentru a obţine sintaxa comenzii
WMQ Tool
13
Instrument grafic pentru gestionarea managerilor de coadă Conexiunile sunt adăugate manual Alternativă(interfaţă) la comenzi mqm (linie de comandă) Operaţiuni uzuale o oprire/pornire canale o verifica & modifica parametrii de cozi o inspecta mesajele de conţinut (importante – de asemenea, antete mp sunt vizibile)
Comenzi mqm Alternativă la - dar mai rapid decât – instrumentul WMQ Tool Accesibil din linia de comandă pentru manipualre manager de coadă, cu OS utilizator mqm Instrumente de CLI & comenzi Comenzi MQ de control: dspmq, endmqm, strmqm –comenzi de bază pentru administrarea QM, executat în linia de coajă Runmqsc – shell interactiv de la IBM - oferă un set complex de comenzi de administrare pentru MQ Qsh – instrumentCLI pentru gestionarea mesajelor (inspecteaza cozile, mesaje de filtrare, mutare/şterge mesajele etc)
TWS Aplicatie web de la IBM pentru programarea de sarcini repetitive Sarcina = script-ul/programul rulează pe o maşină Alternativă mai complexe la crontab de instrument de CLI Permite gruparea logică job-urilor Job-urile pot avea priorităţi şi depinde de o alta
Putty Aplicatie standard de conectare la distanţă intre staţii de lucru Windows si servere Unix Protocolul folosit - SSH
WinSCP Aplicatie de conectare la distanţă de staţii de lucru Windows servere Unix
14
Oferă interfaţă grafică pentru sistemul de fişiere la distanţă de navigare Transferul de fişiere la/de la serverul de la distanţă computerul local Permite utilizarea editoare de text avansate cum ar fi Notepad ++ pentru deschiderea (şi editare) fişierelor la distanţă
15
Concluzii
In opinia mea, sistemul folosit pentru transferul datelor, si anume IBM WEBSPHERE MQ este un complex, din aproape in aproape, care foloseste mai multe medii pentru asigurarea nevoilor clientilor. Metoda de transfer este aceeasi pentru majoritatea tipurilor de cerinte (transferul facturilor, preturilor, etichetelor electronice, clienti, carduri, vanzari etc) cu diferenta ca doar sablonul mesajelor difera. Un mare avantaj este acela ca exista instrumente de verificare/manipulare a transferului de date atat din linie de comanda cat si prin intermediul unor aplicatii user-friendly. In functie de preferintele angajatului se poate opta pentru varianta mai usoara astfel incat task-urile sunt indeplinite. Un dezavantaj ar fi faptul ca nu exista intotdeauna concordanta intre problemele semnalate de client si radacina problemei, astfel incat multe probleme ajung in departamentul AO MSB fara sa fie nevoie de interventie din partea noastra. In concluzie, desi am inceput sa lucrez in acest domeniu de doar 6 luni, consider ca reprezinta un mediu complex, cu multe oportunitati de dezvoltare si o vasta incursiune intr-una dintre cele mai bine puse la punct variante de transfer de date existente la ora actuala.
16
Bibliografie
http://www.metrosystems.ro;
http://www.metrogroup.ro;
http://www-03.ibm.com/software/products/us/en/wmq/
Documente interne METRO SYSTEMS
17