1 / 22

Rosu

Rosu. demo arhitectura client server TODO’s invataminte discutii. demo(n). pagina nu se reincarca UI- ul e fluent , dinamic si redimensionabil demo login locatii & panoul de navigare. demo student. contracte sistemul de notificare neintrusiv navigare bazata pe orar.

Download Presentation

Rosu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rosu • demo • arhitectura • client • server • TODO’s • invataminte • discutii

  2. demo(n) • pagina nu se reincarca • UI-ul e fluent , dinamicsiredimensionabil • demo login • locatii & panoul de navigare

  3. demo student • contracte • sistemul de notificareneintrusiv • navigarebazatapeorar

  4. demo prof • navigarebazatapeorar • editareacursului • materiale de curs

  5. arhitectura macro stateful client (UI) stateful client (UI) invoke operations abstract protocol (msg types & operations ajax) implements operations stateless server (validation, persistence)

  6. arhitectura server protocol RPC interface HTTP interface servicii security upload teme contracte materii auth mesaje blogic persistence servlet container hibernate domain HQL MYSQL

  7. arhitectura client subsitem 1 subsistem 2 subsistem 3 RPC service view controlercopil activity (controller) pornestesioprestesubsisteme activity manager (global controller)

  8. structuraunuisubsistem UI widgets RPC

  9. lifecycle client • Apploaderconfigureazainfrastructura de securitate • login • Apploaderconfigureaza o noua App in functie de rolurileuserului • App initializeazaPlaceManagersiActivityManager • App initializeazasistemul de navigaresicel de notificare • App pornesteActivityManager • ActivityManagerpornesteActivitatea care corespundelocatieiactuale • Activitateaporneste : • obtine view-ulcorespunzatorsiservicii remote • inregistreazaevenimente • apeleaza server, ii zice la view sadeseneze • view-ulnotificaactivitatea de interactiuni cu UI-ul • userulnavigheaza la o altalocatie • activitateacurentaesteoprita • ActivityManagerpornesteActivitatea care corespundelocatieiactuale

  10. servicii de infrastructura client infrastructura hinturi reconnect logic activity manager (global controller) security notifications eventbus place manager

  11. client • servicii de infrastructura • APPLoader • APP • top level lifecycle management (aici ii “mainul”)

  12. client.config • clase de configurare • declaraasocieriledintre • URL-urisi Place-uri • Place-urisiActivitati • Place-urisitaburi in Navigare

  13. client.ui & client.widgets • sabloane de UI globaleaplicatiei • stiluri CSS globale • resurse UI globale (poze, etc) • widgeturigenericereutilizabile

  14. client.contract et all • implementeazasubsistemelecorespunzatoare

  15. server.blogic • Depindedoar de server.domain • Incapsuleazareguli business • Opereaza cu domeniulsiilpastreaza consistent conform regulilor de business

  16. server.*serviceImpl • Contineserealizare in DAO a obiectelodedomeniu • Interactiuni simple cu obiecte de domeniu • Logica de comunicare cu clientul

  17. server.security • valideazatokenuri de securitatetrimise de client • filtreazarequesturilesirespingepeceleneautorizate • transformatokenurile in domain.Login

  18. TODO’s • terminat de implementatsubsitemteme • terminat de implementatsubsistem de notare • cautat o modalitate de a refolosimaimult cod in UI • maimultefatete (orar->bd->temasiteme>bd) • migrat la RequestFactory • politica de cache centralizata • sistem de validare • incapsulatmai bine regulide business pe server

  19. invataminte • GWT e java, static types tine codul in ordinesi refactoring e fain • layout panele is o ideebuna • HQL e fain , la felsisession.persist • datastore e foartediferit de sql

  20. invataminte • GWT e dificil • are un API inutil de complicat • abstratiaoferitacurgefoarte tare • tresastiihtml, CSS layout, dom event s, javascript • tresacitestiimplementareadacadai de probleme • nu suntdestulewidgeturi, decitresa le scriitupornind de joos (widget orar) • e enervantca activity framework impune o gramada de bilerplatequasiidentic • Hibernate e complex pestemasura • Dacamaiintroduceamsi Spring cu Quartz sistemuldeveneaimposibil de inteles de un singurom

  21. discutii

More Related