Modelarea Si Simularea Operatiunilor In Servicii Utilizand Tehnologii Cloud

PROIECT DE DISERTAȚIE

Modelarea și simularea operațiunilor în servicii utilizând tehnologii cloud

CUPRINS

Intoducere

1.1. Tema

1.3 Istoric

1.4 Context general

Obiective

3. Alegerea tehnologiilor care vor fi folosite

4. Cloud computing – concepte generale

4.1De la outsourcing la cloud computing

4.2Nivele de abstractizare într-un serviciu de tip cloud

4.3Servicii WEB de tip SOAP/REST

4.3.1SOAP

4.3.2REST

4.4Servicii de Cloud

4.5Servicii Cloud populare pe piață

5.Gestionarea operațiunilor în contextul serviciilor

5.1 Definiții

5.2 Considerații teoretice legate de modelare și simulare în contextul gestionarii oprațiunilor în servicii

5.3 Operațiuni în servicii

Pachete de servicii:

Dezvoltarea de noi produse și servicii folosind operațiuni în dezvoltarea lor

Costuri – acestea sunt parte în aproape toate operațiuniile

5.4 Rolul strategic al operațiunilor

Planificarea stategiei

6. Soluția propusă

6.1 Cerințe

Funcțiile sistemului:

6.2 Propunerea unei soluții

Bibliografie

Intoducere

1.1. Tema

Această lucrare își propune să descrie dezvoltarea și implementarea unor modele pentru simularea operațiilor în servicii cu scopul de a observa anumite aspecte ale pieții actuale.

Aspectele urmarite sunt operațiile in servicii si interdependențele lor.

1.3 Istoric

Gestionarea operațiunilor își are rădăcinile în gestionarea producției. La începuturile producției bunurile erau produse manual, în ateliere și erau create la comandă, fiind în mare parte unicate. Henry Ford a fost primul care a înțeles limitările producției ”la unitate” și a introdus conceptul de producție în masă. Acesta a fost începutul introducerii stategii de proiectare și producție în masă. O dată cu producerea bunurilor în masă a aparut, cu timpul și necesitatea creerii de servicii ”after sale”.

Astfel o scurta privire de ansamblu asupra istoriei gestionarii operațiuniilor poate fii rezumata asa[5]:

~ 1776 – Adam Smith introduce conceptul de specializare. Deci unii indivizi care operau anumite mașinării erau specializați pe acea activitate. Acesta este probabil și un prim pas spre standardizare.

~ 1799 – Apare conceptul de piese interschimbabile. Deci dezvoltarea industiala aduce un nou standard în producerea de mașinării. Aceste mașinării de producție erau folosite în fabrici. Acesta este introdus de Eli Whitney (și altii)

~ 1832 – locurile de muncă încep să fie specializate, conceptul de introdus de Charles Babbage

~ 1900 – Frederick W. Taylor scrie un studiu despre diviziunea muncii și planificare

în 1901 Henry L. Gantt introduce conceptul de programare a activitățiilor pentru angajați, mașini.

în anul 1915 apare conceptul de inventar și este introdus de F.W.Harris

~ 1915 – Ford introduce productia în masă și ideea de a ține bunuri preproduse în stoc.

~1927 apar primele studii asupra psihologiei umane în muncă, mai anume studdile Hawthorne

1931 – apare conceptul de calitate, fiind propus de W.A Sheward

1940 – o data cu al-doilea război mondial apare și primele cercetări în domeniul operațiuniilor

în 1946 apare computerul digital și o dată cu acesta noi concepte în domeniul operațiuniilor

1947 – apare programarea procedurală

1950 – ecuațiile matematice își fac loc în lumea computerului digital

1951 – computerele digitale încep să fie vândute pentru consumatori

1960 – noi studii psihologice în muncă

1970 – strategiile dezvoltate pana acum în domeniul operațiuniilor sunt introduse în aplicații computerizate pentru asistarea producției

1980 – apar aplicații computerizate și noi sisteme în Japonia și sunt preluate la nivel mondial (CAD-CAM, Kanban)

1.4 Context general

Simularea și modelarea operațiunilor în servicii nu este un lucru nou, existand mai multe carți pe acestă temă și mai multe ERP-uri (enterprise resource planning) care sunt folosite pentru conducerea și simularea operațiunilor de servicii.

Crearea unor modele pentru simularea operașiunilor în servcii, este însă o temă ce trebuie adaptată mereu la noile tendințe din piață, astfel lucrarea de față are ca obiect exact acet astpect de modelare conform tendințelor actuale.

Pe de alta parte tendința de a muta afacerile și mai ales serviciile și perețiunile în cloud este o altă componentă care trebuie luată în considerare. Astfel am ales sa cercetez acestă tendință de transfer spre cloud computing în contextul serviciilor.

Se dorește ca sistemul să poată fi utilizat gratuit și modificat astfel încât să se adapteze nevoilor companiilor care doresc sa-l utilizeze. Desi la momentul de față discutăm de un concept mai mult decât o platfomă, orice companie îl va putea prelua și modifica pentru adaptarea la afacere.

Obiective

1.1. Identificarea cerințelor funcționale ale sistemului

1.2. Determinarea nevoilor și instrumentelor necesare în dezvoltarea și utilizarea unui astfel de sistem

1.3. Propunerea unei soluții și analizarea diferitelor abordări deja existente

1.4. Propunerea și implementarea unui sistem funcțional care să intrunească nevoile și caracteristicile descrise

În cadrul lucrarii, pentru o solutie care să reflecte cât mai bine necesitățile reprezentate de obiective, se vor lua în considerare si următoarele aspecte:

· Identificarea cerințelor funcționale ale sistemului

Determinarea nevoilor și instrumentelor necesare in dezvoltarea si utilizarea unui astfel de sistem

Dezvoltare

nevoi software

nevoi hardware în cloud

studii de caz

