SlideShare a Scribd company logo
MongoDB インサイド
              SaaS型業務アプリケーション
                           ∼おまえなしではできなかったぜ∼



                           アカウンティングサースジャパン株式会社

                                技術統括責任者

                                  石川雄樹




Thursday, October 25, 12
アジェンダ

              ‣ アカウンティングサースジャパン(A-
                     SaaS) の紹介

              ‣ なぜ、MongoDBを選定したか

              ‣ MongoDBをどう使っているか




Thursday, October 25, 12
自己紹介
              ‣ A-SaaS 技術統括責任者
                           1997 大手SIer 金融事業部

                           2001 リアルコム 参加

                           •   企業内ナレッジマネージメント、基幹製品開発リード、大手銀行Pjなど


                           2006 渡米 (シリコンバレー)

                           •   socialfeed.com : 協調フィルタリング + HITSアルゴリズム + ソーシャル + Web2.0


                           2009 帰国、A-SaaS参加

                           •   アーキテクト & プロジェクトマネージメント




Thursday, October 25, 12
A-SaaSとは?

                 「日本の会計事務所向け

                 クラウドコンピューティングの会社」

                 です




Thursday, October 25, 12
なぜ会計事務所?



Thursday, October 25, 12
あえて言います


                 「日本のクラウドコンピューティングは
                 会計事務所から始まる」




Thursday, October 25, 12
情報化、40年の歴史

                                     TKC
                                    1966創業



                            JDL                MJS
                           1968創業             1977創業

                                     A-SaaS
                                      2009

Thursday, October 25, 12
A-SaaSの歴史

             ‣ 2009年6月 創業 (米国で開発開始)

             ‣ 現在1200会員(シェア3%)
                           2010/9 サービスローンチ

                           2012/5 必須システムの提供完了

                           2013/1 一通り機能の完成予定



Thursday, October 25, 12
A-SaaSの強み
             ‣ 現行のベンダーの1/5の価格
                           高密度のマルチテナンシー(後述)

                           顧問先ソフト無料 (後述)

             ‣ SaaSなのでハードやソフトを所有しなく
                     てよい

             ‣ 長年のしがらみがなく、ゼロからベスト
                     なものを創造できる
Thursday, October 25, 12
税理士の仕事って?
        ‣ 税理士法によると・・・
                      税務代理業務

                      税務書類の作成業務

                      税務相談業務

                      訴訟の補佐人としての業務

                      財務諸表の作成

                      会計帳簿の記帳代行

                      その他財務に関する事務



Thursday, October 25, 12
参考:公認会計士との違い
                 税理士                     公認会計士



                           税金   会計      監査




                全国の中小企業や個            監査が必要な大企業
                   人が顧客                 が顧客



Thursday, October 25, 12
会計事務所の仕事って?
              ‣ 月次顧問業務(会計データの入力代行)

              ‣ 給与業務代行
                             「経理部門」や「人事部門」
                             のない、中小企業が顧客だと
              ‣ 決算申告
                               いうことがわかります

              ‣ 個人確定申告

              ‣ 相続税申告

              ‣ コンサルティング


Thursday, October 25, 12
事務所が預かるデータ
              ‣ 会計データ

              ‣ 給与・年末調整データ    企業の根幹をな
                             す、超重要データ
              ‣ 減価償却・資産データ
                                である
              ‣ 決算・申告データ




Thursday, October 25, 12
なんの統計でしょうか
                           小規模企業                 中規模企業数                   大企業数
                            366万社                 53万社                    12,000社



       「税理士」の
         主戦場




     実はものすごい
        市場




                            http://www.chusho.meti.go.jp/koukai/chousa/index.html




Thursday, October 25, 12
会計事務所の影響力

             ‣ 会計、申告、給与といった会社のクリテ
                     ィカルなデータを握っており、利用する
                     ソフトを含め、経営者に大きな影響力を
                     持つ

             ‣ 日本の中小企業(366万社)のほとんどすべ
                     てに関与している

Thursday, October 25, 12
その影響力
                                        会計事務所が影響力を
                            ひとつの事務所
           全国の会計事                           もつ
                            の平均顧問先数
            務所の数                          「企業」の数


                           3万 * 130 = 390万

               日本の小規模企業(366万社、個人事業主
               含む)のほとんどすべてが、会計事務所と関
                 わりを持ち、影響下にあるといえる


