zváračský kurz na blazeds a google app engine

42
Zváračský kurz na BlazeDS Slovakia FUG Bratislava 4.6. 2010 Mgr. Juraj Michálek SinusGear Twitter: http://twitter.com/georgiksk Blog: http://georgik.sinusgear.com

Upload: juraj-michalek

Post on 19-May-2015

774 views

Category:

Technology


6 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Zváračský kurz na BlazeDS a Google App Engine

Zváračský kurz na BlazeDS

Slovakia FUGBratislava4.6. 2010

Mgr. Juraj MichálekSinusGear

Twitter: http://twitter.com/georgikskBlog: http://georgik.sinusgear.com

Page 2: Zváračský kurz na BlazeDS a Google App Engine

Upozornenie!

Prezentované riešenia nie sú silver bulletani magický lektvar.

Časť problémov vyriešia.Nejaké nové prinesú.

Page 3: Zváračský kurz na BlazeDS a Google App Engine

Časti kurzu

Ako sa vyvíjú klient-server aplikácie?

Prínos Google App Enginu.

Zvýšenie účinnosti pomocou BlazeDS.

Page 4: Zváračský kurz na BlazeDS a Google App Engine

Máme nápad!

Vytvoríme skvelú aplikáciu!

Page 5: Zváračský kurz na BlazeDS a Google App Engine

Klasický model

Navrhnúť databázu.

Navrhúť dátovú vrstvu.

Navrhúť vrstvu s logikoua kontrolérmi.

... ešte sme neskončili

Page 6: Zváračský kurz na BlazeDS a Google App Engine

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...

Page 7: Zváračský kurz na BlazeDS a Google App Engine

Klasický model - UI

Navrhnúť logiku na klientovi.

Navrhnúť GUI na klientovi.

Máme hotovo?

Page 8: Zváračský kurz na BlazeDS a Google App Engine

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š.

Page 9: Zváračský kurz na BlazeDS a Google App Engine

Náklady na klasický model

Náklady - server.

Náklady - klient.

Náklady – komunikácia a hosting.

Postupný nárast používateľov

Page 10: Zváračský kurz na BlazeDS a Google App Engine

Time to market

Čo prosím?

Nerozumiem syntaxi vášho kmeňa!

Vývojár:„Ešte nemáme vyladený komunikačný protokol.“

Page 11: Zváračský kurz na BlazeDS a Google App Engine

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

Page 12: Zváračský kurz na BlazeDS a Google App Engine

Ako spieva Queens

Too much (love) featureswill kill you in the end.

Pattern: Feature soup.

Page 13: Zváračský kurz na BlazeDS a Google App Engine

Hm?

Položme si základnú otázku.

Prečo vlastne vôbec niekto vyvíja softvér?

Page 14: Zváračský kurz na BlazeDS a Google App Engine

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?

Page 15: Zváračský kurz na BlazeDS a Google App Engine

Príklad z priemyslu

Automatizovať.

Potrebujeme systém.

A hlavne: Potom potrebujemeešte lepší systém.

Page 16: Zváračský kurz na BlazeDS a Google App Engine

Google App Engine

Page 17: Zváračský kurz na BlazeDS a Google App Engine

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.

Page 18: Zváračský kurz na BlazeDS a Google App Engine

GAE + Eclipse

Page 19: Zváračský kurz na BlazeDS a Google App Engine

GAE admin console

Page 20: Zváračský kurz na BlazeDS a Google App Engine

Log report

Page 21: Zváračský kurz na BlazeDS a Google App Engine

Ok, vyrišený hosting

Čo môžeme optimalizovať ďalej?

Databáza a mapovanie na objekty.

Page 22: Zváračský kurz na BlazeDS a Google App Engine

Podpora GAE (*.jar)

Spring

JPA, JDO

DataNucleus Enhancer

...

Page 23: Zváračský kurz na BlazeDS a Google App Engine

JPA

Anotácia z enterprise aplikácii.

DB sa vytvára na základe kódu.http://code.google.com/intl/sk-SK/appengine/docs/java/datastore/usingjpa.html

Page 24: Zváračský kurz na BlazeDS a Google App Engine

Zmena v App

JPA replikuje zmenuschémy do DB.

Milé :-)

Page 25: Zváračský kurz na BlazeDS a Google App Engine

Klient / server

API.

Au.

Zmena API?

Ste sa zbláznili!

Page 26: Zváračský kurz na BlazeDS a Google App Engine

Super API na prvý krát?

Jedine Chuck Norris!

Page 27: Zváračský kurz na BlazeDS a Google App Engine

Flash Builder?

Pripojenie na web aplikáciu?

Service discovery.

Page 28: Zváračský kurz na BlazeDS a Google App Engine

Zadám adresu a...

Page 29: Zváračský kurz na BlazeDS a Google App Engine

Zázrak

Funguje aj drag-n-dropdo datagridu.

Page 30: Zváračský kurz na BlazeDS a Google App Engine

No, ale zmením adresu

A všetky parametre operácie povedia

pápá :-(

Evil Wizard?

Page 31: Zváračský kurz na BlazeDS a Google App Engine

Remote Discovery Service

Podpora pre PHP, LiveCycle a BlazeDS.

Zadám URL serveru a...

Page 32: Zváračský kurz na BlazeDS a Google App Engine

Zázrak

Mám operácie.

Dokonca funguje aj update API!

Page 33: Zváračský kurz na BlazeDS a Google App Engine

Tralálá

Funguje to!

A teraz to dostať na server.

Vlastný Tomcat? Hmhm.

Page 34: Zváračský kurz na BlazeDS a Google App Engine

BlazeDS na GAE

Vytvoríme server aplikáciu.Google App Engine project.

Skopírujeme JARy z

BlazeDS.

Pridáme trochu XML omáčky.

Page 35: Zváračský kurz na BlazeDS a Google App Engine

Spustíme!

Jetty server.

Ako to tak chodí u vývojára to ide.

A v cloude?

Page 36: Zváračský kurz na BlazeDS a Google App Engine

Ale veď to poznáte...

Error!

Duplicated Session....

:-O

Page 37: Zváračský kurz na BlazeDS a Google App Engine

Drobná úprava

Patchneme a prekompilujeme BlazeDS.

(ak niekto potrebujete hotový JAR, dajte vedieť)

Page 38: Zváračský kurz na BlazeDS a Google App Engine

A všetko krásne chodí

:-)

Page 39: Zváračský kurz na BlazeDS a Google App Engine

Gartner Hype Cycle - zamyslenie

Zdroj: Wikipedia.org

GAE a FB?Asi tu.

Page 40: Zváračský kurz na BlazeDS a Google App Engine

Software Engineering Radio

http://www.se-radio.net

Model driven development

Page 41: Zváračský kurz na BlazeDS a Google App Engine

Priestor na otázky.

Mgr. Juraj MichálekSinusGear

Twitter: http://twitter.com/georgikskBlog: http://georgik.sinusgear.com

Page 42: Zváračský kurz na BlazeDS a Google App Engine

Ďakujem za pozornosť

Slovakia FUGBratislava4.6. 2010

Mgr. Juraj MichálekSinusGear

Twitter: http://twitter.com/georgikskBlog: http://georgik.sinusgear.com