Utilizare

Servicii de proiecție, statistică și calcul

functionalități personalizate

interactiune între sisteme

3. Alegerea tehnologiilor care vor fi folosite

Limbaje de programare existente pe piață, cu aplicații in domeniu programarii web și utilizate în tehnologii cloud sunt:

C# (ASP.NET), C++ ( CSP C++ server pages), Java, Perl, PHP, Python (Django), Ruby (on Rails).

Pentru alegerea unui limbaj de programare și a unei baze de date au fost luate în considerare trendul pieței și cunoștințele personale despre limbaje de programare. A fost ales python datorită bibilotecilor sale scipy, matplotlab și pylab. De asemenea pentru bazele de date au fost luate în considerare mongoDB (baze de date non-relaționare) și MySQL (relaționare). Ambele fiind recomandate am ales să folosesc MySQL deoarece este mai larg suportată.

Pentru testarea și implementarea sistemului am ales DigitalOcean deoarece este un serviciu de cloud popular, dar mai ales ușor de utilizat și ieftin.

4. Cloud computing – concepte generale

4.1. De la outsourcing la cloud computing

Un aspect de baza în orice tip de sistem în tehnologia actuală îl reprezintă schimbul de informații.

Outsourcing = ”O practică utilizată de către diferite companii pentru a reduce costurile prin transferarea unor sarcini de lucru către furnizori externi, mai degrabă decât finalizarea ei pe plan intern.” (Investopedia US, A Division of ValueClick, Inc. , 1999-2013)

”IT outsourcing este un actul de a delega sau de a transfera o parte sau toata partea de decizie legata de tehnologia informației, procese de afaceri, activități interne, precum și servicii de la furnizori externi, care dezvoltă, gestionează și administreză aceste activități, în conformitate cu rezultate convenite, performanța, standardele și rezultatele stabilite în acordul contractual.” [13]

Principalele beneficii ale Outsourcing-ului prin Cloud Computing, după cum au fost identificate în lucrarea lui Subhankar Dhar, ”From outsourcing to Cloud computing: evolution of IT services” sunt:

· Reducerea costurilor

Prin cedarea drepturilor de dezvoltare ale unor soluții, companiile care fac outsourceing-ul își pot reduce costurile deorece nu mai necesită dezvoltarea de la zero ”in-house”, si permit unor companii cu experientă în astfel de sisteme să preia partea de dezvoltare. În acest mod timpul de dezvoltare scade semnificativ.

O altă metodă este reprezentată de platformele ”la cheie”, vândute de companii specializate. Adesea aceste companii oferă personalizarea soluțiilor, hostarea și mentenanța lor.

Astfel de practici reduc costurile: mai multe platfome au acces la aceleași resurse hardware, în loc de utilizare unei resurse hardware pentru un singur sistem care nu necesită toată puterea de procesare.

· Dezvoltare mai rapidă

Companiile pot obține avantaje aducând pe piață produsul inaintea competitorilor.

· Perfomanță și calitate mai ridicată

Vânzătorul poate garanta asigurarea performanței și calitatea serviciilor. Acest lucru poate fi realizat prin adoptarea de standarde mai ridicate, a practicilor de bună integrare, profitând de cele mai recente tehnologii și de timpul de răspuns din ce în ce mai bun.

· Servicii profesionale, răspândite pe arii geografice

Vânzătorul poate, adesea, oferi servicii profesionale, în multe cazuri, non-stop, în diverse zone geografice, care poate fi în afara granițelor de stat unde funcționează compania.

· Contracte creative și structrate

Vânzătorul poate oferi contracte creative și structurate, care pot permite companiei de a iniția parțial sau integral, finanțarea și dezvoltarea unor inițiative strategice noi, cu risc relativ scăzut.

Compania astfel poate transfera riscul de eșec către furnizor, în special în zonele în care compania nu are competență de bază. Aceste contracte ar putea fi suficient de flexibil pentru a se adapta la variațiile cererii și ofertei, fluxurilor de numerar și ciclurilor de afaceri

Conform studilor realizate în ultimii ani Cloud Computing-ul este cea mai răspândită metodă de outsourcing, transfer și distribuție de fișiere activă la nivel mondial.

Mai jos sunt prezentate în procente industriile care utilizează servicii de tip cloud și în ce proporție.

Studiul este realizat de către Tuncay Ercan, în lucrarea sa ”Effective use of cloud computing in educational institutions” și contine cifre obținute în mare parte în SUA. [14]

Figura1. Utilizarea Cloud-ului în funcție de industrie

Un serviciu de tip cloud are trei nivele de abstractizare:

– SaaS: Software as a Service

– PaaS: Platform as a Service

– IaaS: Infrastructure as a Service

4.2. Nivele de abstractizare într-un serviciu de tip cloud

Compania de consultanță McKinsey a realizat un studiu despre Cloud Computing în jurul anului 2009.

În urma acestui studiu aceștia au gasit peste 22 de definiții pentru Cloud Computing. În realitate nu exită un standard sau o definiție comună pentru cloud, dar definiția cea mai răspândită este: ”grupuri de calculatoare distribuite (centre de date în foarte mari și ferme de servere), care furnizează resurse și servicii la cerere printr-o rețea (de obicei Internet).”

Termenul de "cloud" a fost, probabil, inspirat de ilustrațiile din manuale care a descriu mediile la distanță (de exemplu, Internet) ca imagini cloud/nori, în scopul de a ascunde complexitatea care se află în spatele acestor grupuri de calculatoare.

Cel mai bun mod de a întelege cum funcționează un sistem de cloud este întelegerea celor trei nivele de abstractizare care compun un astfel de sistem.

4.2.1. Software as a Service

În modelul Saas- Software as a Service furnizorii de servicii livrează servicii hardware și software prin intermediul unui portal Web. Serviciile furnizate pot reprezenta aproape orice, de la email, procesare de baze de date, control al inventarului unui produs, a unor date sau a unor persoane.