Thursday, October 25, 12
小規模企業にこそクラウド


               「所有しない、管理しない」SaaS、ク
               ラウドコンピューティングは、小規模企
               業にこそ、ひびくはず




Thursday, October 25, 12
もう一度いいます
                            小規模企業市場むけ




               「日本のクラウドコンピューティングは
               会計事務所から始まる」




Thursday, October 25, 12
A-SaaSとは(Reprise)

                 会計事務所むけのベストなシステムをSaaS
                            方式で提供し

               その顧問先である中小企業にもクラウドを通
                       してさまざまなソリューションを提供し

                           中小企業を元気にして

                       「日本を元気に」するプロジェクトです

Thursday, October 25, 12
例えば・・
        顧問先企業に「会計」                     顧問先ソフト
        「給与」を利用させる
                               企業       は無料!




                              会計事務所
                   クラウド経由で
                    ソフトを提供
                                       月額利用料を
                                         支払う

                              A-SaaS

Thursday, October 25, 12
A-SaaSの業務範囲
                     会計       給与            税務申告
                 仕訳入力        給与計算   消費税申告書        所得税申告書
                 帳票印刷        年末調整   勘定科目内訳書 青色申告決算書
                 管理会計        法定調書   法人税申告書        地方税申告書
               業種別会計         社会保険   事業概況説明書       税務代理書面
            特殊法人会計                  贈与税申告書        相続税申告書
                 部門管理
                                            電子申告
                減価償却                消費税、所得税、法人税    地方税
            固定資産台帳                   法定調書など申告      一括送信
          一括償却資産台帳
                                      償却資産申告
Thursday, October 25, 12
デモ(簡単に)




Thursday, October 25, 12
システムの特徴

              ‣ アプリケーションレベルのマルチテナン
                     シー (自前で開発)

              ‣ 4レイヤーのシステム構成




Thursday, October 25, 12
高密度マルチテナンシー
                 Level 0    Level 1            Level 2         Level 3         Level 4

                 Share-      Shared                            Shared           Share-
                                              Shared OS
                 nothing    hardware                           process        everything

              1+GB/tenant   1+GB/tenant       100MB/tenant     10MB/tenant    1MB/tenant

 Isolation




                                                                                           Density
                                          Oracle OpenWorld/JavaOne IBMの資料より




Thursday, October 25, 12
4レイヤーのシステム
                    Flex/AIR               Browser
                       (SQLIte)                      •   クライアント層 : RIA, ローカル処理,
                                                         ローカルDB
                                  XML over HTTP

                                                     •   フロントエンド層 : RESTful API
                                    Frontend
                                                     •   バックエンド層 : ビジネスロジッ
                                                         ク、MQによるスケーラビリティ、キ
                                    Backend
                                                         ャッシュ


                                                     •   データ層 : MongoDB とMySQLの
                           Database                      ハイブリッド




Thursday, October 25, 12
システム全体の構成
                           Accounting          Payroll, Depreciation      Tax System

                                                 Flex/AIR Print Local Apps
                         Flex/AIR                                                         Flex/AIR
                      Accounting App      Web Applications in Embedded Browser             E-Tax
                             (SQLIte)


                     API over HTTPs
                                          Apps UI Layer                Tax UI Layer
               PaaS API Endpoints

                PaaS Service Layer         Apps Service
                                             Layer
                   PaaS MQ Layer                                         Tax Service Layer
                                            Apps DAO
                  PaaS DAO Layer              Layer

         A-SaaS PaaS Database (MySQL)        Application
                                          Database(MySQL)
                      Relational Tables
                                           Relational Tables                 No SQL Datasets
                     Stored Procedures

Thursday, October 25, 12
So, where is
                           MongoDB?



Thursday, October 25, 12
Where is MongoDB?
                     会計    給与             税務申告
                 仕訳入力      給与計算   消費税申告書        所得税申告書
                 帳票印刷      年末調整   勘定科目内訳書 青色申告決算書
                 管理会計      法定調書   法人税申告書        地方税申告書
               業種別会計       社会保険   事業概況説明書       税務代理書面
            特殊法人会計                贈与税申告書        相続税申告書
                 部門管理
                                          電子申告
                減価償却              消費税、所得税、法人税    地方税
            固定資産台帳                 法定調書など申告      一括送信
          一括償却資産台帳
                                    償却資産申告
