開発基盤部会 Blog

開発基盤部会 Blog >> 記事詳細

2017/05/19

第1回 Open棟梁2.0 迅速なスタートアップの立ち上げを実現する。

Tweet ThisSend to Facebook | by nishino
 みなさん、こんにちは。Open棟梁プロジェクト、PO の西野 大介です。

Open棟梁2.0のリリース

 前回のアナウンスから暫く間が空いてしまいましたが、先日、Open棟梁2.0をリリースしました。
  • リリース情報 - Open 棟梁 Wiki > 各バージョン > 02-00(2017年5月19日)
 そこで、今回から 3 回に分けて、Open棟梁2.0の概要をご紹介できればと思います。 第 1 回目の今回は、Open棟梁2.0の "新しいコンセプト" と、新機能である "サービス開発基盤" について説明したいと思います。

今までの実績

 振り返って、Open棟梁の初版リリースから約10年、OSS化後から3年が経過しました。これまで100件以上の導入がされており、QCDF ※1 の向上効果はユーザー様からも高い評価を頂いています。 
※1 QCDF :
 Quality(品質)、Cost(コスト)、Delivery(納期)、Flexibility(柔軟性)の略

新しいコンセプト

 Open棟梁2.0では、コンセプトを"迅速なスタートアップの立ち上げの実現" としました。

 このようなコンセプトへ変更した理由は、端的に「従来型のSIの終焉」を予想しているためです。
 昨今の多数の状況やトレンドを分析すると、
  • ICTにおける、メーカー企業と、ユーザー企業の差がなくなってきている。
  • 事業システムの高度化(差別化・独自性追求をする企業競争力の強化に繋がる領域へのシフト)に伴い、事業システムのIT投資の増加と、内製化へのシフトが起きる。
  • 相対的に、内部システム(バックオフィス系、ERPでカバーされている汎用的領域)へのIT投資が減少し、それに伴い、パッケージ&サービス活用の増加、スクラッチ開発の減少が起きる。
のように見ています。
 例えば、昨今、ユーザー企業であるメガバンクがFinTechプラットフォーム開発したり、自動車会社がコネクテッドカー分野での技術開発、検証、標準化をしたりしているような状況は、事業システムの高度化と内製化の現れではないでしょうか?
 Open棟梁も、 これに歩調を合わせて、 サービス開発や事業システム開発など、新しい分野への適用の増加を目指しています。
 そして、サービス開発のニーズを捕捉し、ノウハウを蓄積するために、2016年、OSSコンソーシアム、.NET開発基盤部会では、「実際にスタートアップのチャレンジを行い、ソコで開発した "サービス開発基盤" を、"Open棟梁プロジェクト"のラインナップに含めOSSとしてリリースする。」というサブワーキング活動を実施しました。
 スタートアップの結果はイシュー (問題の本質)を捕捉できずに失敗となりましたが、"サービス開発基盤"のリリースには漕ぎ着けました。イシューの捕捉は非常に難しいですね。しかし、新たなビジネスチャンスに繋がる可能性が高いと思うので、今後とも、継続的にスタートアップにチャレンジしていきたいと思います。

サービス開発基盤

 スタートアップを行う中で、サービスを開発・運用する上でさまざまな機能が求められることを確認しました。それらの機能の中で、共通的な機能をピックアップし、さまざまなサービスから利用可能な"サービス開発基盤"を開発することとしました。
 この"サービス開発基盤"の共通的な機能として、Open棟梁2.0では、"汎用認証サイト""オンライン決済サービス連携"の2つの機能をリリースしました。