Sub acest nivel de abstractizare aplicațiile sunt oferite către utilizatori prin rețeaua de internet sub forma unui serviciu. Astfel utilizatorul nu mai trebuie să intaleze softuri/ pachete software în propriul computer, ci, mult mai simplu îl accesează prin rețeaua de internet; acestă practică diminuază nevoile hardware ale unui computer, permitând redirecționarea puterii de procesare către aplicații de comunicare rețea, astfel permițând funționarea mai eficientă a serviciilor.[15]

Acest nivel al serviciilor de Cloud Computing oferă o gamă completă de aplicații care pornesc de la programe menite să sporească productivitatea (servicii de tip office, prezi, email) până la aplicații de tip CRM ( Customer Relationship Management) sau managementul resurselor unei îmntreprinderi mari.

4.2.2. Platform as a service

Acest nivel al Cloud Computing se aseamănă cu modelul tradițional în care ficare aplicație rula local și necesita resurse hardware, o bază de date, un sistem de operare servicii web și alte tipuri de software, care rulau toate local. [15]

Pentru ca toate acestea să funcționeze în armonie era necesară o echipă de experți pentru fiecare astfel de platformă.

PaaS rezolvă acestă problemă, asigurând, prin intermediul internetului accesul la orice astfel de servicii, cu o singură echipă de experți, care lucrează practic pentru mai mulți clienți.

PaaS asigură scăderea costurilor și eliminarea problemelor care apar prin nefuncționarea unor componente. Atunci când o componentă a platformei nu este funțională clientul este deservit de un server de backup.

4.2.3. Infrastructure as a service

Produsele disponibile la acest nivel includ asigurarea prin internet a unei infrastructuri complete de computer, cum ar fii servere, computere virtuale și dispozitive de stocare (Google Drive, Google Apps, Google Sites, Google App Engine, DrobBox, Box, 4Shared etc). [15]

În cadrul acestui nivel clienții platesc pentru câte resurse utilizează. De exemplu Amazon Web Service și IBM Blue Cloud funționează astfel, practic închiriând resurse.

Principalul avantaj care apare din acest tip de serviciu, este de partea clientului, care necesită pe un harware mult mai slab, deci mai ieftin, dar poate utiliza harware mult mai perfomant atunci când este necesar și poate plăti după nevoi. [16]

Figura2. Nivele de abstractizare in cloud

4.3. Servicii WEB de tip SOAP/REST

API = application programmong interface

API = ”este un set de rutine, protocoale și instrumente pentru dezvoltarea de aplicații software. Un API bun facilitează dezvoltarea unui program prin furnizarea tuturor <<blocurilor>> necesare dezvoltării acestuia. Un programator are rolul de a pune ceste blocuri împreună.” [17]

Cele mai multe servicii cloud asigură astfel de API-uri pentru a permite programatorilor să comunice cu serviciul, indiferent de mediul sau scopul în care programează. Un alt avantaj este că acestea asigură unteren comun pentru programatori și o interfață similară pentru utilizatori, ceea ce face programale mai usor de folosit.

O mare parte dintre aceste API-uri sunt, însă, proprietare. Această problemă apare ca o limitare în dezvoltarea tehnologiilor Cloud.

Există, totuși și servicii bazate pe standarde open source cum ar fi SOAP sau REST.

4.3.1. SOAP

Simple Object Access Protocol este o specificație de protocol pentru schimbul de informații structurate în implementarea Serviciilor Web în rețelele de calculatoare.

Se bazează pe informații formatate sub formă de XML și de obicei se bazează și pe alte protocoale, printre care cele mai importante sunt: HTTP (Hypertext Transfer Protocol) și SMTP (Simple Mail Transfer Protocol), pentru comunicare și transmisie.

SOAP este format din trei parți:

– ”un plic”: este o variabilă care deține date despre mesaj și cum trebuie procesat

– un set de reguli de criptare

– o convenvenție pentru comunicare (trasnmisie/recepție).

SOAP are trei caracteristici de baza:

– Extensibilitate: securitate si WS-routing (un header cu date despre emisie/recepție mesaj)

– Neutralitate: poate fi folosit cu orice protocol de transmisie (HTTP SMTP, TCP, JMS)

– Independență: poate fi folosit cu orice limbaj de programare

Structura SOAP:

Figura3. Structura SOAP (serviciu web)

Figura4. Utilizarea SOAP

4.3.2. REST

REST= Representational state transfer

Este protocolul cel mai utilizat la momentul actual pentru crearea de API-uri.

REST este un protocol open source care lucrează peste protocolul HTTP. Acest protocol funcționează prin citirea unei pagini WEB care conține un fișier XML care descrie și include conținutul dorit.

REST este adesea folosită in aplicațiile mobile, siturile de socialzare, procese de bussiness automatizare și aplicații mashup (situri care cobină resursele prorpii cu resurse externe; ex: blog cu commenturi facebook sau diquss). [18]

Protocolul are ca scop micsorarea numarului de operații efectuate între client și server.

Principalele acțiuni efectuate sunt: POST, GET, PUT, DELETE.

Avantajul principal al REST față de SOAP este că datele comunicate în rețea au dimensiuni mici. La SOAP datorită critării și formatării datele își măresc dimensiunile.

Figura5. Utilizarea serviciilor web REST

4.4. Servicii de Cloud

Serviciile de tip cloud sunt de două tipuri:

– Cloud public

„Cloud-ul public permite utilizatorilor să creeze servicii pe sisteme care sunt păstrate și gestionate în afara sistemului IT al companiei. Principala diferență dintre sistemele getionate clasic este că într-un cloud public toate instanșele sunt virtualizate și pot fi create, actualizate și finalizate prin intermediul unui API. În mod normal clienții sunt taxați în funcție de resursele utilizate pe oră.” [19]