Thursday, October 25, 12
Where is MongoDB?
                           Accounting          Payroll, Depreciation         Tax return

                                                 Flex/AIR Print Local Apps
                         Flex/AIR                                                         Flex/AIR
                      Accounting App      Web Applications in Embedded Browser             E-Tax
                             (SQLIte)


                     API over HTTPs
                                          Apps UI Layer                Tax UI Layer
               PaaS API Endpoints

                PaaS Service Layer         Apps Service
                                             Layer
                   PaaS MQ Layer                                         Tax Service Layer
                                            Apps DAO
                  PaaS DAO Layer              Layer

         A-SaaS PaaS Database (MySQL)        Application
                                                                       Tax Database(MongoDB)
                                          Database(MySQL)
                      Relational Tables
                                           Relational Tables                 No SQL Datasets
                     Stored Procedures

Thursday, October 25, 12
「税務システム」とは
                            どのようなものか



Thursday, October 25, 12
税務業務のゴール
           ‣ 会計事務所が、通常100をこす(大規模な
                   事務所では1,000+)の顧問先の、

           ‣ 法人税、所得税、消費税、相続税といっ
                   た各種税目の申告書の作成・編集・計算
                   をし、

           ‣ 郵送か、電子申告(XML)によって、申告
                   までを完了させること
Thursday, October 25, 12
なぜ、MongoDBを選定し
              たのか



Thursday, October 25, 12
業務の5つの特徴
              ‣ 法人にとっても個人にとってもクリティ
                     カルな業務である
                                           観
              ‣      期限が厳しく、季節性がある       う
                                        い す
                                       と ま
                                      定 き
              ‣      税法改正により仕様が定期的に変わる
                                     選 い
                                    の て
                                   ス れ
                                  ー い
              ‣      大量の項目と計算がある ベ を
                                タ 価
                               ー 評
                              デ で
              ‣      電子申告と印刷がある点

Thursday, October 25, 12
クリティカルな業務


              ‣ 法人,個人の税務申告データ、という非
                               な
                                 い
                                                え
                     常に重要な情報を扱う                使
                                             は
                                           術             い
                                       技               な
                                     る               は
                                   ぎ               で
                                 す               介
                                し              厄
                               新           り
                                         ま
                                       あ

Thursday, October 25, 12
期限と季節性

              ‣ 法人税 : 年間を通して、申告可能だが、3
                     月決算の会社が集中する5月がピーク

              ‣ 所得税 : すべてのアクセスは、確定申告
                     期間(2/15   3/15) に集中する
                                                  介
                                                 厄
                                              し
                                             こ
                                         す

Thursday, October 25, 12
定期的に変わる仕様
              ‣ 法人税 : 年数回

              ‣ 所得税 : 年1-2回

              ‣ 消費税 : 小さな変更 年1-2回 税率など大
                     きな変更が、数年に1回
                                         介
                                        厄
              ‣ 相続税 : 数年に1回大きな変更 めて
                                    わ
                                   き
              ‣ さらに「修正申告」がある

Thursday, October 25, 12
大量の項目と計算
              ‣ 制度上の表数
                           法人税 240表、所得税 140表、消費税 20表

                           相続税 110表

              ‣ 1表につき
                                                               介
                                                            厄
                           1から数画面                          て
                                                          め
                                                       わ
                           データ項目20-30                 き
                           410表 x 平均25項目 = 10,000項目
Thursday, October 25, 12
大量の項目と計算

                                                                 と
                                                             る
               ‣ 10000項目のうち多くが、自動計算(税額
                                 す
                                                      慮
                                                     考
                      や税率)の対象となる                  を       介
                                                更        厄
                                              変      く
                           (計算仕様の例)         る       ご
                                           よ     す
                                         に     の                 介
                                       正     も                厄
                                      改                      り
                                                         な
                                                      か

Thursday, October 25, 12
電子申告がある

                                                         と
                                                     る
                                                  す
                                              慮
                                             考
                                          を       介
                                        更        厄
                                      変      く
                                    る       ご
                                   よ     す
                                 に     の                 介
                               正     も                厄
                              改                      り
                                                 な
                                              か

