GAE/J, slim3
  EtupirkaCMS


  Java
Java

Twitter: @shuji_w6e
blog:
/

RTSJ (Real Time Java)
http://es-planning.jp/
Java
2008

Java




                                      NEW


http://groups.google.co.jp/group/java-sapporo
Agenda


Cloud Computing
Google App Engine / Java
slim3
etupirkacms
Cloud Computing
SaaS/PaaS/IaaS
  SaaS / Software as a Service



  PaaS / Platform as a Service


  IaaS / Infrastructure as a Service


 ...
PaaS vs IaaS

IaaS




PaaS
App Store Android Market Google Market...
Google App Engine
Google App Engine


Google               PaaS

Python        Java



500      PV
Lifecycle

                      Instance

Request   spin-up                spin-down

           Instance              In...
GAE/Java

Servlet/JSP

spin-up/spin-down
                           spin-down

Key-Value Store BigTable
  RDB

Ajax by GWT...
JDK 5.0+
Eclipse
Google AppEngine SDK (Eclipse Plugin)
Development Server
Unit Test / JUnit
JPA or JDO
Web application fra...
slim3
slim3
GAE

“Simple” and “Less Is More”


  Seasar2, SAStruts




http://code.google.com/p/slim3/
JSP



Controller

      slim3
                              JDO/JPA
  Datastore API


              Low level API

      ...
Web App Framework

  Layer               slim3         Default

              1 Action
Controller                         ...
Faster than JDO/JPA
Type safe query
Fast spin-up
Hot Reloading
Global Transaction
Faster than JDO/JPA

JDO/JPA
         API

  BigTable



Low level API
                API

  SQL
Type safe query


Eclipse
  API GQL
Fast spin-up


GAE/Java        ... 1100 1200ms

GAE/Java + slim3       ... 1300 1400ms

Low level API
Hot Reloading




→   →   →   → ....
Global Transaction

BigTable




slim3   Global Transaction
  RDB
EtupirkaCMS
EtupirkaCMS


Content Management System
pure Java (Java 6+)
Google App Engine / slim3


http://code.google.com/p/etupirka/
Java

100% Java (6+)


GAE/Java                  CMS
  vosao: http://code.google.com/p/vosao/
           http://kanbe.ziro...
Google App Engine /slim3




 Google Apps



               slim3
Google code

GAE / slim3



      Plugin
CMS




Java
Quick Tour
/
Model
 RevisionRoot
                       Theme
   Revision
                       Template
     Site
                 Pa...
Cache
            Request
                                            put
                      get
EtupirkaFilter
       ...
Pirka
<ul prk:if.not.empty=”entities”>
<li prk:for=”entity in entites”>
 ${entity.title}
</li>
</ul>

   parse
     XmlTem...
Scenic3 / Controller
                          ActionController_list

EntryPage      APT     ActionController_register
 + ...
Remote sync Call

Datastore.query

                  makeSyncCall
 ApiProxy
                  AppEngine Platform

        ...
App Engine ja Night Sapporo #1
App Engine ja Night Sapporo #1
App Engine ja Night Sapporo #1
App Engine ja Night Sapporo #1
Upcoming SlideShare
Loading in …5
×

App Engine ja Night Sapporo #1

1,844 views

Published on

AJNS #1

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,844
On SlideShare
0
From Embeds
0
Number of Embeds
105
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide









































  • App Engine ja Night Sapporo #1

    1. 1. GAE/J, slim3 EtupirkaCMS Java
    2. 2. Java Twitter: @shuji_w6e blog:
    3. 3. / RTSJ (Real Time Java) http://es-planning.jp/
    4. 4. Java 2008 Java NEW http://groups.google.co.jp/group/java-sapporo
    5. 5. Agenda Cloud Computing Google App Engine / Java slim3 etupirkacms
    6. 6. Cloud Computing
    7. 7. SaaS/PaaS/IaaS SaaS / Software as a Service PaaS / Platform as a Service IaaS / Infrastructure as a Service ” ”
    8. 8. PaaS vs IaaS IaaS PaaS
    9. 9. App Store Android Market Google Market...
    10. 10. Google App Engine
    11. 11. Google App Engine Google PaaS Python Java 500 PV
    12. 12. Lifecycle Instance Request spin-up spin-down Instance Instance
    13. 13. GAE/Java Servlet/JSP spin-up/spin-down spin-down Key-Value Store BigTable RDB Ajax by GWT (Google Web Toolkit)
    14. 14. JDK 5.0+ Eclipse Google AppEngine SDK (Eclipse Plugin) Development Server Unit Test / JUnit JPA or JDO Web application framework / slim3
    15. 15. slim3
    16. 16. slim3 GAE “Simple” and “Less Is More” Seasar2, SAStruts http://code.google.com/p/slim3/
    17. 17. JSP Controller slim3 JDO/JPA Datastore API Low level API AppEngine SDK
    18. 18. Web App Framework Layer slim3 Default 1 Action Controller none = 1 Controller Model slim3 Datastore API JDO/JPA (Datastore) JSP View JSP + Helper API
    19. 19. Faster than JDO/JPA Type safe query Fast spin-up Hot Reloading Global Transaction
    20. 20. Faster than JDO/JPA JDO/JPA API BigTable Low level API API SQL
    21. 21. Type safe query Eclipse API GQL
    22. 22. Fast spin-up GAE/Java ... 1100 1200ms GAE/Java + slim3 ... 1300 1400ms Low level API
    23. 23. Hot Reloading → → → → ....
    24. 24. Global Transaction BigTable slim3 Global Transaction RDB
    25. 25. EtupirkaCMS
    26. 26. EtupirkaCMS Content Management System pure Java (Java 6+) Google App Engine / slim3 http://code.google.com/p/etupirka/
    27. 27. Java 100% Java (6+) GAE/Java CMS vosao: http://code.google.com/p/vosao/ http://kanbe.ziro.bz/ slim3 + pirka (
    28. 28. Google App Engine /slim3 Google Apps slim3
    29. 29. Google code GAE / slim3 Plugin
    30. 30. CMS Java
    31. 31. Quick Tour
    32. 32. /
    33. 33. Model RevisionRoot Theme Revision Template Site PageCache Page Entry Article BlogSetting Image BlogEntry BlogTag ImageThumbnail BlogEntryListNode
    34. 34. Cache Request put get EtupirkaFilter PageCache (id=path) get Action Template load/parse (id=templateNa me) Template File put Datastore
    35. 35. Pirka <ul prk:if.not.empty=”entities”> <li prk:for=”entity in entites”> ${entity.title} </li> </ul> parse XmlTemplate Serialize ConditionNode Rendering LoopNode HTML TextNode Map<String, Object> entities: List<Entry>
    36. 36. Scenic3 / Controller ActionController_list EntryPage APT ActionController_register + list + register id=4 + update ActionController_update APT EntryPageMatcher Scenic3FrontController /update/4
    37. 37. Remote sync Call Datastore.query makeSyncCall ApiProxy AppEngine Platform Remote Server List<Model> Local

    ×