More Related Content
Similar to Google App Engine/ Java Application Development (20)
More from Shuji Watanabe (20)
Google App Engine/ Java Application Development
- 10. GAE
PaaS
spin-up /spin-down
BigTable / Key- Value Datastore
- 12. Lifecycle
Instance
Request spin-up spin-down
Instance Instance
- 19. Web App Framework
Layer slim3 Default
1 Action
Controller none
= 1 Controller
Model
slim3 Datastore API JDO/JPA
(Datastore)
JSP
View JSP
+ Helper API
- 20. JSP
Controller
slim3
JDO/JPA
Datastore API
Low level API
AppEngine SDK
- 35. spin-up
spin-up
2,000ms 3,000ms
Class Loading/
- 41. EtupirkaCMS Cache
Request
put
get
PageCaheFilter
PageCache
(id=path)
get
Action
Template
load/parse (id=templateNa
me)
Template File put Datastore
- 44. Page sample
@Page("/entry")
public class EntryPage extends ScenicPage {
@Default
public Navigation list() {
//
}
@ActionPath(“register”)
public Navigation register() {
//
}
@ActionPath(“update/{id}”)
public Navigation update(
@ActionParam(“id”) Integer id) {
//
}
}
- 45. Scenic3
ActionController_list
EntryPage APT ActionController_register
+ list
+ register id=4
+ update ActionController_update
APT
EntryPageMatcher
Scenic3FrontController
/update/4
- 50. N:N
Entry
N
N:N
1
RDB EntryTag
BigTable join 1
N
...
Tag
- 51. Entry
Entry
TagName
Tag “GAE”
“Java”
“slim3”
Entry
Tag
EntryId
1
2
3
- 52. Entry
previous?
Entry
next?
Entry
...
- 53. Linked List
EntryLinkedList Entry 1:1
LinkedList BigTable
Entry EntryListNode TaskQueue
EntryListNode EntryListNode EntryListNode
NextEntry NextEntry NextEntry
PreviousEntry PreviousEntry PreviousEntry
- 54. ...
GAE
GAE
AppEngine-ja-night Twitter