Thursday, October 25, 12
選定当時の選択肢
              ‣ RDB
                           MySQL, Oracle, Postgres, etc

              ‣ XML-DB
                           Sedna, eXist, MarkLogic, Qizx, etc

              ‣ Other
                           GAE, AllegroGraph, etc


Thursday, October 25, 12
MongoDB選定の理由
             厄介なポイント            MongoDB

                            ‣ スキーマレスなため、改
     ‣ 税法改正により仕様が
                              正対応にフィットする
       定期的に変わる
                            ‣ クエリーが高機能で高速
     ‣ 大量の項目と計算があ                         !!
                                        チ
                              なため、計算実装がやり
       る                              ッ
                              やすい   マ
                                   ト
     ‣ 電子申告と印刷がある                 ク
                                  ェ
                            ‣ 電子申告のXMLと親和性
                               ーフ
                              が高く,かつ高速な
                              パ
                              BSON形式である

Thursday, October 25, 12
税務アーキテクチャ
                                                    XML
                                                          国税庁
      電子申告XSLT               ブラウザー    印刷     電子申告
      からスケルトン
        を生成                                 XML


                                 Tax UI Layer             電子申告、印刷
     電子申告XSLT                                             には国税庁XML
     からJavaBeans               Tax Service Layer           が渡される
       を生成

                                     XML
         電子申告XMLを                    JSON
          変換して保存                                          入力されたXMLは
                                                          JSONを経てBSON
                                     BSON                   で保存される



Thursday, October 25, 12
改正と修正申告対応
                                                   読みに行くプログ
                  H23      電子   H24   電子
                                                   ラムも過去のバー
                  印刷       申告   印刷    申告
                                                    ジョンが共存


                    H23          H24                            る
                   プログラム        プログラム           バージョンのあわ       き
                                                            で
                                                ないデータは読み
                                                           存
                                                       共
                                                 に行かないだけ
                                                     ら
                                                    か
                                                   だ
                                                 ス
                   H23データ       H24データ          レ 改正前も改正後
                                              マ
                                             ー    もデータは共存
                                            キ
                                           ス
Thursday, October 25, 12
MongoDBで良かったこと
              ‣ 「全部」

              ‣ 税務申告書というXMLで作られた複雑大
                     量のドキュメントを扱うのに「ドキュメ
                     ント指向データベース」ほど最適な解は
                     なかった



Thursday, October 25, 12
余談 : 他の業務ではどうか
              ‣ 財務会計
                           原データである「仕訳」とマスターデータである「科目」
                           などとのJOIN & 集計が多すぎる

                           •   MongoDBはfitしない


              ‣ 給与
                           原データ「給与明細」と「社員」「料率」マスターなどの
                           JOINが多いが集計はあまりなく、改正の多くはマスターデ
                           ータの変更でカバーできる

                           •   Mongoでも可能だがあまりメリットがなかった

Thursday, October 25, 12
税務システムの現状
              ‣ 初期リリース(2011/4)、本格リリース(2012/5)を
                経て、現在、まさに本番稼働中
                    ✓      データベースが原因の問題はひとつも起きていない

              ‣ 「平成24年法人税改正」対応も(3週間で!)乗り切
                った

              ‣ 現在「平成24年所得税改正」対応と、来年の「確
                定申告祭り」に向けて準備中




Thursday, October 25, 12
もっとも重要な選定理由

              ‣ そのデータベースに本気で取り組み、チ
                     ャレンジする技術者、チームがいたこと
                           データベースを含む、あらゆる技術の最大の選定基準だと
                           思います

                           セッション C26 も是非ごらんください




Thursday, October 25, 12
Thank you!!




Thursday, October 25, 12

More Related Content

PDF
Amazon EC2 を使ったSaaS運用事例(LT) - Tokyo Cloud Developers Meetup (20090409)
PPTX
日本におけるSaasの現状
PDF
Mongo db + xsd:xml(20130219)
PDF
Using docker infrastructure
PDF
[db tech showcase Tokyo 2016] A25: ACIDトランザクションをサポートするエンタープライズ向けNoSQL Databas...
PDF
20160916 ビッグデータシンポジウム オラクル公開資料
PDF
MongoDB very basic (Japanese) / MongoDB基礎の基礎
PDF
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
Amazon EC2 を使ったSaaS運用事例(LT) - Tokyo Cloud Developers Meetup (20090409)
日本におけるSaasの現状
Mongo db + xsd:xml(20130219)
Using docker infrastructure
[db tech showcase Tokyo 2016] A25: ACIDトランザクションをサポートするエンタープライズ向けNoSQL Databas...
20160916 ビッグデータシンポジウム オラクル公開資料
MongoDB very basic (Japanese) / MongoDB基礎の基礎
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話

