BarCamp - Zváračský kurz na Web

1,610 views
1,580 views

Published on

Základný prehľad o technológii Google App Engine a možnosti napojenia Flash Builderu na BlazeDS, pomocou ktorého je možné priamo generovať kód zo serverového API. Výrazné zjednodušenie práce. Nasleduje diskusia o kontinuálnej integrácii a Hudson CI.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,610
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

BarCamp - Zváračský kurz na Web

  1. 1. Zváračský kurz na BlazeDS BarCamp Brno - FI 26.6. 2010 Mgr. Juraj Michálek SinusGear Twitter: http://twitter.com/georgiksk Blog: http://georgik.sinusgear.com
  2. 2. Upozornenie! Prezentované riešenia nie sú silver bullet ani magický lektvar. Časť problémov vyriešia. Nejaké nové prinesú.
  3. 3. Časti kurzu Ako sa vyvíjú klient-server aplikácie? Prínos Google App Enginu. Zvýšenie účinnosti pomocou BlazeDS. Kontinuálna integrácia a PMD.
  4. 4. Máme nápad! Vytvoríme skvelú aplikáciu!
  5. 5. Klasický model Navrhnúť databázu. Navrhúť dátovú vrstvu. Navrhúť vrstvu s logikou a kontrolérmi. ... ešte sme neskončili
  6. 6. Klasický model - klient Navrhnúť rozhranie služby. (Web services, REST) Navrhnúť serializáciu na klientovi. Navhrnúť volanie serverového API. Ešte stále sme neskončili...
  7. 7. Klasický model - UI Navrhnúť logiku na klientovi. Navrhnúť GUI na klientovi. Máme hotovo?
  8. 8. Klasický model - nasadenie Nie, nie je hotovo! Nájsť/kúpiť hosting. Umiestniť na server. Testovacia a produkčná verzia. Zber logov a chybových hlásení. A aplikácia nám doteraz nezarobila ani groš.
  9. 9. We're on the highway to hell!
  10. 10. Náklady na klasický model Náklady - server. Náklady - klient. Náklady – komunikácia a hosting. Postupný nárast používateľov
  11. 11. Time to market Čo prosím? Nerozumiem syntaxi vášho kmeňa! Vývojár: „Ešte nemáme vyladený komunikačný protokol.“
  12. 12. Moment! To ešte nie je všetko! Zmeníme schému v DB? Musíme zmeniť: logiku serverové API dátovú vrstvu klienta klienta
  13. 13. Ako spieva Queens Too much (love) features will kill you in the end. Pattern: Feature soup.
  14. 14. Hm? Položme si základnú otázku. Prečo vlastne vôbec niekto vyvíja softvér?
  15. 15. Skúsme to veselšie a radostnejšie Je vôbec možné zjednodušiť niektoré kroky? A tým znížiť cenu vývoja?
  16. 16. Príklad z priemyslu Automatizovať. Potrebujeme systém. A hlavne: Potom potrebujeme ešte lepší systém.
  17. 17. Google App Engine
  18. 18. Bonusy Free hosting (až 10 app). Škálováteľnosť (nútená). Podpora Python/Java. Deployment, integrácia s IDE, verzovanie aplikácií, SSL cert, sledovanie app, meranie výkonu.
  19. 19. GAE + Eclipse
  20. 20. GAE admin console
  21. 21. Log report
  22. 22. Ok, vyrišený hosting Čo môžeme optimalizovať ďalej? Databáza a mapovanie na objekty.
  23. 23. ORM a Python
  24. 24. ORM a Java
  25. 25. Podpora GAE (*.jar) JDO Spring DataNucleus Enhancer Maven GAE Plugin http://www.kindleit.net/maven_gae_plugin/
  26. 26. JDO Anotácia z enterprise aplikácii. DB sa vytvára na základe kódu. http://code.google.com/appengine/docs/java/datastore/usingjdo.html
  27. 27. Zmena v App JPA replikuje zmenu schémy do DB. Milé :-)
  28. 28. Klient / server API. Au. Zmena API? Ste sa zbláznili!
  29. 29. Super API na prvý krát? Jedine Chuck Norris!
  30. 30. Flash Builder Pripojenie na web aplikáciu? Service discovery.
  31. 31. Zadám adresu a...
  32. 32. Zázrak Funguje aj drag-n-drop do datagridu.
  33. 33. No, ale zmením adresu A všetky parametre operácie povedia pápá :-( Evil Wizard?
  34. 34. Remote Discovery Service Podpora pre PHP, LiveCycle a BlazeDS. Zadám URL serveru a...
  35. 35. Discovery Dokonca funguje aj update API!
  36. 36. Test operácie
  37. 37. Vygenerovanie formuláru
  38. 38. Drag-n-drop výsledkov do tabuľky
  39. 39. Spustíme! Jetty server. Ako to tak chodí u vývojára to ide. A v cloude?
  40. 40. Ale veď to poznáte... Error! Duplicated Session.... :-O
  41. 41. Drobná úprava Patchneme a prekompilujeme BlazeDS ;-) EngineDS Maven repository Project archetype - JDO http://maven.sinusgear.com
  42. 42. Kontinuálna integrácia SCRUM, Agile http://www.agilnikonsorcium.cz/ Hudson CI PMD
  43. 43. Plan, Do, Check, Act Návrh Vývoj Kontrola Zlepšenie http://www.goalscape.com
  44. 44. Kontinuálna integrácia Hudson CI V spolupráci s Michalom Gronom http://www.sinusgear.com/hosting/hudson-ci
  45. 45. PMD – don't shoot the messanger
  46. 46. Software Engineering Radio Model driven development http://www.se-radio.net
  47. 47. Diskusia Témy: Google App Engine Python, Java, Jetty ORM, JPA, JDO BlazeDS Agile Hudson CI PMD
  48. 48. Školenia, konzultácie Adobe technológie Flex, AIR, BlazeDS Google, Clouds Implementácia kontinuálnej integrácie a automatizácia SW projektov. http://www.sinusgear.com/skolenia
  49. 49. Ďakujem za pozornosť BarCamp Brno - FI 26.6. 2010 Mgr. Juraj Michálek SinusGear Twitter: http://twitter.com/georgiksk Blog: http://georgik.sinusgear.com

×