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

1,613 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,613
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

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

×