Similar to MongoDB インサイド SaaS型業務アプリケーション (20)

PDF
エスエス会計の決算
PDF
[新会計基準完全対応!]社会福祉法人向け総合システム(WESSY)
PDF
セミナー「会計士の仕事が人工知能に奪われる?」
PDF
ADempiere osc_tokyo_2012_fall_rev1.00
PDF
Koffice パンフ 2012
PDF
Cloud Seminar Sep_2010
PDF
Cloud Seminer Final 092110
PDF
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」細谷賢一氏
PDF
A dempiereとxebec紹介資料
PPTX
XBRLの世界で唯一の体系的な研修【XBRLファンデーションコース】
PDF
第3回SIA研究会(例会)プレゼン資料
PDF
using astah for openthology modeling
PPTX
New Technology Trends and Effects on Business
PDF
20090101 男it番長 知っ得。情報基盤強化税制
PDF
SIerとクラウドの付き合い方
PDF
【Shared】「創業70年の会計事務所がクラウド会計を活用し、 自計化を進める理由」:ジェイシス税理士法人田中さま
PDF
Qlik viewご紹介 v1.0
PDF
業務システムにおけるMongoDB活用法
PDF
デブサミ2013 【15-E-1】 「DevPower: デベロッパーが創る日本の未来を語ろう」林氏分
PDF
第5回iocj情報交換会 info scoopネットワンシステムズ様事例
エスエス会計の決算
[新会計基準完全対応!]社会福祉法人向け総合システム(WESSY)
セミナー「会計士の仕事が人工知能に奪われる?」
ADempiere osc_tokyo_2012_fall_rev1.00
Koffice パンフ 2012
Cloud Seminar Sep_2010
Cloud Seminer Final 092110
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」細谷賢一氏
A dempiereとxebec紹介資料
XBRLの世界で唯一の体系的な研修【XBRLファンデーションコース】
第3回SIA研究会(例会)プレゼン資料
using astah for openthology modeling
New Technology Trends and Effects on Business
20090101 男it番長 知っ得。情報基盤強化税制
SIerとクラウドの付き合い方
【Shared】「創業70年の会計事務所がクラウド会計を活用し、 自計化を進める理由」:ジェイシス税理士法人田中さま
Qlik viewご紹介 v1.0
業務システムにおけるMongoDB活用法
デブサミ2013 【15-E-1】 「DevPower: デベロッパーが創る日本の未来を語ろう」林氏分
第5回iocj情報交換会 info scoopネットワンシステムズ様事例
Ad

