DBDB               Jiemamy         Jiemamy Project /17-E-1(2011.02.17)                 Developers Summit 2011
• •       id:daisuke-m      http://d.hatena.ne.jp/daisuke-m/ • twitter @daisuke_m      http://twitter.com/daisuke_m/Java J...
• Jiemamy••• Jiemamy            Developers Summit 2011
Agenda• Jiemamy• Jiemamy• Jiemamy• Jiemamy API           Developers Summit 2011
•••••                            ...•                            ...!?    Developers Summit 2011
• Web          SVN  DB        DB             Developers Summit 2011
••   DB         Developers Summit 2011
• Jiemamy•            Developers Summit 2011
Martin Fowler• Planning Extreme  Programming• Refactoring• Pattern of Enterprise  Application Architecture  (PoEAA)       ...
DB       Evolutional Database Design                    — Martin Fowler, 2003http://www.objectclub.jp/community/XP-jp/xp_r...
Project•• • Jiemamy • maven plugin,•                API                 β            Developers Summit 2011
Smart             Model Smart                                   SmartVersionControl                            Build      ...
A    Smart Build      Developers Summit 2011
•• •                                    OS • • Java • DB          AP•     (automated)                     (documented)    ...
Java                      Maven• Apache Project• co     pom.xml    "mvn package"•             Developers Summit 2011
•••                   localhost•• ...        Developers Summit 2011
NOT automated• DB CREATE TABLE T_GROUP (                                 SQL  ID integer NOT NULL,  NAME varchar(32) NOT N...
•        1•1         documented• README.txt         Developers Summit 2011
Jiemamy• DB• maven-jiemamy-plugin• pom                                       DB•                       DB• Web            ...
B    SmartVersion Control    Developers Summit 2011
•1                                     1class Busyo {                             class Dept {  String name;              ...
rev1000•        revision      rev1001    DB                       rev1002•                       rev1003•                 ...
DB    • @Table("HOGE")                                @Table("FOO")class Foo {                                   class Foo...
••    Developers Summit 2011
Jiemamy••                               ↓ • •       Developers Summit 2011
Developers Summit 2011
1DB                                         3                                 2DB     (E)                     (       )   ...
DB• SQL• DB• ER        Developers Summit 2011
DB•                           rev1000    SQL                            rev1001                            rev1002    ER  ...
C    Smart Model      Developers Summit 2011
DRY    Dont Repeat Yourself.••••         Developers Summit 2011
1                                1  •          1class Emp {              class Dept {  String name;             String nam...
2•Dept tech = new Dept("                    ");Emp kato = new Emp("                ");kato.setDept(tech);tech.addMember(ka...
Jiemamy•      DRY           DB•       SQL, DB                      (   )•     XML               →SVN •  •            Devel...
Jiemamy•       XML• XML •       SCM• GUI   ER•        XML   validation              Developers Summit 2011
Developers Summit 2011
• DRY• • •              documented• ER    SQL • •          Developers Summit 2011
Jiemamy     Developers Summit 2011
XML…•                       XML •     GUI             ER• • XML Schema • XML                                validation    ...
Jiemamy•       ER • AmaterasERD, Clay, DBDesigner4,   ERWin, SI Object Browser, JUDE...• Jiemamy • •            Developers...
Demo Developers Summit 2011
Jiemamy API version 0.3   Developers Summit 2011
Jiemamy Model                   API    β• Jiemamy            Java object                                  SQL     Java    ...
XML → Java model•• InputStream           Developers Summit 2011
Java model → XML•      context new•      JiemamySerializer• OutputStream            Developers Summit 2011
Java model → SQL• SqlExporter   new•• exportModel           Developers Summit 2011
DB → Java model• DbImporter    new•• importModel           Developers Summit 2011
Javadoc•    API•          Developers Summit 2011
••          (ServletFilter            )      DB           Web • Smart Install Update• •        contribute            Devel...
Developers Summit 2011
Jiemamy• Smart Build • Maven / Ant /• Smart Version Control • SCM •• Smart Model • • DB       DRY              Developers ...
• Jiemamy•      Jiemamy • •       v1.0           Developers Summit 2011
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 rele...
••                            http://tricreo.jp/                             info@tricreo.jp•• Jiemamy            Develope...
Any Questions?Evolutional Database Design...                     Developers Summit 2011
DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy
Upcoming SlideShare
Loading in …5
×

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

5,437 views
5,347 views

Published on

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total views
5,437
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
105
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

×