Practic utilitatea unui Cloud Public este să ofere toate cele trei nivele de abstractizare existenete într-un cloud, la prețuri mult mai mici, decât dacă sistemul ar fi implementat intern în companie.

– Cloud privat

Este caracterizat de faptul că este implementat în cadrul unei companii, ce către departamentul intern de IT. Accesul la serviciile implementate în acest sistem sunt restricționate la angajații companiei. [20]

Un cloud privat trebuie, în esență, să funcționeze ca orice cloud public, dar să elimine problemele apărute pe baza securității datelor stocat în sistem.

Implementarea unui cloud privat, este mai costisitoare decât cumpărarea unui abonament la un serviciu de cloud public.

Cloud Hibrid – este o combinație între cele două de mai sus (vezi anexa 4).

4.5. Servicii Cloud populare pe piață

Având în vedere creșterea pieții de sisteme de tip cloud următoarele sisteme au fost dezvoltate și au devenit populare în ultimii ani. Sisteme care urmează a fi menționate nu sunt singurele sisteme de pe piață, dar sunt adecvate pentru a fi utilizate în proiectul curent.

5.Gestionarea operațiunilor în contextul serviciilor

”Gestionarea operațiuniilor este modul prin care companiile produc bunuri și servicii”

5.1 Definiții

Gestionarea operatiunilor = „proiectarea, executia și controlul operatiilor cu scopul de a transforma resurse in bunuri și servicii și de a implementa strategiile unei companii în piața de bunuri și servicii”

Termenul de operație și mai ales noțiune de gestionare a operațiunilor nu sunt ușor de definit datorită gamei largi de ”funcții„ și ”acțiuni„ care sunt implicate în acest proces.

Deci, ca orice termen care este folosit foarte des folosit cu mai multe sensuri, este greu de definit. După cum am menționat și mai sus, de obicei, gestionarea operațiunilor aceasta este legată de îndeplinirea unei funcții, de asemenea, un cuvânt de bază greu de definit deoarece are multe utilizări. Vom vedea mai târziu că operațiunea este una dintre cele trei funcții de bază ale unei organizații (pe lângă marketing și producție sau de dezvoltare de servicii), după cum este menționat și în lucrarea lui Salvendy, Gavriel: Handbook of industrial engineering: technology and operations management. Dacă ne gândim la marketing ca fațadă a unei afaceri în curs de dezvoltare (nu neapărat profitabile), vom găsi operațiuniile ca fiind principala modalitate de a onora promisiunile marketing-ului. În Operations Management: Steve Brown…, operațiuna este descrisă printr-o metaforă sugestivă: "operațiune este acolo unde … cauciucul atinge drumul". Practic, operațiunea este ceea ce organizatia face și nu ceea ce ar trebui să facă [11].

5.2 Considerații teoretice legate de modelare și simulare în contextul gestionarii oprațiunilor în servicii

La baza modelarii, mai ales în servicii, stă un concept de project management destul de simplu. În funcție de scopul și nevoile companiei avem putem vedea un model în practică ca fiind evolutionary prototype sau throw-away prototype. Aceste doua modele pot fi folosite atat în producția de bunuri cât și în producția de servicii, deoarece este un model de gestionare de proiect folosit atât în industria IT cât și în industria de servicii.

Ideea de bază care stă la baza modelarii poate fi observată în figura urmatoare:

Figura6. Schema abstracta al procesului de modelare [11]

Figura 6 este o imagine asura persoanelor impicate în strategia unei organizații. Avand acestă imagine în minte ne putem da seama cât de important este pentru persoanele implicate în conducerea unei organizații să cunoască structura organizațională a companiei, instrumentele de care se folosesc pentru a lua decizii în legătură cu produsele și serviciile oferite și în legătură cu piața pe care își desfășoară activitatea (și evident competiția adusă de alte companii).

Modelul care stă la baza operațiuniilor este numit „Input-Transformation Process – Output” adica intrari->procesări->ieșiri

Figura 7. Model Intrări-Procesări-Ieșiri [11]

Pe baza acetui model se poate extrapola și un model cu feedback:

feedback intern

feedback extern (clienți)

Figura 8. Extinderea modelului Intrări-Procesări-Ieșiri [11]

Simularea în contextul gestionării operațiunilor a devenit o tehnologie adesea folosită în domeniu. De la arbori de decizie și programe software care simuleaza scenarii posibile pentru a ajuta procesul de luarea deciziilor in context operațional.

Deși conceptul a apărut incă din 1980 a luat amploare după 2000, iar acum este considerat o baza în luarea deciziilor, find utilizat pentru a simula și testa noi idei inainte de a fi implementate în operațiuni. În loc să folosim modele matematice complex acum avem la un click distanță programe de simulare care permit asistarea deciziilor.

Astfel de programe pot fi utilizate in sisteme de producție, rețele de telecom rețele de distribuție etc și sunt adesea utilizare pentru a studia probleme existente, probleme potențiale sau pur și simplu introducerea unei noi idei sau al unui nou flux.

Utilizări practice: simularea unor situații cheie în operațiuni și procese, studii de fezabilitate, procese în afaceri, necesarul de resurse umane, necesarul de operatori in call center-uri, planificarea capacității, necesarul energetic al unei companii, simularea costurilor de extractie și procesare în industria petrolieră și orice alte

Utilizarea simulării și modelării în producție de bunuri și servicii apare din nevoia companiilor de a-si mari cota de piață și competitivitatea. Astfel datele extrase din simulări sunt utilizate pentru luarea deciziilor și crearea modelelor de afaceri.