MongoDB インサイド SaaS型業務アプリケーション

  • 1. MongoDB インサイド SaaS型業務アプリケーション ∼おまえなしではできなかったぜ∼ アカウンティングサースジャパン株式会社 技術統括責任者 石川雄樹 Thursday, October 25, 12
  • 2. アジェンダ ‣ アカウンティングサースジャパン(A- SaaS) の紹介 ‣ なぜ、MongoDBを選定したか ‣ MongoDBをどう使っているか Thursday, October 25, 12
  • 3. 自己紹介 ‣ A-SaaS 技術統括責任者 1997 大手SIer 金融事業部 2001 リアルコム 参加 • 企業内ナレッジマネージメント、基幹製品開発リード、大手銀行Pjなど 2006 渡米 (シリコンバレー) • socialfeed.com : 協調フィルタリング + HITSアルゴリズム + ソーシャル + Web2.0 2009 帰国、A-SaaS参加 • アーキテクト & プロジェクトマネージメント Thursday, October 25, 12
  • 4. A-SaaSとは? 「日本の会計事務所向け クラウドコンピューティングの会社」 です Thursday, October 25, 12
  • 6. あえて言います 「日本のクラウドコンピューティングは 会計事務所から始まる」 Thursday, October 25, 12
  • 7. 情報化、40年の歴史 TKC 1966創業 JDL MJS 1968創業 1977創業 A-SaaS 2009 Thursday, October 25, 12
  • 8. A-SaaSの歴史 ‣ 2009年6月 創業 (米国で開発開始) ‣ 現在1200会員(シェア3%) 2010/9 サービスローンチ 2012/5 必須システムの提供完了 2013/1 一通り機能の完成予定 Thursday, October 25, 12
  • 9. A-SaaSの強み ‣ 現行のベンダーの1/5の価格 高密度のマルチテナンシー(後述) 顧問先ソフト無料 (後述) ‣ SaaSなのでハードやソフトを所有しなく てよい ‣ 長年のしがらみがなく、ゼロからベスト なものを創造できる Thursday, October 25, 12
  • 10. 税理士の仕事って? ‣ 税理士法によると・・・ 税務代理業務 税務書類の作成業務 税務相談業務 訴訟の補佐人としての業務 財務諸表の作成 会計帳簿の記帳代行 その他財務に関する事務 Thursday, October 25, 12
  • 11. 参考:公認会計士との違い 税理士 公認会計士 税金 会計 監査 全国の中小企業や個 監査が必要な大企業 人が顧客 が顧客 Thursday, October 25, 12
  • 12. 会計事務所の仕事って? ‣ 月次顧問業務(会計データの入力代行) ‣ 給与業務代行 「経理部門」や「人事部門」 のない、中小企業が顧客だと ‣ 決算申告 いうことがわかります ‣ 個人確定申告 ‣ 相続税申告 ‣ コンサルティング Thursday, October 25, 12
  • 13. 事務所が預かるデータ ‣ 会計データ ‣ 給与・年末調整データ 企業の根幹をな す、超重要データ ‣ 減価償却・資産データ である ‣ 決算・申告データ Thursday, October 25, 12
  • 14. なんの統計でしょうか 小規模企業 中規模企業数 大企業数 366万社 53万社 12,000社 「税理士」の 主戦場 実はものすごい 市場 http://www.chusho.meti.go.jp/koukai/chousa/index.html Thursday, October 25, 12
  • 15. 会計事務所の影響力 ‣ 会計、申告、給与といった会社のクリテ ィカルなデータを握っており、利用する ソフトを含め、経営者に大きな影響力を 持つ ‣ 日本の中小企業(366万社)のほとんどすべ てに関与している Thursday, October 25, 12
  • 16. その影響力 会計事務所が影響力を ひとつの事務所 全国の会計事 もつ の平均顧問先数 務所の数 「企業」の数 3万 * 130 = 390万 日本の小規模企業(366万社、個人事業主 含む)のほとんどすべてが、会計事務所と関 わりを持ち、影響下にあるといえる Thursday, October 25, 12
  • 17. 小規模企業にこそクラウド 「所有しない、管理しない」SaaS、ク ラウドコンピューティングは、小規模企 業にこそ、ひびくはず Thursday, October 25, 12
  • 18. もう一度いいます 小規模企業市場むけ 「日本のクラウドコンピューティングは 会計事務所から始まる」 Thursday, October 25, 12
  • 19. A-SaaSとは(Reprise) 会計事務所むけのベストなシステムをSaaS 方式で提供し その顧問先である中小企業にもクラウドを通 してさまざまなソリューションを提供し 中小企業を元気にして 「日本を元気に」するプロジェクトです Thursday, October 25, 12
  • 20. 例えば・・ 顧問先企業に「会計」 顧問先ソフト 「給与」を利用させる 企業 は無料! 会計事務所 クラウド経由で ソフトを提供 月額利用料を 支払う A-SaaS Thursday, October 25, 12
  • 21. A-SaaSの業務範囲 会計 給与 税務申告 仕訳入力 給与計算 消費税申告書 所得税申告書 帳票印刷 年末調整 勘定科目内訳書 青色申告決算書 管理会計 法定調書 法人税申告書 地方税申告書 業種別会計 社会保険 事業概況説明書 税務代理書面 特殊法人会計 贈与税申告書 相続税申告書 部門管理 電子申告 減価償却 消費税、所得税、法人税 地方税 固定資産台帳 法定調書など申告 一括送信 一括償却資産台帳 償却資産申告 Thursday, October 25, 12
  • 23. システムの特徴 ‣ アプリケーションレベルのマルチテナン シー (自前で開発) ‣ 4レイヤーのシステム構成 Thursday, October 25, 12
  • 24. 高密度マルチテナンシー Level 0 Level 1 Level 2 Level 3 Level 4 Share- Shared Shared Share- Shared OS nothing hardware process everything 1+GB/tenant 1+GB/tenant 100MB/tenant 10MB/tenant 1MB/tenant Isolation Density Oracle OpenWorld/JavaOne IBMの資料より Thursday, October 25, 12
  • 25. 4レイヤーのシステム Flex/AIR Browser (SQLIte) • クライアント層 : RIA, ローカル処理, ローカルDB XML over HTTP • フロントエンド層 : RESTful API Frontend • バックエンド層 : ビジネスロジッ ク、MQによるスケーラビリティ、キ Backend ャッシュ • データ層 : MongoDB とMySQLの Database ハイブリッド Thursday, October 25, 12
  • 26. システム全体の構成 Accounting Payroll, Depreciation Tax System Flex/AIR Print Local Apps Flex/AIR Flex/AIR Accounting App Web Applications in Embedded Browser E-Tax (SQLIte) API over HTTPs Apps UI Layer Tax UI Layer PaaS API Endpoints PaaS Service Layer Apps Service Layer PaaS MQ Layer Tax Service Layer Apps DAO PaaS DAO Layer Layer A-SaaS PaaS Database (MySQL) Application Database(MySQL) Relational Tables Relational Tables No SQL Datasets Stored Procedures Thursday, October 25, 12
  • 27. So, where is MongoDB? Thursday, October 25, 12
  • 28. Where is MongoDB? 会計 給与 税務申告 仕訳入力 給与計算 消費税申告書 所得税申告書 帳票印刷 年末調整 勘定科目内訳書 青色申告決算書 管理会計 法定調書 法人税申告書 地方税申告書 業種別会計 社会保険 事業概況説明書 税務代理書面 特殊法人会計 贈与税申告書 相続税申告書 部門管理 電子申告 減価償却 消費税、所得税、法人税 地方税 固定資産台帳 法定調書など申告 一括送信 一括償却資産台帳 償却資産申告 Thursday, October 25, 12
  • 29. Where is MongoDB? Accounting Payroll, Depreciation Tax return Flex/AIR Print Local Apps Flex/AIR Flex/AIR Accounting App Web Applications in Embedded Browser E-Tax (SQLIte) API over HTTPs Apps UI Layer Tax UI Layer PaaS API Endpoints PaaS Service Layer Apps Service Layer PaaS MQ Layer Tax Service Layer Apps DAO PaaS DAO Layer Layer A-SaaS PaaS Database (MySQL) Application Tax Database(MongoDB) Database(MySQL) Relational Tables Relational Tables No SQL Datasets Stored Procedures Thursday, October 25, 12
  • 30. 「税務システム」とは どのようなものか Thursday, October 25, 12
  • 31. 税務業務のゴール ‣ 会計事務所が、通常100をこす(大規模な 事務所では1,000+)の顧問先の、 ‣ 法人税、所得税、消費税、相続税といっ た各種税目の申告書の作成・編集・計算 をし、 ‣ 郵送か、電子申告(XML)によって、申告 までを完了させること Thursday, October 25, 12
  • 32. なぜ、MongoDBを選定し たのか Thursday, October 25, 12
  • 33. 業務の5つの特徴 ‣ 法人にとっても個人にとってもクリティ カルな業務である 観 ‣ 期限が厳しく、季節性がある う い す と ま 定 き ‣ 税法改正により仕様が定期的に変わる 選 い の て ス れ ー い ‣ 大量の項目と計算がある ベ を タ 価 ー 評 デ で ‣ 電子申告と印刷がある点 Thursday, October 25, 12
  • 34. クリティカルな業務 ‣ 法人,個人の税務申告データ、という非 な い え 常に重要な情報を扱う 使 は 術 い 技 な る は ぎ で す 介 し 厄 新 り ま あ Thursday, October 25, 12
  • 35. 期限と季節性 ‣ 法人税 : 年間を通して、申告可能だが、3 月決算の会社が集中する5月がピーク ‣ 所得税 : すべてのアクセスは、確定申告 期間(2/15 3/15) に集中する 介 厄 し こ す Thursday, October 25, 12
  • 36. 定期的に変わる仕様 ‣ 法人税 : 年数回 ‣ 所得税 : 年1-2回 ‣ 消費税 : 小さな変更 年1-2回 税率など大 きな変更が、数年に1回 介 厄 ‣ 相続税 : 数年に1回大きな変更 めて わ き ‣ さらに「修正申告」がある Thursday, October 25, 12
  • 37. 大量の項目と計算 ‣ 制度上の表数 法人税 240表、所得税 140表、消費税 20表 相続税 110表 ‣ 1表につき 介 厄 1から数画面 て め わ データ項目20-30 き 410表 x 平均25項目 = 10,000項目 Thursday, October 25, 12
  • 38. 大量の項目と計算 と る ‣ 10000項目のうち多くが、自動計算(税額 す 慮 考 や税率)の対象となる を 介 更 厄 変 く (計算仕様の例) る ご よ す に の 介 正 も 厄 改 り な か Thursday, October 25, 12
  • 39. 電子申告がある と る す 慮 考 を 介 更 厄 変 く る ご よ す に の 介 正 も 厄 改 り な か Thursday, October 25, 12
  • 40. 選定当時の選択肢 ‣ RDB MySQL, Oracle, Postgres, etc ‣ XML-DB Sedna, eXist, MarkLogic, Qizx, etc ‣ Other GAE, AllegroGraph, etc Thursday, October 25, 12
  • 41. MongoDB選定の理由 厄介なポイント MongoDB ‣ スキーマレスなため、改 ‣ 税法改正により仕様が 正対応にフィットする 定期的に変わる ‣ クエリーが高機能で高速 ‣ 大量の項目と計算があ !! チ なため、計算実装がやり る ッ やすい マ ト ‣ 電子申告と印刷がある ク ェ ‣ 電子申告のXMLと親和性 ーフ が高く,かつ高速な パ BSON形式である Thursday, October 25, 12
  • 42. 税務アーキテクチャ XML 国税庁 電子申告XSLT ブラウザー 印刷 電子申告 からスケルトン を生成 XML Tax UI Layer 電子申告、印刷 電子申告XSLT には国税庁XML からJavaBeans Tax Service Layer が渡される を生成 XML 電子申告XMLを JSON 変換して保存 入力されたXMLは JSONを経てBSON BSON で保存される Thursday, October 25, 12
  • 43. 改正と修正申告対応 読みに行くプログ H23 電子 H24 電子 ラムも過去のバー 印刷 申告 印刷 申告 ジョンが共存 H23 H24 る プログラム プログラム バージョンのあわ き で ないデータは読み 存 共 に行かないだけ ら か だ ス H23データ H24データ レ 改正前も改正後 マ ー もデータは共存 キ ス Thursday, October 25, 12
  • 44. MongoDBで良かったこと ‣ 「全部」 ‣ 税務申告書というXMLで作られた複雑大 量のドキュメントを扱うのに「ドキュメ ント指向データベース」ほど最適な解は なかった Thursday, October 25, 12
  • 45. 余談 : 他の業務ではどうか ‣ 財務会計 原データである「仕訳」とマスターデータである「科目」 などとのJOIN & 集計が多すぎる • MongoDBはfitしない ‣ 給与 原データ「給与明細」と「社員」「料率」マスターなどの JOINが多いが集計はあまりなく、改正の多くはマスターデ ータの変更でカバーできる • Mongoでも可能だがあまりメリットがなかった Thursday, October 25, 12
  • 46. 税務システムの現状 ‣ 初期リリース(2011/4)、本格リリース(2012/5)を 経て、現在、まさに本番稼働中 ✓ データベースが原因の問題はひとつも起きていない ‣ 「平成24年法人税改正」対応も(3週間で!)乗り切 った ‣ 現在「平成24年所得税改正」対応と、来年の「確 定申告祭り」に向けて準備中 Thursday, October 25, 12
  • 47. もっとも重要な選定理由 ‣ そのデータベースに本気で取り組み、チ ャレンジする技術者、チームがいたこと データベースを含む、あらゆる技術の最大の選定基準だと 思います セッション C26 も是非ごらんください Thursday, October 25, 12