SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
DevLOVE DB

DB
           2009.11.20




     http://jiemamy.org/
        DevLOVE 2009.11
•
 •       id:daisuke-m

 • twitter @daisuke_m
Java Jiemamy
      DDD              XML
            Maven               OSGi
                                       ER

             Android   SQL      Eclipse
• Jiemamy Project
              DevLOVE 2009.11
• Jiemamy
•
•

            DevLOVE 2009.11
Agenda
• Jiemamy
• Jiemamy
• Jiemamy
• Jiemamy API
•
            DevLOVE 2009.11
DevLOVE 2009.11
DevLOVE 2009.11
NO!
 DevLOVE 2009.11
DevLOVE 2009.11
Martin Fowler




    DevLOVE 2009.11
DB
 Evolutional Database Design
           — Martin Fowler, 2003

DB


DB




                        DevLOVE 2009.11
•
•
 • Jiemamy
 • maven plugin,
•                API           β


             DevLOVE 2009.11
Smart
          Model


 Smart
                            Smart
Version
Control                     Build
          DevLOVE 2009.11
A

    Smart Build


       DevLOVE 2009.11
• Web        SVN


  DB



        DB




             DevLOVE 2009.11
•
•
 •
 • Java
 • DB     AP

•                     (documented)

          DevLOVE 2009.11
Maven
• Apache
• co     pom.xml

    "mvn package"

•


              DevLOVE 2009.11
•
        1


•1
         documented

• README.txt
            DevLOVE 2009.11
Jiemamy
• maven-jiemamy-plugin
• pom
 DB

•                     DB

• Web                           DB

•       Ant

              DevLOVE 2009.11
B
    Smart
Version Control


     DevLOVE 2009.11
rev1000



•        revision   rev1001
    DB
                    rev1002

•
                    rev1003




•                   rev1004



                    rev1005




         DevLOVE 2009.11
•

•



    DevLOVE 2009.11
Jiemamy

•
•
 •
 •

        DevLOVE 2009.11
C

    Smart Model


       DevLOVE 2009.11
DRY
     Don't Repeat Yourself.
•
•          ...

 •
 •
 •
           DevLOVE 2009.11
1                           1
  •          1



class Emp {           class Dept {
  String name;          String name;
  Dept dept;            List<Emp> members;
}                     }



                 DevLOVE 2009.11
2
•

Dept tech = new Dept("              ");
Emp kato = new Emp("          ");
kato.setDept(tech);
tech.addMember(kato);


            DevLOVE 2009.11
DB
• DB                       1

•
                                   3
•
    • SQL                  2


    • ER               (       )

    • DB
            DevLOVE 2009.11
DevLOVE 2009.11
DB
•                        rev1000

    SQL
                         rev1001



                         rev1002
    ER    (       )
                         rev1003



    …                    rev1004



    DRY                  rev1005




               DevLOVE 2009.11
• DRY
•
 •
 •               documented
• ER    SQL
 •
 •
              DevLOVE 2009.11
Jiemamy


   DevLOVE 2009.11
DevLOVE 2009.11
Jiemamy
•      DRY        DB

•       SQL, DB                (   )


•     XML            →SVN

 •
  •
             DevLOVE 2009.11
Jiemamy


      DevLOVE 2009.11
XML…
•                  XML

•     GUI       ER


•
 • XML Schema
 • XML                        validation

            DevLOVE 2009.11
Jiemamy
•       ER

 • AmaterasERD, Clay, DBDesigner4,
   ERWin, SI Object Browser, JUDE...


• Jiemamy
 •
             DevLOVE 2009.11
Demo
 DevLOVE 2009.11
Jiemamy API


   DevLOVE 2009.11
Jiemamy Model                API    β

• Jiemamy
            Java object


                               SQL




     Java


            DevLOVE 2009.11
XML → Java model


• Jiemamy
•
• InputStream
            DevLOVE 2009.11
Java model → XML




•      JiemamySerializer

