DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy

5,467 views
5,359 views

Published on

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total views
5,467
On SlideShare
0
From Embeds
0
Number of Embeds
1,519
Actions
Shares
0
Downloads
106
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy

  1. 1. DBDB Jiemamy Jiemamy Project /17-E-1(2011.02.17) Developers Summit 2011
  2. 2. • • id:daisuke-m http://d.hatena.ne.jp/daisuke-m/ • twitter @daisuke_m http://twitter.com/daisuke_m/Java Jiemamy DDD XML Maven Scala Haskell SQL OSGi GAE ER Android Hadoop Eclipse• Jiemamy Project Developers Summit 2011
  3. 3. • Jiemamy••• Jiemamy Developers Summit 2011
  4. 4. Agenda• Jiemamy• Jiemamy• Jiemamy• Jiemamy API Developers Summit 2011
  5. 5. ••••• ...• ...!? Developers Summit 2011
  6. 6. • Web SVN DB DB Developers Summit 2011
  7. 7. •• DB Developers Summit 2011
  8. 8. • Jiemamy• Developers Summit 2011
  9. 9. Martin Fowler• Planning Extreme Programming• Refactoring• Pattern of Enterprise Application Architecture (PoEAA) Developers Summit 2011
  10. 10. DB Evolutional Database Design — Martin Fowler, 2003http://www.objectclub.jp/community/XP-jp/xp_relate/evodb-jp DB DB Developers Summit 2011
  11. 11. Project•• • Jiemamy • maven plugin,• API β Developers Summit 2011
  12. 12. Smart Model Smart SmartVersionControl Build Developers Summit 2011
  13. 13. A Smart Build Developers Summit 2011
  14. 14. •• • OS • • Java • DB AP• (automated) (documented) Developers Summit 2011
  15. 15. Java Maven• Apache Project• co pom.xml "mvn package"• Developers Summit 2011
  16. 16. ••• localhost•• ... Developers Summit 2011
  17. 17. NOT automated• DB CREATE TABLE T_GROUP ( SQL ID integer NOT NULL, NAME varchar(32) NOT NULL DEFAULT default group, STATUS integer NOT NULL, CREATED_DATE DATE DEFAULT now(), DB UPDATED_DATE DATE DEFAULT now(), DELETED_DATE DATE, PRIMARY KEY (ID) ); CREATE TABLE T_USER ( ID integer NOT NULL, NAME varchar(32) NOT NULL DEFAULT default user, STATUS integer NOT NULL, CREATED_DATE DATE DEFAULT now(), (... ...) Developers Summit 2011
  18. 18. • 1•1 documented• README.txt Developers Summit 2011
  19. 19. Jiemamy• DB• maven-jiemamy-plugin• pom DB• DB• Web DB• Ant Developers Summit 2011
  20. 20. B SmartVersion Control Developers Summit 2011
  21. 21. •1 1class Busyo { class Dept { String name; String name; // ... // ...} }class Emp { class Emp { String name; String name; Busyo busyo; Dept dept;} } Developers Summit 2011
  22. 22. rev1000• revision rev1001 DB rev1002• rev1003• rev1004 rev1005 Developers Summit 2011
  23. 23. DB • @Table("HOGE") @Table("FOO")class Foo { class Foo { // ... // ...} } CREATE TABLE HOGE CREATE TABLE FOO( ( ID integer ... ID integer ...); ); Developers Summit 2011
  24. 24. •• Developers Summit 2011
  25. 25. Jiemamy•• ↓ • • Developers Summit 2011
  26. 26. Developers Summit 2011
  27. 27. 1DB 3 2DB (E) ( ) 4 (R) Developers Summit 2011
  28. 28. DB• SQL• DB• ER Developers Summit 2011
  29. 29. DB• rev1000 SQL rev1001 rev1002 ER ( ) rev1003 … rev1004 DRY rev1005 Developers Summit 2011
  30. 30. C Smart Model Developers Summit 2011
  31. 31. DRY Dont Repeat Yourself.•••• Developers Summit 2011
  32. 32. 1 1 • 1class Emp { class Dept { String name; String name; Dept dept; List<Emp> members;} } Developers Summit 2011
  33. 33. 2•Dept tech = new Dept(" ");Emp kato = new Emp(" ");kato.setDept(tech);tech.addMember(kato); Developers Summit 2011
  34. 34. Jiemamy• DRY DB• SQL, DB ( )• XML →SVN • • Developers Summit 2011
  35. 35. Jiemamy• XML• XML • SCM• GUI ER• XML validation Developers Summit 2011
  36. 36. Developers Summit 2011
  37. 37. • DRY• • • documented• ER SQL • • Developers Summit 2011
  38. 38. Jiemamy Developers Summit 2011
  39. 39. XML…• XML • GUI ER• • XML Schema • XML validation Developers Summit 2011
  40. 40. Jiemamy• ER • AmaterasERD, Clay, DBDesigner4, ERWin, SI Object Browser, JUDE...• Jiemamy • • Developers Summit 2011
  41. 41. Demo Developers Summit 2011
  42. 42. Jiemamy API version 0.3 Developers Summit 2011
  43. 43. Jiemamy Model API β• Jiemamy Java object SQL Java Developers Summit 2011
  44. 44. XML → Java model•• InputStream Developers Summit 2011
  45. 45. Java model → XML• context new• JiemamySerializer• OutputStream Developers Summit 2011
  46. 46. Java model → SQL• SqlExporter new•• exportModel Developers Summit 2011
  47. 47. DB → Java model• DbImporter new•• importModel Developers Summit 2011
  48. 48. Javadoc• API• Developers Summit 2011
  49. 49. •• (ServletFilter ) DB Web • Smart Install Update• • contribute Developers Summit 2011
  50. 50. Developers Summit 2011
  51. 51. Jiemamy• Smart Build • Maven / Ant /• Smart Version Control • SCM •• Smart Model • • DB DRY Developers Summit 2011
  52. 52. • Jiemamy• Jiemamy • • v1.0 Developers Summit 2011
  53. 53. Jiemamy• v0.0 v0.1 • v0.0.1... release 2007/6/21 • v0.1.0 release 2008/2/29 • v0.1.1 release 2008/3/20• v0.2 release 2009/5/6 • v0.2.0• v0.3 release • v0.3.0 Developers Summit 2011
  54. 54. •• http://tricreo.jp/ info@tricreo.jp•• Jiemamy Developers Summit 2011
  55. 55. Any Questions?Evolutional Database Design... Developers Summit 2011

×