Deși larg utilizate atât în servicii cât și în producție acestea au avantajul că pot lua în considerare și costurile/distributori secundari, efectul unor zone de conflict asupra afacerii și chiar, impactul deschiderii unei noi fabrici, impactul mutării într-un nou birou și chiar numărul absolvenșiilor care vor deveni disponibili pe piața muncii la o anumită dată, dar mai mult ele pot fi folosite pentru a face proiecții asupra populației, a nevoilor în creștere, modul de alocare a resurselor de apă și hrană, potențiale viitoare zone de conflict, modul de extindere a unor boli virale în funcție de infrastructura și comportamentul cultural al unei zone și cum se vor reflecta toate aceste variabile în bunul mers al unei afaceri. Simulăriile acestea pot folosi multiple fluxuri de date (chiar și diferite) și multiple modele. Acestea poartă numele de ”What-If” analysis. Aceste simulări sunt considerate absolut necesare în jocul la bursa de valori.

Figura 9.Planificarea necesarului forței de muncă

5.3 Operațiuni în servicii

Serviciile sunt de mai multe feluri:

servicii legate de producția de bunuri (customer service, servicii de urgență pentru mașini, servicii de navigație pentru mașini, avioane și vase maritime, garanții)

servicii legate de bunăstarea populației (serviciul de urgență 112, spitale, echipe de răspuns în cazuri de urgentă, ambulațe, inspecții sanitare, distribuția de medicamente și vaccine)

servicii de lux (restaurante, hoteluri, magazine online/offline)

Toate acestea sunt interconectate și interdependente.

Ca fapt divers astăzi 64 din 100 de companii care apar în Fortune 500 [5] sunt în industria serviciilor. Chiar și companiile care nu produc servicii, ci doar bunuri depind de serviciile altor companii pentru pentru distribuție sau garanții post producție.

Pachete de servicii:

mediul de suport: resursele fizice sau informatice necesare înainte ca bunurile sau sericiile să poată fii vândute (avioane, echipament, spitale, lifturi, servere, sisteme de operare etc)

bunurile: materialele/serviciile necesare pentru a opera serviciul sau a folosi bunurile (documente, chei ssh, fișe medicale etc)

informații: datele de la client care permit operarea serviciilor sau consumul bunurilor cât mai eficient

servicii explicite: beneficiile care pot fii observate (ex: calitatea mâcării într-un restaurant, atitudinea angajațiilor)

servicii implicite: beneficii ce nu sunt observate direct, dar au un impact psihologic (ex: securitatea, intimitate etc)

Dezvoltarea de noi produse și servicii folosind operațiuni în dezvoltarea lor

Activitatea prin care un nou produs sau serviciu este creat poate fii văzut ca un proces. În cele ce urmează putem observa o diagramă care ilustreaza un astfel de proces, într-un mod simplificat. Trebuie avut, însă în vedere că procesul poate fii mai extins decât e prezentat în diagramă în funcție de scopul proiectului.

Figura 10. Dezvoltarea de noi produse/servicii [5]

Resursele pot fi impărțite în doua tipuri[11]:

resurse care pot fi transformate/prelucrate, cum ar fii materia primă, dar în cazul serviciilor se referă la date și informații cum ar fi: date tehnice, studii de piață, studii pe consumatori, feedback, previziuni legate de concurenșă etc.

resurse care sunt utilizate pentru a le prelucra pe cele anterioare. În acestă categorie intră resursa umană (angajații), echipamente, unelte, diverse aplicații software etc. O resursă importantă în acest cadru este computerul. Vom expune asta mai pe larg in contextul NPSD (new product/service delivery) în acestă lucrare. Pentru simularea proceselor NPSD exită mai multe aplicații software (CAD, CIM).

Practic, prin prin preluarea unor date care neprelucrate nu au relevantă și prin prelucrarea lor, tranformăm informația continută în fișiere sau sisteme de baze de date, sau chiar pe web în conținut care poate fi înteles de către oameni.

În cartea sa, „Content Management Bible”, Bob Boiko afrimă următoarele: ”Contentul este informație care este pusă într-o formă utilizabilă care are unul sau mai multe scopuri. Valuarea conținutului(content) are la bază o combinație între forma sa primară de utilizare împreună cu aplicabilitatea, accesibilitatea, utilizarea, utilitatea, recunoașterea ca marca și unicitatea.” [1]

Astfel putem spune ca un serviciu are mai multe scopuri și utilizări, iar unul dintre ele este acela de a permite utilizatorilor sa aiă acces la informație într-un format inteligibil.

Ca orice alte procese implementate cu un scop și procesele de tip NPSD sunt supuse unor objective de performanță. Aceste sunt definite conform [9]:

Calitate – petru a defini calitatea exită mai multe abordări. Una este abordarea din punct de vedere al clientului (care nu trebuie să fie neapărat extern[11]).

Viteză (time to market) – descrie cât de repede o organizație poate furniza produsele sau serviciile cerute de client

Fiabilitate – capacitatea unei companii de a respecta termenul limită de livrare (atât pentru clienți interni cât și pentru clienți externi). Astfel dacă viteza este folosită pentru planificarea livrarii, fiabilitatea asigură conformarea la aceste termene.

Flexibilitatea – abilitatea unei operațiuni de a-și schimba caracteristicile legate de ieșiri (tip, volum etc) și procese (durată, intrări procesate etc). UN factor important al flexibilității este reprezentat de utilizarea unei infrastructuri IT&C. Combinația între flexibilitate ridicată și viteză ridicată este cheia către obiectivele AGILE.

Costuri – acestea sunt parte în aproape toate operațiuniile

5.4 Rolul strategic al operațiunilor

Obiectivele unei organizații, indiferent de domeniul de activitate, este strâns legat de oportunitățile pieței. Domeniul economic și eficența conversiei operațiuniilor sunt seundare ca obiective într-o organizație, dar la fel de importante. Acestea sunt, însă predominate în studiul și practica gestionării operațiuniilor. [5]

În figura următoare avem o schemă simplificată a unui sistem de produție.

Figura 11. Schemă de producție [5]

