• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
JavaEE and Google AppEngine
 

JavaEE and Google AppEngine

on

  • 1,563 views

La presentazione di Aleš Justin,

La presentazione di Aleš Justin,
in occasione del Codemotion, Roma 5 marzo 2011 http://www.codemotion.it

Statistics

Views

Total Views
1,563
Views on SlideShare
1,501
Embed Views
62

Actions

Likes
0
Downloads
0
Comments
0

4 Embeds 62

http://www.codemotion.it 42
http://2011.codemotion.it 15
http://codemotion.it 3
http://www.techgig.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    JavaEE and Google AppEngine JavaEE and Google AppEngine Presentation Transcript

    • JavaEE and Google AppEngine Aleš Justin, JBoss by RedHat Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Agenda • What is GAE and CDI? • Why GAE in CDI? • Other technologies • Problems and solutions • Testing • Q&A Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • About me • Old school JBoss-ian • Microcontainer co-author • Weld lead • Amateur GAE user Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • GAE • Forked Jetty • Many (logical) restrictions • RDBMS → BigTable • Simple Map(Reduce) • Good administration • Free basic usage Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • CDI • Context and Dependency Injection • JSR-299 → JBoss Weld RI • “type-safe” programming • “contexts” concept • Easy to extend: “Extensions” Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Why GAE + CDI? • Simple reason: playing with CDI and GAE • Android app with server backend → Tattletale • Zero administration / configuration • Reliable up-time • No more “boiler-plate” code → CDI Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • CDI #2 • @Inject • @Produces • @Qualifier • @Observes • @Named • @ConversationScoped • @Scope • @Decorator • Interceptors • @Alternative • InjectionPoint / • @Stereotype Instance Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Other technologies • JPA • JSF2 • BeanValidation • javax.cache • JSON • ShrinkWrap + Arquillian Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Initial problems • CDI • “Entry” mechanism • Request / Response binding • Lack of “lifecycle” handling Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Initial problems • JPA • Limited relationships (Entity Groups) • Transaction per “Entity Group” • Old DataNucleus version • Long vs. Key entity key • “Enhanced” entities • GeoModel hashing queries (“IN” keyword) Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Initial problems • JSF2 • Context parameter settings • “new InitialContext” → patch • “built-in” EL 1.0 → workaround Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Initial problems • BeanValidation • Static usage with JPA • Size • Configuration Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Initial problems • javax.cache (GCache) • No partition • NUCCORE-540 → hack • JSON • Different versions → patch → bug • Arquillian • Missing GAE “container” implementation Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • “Production” problems • CDI • “Bean scanning” → patch • “Lazy bean creation” → MVC re-write • GZIP + Base64 usage • “Fall-back / repeat” mechanism Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • “Production” problems • JPA • Explicit entity usage • Maximize cache usage • “Caching” → Lazy EMF • javax.cache • serialVersionUID! • Non-primitive variables • Cache evict/clear mehanizem Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Testing • ShrinkWrap • Arquillian • https://github.com/alesj/arquillian • DEMO Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Tattletale PR http://tehnik.mobitel.si/m-android- glasovanje/?app=8 Android 1.5+ ➠ GAE Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011
    • Q&A • Tattletale ➠ Weld • Tattletale ➠ JBossAS Aleš Justin - ales.justin@jboss.orgSaturday, March 5, 2011