Your SlideShare is downloading. ×
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
クラウド・アプリケーション・アーキテクチャ
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

クラウド・アプリケーション・アーキテクチャ

2,419

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,419
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
51
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. JJUG/ Lab/edge2.cc 2010 10 18 JJUG CCC 2010 Fall 1 2010 10 18
  • 2. • Java ( ) Lab edge2.cc • • XML SmartDoc (XML ) • Relaxer (XML/Java ) • • SimpleModeler (Scala DSL ) • g3 ( ) • • UML ( BP) • ( ) • Scala (Softbank Creative) 2 2010 10 18
  • 3. • Modegramming Style ( DSL ) • http://modegramming.blogspot.com/ • g3 • http://code.google.com/p/goldenport3/ 3 2010 10 18
  • 4. • • g3 4 2010 10 18
  • 5. 5 2010 10 18
  • 6. [ ] (1) 6 2010 10 18
  • 7. [ ] (1) REST/Atom SmartDevice GUI 6 2010 10 18
  • 8. [ ] (2) 7 2010 10 18
  • 9. [ ] (2) Smart Device DropBox Evernote DropBox Evernote 7 2010 10 18
  • 10. 8 2010 10 18
  • 11. 8 2010 10 18
  • 12. 8 2010 10 18
  • 13. 9 2010 10 18
  • 14. 9 2010 10 18
  • 15. 10 2010 10 18
  • 16. 10 2010 10 18
  • 17. 10 2010 10 18
  • 18. 10 2010 10 18
  • 19. 10 2010 10 18
  • 20. 10 2010 10 18
  • 21. 11 2010 10 18
  • 22. Java VM! REST (Atom/JSON) Web UI HTML5&JavaScript 11 2010 10 18
  • 23. CQRS EDA 12 2010 10 18
  • 24. 13 2010 10 18
  • 25. 13 2010 10 18
  • 26. 13 2010 10 18
  • 27. 13 2010 10 18
  • 28. 13 2010 10 18
  • 29. 13 2010 10 18
  • 30. 14 2010 10 18
  • 31. 14 2010 10 18
  • 32. 14 2010 10 18
  • 33. 15 2010 10 18
  • 34. g3 16 2010 10 18
  • 35. Scala 17 2010 10 18
  • 36. Scala DSL (Domain Specific Language) JavaVM 17 2010 10 18
  • 37. Scala DSL (Domain Specific Language) JavaVM Option, List, flatMap, Partial Function 17 2010 10 18
  • 38. g3 18 2010 10 18
  • 39. g3 REST Atom/HTML/MIME Record RQRS (Command Query Resiponsibility Segregation) 18 2010 10 18
  • 40. g3 (Scala DSL) class AtomDb extends G3Application with UseRecord { val kind = 'feed val schema = Schema(AutoIdField, 'twitterid, 'title, ('date, XDate), ('content, XString)) val url = "http://twitter.com/statuses/public_timeline.atom" datastore('db, RecordClassSpace( RecordClass(kind, schema))) service('feed, url) … … 19 2010 10 18
  • 41. g3 ( ) … … channel('viewlist) invoke("list") agent { case rs: RecordSet => Html("Feed List", <body> <h1>Feed List</h1> <g.list/> <ul> <li><a href="/">Return Menu</a></li> </ul> </body> ) schema schema += rs } … … 20 2010 10 18
  • 42. g3 ( ) … … channel('update) invoke("feed") agent { case AtomFeed(feed) => { Post(kind, feed.toRecordSet(entry => { Record('twitterid -> entry.id, 'title -> entry.title, 'date -> entry.updated, 'content -> entry.contentText) })) } } invoke("db") port("/") invoke("viewtop") port("/init") invoke("viewinitrun") port("/list") invoke("viewlist") port("/update") invoke("viewupdaterun") port("/service/init") invoke("init") port("/service/list") invoke("list") port("/service/update") invoke("update") } 21 2010 10 18
  • 43. g3 - Splitter/Aggregator class Join extends G3Application { Enterprise Integration Patterns agent('compute) { Splitter case x: Int => x + 100 Aggregator } start(List(1, 2, 3, 4, 5)) split() publish("compute") join() aggregate() } 22 2010 10 18
  • 44. 23 2010 10 18
  • 45. KVS+α( ) RDBMS NoSQL Google AppEngine DataStore RQRS (Command Query Resiponsibility Segregation) Event Driver & View Driver 23 2010 10 18
  • 46. EntityDriver 24 2010 10 18
  • 47. EntityDriver 24 2010 10 18
  • 48. EntityDriver 24 2010 10 18
  • 49. EntityDriver 24 2010 10 18
  • 50. EntityDriver 24 2010 10 18
  • 51. SimpleModeler g3 25 2010 10 18
  • 52. SimpleModeler g3 25 2010 10 18
  • 53. SimpleModeler g3 25 2010 10 18
  • 54. SimpleModeler g3 25 2010 10 18
  • 55. SimpleModeler g3 25 2010 10 18
  • 56. • • • • • KVS+α • CQRS (Command Query Responsibility Segregation) • • • • DSL (Domain Specific Language) • • Scala 26 2010 10 18
  • 57. END 27 2010 10 18

×