Obiectivele unui sub-sistem de operațiuni este de a furniza capacitatea de conversie a unor funcții și acțiuni pentru a întrunii scopul organizației. Orice sub-sistem trebuie să descrie următoarele obiective[5]:

Caracteristicile serviciului/produsului

Caracteristicile procesului

Calitatea produsului/serviciului

Eficiență

costul resursei umane și a interacțiunilor între ei

costul materialelor

controlul costurilor în unitățile de producție utlizate

Serviciul clienți

evaluarea și simularea cererii

date de livrare si mod de lvrare

Adaptarea la schimbări

Planificarea strategică a activitățiilor poate fii considerată planificarea dinaintea planificării detaliate. În acestă etapă deciziile în legătur cu planificarea activitățiilor companiei sunt luate la nivelul executiv al companiei și acestea trebuie să fie în conjuncție cu strategia generală a companiei.

În figura ce urmează avem un framework pentru gestionarea operețiuniilor:

Figura 12. exemplul unui sistem pentru gestionarea operațiunilor [5]

Gestionarea operațiunilor poate fii văzută ca un framework pentru managementul general așa cum poate fi observat și în figura 12. Gestionarea operaațiuniilor acoperă arii precum planificare, organizare, controlul activitățiilor într-o companie și simularea lor.

Pentru a controla activitățiile un manager de operațini trebuie să se asigure că planurile pentru activitate pot fi duse la bun sfârșit și trebuie să ia in considerare ieșirile sistemului (produse/servicii) și să le compare cu planul inițial. Controlul costurilor, a calității si a datelor de livrare sunt funțiile principale în aplicarea strategiilor.

Comportament: managerul de operațiuni se ocupă de activitățiile companiei, iar la rândul lor acestea afectează comportamentul angajațiilor. Deci cum comportamentul executanțiilor va afecta comportamentul managerial aceștia vor fii interesați de comportamentul care va rezulta în luarea deciziilor cheie.

Model: este reprezentarea schematică a unor situații, actiuni și simulări care vor fi folosite în luarea deciziilor.

În 978-81-224-2883-4 pg 9 următoarele modele sunt definite:

„agragate planning models” : planificarea capacității unei organizații pe termen scurt

„linear programming and computer simulation” pentru utilizarea capacității

„decision tree analysis” pentru expansiunea capacității organizației pe termen lung

„simple median model” pentru determinarea celor mai bune localizări și drumuri în logistica serviciilor de livrare.

Figura 13: model general pentru gestionarea operațiunilor[8]

Obiectivele pentru utilizarea gestionării operațiuniilor pot fi deci împărțite în 2 mari arii:

serviciul clienți

utilizarea resurselor

Serviciul clienți

Primul obiectiv major al unui sistem de operațiuni este utilizarea resurselor pentru a obține bunuri sau servicii care vor fi satisfăcătoare pentru client.Acest sistem de oprațiuni trebuie sa aibă specificații care vor satisface clientul atât ca timp de execuție cât și ca costuri de execuție. Deci principalul obiectiv pentru serviciile care se adresează clienților poate fii rezumat așa „lucrul potrivit la prețul potrivit la timpul potrivit”. Funcțiile care descriu considerentele legate de client sunt prezentate în tabelul următor.

Utilizarea resurselor

Obiectivul principal aici este folosirea resurselor spre satisfacția clientului. Serviciului oferit clientului trebuie realizat prin utilizarea optimală a resurselor. Folosirea resurselor neadcvat poate duce la pierderi financiare sau a cotelor de piață.

Deci obiectivul operațiunilor în gestionarea resurselor este să obțină efectul maxim cu utilizarea cît mai mică a resurselor cu scopul de minimiza pierderile și irosirea resurselor.

Astfel ca să putem vedea o imagine de ansamblu asupra gestionării operațiunilor trebuie să avem în vedere că scopul organizațiilor este de a avea o utilizarea satisfăcătoare și eficientă din toate punctele de vedere perezentate mai sus (cost, calitate etc) atât pentru serviciul oferit cleinților cât și pentru resursele utilizate de companie.

În tabelul de urmeaza prezint obiectivele gestionării operașiunilor pe scurt:

Planificarea stategiei

Este procesul prin care deciziile luate de viitoare implementări sunt luate având in vedere situația actuală a unei organizații, condițiile de mediu actuale atât interne cât și externe. Acestă planificare trebuie să aibă ca rezultat un ghid[5].

Concept fundamentale: deciziile actuale au la bază viitoare condiții și rezultate

,,Strategiile desemnează ansamblul obiectivelor majore pe termen lung, principalele modalități de realizare, împreună cu resursele alocate, în vederea obținerii avantajului competitiv potrivit obiectivelor stabilite de întreprindere.”

Henry Mintzberg sugerează trei modele contrastante pentru strategia de planificare:

modelul antreprenorial

În modelul antreprenorial un leader realizează activitatea de planificare pentru funcțiile operațiunii.

modelul adaptiv

În modelul adaptiv un manager crează un plan în baza unor pași necoordonați formați pe baza unei mediu de lucru nesincronizat între departamente (se crează un plan la nivel organizațional deși departamentele din care e formată organizația acționează indepndent)

modelul de planificare.

În cadrul acestui model planificarea are la bază simularea bazată pe modelarea funcțiilor organizației.

Ceea ce este important în planificarea strategiei și alegerea abordării strategiei este comportamentul și strategie generală utilizate de companie.

O abordare generală are la bază un model realizat de Adam și Ebert și poate fi observat în figura următoare. Acesta poartă numele de „Forcced choice model”

Figura 14: Forced choice model

6. Soluția propusă

6.1 Cerințe

Dorim să creem un sistem care să permită simularea și modelarea unor funcți din organizație folosind date preluate de pe rețele de socializare și internet.

Pentru a testa practic sistemul vom simula creșterea consumului de electricitate în București până in 2020. Vom lua în considerare creșterea economică, consumul precedent, creșterea sau scăderea populației și necesarul național.

