More Related Content Similar to DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy Similar to DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy (20) More from 都元ダイスケ Miyamoto More from 都元ダイスケ Miyamoto (20) DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy1. DB
DB
Jiemamy
Jiemamy Project /
17-E-1
(2011.02.17)
Developers Summit 2011
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
5. •
•
•
•
• ...
• ...!?
Developers Summit 2011
6. • Web SVN
DB
DB
Developers Summit 2011
7. •
• DB
Developers Summit 2011
9. Martin Fowler
• Planning Extreme
Programming
• Refactoring
• Pattern of Enterprise
Application Architecture
(PoEAA)
Developers Summit 2011
10. DB
Evolutional Database Design
— Martin Fowler, 2003
http://www.objectclub.jp/community/XP-jp/xp_relate/evodb-jp
DB
DB
Developers Summit 2011
12. Smart
Model
Smart
Smart
Version
Control Build
Developers Summit 2011
13. A
Smart Build
Developers Summit 2011
14. •
•
• OS
•
• Java
• DB AP
• (automated) (documented)
Developers Summit 2011
15. Java Maven
• Apache Project
• co pom.xml
"mvn package"
•
Developers Summit 2011
16. •
•
• localhost
•
• ...
Developers Summit 2011
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. •
1
•1
documented
• README.txt
Developers Summit 2011
20. B
Smart
Version Control
Developers Summit 2011
21. •1 1
class Busyo { class Dept {
String name; String name;
// ... // ...
} }
class Emp { class Emp {
String name; String name;
Busyo busyo; Dept dept;
} }
Developers Summit 2011
22. rev1000
• revision rev1001
DB
rev1002
•
rev1003
• rev1004
rev1005
Developers Summit 2011
23. DB
•
@Table("HOGE") @Table("FOO")
class Foo { class Foo {
// ... // ...
} }
CREATE TABLE HOGE CREATE TABLE FOO
( (
ID integer ... ID integer ...
); );
Developers Summit 2011
24. •
•
Developers Summit 2011
27. 1
DB
3
2
DB
(E) ( ) 4
(R)
Developers Summit 2011
29. DB
• rev1000
SQL
rev1001
rev1002
ER ( )
rev1003
… rev1004
DRY rev1005
Developers Summit 2011
30. C
Smart Model
Developers Summit 2011
31. DRY
Don't Repeat Yourself.
•
•
•
•
Developers Summit 2011
32. 1 1
• 1
class Emp { class Dept {
String name; String name;
Dept dept; List<Emp> members;
} }
Developers Summit 2011
33. 2
•
Dept tech = new Dept(" ");
Emp kato = new Emp(" ");
kato.setDept(tech);
tech.addMember(kato);
Developers Summit 2011
34. Jiemamy
• DRY DB
• SQL, DB ( )
• XML →SVN
•
•
Developers Summit 2011
35. Jiemamy
• XML
• XML
• SCM
• GUI ER
• XML
validation
Developers Summit 2011
37. • DRY
•
•
• documented
• ER SQL
•
•
Developers Summit 2011
39. XML…
• XML
• GUI ER
•
• XML Schema
• XML validation
Developers Summit 2011
41. Jiemamy
• ER
• AmaterasERD, Clay, DBDesigner4,
ERWin, SI Object Browser, JUDE...
• Jiemamy
•
•
Developers Summit 2011
44. Jiemamy Model API β
• Jiemamy
Java object
SQL
Java
Developers Summit 2011
45. XML → Java model
•
• InputStream
Developers Summit 2011
46. Java model → XML
• context new
• JiemamySerializer
• OutputStream
Developers Summit 2011
47. Java model → SQL
• SqlExporter new
•
• exportModel
Developers Summit 2011
48. DB → Java model
• DbImporter new
•
• importModel
Developers Summit 2011
50. •
• (ServletFilter )
DB Web
• Smart Install Update
•
• contribute
Developers Summit 2011
52. Jiemamy
• Smart Build
• Maven / Ant /
• Smart Version Control
• SCM
•
• Smart Model
•
• DB DRY
Developers Summit 2011
53. • Jiemamy
• Jiemamy
•
• v1.0
Developers Summit 2011
54. 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
55. •
• http://tricreo.jp/
info@tricreo.jp
•
• Jiemamy
Developers Summit 2011