Dr. Sabin programare de la MVC la Dezvoltarea Corneliu arhitectur Buraga Web sistemelor – i Web i și studii de caz profs.info.uaic.ro/~ inginerie Web Web busaco /
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ „S implitate Constantin BrâncușiConstantin a este o complexitate rezolvată .”
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ sisteme î n evolu Aplica software ț ie permanent ț ii Web complexe ă ,
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ mobil mijloace laptop PC tablet multiple demultiple interac Realitate ă ț iune ( smart Web Web ) TV cu utilizatorul ecran urban
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ mobil mijloace smart appliances laptop PC tablet game console multiple demultiple ⌚ plus, plus, veniți:noii smart interac Realitate smart home watch ă ț iune ( smart Web Web smart transportation smart ) TV cu utilizatorul ecran clothing urban
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ la având a aplicații ș teptări totmai teptări mari din parteasoftware Web Web de la c re sociale ș conținut terea masei terea masei de Realitate ( + hiper interacțiune utilizatori )textual )textual naturală , - ului
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ ( limbaje s oferit de oferit la uportul privind uportul nivel , API - uri, biblioteci de cod, biblioteci instrumente,...) uri, de server(e) platforma Realitate dezvoltarea deaplicații hardware ș i / sau de client( /software i )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ neadaptare development la cerin vs. ț ele Realitate marketing economice vs. (de tip management business )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ privind calitatea proiectele ne lipsa î nt î ncadrare â rzieri Realitate precar func ț î Web Web de ionalit n ă î lansare n a buget aplica ăț anvergur ii ț iei ă
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ utilizatori comportament psihologie scopuri adaptare după ⧉ interfață limbi naturale interacțiune controale Crumlish f software unc tehnologii algoritmi ționalități & Malone, & Malone, 2009 conținut structurare meta indexare - date instrumente metodologii creatori stimuli
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Goal About Face Building digital actori principali: management Alan Cooper technologists designers (4 th products successful Edition), 2014 et al. ,
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea produselor evoluția manierei de digitale (software) Alan Cooper et al. , 2014
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Asigurarea extindere corectitudine eficien ță + ( asigurarea compatibilitate calit reutilizare portabilitate și robuste ăț ii aplica performan ( modularitate ț e ( reliability ț iilor ț ei Web ) ) )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ facilitarea relevan Asigurarea ț interac a momentului mentenabilitate func calit ț iunii securitate ț ăț ionalitate cu cu ii lans aplica utilizatorul ă rii ț ( iilor timeliness ( usability Web ) )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ verificabilitate Asigurarea alte – aspecte inclusiv calit reparabilitate integritate economie ăț ii de monitorizare aplica interes ț iilor : ( Web logging )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ highscalability.com/blog/2016/10/12/lessons asocierea dintre construcții/abstracțiuni software asocierea dintre construcții/abstracțiuni BeforeScaling Uber to 1000 Services oferirea funcționalităților debază funcționalităților oferirea monitorizare adaptare după Matt Matt după adaptare ( preluarea și dirijarea cererilor preluarea Asigurarea e.g. , obiecte) șimodele de date obiecte) , managementul esențialmente, esențialmente, de considerat: a și evaluare calit Ranney - learned ăț ii - , from datelor “ What IWish IHadKnown aplica a - scaling sistemului ” , GOTO GOTO , - uber – ț iilor - – data to – – - 2000 core dispatch mapping Chicago Chicago - engineers – Web metrics services - 1000 2016 - ser.html
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ controlul dezvoltarea planificarea permanent al permanent scopuri sistematic judicioas + cerin Necesit î ntregului ă ă , ț a e î n faze, n faze, a etapelor clar ăț i specificate proces aplica de dezvoltare de ț iilor dezvoltare Web
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ controlul dezvoltarea planificarea permanent al permanent scopuri sistematic judicioas + inginerie cerin Necesit î ntregului ă ă , ț a e î n faze, n faze, a etapelor clar ăț Web i specificate proces aplica de dezvoltare de ț iilor dezvoltare Web
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Î n ce mod dezvolt ă m o m aplica ț ie Web?
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ se prefer Uzual (MDA , se ă – abord model www.omg.org/mda/ recurge modelare ă - rile driven architecture driven la o conduse metodologie de modele )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Robert Baxley
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Analiz dezvoltarea Mentenan ă Exploatare Cerin & Implementare Evolu proiectare Testare ț e ( e ț ță ie requirements aplica ( ( ( ( evolution maintenance deployment testing ( software design ( build ț iilor ) ) ) ) ) Web ) )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Jesse Garrett, (produssoftware) informații oferite funcționalitate aplica The Elements of User Experience ție Web + Methodologies (2 nd Edition), New Riders, 2011
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ cerin actualmente,preferate sunt documen ț dezvoltarea programare e tare arhitectura www.infoq.com/process + - navigare public beta www.webpagefx.com/blog/web (server + client) creare info testare de con de / adaptare ț inut aplica lansare - metodologii agile design/agile/ ț - mentenan practices/ iilor ță Web
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ aim42 migrarea șiîmbunătățirea sistemelor software – 12 Factor App practici șișabloane privindevoluția, mentenanța, dezvoltarea paradigmei M etodologi SaaS aim42.github.io – 12factor.net i viz modern ( aplica Software As A Service As Software ând aplicațiile aliniateaplicațiile e – ț iilor exemple: Web )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dezvoltarea aplicațiilor Web: Web: aplicațiilor dezvoltarea exemplu make things open; it makes things better things open; itmakes make things pentru do the hard work to make worktomake itsimple do thehard build digital services, not Websites digital services, build be consistent, not uniform beconsistent, iterate. then iterateiterate.then again gov.uk understand context understand build for inclusion build designwith data start with needsstart with – Paul Downey & David (2013) Heath do less principii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ S tabilirea users standardelor c context erințe con tent de - calitate
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ CreativeCommons a con ț inutului www.opensource.org/licenses/category cod Obținere/ licitare / negociere drepturi de autor drepturi deschis (datelor) și – date deschise www.creativecommons.org/licenses/ ( c Open SourceLicenses erințe versus + – / copyright sau codului ) - surs ă
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ a software detalii detalii despre licențele deutilizare - ului/datelorla tldrlegal.com
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Documentare – subject ce trebuie soluționată de Web soluționată aplicația ce trebuie matter cu atragerea experților cu atragerea în domeniul problemei în domeniul privind expert c erințe (SME) sau (SME) domeniul domain aplica expert ț iei Web –
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ that can be read and edited by both humans and machines and read be editedthat can and humans both by Vimeo Wikidata that every growing business deals with deals business that every growing Basecamp : “ Watch, upload and share HD and shareHDand 4K videosupload and Watch, c : “ erințe Viziune a free openknowledge and base : “ solves the critical problemsthe critical solves with no ads with : ( exemple big idea ” ) ” ” Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ oamenilor suport Punctele presupuneri pentru partajarea folosirea ci le place s le place ș de c i a erințe realizarea plecare fotografiilor succesului nu ini ă - doar ș ț : i iale î exemple î mp n de a dezvoltarea ( blogging ă ( comentarii î assumptions nsemn personale rt ăș easc ă - rilor ului ă ) amintirile + ): Flickr , tagging
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ disponibilitate recurgerea audien căutare, filtrare, recomandare filtrare, căutare, noi Privitoare context de context ț permanent a tipuri – la e.g. preferin surse , etc. interna de la con eterogene navigare ă ț (7 e cerin ț zile ț ionalizare inut , 24 de , 24de ore/ ț de date e zi )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Interac “ it’s yours to take,re yours it’s ț iunea inclusiv noi cu tipuri content mash utilizatorul viz â nd de - arrange andre arrange Web cerin - - up ul î n social contextul ț e - use ” Web
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ interactivitate interactivitate suport pentru diverse standarde pentru suport Privitoare (in) dependen noi multi tipuri on wired vs. wirelesswired vs. - dispozitiv ( dispozitiv - la line vs. off vs.line ț a de mediul de navigatorul cerin - responsive line de execu ț e Web HTML ț Web design ie )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ f ă utilizator r ă a trebui ii sunt noi s - Referitoare o (re) capabili tipuri instaleze s ă de la exploate pe evolu cerin calculator ze ț i ț e aplica e /dispozitiv ț ia Web
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ noi oferirea tipuri func de ț ionalit cerin ăț ini ț ilor e: ț ial esen aspecte : ț iale – less is more less de interes
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ noi î ncuraj – uzual, oferirea tipuri ând via o interfață de programare ( de via ointerfață programare dezvoltarea func de extinderea ț ionalit cerin versiuni ăț de ini ț ilor aplica e: solu ulterioare ț ial esen aspecte : ț ii ț iei propuse ț iale Web : – less is more less API de de ) utilizatori interes public ă ,
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Martin Fowler, Martin Calitatea de arhitectura martinfowler.com/architecture/ aplica Software Architecture Guide Architecture Software arhitecturi ț iilor pe care se Web este bazeaz influen ă (2019) ț at ă
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ that that that’s seenby that’s those with the money money with the those business customers customers business Web application architecture group of functionality of group arhitecturi body of code of body developers initiative see as a single budget seeas asingle see as a single unit seeas asingle as a single unit a single as
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Dezvoltarea factori decizionali decizionali (management) factori evolu unei cerin ț impuse ie arhitecturi arhitecturi concuren social vizitatori ț e func de … ă / clien tehnologic ț ță ionale software software , , ț i , ă ia , î , n calcul :
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Dezvoltarea refolosire unei factori arhitecturi arhitecturi utilizabilitate performan securitate a datelor/ etc. calitativi software software ță codului ia î n calcul :
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ platforma Dezvoltarea servicii hardware/software( sisteme disponibile infrastructura limbaj unei aspecte arhitecturi arhitecturi tradi (e) de (e) tehn – ț … e.g. ionale programare middleware ( , via API , olog software software ( sistem legacy )ice - uri ) de ia publice î operare n calcul : )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ solu ț Dezvoltarea ii recurgerea „ la ș abloane cheie ”: management management de unei la biblioteci de arhitecturi proiectare arhitecturi arhitecturi experien , etc. framework și platforme ( ț software software proiecte patterns design a - uri , ia instrumente existente î n calcul ) : ,…
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ server(e) de management de management al con server(e) server(e) server(e) de cadre delucru aplica server(e) de con server(e) intermediar(i) ( server(e) server(e) de ț stocare zid de protecție ( zid deprotecție ii „ingrediente”tipice /sisteme mandatar mandatar ( server(e) server(e) Web , biblioteci persistent client( tradi ț aplica inut middleware proxy i ț ) , ț ionale firewall alte inutului multimedia ț ă ii Web ) – componente e.g. ( legacy ) – , ) baze e.g. , CMS , ) de date , wiki
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ eventual, recurgândla servicii în„nori” server(e) de management de management al con server(e) calculatoare/dispozitivebaza tehnologiilorpe Internet server(e) server(e) de infrastructură scalabilă, procesare paralelă, monitorizare,…) paralelă, procesare scalabilă, infrastructură partajarea la cerere și adatelor resurselor a altecu calcul de cadre delucru aplica server(e) de con server(e) intermediar(i) ( server(e) server(e) de ț stocare zid de protecție ( zid deprotecție ii /sisteme mandatar mandatar ( server(e) server(e) Web , biblioteci persistent client( tradi ț aplica inut middleware proxy i ț ) , ț ionale firewall alte inutului multimedia ț ă ii Web ) – componente e.g. – ( legacy cloud ) – , ) baze e.g. , CMS , ) computing (găzduire, (găzduire, de date , wiki
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ privind Exist dezvoltarea ă anumite de „ aplica re ț ete ț ” ii Web?ii
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dintre un consider problem regul ând context P punctul de vedere al unui expert de vedere alunui punctul ă attern proiectare ce exprim ă , o context problemă ( ș ablon ă o relație solu ) și o ț ie soluți e
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ prezentare stocare integrare Specificarea procesare procesare a datelor a a poate la poate avea loc datelor componentelor ș i – / – sau database queries database – proiectare business logic business UI, UI, „ r ecunoașterea” unui unui ecunoașterea” user interaction user diverse – code library developmentcode library , scripting niveluri , database design database , visualization : etc. pattern ,… ,…
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ publicly available design systems and and pattern libraries systemsdesign available publicly interac patterns of enterprise application architecture application enterprisepatterns of ț Exemple iunea privind martinfowler.com/ wiki.c2.com/?DesignPatterns cu ( pattern repositories utilizatorul proiectarea de adele.uxpin.com proiectare colec ț ii de (Adele eaaCatalog de software ș abloane ) – a / repository of repository )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ M. Fowler, Patternsof EnterpriseApplication Architecture Application Controller Application ModelController View Front ControllerFront Transform View Transform Page Controller Web Patterns proiectare TemplateView , Addison - Wesley(2003)
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ M. Fowler, Patternsof EnterpriseApplication Architecture Session State Patterns Database Session State Session Database Server Session State ServerSession Client Session State SessionClient proiectare , Addison - Wesley(2003)
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ M. Fowler, Data Source Data Source Architectural Patterns Patternsof EnterpriseApplication Architecture Table Data GatewayTable Row Data Gateway Data Row proiectare Active Record Active Data Mapper , Addison - Wesley(2003)
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ a plicație ( interface Client Web Web = ) trei i nterfață strate Internet (Web) ( 3 - + tierapplication p Server de rogram ( application aplica + c onținut ) ( ) ț ii ii persistence Stocare ( d ate) )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ C. Henderson, Scalable Web Architectures , Web 2.0Expo, 2007 Jel Cremă Fru Blat eu Frișcă c / t / e Funcționalitate Baza dedate / / / Rol Pre Mar z specific enta caje : re iamcal.com/talks/
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ C. Henderson, Scalable Web Architectures , Web 2.0Expo, 2007 application persistence interface : iamcal.com/talks/
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ de M modul odelul ( controlul de demarcarea de prezentare de ( structurare separation of concernsseparation arhitecturi maniera aplica principiu responsabilit ț iei a de acestor a , business logic procesare datelor : web a ( ăților este ) interfa
separat
) ș ț i a Web a ) Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Majoritatea heim.ifi.uio.no/~trygver/1979/mvc conform conform arhitecturi web arhitecturi MVC Trygve aplica ( Model Reenskaug ț iilor Web - View , 1979 - 2/1979 : sunt - mvc Controller - dezvoltate 12 - MVC.pdf )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ ( prezentare View + interac arhitecturi web arhitecturi ț iune ) Controller ( procesare ) : mvc ( structura Model datelor )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ la nivel de client( View arhitecturi web arhitecturi i ) – e.g. aplica , Web ț ie Controller (server ș i / sau client) : mvc stocare Model persistent ă
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ la MathML nivel HTML, CSS, SVG, de , WebGL client( View ↔ arhitecturi web arhitecturi , i ⧉ ) WebVR – servere e.g. aplica , Web etc. de ț ie Controller aplica (server ț ii, ș framework i / sau XML (XQuery), RDF client) : mvc stocare - uri (No) Model SQL, persistent JSON, (SPARQL) ă ,…
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ P oate î ncurajat fi implementat / arhitecturi web arhitecturi impus de ș i framework î ntr - un limbaj - uri : mvc neorientat Web Web specifice - obiect
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ P Yesod ASP.NET MVC ASP.NET Lift oate Django î ncurajat (Scala), (Haskell), fi implementat (Python), Rails / arhitecturi web arhitecturi (C# impus Wicket (Ruby), et al. exemplificări exemplificări diverse: FuelPHP de ), (Java), ș Catalyst Catalyst i Sails framework î ntr , Grails Wt (Node.js), - un (Perl), (C++), limbaj (Groovy), - uri : ColdBox Zikula TurboGears mvc neorientat Web Web Laravel (PHP), (ColdFusion), specifice (Python), (PHP), ZK - obiect (Java)
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ ( cereri gestioneaz uzual responsabil GET/POST ș , i va , apoi apela ă arhitecturi web arhitecturi resursele , va cu un emise selecta preluarea model Controller necesare pe un baza conform ac conform view cererilor ac satisfacerii corespunz ț : iunilor mvc ț iunii de la client utilizatorului ă solicitate cererilor tor ) Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ ș ofer v resursele i iz e ând responsabil ă desemneaz controller date produse gestionate le arhitecturi web arhitecturi - concepte cu ă ului datele validarea etc. o de software reprezentare – Model + au manipulate de manipulate regulile modele datelor – ( : i.e. utilizatori specifice a mvc menite datelor restric aplica a fi ț , solicitate iile mesaje ț stocate ia ) Web ,
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ furnizeaz alegerea ă furnizate arhitecturi web arhitecturi diverse pot lor exista fiind maniere de view model View realizat - uri de via multiple, prezentare ă controller de : mvc controller a datelor
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ (5) (3) selectare (1) (2) recurgerea Client cerere dirijare a arhitecturi web arhitecturi 6 unui trimis 1 ( la un routing view Dispatcher ă etape de client model View , (6) ) a ) transmitere tipice cerer , (4) – 5 e.g. furnizare ii : 2 c : , navigator, Web, ă mvc tre 3 Controller con controller date Model ț inut 4 dorite la client , ,
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ va Arhitectura consta dintr arhitecturi web arhitecturi controller generic - un set de , model ă a resurse unei ș i : aplica view mvc referitoare ț ii Web la
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ va structur uzual Arhitectura consta , framework ă a fi dintr arhitecturi web arhitecturi controller ș ierelor generic - un set de - ul aplica Web Web , model ă folosit a ț iei resurse unei ce ș impune i : va aplica view mvc fi referitoare implementat ț o ii Web anumit ă la ă
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ ├───script ├─── ├───log ├───lib ├───doc ├───db ├─── │ └───layouts │ └─── │ ├─── │ ├───mailers │ ├───helpers │ ├─── │ └─── │ ├─── │ ├───images │ ├─── ├───app └─── ├───vendor ├─── │ └───unit │ ├───performance │ ├───integration │ ├───functional │ ├───fixtures ├─── config plugins tmp test public views models controllers assets stylesheets javascripts „ scheletul create rubyonrails.org ” î n unei Ruby on Rails aplica ț ii Web
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ │ ├───Layouts │ ├───Helper │ ├───Errors │ ├───Elements │ ├─── │ ├───Vendor │ ├─── │ ├─── │ ├─── │ └─── │ ├───Behavior │ ├─── │ ├───Locale │ ├───Lib │ ├─── │ ├───Console │ ├─── ├───app └───vendors ├─── ├───lib │ └─── │ ├─── │ ├───files │ ├─── │ └─── │ └───Scaffolds │ ├───Pages plugins webroot View tmp Test Plugin Model Controller Config js img css Datasource altele Symfony : CodeIgniter î n structura , folosind cazul Yii , Zend Framework cakephp.org unei CakePHP , FuelPHP framework de aplica directoare , Laravel ț ii Web - ul , Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ └─── ├───project ├─── │ └─── │ ├─── │ ├─── │ └───main │ ├─── │ ├───apps │ └─── │ ├─── │ ├───assets ├───app ce public conf └─── │ └───icons ├───images structura recurge javascripts views models controllers stylesheets javascripts de la libs framework directoare www.playframework. - î ul n cazul Play pentru unei com aplica Java ț ș ii Web i Scala
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ pentru structura o www.asp.net/mvc aplica proiectului ț ie ASP.NETMVC software
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Herberto herbertograca.com/2017/08/17/ HMVC ( MVVM ( MVVM arhitecturi web arhitecturi Graca MVP ( MVP Hierarchical Model Hierarchical pentru Variante , Model View PresenterModel View Model View MVC and its MVC and detalii derivate: , a se ViewModel mvc - alternatives View studia : - and mvc - Controller - its ) ) - variants/ (2017) )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ HTTP Request updates ( model e.g. Data Collection of Router , DB, API,…) View Models Source syncs events model updates events DOM DOM într (A. Osmani, 2013) Osmani, (A. la nivelde client flux deflux activități - o aplicație MV* aplicație o DOM
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Knockout.js Knockout.js using Vue.js biblioteci the S “ tudii provides efficient MVVM data bindings with MVVM data bindings efficient provides todomvc.com/examples/ Model “ helps todomvc.com/examples/ de a simple and flexible API and flexiblea simple ori - caz View you exemplificări: todomvc.com framework pragmatice - simplify ViewModel dynamic - uri knockoutjs recurg (MVVM) (MVVM) pattern JavaScript vue ” / ând JavaScript / la : UIs ”
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Prin cemijloacepoate fiimplementată o aplicațieWeb ?
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ e ficientiz server de aplicații web deaplicații server a aplica area ț iilor procesel Scop Web : or complexe de dezvoltare
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ privind p o e ate dezvoltarea ficientiz î ncuraja server de aplicații web deaplicații server a aplica area sau de ț iilor procesel aplica impune Scop: Web ț ii Web o or viziune complexe de – e.g. dezvoltare arhitectural , MVC ori variații ori ă
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ I de ntegr asemenea server de aplicații web deaplicații server at î n sau mediu sau mediu de execuție unul , po a t / e mai oferi multe propriul servere server Web server Web
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Simplifică ( reprezent server de aplicații web deaplicații server invoc la generarea ări nivel are de resurse a de server Web de de con programe – ț uzual, HTML) uzual, inut ( script - uri )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ www.leaseweblabs.com/2013/10/api client „prostuț” client frontend ( brow dumb ser - ) abordarea MV* tradițională arhitecturaaplicațiilorWeb: pagini pagini
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ client „prostuț” client modificările modificările operate anumit strat laun impact nu au frontend ( brow dumb ser sau nuafectează componentele din alt strat - ) abordarea MV* tradițională arhitecturaaplicațiilorWeb: pagini pagini
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ client „prostuț” client frontend ( brow dumb ser - ) abordarea MV* tradițională arhitecturaaplicațiilorWeb: pagini pagini
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ m edii de s tocare dezvoltare server de aplicații web deaplicații server l c persistent imbaj aracteristici c Aspecte deinteres: Aspecte ookie i nterac API (e) de (e) + cadre de - - ul uri ă ț iune de a programare și particulare modelelor baz sesiuni Web lucru ă , componente,… , de date
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ oferind suport pentru una saumai pentru oferind suport multe server de aplicații web deaplicații server L imbaj (e) de concurentă funcțională imperativă obiectuală paralelă reactivă … programare paradigme :
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ dinamice server de aplicații web deaplicații server statice L imbaj – e.g. – , exemple: exemple: C#, Java, JavaScript (e) de versus programare , PHP,, Python, Ruby Python, Rust
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ uzual IL procesate prin ( IntermediateLanguage , se , prefer server de aplicații web deaplicații server L imbaj ă interpreta generarea (e) de programare r ) e de – și/ C#, Java,Scala cod sau intermediar compila r ,… e :
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ contribuie server de aplicații web deaplicații server (via a func serverului la API de ț ii/ „ puterea clase de baz predefinite aplica ” ă limbajului ț ii ) și
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ acces asigurarea independenței de platformă contribuie la server de aplicații web deaplicații server resursele (via a securitate func serverului la API de ț ii/ mediului „ puterea clase , consisten de baz predefinite aplica ” de ă limbajului operare ță ț ii , ) /rulare, și etc.
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ î n baze server de aplicații web deaplicații server de date S tocare rela persistent ț ionale – folosind ă SQL
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ incorporate incorporate PHP î Java n – baze func server de aplicații web deaplicații server – JDBC ț ADO.NET de date ( ii SQLite SQLite /module S tocare ( Java Java rela + exemple pentru mysqli DataBase predefinite persistent ț ionale ) : ASP.NET sau – Connectivity folosind , plus diverse ă biblioteci SQL extensii )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ ORM PHP – ( + Object framework î implementări: implementări: n Java baze server de aplicații web deaplicații server - Relational Mapping Relational – specificația specificația de date Node.js - uri: S Go tocare Cycle EclipseLink – framework – rela biblioteca ORM JPA persistent ț ionale ( , Java PersistenceAPI Doctrine , - Hibernate ul ) Sequelize : șablonul : șablonul Xorm – folosind , ă Propel , OpenJPA Data , RedBean SQL ) ,… Mapper etc.
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Active Record Active active_record pentru a încapsulaîntr pentru DBIx î n baze :: Play Framework Class server de aplicații web deaplicații server , TypeORM – șablon arhitectural utilizat în cadrul ORM încadrulutilizat arhitectural șablon de date (Perl), S tocare (module Node.js),(module Django rela exemple - (Java, Scala), persistent o clasă sauun o o tabelă ț ionale ORM : și – Orator folosind Rails Castle Project Project Castle ă (Ruby) ( Python SQL ), view (.NET),
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ valid transform pe proces ă ri server de aplicații web deaplicații server baza de date ă date (semi) S modelelor ri ă tocare ri interog : DOM, SAX, : DOM, î : DTD, XML Schema, RELAX,… : Schema, DTD, XML n alte ă persistent ri formate arborescente structurate : XQuery SimpleXML : XSLT XPath, ă : XML etc. cursurile viitoare
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Cassandra distribuite recurg (bazate pe grafuri și/sau cheie și/sau pegrafuri (bazate , MarkLogic server de aplicații web deaplicații server â github.com/ nd la nosql.mypopescu.com/kb/ la S nivel tocare , alte MongoDB exemplific erictleung de Internet, de Internet, paradigme persistent , Neo4j / awesome ă ri : , OpenLink non scalabile nosql ă — - - nosql rela valoare) ț Virtuoso – ionale NoSQL , Redis
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ î n cadrul facilitat server de aplicații web deaplicații server codului In ă terac - de surs controale ă ț iune invocat Web specificate la nivelde server
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ oferi componente Web ( Web componente generare se pot î n noi cadrul controale emula de cod facilitat server de aplicații web deaplicații server codului c HTML + HTML â mpuri In procesabil laniveldeprocesabil client ( interactive interactive ă terac - de surs CSS + controale din ă ț iune invocat formularele JavaScript – e.g. Web specificate , calendar, , la nivelde ) executate de ) executate HTML slideshow server front ș i / browser sau - end ,… ) Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ ASP.NET ( ASP.NET formidable platforma < server de aplicații web deaplicații server asp:control framework , form In Java: terac exemplific - data > – - JSF ul e.g. ț , iune forms PRADO ( , JavaServer FileUpload ă ri Web – : module Node.js (PHP) , ListBox Faces ) , Table ,... )
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ î ncurajarea folosirii server de aplicații web deaplicații server pe baza Web templatesystem In de machete de terac unui procesor ț iune Web vizualizare specific ( templates ) Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ ( e.g. , utilizând preluate preluate ori alte reprezentări în alte formate ori alte reprezentări ( pentru de un Web templateWeb server de aplicații web deaplicații server dintr specifica Web templatesystem procesor - In a genera o baz terac ț ii de ă ), de date ț ( prezentare iune documente datele templateengine Web sau fișiere persistente a con HTML ) sunt ) ț inutului folosite
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ $ $ $ $ $ $ set (' >set (' >set (' >set (' >set (' =" =" new =" =" [@ profile location identity photoURL de procesare a machetelor de vizualizare location lastName firstName photoURL username specifica Template [@ template "> variabilă -- "> "> User > [@ ') = 'Romania'; [@ ') ') = ' ] ') ') = ' (' ') ') = ' ') = ' " alt=" firstName location templates profile Pinguinesscool ția Tuxy Tux imgs – implementare ] photo . '; : – tpl de prezentare a conținutului '; [@ ] / tux.svg