Funcțiile sistemului:

preluarea informațiilor dintr-o listă de baze de date precizate de utilizator

analiza unor fișiere incluse de utilizator

un crawler web care preia datele prin cautarea pe internet după cuvinte cheie introduse de utlizator

realizarea unor raporte legate de situațiile simulate

reutilizarea raportelor generate pentru a prelua informații din ele

actualizarea rapoartelor generate în urma obținerii de noi informații

generarea de grafice pentru clarificarea raportelor

generarea de raporte după modele propuse de utlizator

analiza (modelarea) și simularea anumitor situații

analiza unor cerințe introduse de utilizatori

analiza unor cerințe bussiness și transformarea lor în cerințe funcționale

6.2 Propunerea unei soluții

Voi realiza un sistem cu următoarea arhitectură de baza, care apoi va fi explicată mai pe larg în cele ce urmează.

Figura 15. Arhitectura generală a aplicației

În imaginea anterioară avem o arhitectură generală a aplicației ce urmează să fie imlementată.

Aplicația de modelare și simulare – este codul sursă al aplicației. Acesta se folosește de python pentru a rula simulările și a produce rapoarte. Django este un framework web support pentru python care asigură indeplinirea unor funcții printre care cele de care suntem noi interesați sunt:

folosirea unui model MVC (model view controller)

conectarea la multiple baze de date indiferent de tipul lor (mysql, mssql, mongodb etc)

asigurarea getionării bibliotecilor folosite în dezvoltare

ușurimea utilizării interfețelor cu utliizatorul (jquery + css + bootstrap)

Django framework – Django a pornit ca un mediu de dezvoltare a aplicațiilor într-o agenție de știri. Mai apoi a fost abstractizat și publicat ca un cadru web open-source. Această moștenire se face ușor simțită în întreg pachetul – în documentație, în interfața de administrare integrată si în librăria standard. În pofida originilor, Django include toate componentele necesare dezvoltării oricărei aplicații web de bază: un object-relational mapper (ORM) pentru baza de date, un sistem de template-uri pentru introducerea conținutului dinamic în paginile generate, un loc unde să adunam toate funcțiile Python și să le legam între ele.

Spre deosebire de TurboGears, Django nu folosește pentru aplicații servere precum CherryPy. În schimb, are incorporat un script de gestiune (manager.py) care poate invoca un server de dezvoltare simplu, dar se bazează pe un server web ce ruleaza mod_python sau FastCGI pentru producție.

Dintre avantajele majore, fără a face o enumerare exhaustivă, merită să menționăm:

Cuplaj redus

Mai puțin de cod de scris

Dezvoltare rapidă

Nu ne repetăm

Explicit este mai bun decât implicit

Coerența

Django promovează o dezvoltare centrată pe model (MDD), în care toate câmpurile esențiale și comportamentul datelor (de aici și mare parte din aplicația însăși) fac parte din model. La fel ca și în alte cadre de dezvoltare a aplicațiilor web în Python – gen TurboGears ori Pylons – modelul este menit să fie descris în principal în cod Python. Schema bazei de date si procesele de întreținere a datelor sunt gestionate de către Django în funcție de descrierea modelului. Acesta este nucleul aderării Django la principiul non-repetiției (DRY): modelul este descris într-un loc, iar detaliile persistenței bazei de date sunt ascunse.

Baze de date:

MySQL: Este utilizată in 9 din cele mai vizitate 10 site-uri de pe internet. Printre aceste site-uri se numără Facebook, Google, Youtube, Wikipedia. Multe dintre domeniile cu cea mai rapidă creștere din ultima perioadă se bazează de asemenea pe baze de date MySQL pentru e putea menșine cererile lor de scalare extraordinare. Printre aceste domenii se numără Tumblr, Pinterest și box.com. De asemenea, MySQL este cea mai răspândită bază de date, până la momentul actual, în serviciile publice și private de cloud computing. (MySQL/Oracle Co., 2013)

Urmând acest trend, MySQL, a devenit cea mai spcializată bază de date pentru arhitecturi WEB, astfel pentru următoarele tipuri de arhitecturi există module specifice MySQL:

· Autentificarea userilor și managementul sesiunilor

· Content management (managementul continutului)

· Ecommerce

· Analiza și integrarea modulelor mari de date

(MySQL/Oracle Co., 2013)

În platforma propusă în acestă lucrare se urmăresc în special punctele 1 și 2, deci pentru a realiza autentificarea userilor, managementul sesiunilor de logare și gestionarea corectă a conținutului paginilor de pe platformă, s-a alea MySQL ca bază de date principală în acest proiect.

În baza de date mysql vom tine datele salvate pentru redundanță în aplicație. Daca sistemul va mai necesita încă o dată date asupra unei activități sau a unui subiect timpul de răspuns pentru raport va fi mai scurt deoarece în loc să utlizeze datele căutate de serviciul WEB-CRAWLER acesta va prelua o parte din date din baza de date mysql și va începe întocmirea raportului. Pentru implementare folosim procese paralele.

MongoDB: MongoDB este o bază de date orientată-document, open source proiectată cu scopul de a fi scalabilită și rapidă. Este folosită pentru proiecte BIG-DATA și este compatibilă cu python. În loc de a stoca datele în tabele și rânduri ca o bază de date relațională, în MongoDB stocam documente JSON cu scheme dinamice.

Acesta oferă înaltă performanță, disponibilitate ridicată și scalabilitate ușoră.

Bază de date de tip document

Documentele (obiectele) se mapează ușor pentru orice tip de date limbaj de programare.

Documentele integrate și vectorii reduc nevoia de a creea join-uri.

Schema dinamică face utilizarea polimorfismului ușoară.

Performanță Înaltă

Încorporarea sa în sistem sun formă de obiecte face citerea și scriea rapid.

