• Save
高速開発
Upcoming SlideShare
Loading in...5
×
 

高速開発

on

  • 844 views

ビジネス・スピードの加速は、アプリケーション開発のあり方も変えようとしています。アジャイル、マッシュアップ、ルールベース、フレームワー...

ビジネス・スピードの加速は、アプリケーション開発のあり方も変えようとしています。アジャイル、マッシュアップ、ルールベース、フレームワークなど、高速開発についての考え方を整理しました。

http://libra.netcommerce.co.jp/

Statistics

Views

Total Views
844
Views on SlideShare
608
Embed Views
236

Actions

Likes
0
Downloads
0
Comments
0

4 Embeds 236

http://libra.netcommerce.co.jp 188
http://s.deeeki.com 39
http://www.slideee.com 8
http://localhost 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

高速開発 高速開発 Presentation Transcript

  • ITソリューション塾 講義資料 © 2009-13,all rights reserved by NetCommerce & applied marketing 高速開発
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing 高速化するものとしないもの 2000 2010 ネットワーク速度 半導体の集積度 ソフトウェアの生産性 *あくまでもイメージです ?
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing 「最も優秀なプログラマと最低の成績のプ ログラマのあいだには約10倍にあたる生 産性の違いがある。」 とある開発ベンダーの社長 いやー、100倍くらい違う んじゃないかな?
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing ソフトウェア開発の効率化 部品化・再利用 組織 開発手法 ライブラリ フレームワーク Webサービス コミュニティ DevOps ソーシャルプログラミング マッシュアップ アジャイル ルールベース開発 プログラマの 生産性向上 (スターを作るのでは なく、一般のプログ ラマの生産性を底上 げする)
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing Webアプリケーション ブラウザー  (Ajax) HTML/JavaScript+HTTP
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing Webサービスとマッシュアップ XML+SOAP/REST XML = ソフトウェア間の通信に用いるデータ形式 を自由に定義できるマークアップ言語 SOAP/REST =ソフトウェア同士がメッセージ(オブ ジェクト)を交換するためのプロトコル 通信フォーマットと手順の標準化により、Webア プリ間の通信が容易になった (Webサービスとしての利用が可能) 旅行サイト 複数のサービスをAPIベースで連携させて新 たなサービスを提供する →マッシュアップ ブラウザー  (Ajax)
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing クラウド時代のマッシュアップ開発 クラウドサービス API クラウドサービス API OSSパッケージ API マッシュアップ マッシュアップ開発 IT の深い知識がなくても、既 存のWebサービスAPIを組み 合わせて、短期間でアプリ ケーション開発を行うこと。 新しい開発技法として注目さ れている。 様々なWebサービスやBaaS などのサービス、豊富なOSS などにより、新たなプログラ ミングをせずにアプリケー ションを開発することが可能 になってきた 自社サービス (サービスロジック、UX)
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing BaaS (Backend as a Service)/MBaaS アプリケーション ミドルウェア OS ハードウェア SaaS PaaS IaaS BaaS BaaSは元々モバイル向けサービスとして発表されたが、最近では モバイル用のBaaSをMBaaSと呼ぶこともある BaaS モバイルサービスを構築す る際に共通して必要となる 機能をサービスとして用意 し、パッケージで提供する ユーザー管理 プッシュ通知 ソーシャルメディア連携 課金・決済処理 同期・共有・バックアップ ユーザー間のチャット ロケーション連携
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing Bitnami - OSS on Amazon -
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing JavaScript開発フレームワーク PC向け モバイル向け jQuery prototype.js jQuery Mobile iUI jQTouch Sencha Touch Wink toolkit 最も人気のあるJavaScriptライブラリ/フレームワークのひとつ jQuery以前に人気があったJavaScriptライブラリ Ruby on Railsに含まれていた  (現在はjQuery) jQueryのモバイル版 モバイル向けフレームワークの本命 機能は多くないが、手軽にスマホ向けサイトを構築可能 Sencha製開発フレームワーク JavaScriptを中心にページを記述 パフォーマンスが良く、高機能 JavaScriptを中心にページを記述 3Dエフェクトなどが豊富に用意されている
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing DevOps (Development-Operations) 従来型 運用チーム 開発チーム ウォーターフォール型 開発と運用が衝突す ることが多い Dev Ops 開発・運用チーム アジャイル型 開発(Development)と運用 (Operations)が協力し、要求に対してよ り柔軟かつスピーディに対応する
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing デプロイを自動化する構成管理ツール Puppet Chef CFEngine Bcfg2 仮想マシンのデプロイを自動化してDevOpsを加速するOSSベースの ツール Rubyベースの自動化ツール  (2005~) CFEngineを参考に開発 多くの企業で導入されている Rubyベースの自動化ツール  (2009~) CFEngine、Puppetを参考に開発 IBM、MS、AWSがサポートを表明 GNU オープンソース構成管理フレームワーク  (1993~) Pythonベースの構成管理ツール  (2003?~) 米アルゴンヌ国立研究所が開発
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing HTMLとネイティブのハイブリッド開発環境 Webアプリ OS ハードウェア ブラウザー HTML JavaScript ネイティブ アプリ OS ハードウェア PhoneGap Titanium HTML+JavaScriptでネイ ティブアプリを開発 デバイス固有の機能にも アクセス可能 HTML5環境が整備される までの橋渡し
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing ネイティブアプリとWebアプリ ネイティブ アプリ ObjectiveC C++, Java C#, VB OS iOS Android Windows Phone ハードウェア スマホ タブレット PC Webアプリ HTML JavaScript Safari, Chrome, IE OS iOS Android Windows Phone ハードウェア スマホ タブレット PC ブラウザー デバイスに最適化した設計が可能 動作が高速で使いやすい デバイス毎に開発が必要 デバイス毎に開発の必要無し アプリマーケットを迂回可能 速度、機能、互換性などは発展途上
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing MEAP (Mobile Enterprise Application Platform)
  • ITソリューション塾 講義資料 © 2009-13,all rights reserved by NetCommerce & applied marketing BRMS
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing BRMSとは •  Business Rules Management System –  ビジネス上の様々なルールをプログラム化せずにシステムに実装 プログラム ルール BRMSシステム (ルールエンジ ン、推論エンジ ン) ルールベース (ルールリポジト リ、ナレッジベー ス) プログラム化=ハードコード ・ルールをソフトウェア仕様として  定義しなおす必要がある ・コーディングが必要 ・ルール追加・修正のたびにテスト  が必要となる ルールベース=BRMS ・ルールを自然言語に近い形で記述 ・担当者がルールを作成できる ・ルールの齟齬などをシステムが自動チェック ・コーディングの必要無し ・都度テストを行う必要無し
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing ビジネスルールとは? •  ビジネス運用上の様々なポリシー、規約、制約 –  保険加入の審査 –  携帯電話の料金・割引プラン –  金融業における与信審査 –  社内決済、稟議条件など •  ビジネスルールの特徴 –  ビジネス環境によって様々に変化する –  期間限定 –  企業の企画・営業部門が適宜決める •  ビジネスルールの問題 –  様々な条件をいちいちプログラミングするのは大変 –  改変の都度テストが必要になる
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing ルールベースシステムの源流 エキスパートシステム(1970年代) 人工知能研究の一環として実用化されたシステム。人間の専門家が特定分野の専門知識に基づいて推論 を行い、複雑な問題を解決する過程をエミュレートし、問題の分析結果を提供し、利用者の行動を導く指針 を与える。 特定の分野の問題についての情報を蓄積したルール群と、それらをベースに推論を行う推論エンジンから構成さ れるプログラムであり、通常のプログラミングのようにソフトウェア開発者が設定した手続きに従うわけではない。 適用分野 会計、医療、プロセス制御、金融サービス、製造業、 人事など 問題点 専門家の知識は定型化できないことが多い 問題をかなり限定しないとうまく機能しない 推論エンジンの能力不足 第5世代コンピュータプロジェクト 1982年、通産省の肝いりで開始された国家プロジェクト。米国主 導の汎用コンピュータの流れを大きく変えるべく、より人間にとって 使いやすい並列推論マシンを独自に生み出していこうという試み。
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing ビジネスルールの例  (携帯電話の料金プラン) 新規契約か? 申込書審査 2台目以降は50%割引 同一家族か? 家族間は通話料無料 学生か? 学生は基本料金50%割引 夏休み期間か? 夏休み中は20%割引 2台目か? 2台目割引とは併用不可
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing ルールを追加していくだけでシステムをアップデート・維 持できる BRMS 申込書 Good NG 2台目以降割引(2台目以降は基本料金割引) 家族割引(同一家庭で利用の場合には通話料金無料) 学生向け割引(学生は基本料金を50%値引き) 夏休み限定割引(7-8月の2ヶ月間に契約した場合には基本料金を20%OFF) 夏休み限定割引は2台目以降割引とは併用不可
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing BRMSのメリット 担当者が自然言語に近いコ マンドを使ってルールを追 加・修正・削除できる ビジネスルールをプログラ ムの外に出すことができる ルールを追加していくだけ でシステム構築ができる プログラミングの必要が無い 仕様書化の必要が無い BRMSシステムがルールのコンフリクトなどをチェッ ク 期間の設定などができる ルールの変更があれば迅速に対応できる いちいちテストする必要が無い 従来型のプログラミングは必要無し ルールを一つ入れた時点で稼働開始
  • ITソリューション塾 講義資料 © 2009-13,all rights reserved by NetCommerce & applied marketing これからのプログラマ
  • NetCommerce applied marketing© 2009-13,all rights reserved by NetCommerce & applied marketing 開発スキルの2極分化 既存のものを組合わせる 「マッシュアップ」開発 基幹系業務ソフト、インフラ、フレームワー クをゼロから開発 既存のサービスやOSSを利用してビジネスロジック の実装やUI/UXの向上を追求 マッシュアップ用のサービスやフレームワークを 開発・OSSコミュニティに参加 業務を熟知し、利用者の目線でシステムを開発 コミュニケーション能力、想像力、おもいやり インフラやフレームワークをゼロから開発 プログラミング能力、先見性、論理性、技術力 多能工プログラマ/エンドユーザー 技術だけでは無く業務でお客様と会話し交渉 できるプログラマまたはユーザー テクノロジー・スペシャリスト テクノロジーに精通し技術開発そのものがで きるプログラマ