• OutputStream
             DevLOVE 2009.11
Java model → SQL



• SqlExporter    new

•
• exportModel
                DevLOVE 2009.11
DB → Java model



• DatabaseImporter      new

•
• importModel
            DevLOVE 2009.11
Javadoc




    DevLOVE 2009.11
•
 •              (ServletFilter    )

           DB          Web

 • Smart Install / Update
•                CREATE/DROP

     Web

                DevLOVE 2009.11
• Jiemamy
•      Jiemamy

 •             API

 • XML                         converter



•
             DevLOVE 2009.11
Evolutional Database Design...


http://jiemamy.org/
    DevLOVE 2009.11

Contenu connexe

Plus de 都元ダイスケ Miyamoto

認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio都元ダイスケ Miyamoto
 
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019都元ダイスケ Miyamoto
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay都元ダイスケ Miyamoto
 
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)都元ダイスケ Miyamoto
 
20170312 F.K様向け ライフパートナーM.M様のご提案
20170312 F.K様向け ライフパートナーM.M様のご提案20170312 F.K様向け ライフパートナーM.M様のご提案
20170312 F.K様向け ライフパートナーM.M様のご提案都元ダイスケ Miyamoto
 
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解都元ダイスケ Miyamoto
 
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda都元ダイスケ Miyamoto
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05都元ダイスケ Miyamoto
 
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編都元ダイスケ Miyamoto
 
20121206 VOYAGE LT - 名前重要って言うけどさ
20121206 VOYAGE LT - 名前重要って言うけどさ20121206 VOYAGE LT - 名前重要って言うけどさ
20121206 VOYAGE LT - 名前重要って言うけどさ都元ダイスケ Miyamoto
 
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回都元ダイスケ Miyamoto
 
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategyjava-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy都元ダイスケ Miyamoto
 
DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻都元ダイスケ Miyamoto
 
DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy
DevelopersSummit2011 【17-E-1】 DBも変化せよ - JiemamyDevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy
DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy都元ダイスケ Miyamoto
 

Plus de 都元ダイスケ Miyamoto (20)

認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
 
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
アプリケーション動作ログ、
ERRORで出すか? WARNで出すか? #cmdevio2019
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
 
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
 
AWSクラウドデータストレージ総論
AWSクラウドデータストレージ総論AWSクラウドデータストレージ総論
AWSクラウドデータストレージ総論
 
20170312 F.K様向け ライフパートナーM.M様のご提案
20170312 F.K様向け ライフパートナーM.M様のご提案20170312 F.K様向け ライフパートナーM.M様のご提案
20170312 F.K様向け ライフパートナーM.M様のご提案
 
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
 
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
 
20130516 cm課外授業8-aws
20130516 cm課外授業8-aws20130516 cm課外授業8-aws
20130516 cm課外授業8-aws
 
20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS20121215 DevLOVE2012 Mahout on AWS
20121215 DevLOVE2012 Mahout on AWS
 
20121206 VOYAGE LT - 名前重要って言うけどさ
20121206 VOYAGE LT - 名前重要って言うけどさ20121206 VOYAGE LT - 名前重要って言うけどさ
20121206 VOYAGE LT - 名前重要って言うけどさ
 
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
 
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategyjava-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
java-ja 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - Strategy
 
DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻
 
DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy
DevelopersSummit2011 【17-E-1】 DBも変化せよ - JiemamyDevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy
DevelopersSummit2011 【17-E-1】 DBも変化せよ - Jiemamy
 
Seasar Conference 2009 White - DI
Seasar Conference 2009 White - DISeasar Conference 2009 White - DI
Seasar Conference 2009 White - DI
 
Jiemamy inside 2
Jiemamy inside 2Jiemamy inside 2
Jiemamy inside 2
 
Jiemamy inside 1
Jiemamy inside 1Jiemamy inside 1
Jiemamy inside 1
 

2009-11-20 DevLOVE 2009 DB勉強会