Indicii poat include chei din documente integrate și vectori.

Permite scrierea sub formă de streaming – opțional (fară confirmăre).

Disponibilitate mare

Datele de pe un server sunt replicate cu o funcție maester care are failover automat.

Ușor Scalabilă

Sharding automat distribuie datele de colectate la mai multe masini (servere).

Operații avansate

Cu MongoDB Management Service (MMS) MongoDB se poate constrii o soluție de backup completă și se poate realiza monitorizarea completă după deploy.

În acestă bază de date vom ține rapoartele deja întocmite. Folosim o baza de date mongoDB deaorece acesta salvează datele într-un fomat document lizibil, dar în același timp dacă alte sisteme vor avea nevoie de rapoartele produse vom folosi baza de date ca atare fără să mai fie necesară exportarea și formatarea acesteia. Acesta fiind o bază de date nerelaționară arhitectura ei este alocată dinamic.

Serviciu web crawler – este un serviciu web care permite căutarea pe internet în rețele de socializare și pe site-uri de specializate care oferă servicii web a informațiilor relevante pentru simularea desfășurată.

Acest serviciu permite căutarea după cuvinte cheie a datelor din ma multe surse și le intoarce în format JSON neprelucrat către aplicație pentru a fi analizate și utilizate

Cloud server (Digital Ocean): pentru găzduirea soluției vom folosi un server web UBUNTU instalat ca saas în platforma DO.

Serverul se află la ip-ul: 46.101.179.201 și nu are server DNS.

Mediul de dezvoltare va avea atât baza de date cât și serverul pe același server.

Figura 16. Model de arhitectură cu toate serviciile pe un singur server [12]

Avantaje:

Simplitate

Dezavantaje:

Atât aplicația cât și bazele de date utilizează aceleași resurse fizice

Performantă mai slabă determintă de împărșirea resurselor

Foarte greu se scalat

Download/Upload: utilizatorii vor putea descărca și încărca raporte dacă acestea repectă formatul cerul de aplicație. Unele raporte vor putea fi încărcate chiar dacă nu respectă formatul cerut de aplicație cu condiția să fie interpetabile. Aplicația va extrage datele pe care le poate extrage din ele și va genera un nou raport în formatul standard al său.

Gestionarea utilizatorilor:

Utilizatorii se vor înscrie pe site sau vor fii înscriși de un administrator și apoi vor putea folosi serviciul folosind o cheie generată de sistem pentru a se autentifica.

Utilizarea cheilor SSH este posibilă pentru administratori.

Cheie ssh = un mod de identificare pe un server linux folosind niste chei cripate

Bibliografie

Boiko, Bob. Content Management Bible. Indianapolis, IN: Wiley Pub., 2005. Print.

Brown, Steve. Operations Management: Policy, Practice and Performance Improvement. Oxford: Butterworth-Heinemann, 2001. Print.

“History Of Production and Operations Management.” History of production and operations management. Web. 19 Jun. 2015. <http://www.slideshare.net/prashantranka/history-of-production-and-operations-management>

Istocescu, Amedeo. Strategia şi Managementul Strategic Al organizaţei: Concepte Fundamentale: aplicaţii Manageriale. Bucureşti: Editura A.S.E., 2005. Print.

Kumar, S. Anil, and N. Suresh. Production And Operations Management: with Skill Development, Caselets and Cases. New Delhi: New Age International (P) Ltd. Publishers, 2008. Print.

Nicolescu, Ovidiu, and Ion Verboncu. Management. Bucureşti: Editura Economică, 1999. Print.

Salvendy, Gavriel. Handbook Of Industrial Engineering: Technology and Operations Management. New York: Wiley, 2001. Print.

Slack, Nigel, Alistair Brandon-Jones, and Robert Johnston. Operations Management. Print.

Slack, Nigel, Stuart Chambers, and Robert Johnston. Operations Management. Harlow, England: Financial Times Prentice Hall, 2010. Print.

“What Is Operations Management? Definition and Meaning.” BusinessDictionary.com. Web. 19 Jun. 2015. <http://www.businessdictionary.com/definition/operations-management.html>

Maximilian Nicolae “Operations and Operations Management”, UPB

“5 Common Server Setups For Your Web Application | DigitalOcean.” 5 Common Server Setups For Your Web Application | DigitalOcean. Web. 26 Jun. 2015. <https://www.digitalocean.com/community/tutorials/5-common-server-setups-for-your-web-application>

Dhar, S. (2012). "From outsourcing to Cloud computing: evolution of IT Services", Management Research Review. Emerald , 35 (8), 664 – 675.

Ercana, T. (2009-2010). Effective use of cloud computing in educational institutions. Science Direct , 938-942.

Sultan, N. (2010). Cloud computing for education: A new dawn? (S. Direct, Ed.) Elsevier , 109-116.

Schuller, S. (2008, December 1). Demystifying The Cloud: Where Do SaaS, PaaS and Other Acronyms Fit In? Preluat pe may 2013, de pe saasblogs.com: http://www.saasblogs.com/saas/demystifying-the-cloud-where-do-saas-paas-and-other-acronyms-fit-in/

Quinstreet Enterprise. (2013). webopedia. Preluat pe june 2013, de pe webopedia: http://www.webopedia.com/TERM/A/API.html

TechTarget. (2001-2013). REST (representational state transfer). Preluat pe 2013, de pe http://searchsoa.techtarget.com/: http://searchsoa.techtarget.com/definition/REST

Canonical Ltd. Ubuntu. (2012). Public Cloud. Preluat pe May 25, 2013, de pe ubuntu.com http://www.ubuntu.com/cloud/public-cloud

Quinstreet Enterprise. (2011, april). Private Cloud. Preluat pe June 7, 2013, de pe Webopedia: http://www.webopedia.com/TERM/P/private_cloud.html

Similar Posts