• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,347
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
50
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