汎用認証サイト(β版)

 "汎用認証サイト"は、Open棟梁2.0で追加した"サービス開発基盤"機能の"コア"機能であり、不特定多数のユーザ、さまざまなデバイスから利用されるインターネット環境下でも安全に利用可能な認証基盤(Idp : Identity Provider & STS : Security Token Service)です。


  • "汎用認証サイト"は以下のような、インターネット環境で必須となる認証基盤の機能をコンフィギュレーションして利用可能です。
    • サインアップ、サインイン・サインアウト
    • パスワードリセット
    • E-mailアドレスの確認(E-mail confirmation)
    • アカウント編集時、他のSessionを自動的にサインアウトさせるSecurityStamp
    • E-mailやSMSを使用した2要素認証(Two-factor authentication)
    • 外部ログイン(外部サービスのアカウントを使用したソーシャルログイン)
  • また、JWT(JSON Web Token) 形式の OAuth 2.0 Bearer Tokenを発行可能です。
    • 本来「認可」の用途に使用するOAuth 2.0をセキュアな「認証」の用途でも利用可能です。
    • OAuth 2.0は、RFC 6749で規定されているオープンなプロトコルであるであるため、さまざまなプラットフォームや言語を跨いだシングル・サインオンが可能です。

オンライン決済サービス連携(β版)

 また、サービスとなれば課金機能が必要になることが多いかと思いますので、"オンライン決済サービス連携"の機能も試験的に"汎用認証サイト"に組み込んでみました。
  • 現時点で連携可能なオンライン決済サービスとして、"Stripe""PAY.JP"の2つのサービスを利用可能です。ただし、Stripe や PAY.JP 以外のオンライン決済サービスを見ましても、仕組みや API に大きな差は見られません。そのため、既存のプログラムを参考に、適宜、使用したいオンライン決済サービスを追加するようにカスタマイズ可能と思います。
  • 昨今、FinTech に注目が集まっています。そのため、FinTech のユニコーン企業である"Stripe"を、今後もウォッチしていきたいと考えています。特に、決済代行機能を実装可能な、Connect機能に注目しています。これについては、次回、お話ししていきたいと考えています。
 "FinTech":
 金融を意味する「ファイナンス」と、技術を意味する「テクノロジー」を組み合わせた造語で「ICTを駆使した革新的で破壊的な金融商品・サービスの潮流」の意味。
 "ユニコーン企業":
 企業としての評価額が10億ドル(約1250億円)以上で、非上場のベンチャー企業を指す。ベンチャー企業への投資を専門的に行う投資会社(ベンチャーキャピタル)の一つである、米カウボーイ・ベンチャーズの創業者が使い始めた。

新しい技術の取り込み、外部サービスの活用

 以下の技術要素を取り込み、この開発ノウハウをベースにOpen棟梁の既存のWeb Forms, MVCのテンプレートのモダナイゼーションを図っています。
  • 汎用認証サイトでは、Open棟梁のASP.NET MVC 5テンプレートとBootstrapを使用して開発を行いました。
  • また、認証フレームワークとして ASP.NET Identity を採用しました。
  • 上記のオンライン決済サービス以外の外部サービスとしては、
    • 外部ログインで連携するIdpとして、 "MicrosoftGoogleFacebook" などをサポートし、2要素認証(Two-factor authentication)のNotification providerとして、SMTPと、SMSサービスの"Twilio"をサポートしています。
    • また、上記以外のサービスにつきましても、統一的なインタフェースを持つモジュールを実装・利用することで、プラガブルに拡張できます。
  • ユーザストアへのデータアクセスについては、
    • 既定では、ユーザーストア (ユーザー情報の格納先) としてSQL Server を使用していますが、ユーザーストアは DBMSだけでなく、X.500 ディレクトリ・サービス(LDAP)、KVS(Key-Valueストア)など、さまざまなストアを利用するようにカスタマイズが可能です。
    • なお、既定のユーザーストアである SQL Server へのデータアクセスには試験的に"Dapper"を採用しましたが、Dapperは、ASP.NET Identityが、UserStoreをIterativeに呼び出すスタイルに良く適合し、選択肢として正解だったと思います。
 次回は、今回紹介した"サービス開発基盤"を使って、具体的にどのようなサービスを開発できるか?をご説明していきます!

12:00 | 投票する | 投票数(0) | コメント(0) | お知らせ