Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Enterpriseでもモバイル開発

4,760 views

Published on

Published in: Technology
  • Be the first to comment

Enterpriseでもモバイル開発

  1. 1. 【14-C-6】 #devsumiCENTERPRISEでもモバイルアプリ開発∼どのストラテジーを選択すべきか∼岡本 充洋Programs Manager , Platform / Developer marketing@mitsuhirofacebook.com/mokamoto
  2. 2. Safe HarborSafe harbor statement under the Private Securities Litigation Reform Act of 1995:This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertaintiesmaterialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the resultsexpressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could bedeemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or otherfinancial items and any statements regarding strategies or plans of management for future operations, statements of belief, anystatements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering newfunctionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in ouroperating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome ofintellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which weoperate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, newreleases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilizationand selling to larger enterprise customers. Further information on potential factors that could affect the financial results ofsalesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. Thisdocuments and others containing important disclosures are available on the SEC Filings section of the Investor Information section ofour Web site.Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currentlyavailable and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions basedupon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  3. 3. 自己紹介名前 : 岡本 充洋所属 : 株式会社セールスフォース・ドットコム経歴 : 元々はJavaEEエンジニア、今はマーケティング寄り好きなもの : 格闘技全般 @mitsuhiro facebook.com/mokamoto
  4. 4. Salesforce.comってどんな会社?•エンタープライズ向け専業クラウドベンダー•主力SaaSのSales Cloudは世界シェアNo.1•子会社にHerokuやRadian6(現Marketing Cloud)などがある 30 億ドル 年間売上 (2013 年度予測) ~8% 売上に 占める割合
  5. 5. セールスフォース・ドットコムの歴史 顧客社数 1,500 3,500 5,700 8,700 13,900 20,500 29,800 41,000 55,400 72,500 92,300 100,000以上1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013CRM期 CRM Platform期 Platform Social Mobile 営業支援 カスタマーサポート ? 代理店ポータル カスタマーポータル
  6. 6. 参考 : Force.comマルチテナントアーキテクチャ ホワイトペーパー: Force.comマルチテナントアーキテクチャ http://wiki.developerforce.com/page/JP:Multi_Tenant_Architecture
  7. 7. SocialTouchLocalBig DataIdentityEcosystemsCommunitiesCloud
  8. 8. 今回のテーマ = モバイル + エンタープライス
  9. 9. エンタープライズでもニーズは確実に増え続けている
  10. 10. Forrester社によるIT業界 Top 5 トレンド テクノロジ 2012 社内Webアプリ 1 アプリのテスト、QA 2 モバイル 3 アプリケーション統合 4 マーケティングサイト 5 *Forrester Global Cloud Developer Survey (Q3 2012).  
  11. 11. Forrester社によるIT業界 Top 5 トレンド テクノロジ 2012 2013 モバイル 3 1 アプリケーション統合 4 2 ソーシャル、コラボレーション NR 3 社内Webアプリ 1 4 データ分析 NR 5 *Forrester Global Cloud Developer Survey (Q3 2012).  
  12. 12. モバイルアプリ開発を道具箱に入れておこう
  13. 13. モバイルアプリ開発で考える事2、どうやってモバイルアプリ を開発するか? 1、どうやってデータを安全に モバイルへ届けるか?
  14. 14. 1、どうやってデータを安全に モバイルへ届けるか?
  15. 15. モバイル開発ストラテジー - サーバサイド編 提供される機能を利用 スモールスタート 自社内インフラ コンプライアンス Cloud Gateway low high affect affect VPN 既存ネットワーク構成を活用 アプリの開発はシンプル
  16. 16. データをMobileのために安全に扱うには?• VPNを利用して閉域網を作る• Mobile用のゲートウェイを設置• モバイル<->社内の間にクラウドを利用
  17. 17. VPNを利用して閉域網を作る PPTP,IPSec等で仮想閉域網からアクセス• 利点 • 既にVPNが構築されてれば手軽に始められる • 既存のサーバ、NW構成、セキュリティ施策のままでOK• 欠点 • VPNの構築をしてない企業も多い • BYOD等への対応が(ポリシー的に)難しい場合も • アプリ利用前にVPN接続を開始する必要 • 利用率低下を招く危険性
  18. 18. BYODの実情と今後の予測 52% 90% 2014年 46% の組織が企業アプ リケーションを個人の デバイスで動作させる 事を認めている 52% のユーザが を使い 3つ以上 のデバイス 60% が仕事とプライベートの用 46% 現在 途が混在Salesforce.com (user survey of 672 mobile users) + Industry Research • Gartner(2011): Top Predictions for IT Organizations and Users
  19. 19. モバイル用のゲートウェイを設置 DMZにモバイル用の中間サーバを構築する• 利点 • インフラストラクチャが全て自社の保有資産内に • コンプライアンス上の問題をクリアにできる• 欠点 • FWの外に常にInternetに接続した固定IPのサーバを運用 • 運用時セキュリティに常に気を配る必要がある • 対応するミドルウェア等、サーバソフトウェアに相応のコスト • MobileからのInternet接続の為の回線負荷
  20. 20. モバイル用中間サーバで必要なこと Geoロケーション管理 データアクセスコントロール Push通知コントロール データキャッシングユーザ認証 などなど・・・ APIの公開 ロードバランシング セキュリティサーバサイドロジック モバイルポリシー管理 モバイルセッション管理
  21. 21. モバイル<->社内の間にクラウドを利用 モバイルアクセスは全てクラウド上のサービスを経由させる• 利点 • クラウドに基本的な機能を任せる事ができる • BaaS • 初期費用やランニングコストが下げられる• 欠点 • クラウド(社外)にデータを置くことになる • 社内システム側連携にはEAIが必要なケースも • バッチ処理は社内側サーバから定期実行する
  22. 22. BaaS
  23. 23. Backend as a Serviceという考え方Backend as a service (BaaS), とは "mobile backend as a service" (MBaaS)ともよばれ、Web及びモバイルアプリケーション開発者がバックエンドのクラウドストレージ、ユーザ管理、プッシュ通知、ソーシャルネットワークとの統合等の機能を利用出来るものである。これらのサービスはカスタムソフトウェア開発キット(SDK)やアプリケーションプログラミングインタフェース(API)を提供する。BaaSはクラウドコンピューティングの中でも比較的最近の潮流で、多くのBaaSスタートアップは2011年以降に誕生している。世界のBaaSマーケットは2012年には2億ドル超になる予測。 Backend as a service - Wikipedia http://en.wikipedia.org/wiki/BaaS
  24. 24. 代表的なBaaSベンダー
  25. 25. BaaSを使うと何が嬉しいか?• コアな業務ロジック以外の部分はクラウドにお任せできる• ユーザ管理、認証• データストレージ、ネットワーク、キャッシング、スケーラビリティ• データアクセスAPI• セキュリティ、レコード共有制限• MDM的な機能を持つものや、サーバサイドにロジックをホストできたり するものも• 連携はどのデータを持ち出すかだけを考えればいい
  26. 26. Backend as a ServiceのメリットじゃあこれらはMongoDBみたいなのにREST APIくっつけたのと全く同じなのか、というと、明確な違いが一つあって、それはユーザ管理とアクセスコントロールが組み込まれているということです。MongoDBにはMongoDBの接続アカウント+パスワードを持った管理者orサーバプログラムしかアクセスできなかったですが、BaaSにはエンドユーザ管理とその認証およびレコードレベルのアクセスコントロールが組み込まれているので、直接インターネットに晒しても大丈夫です。適切にアクセスコントロールが設定されていれば、誰かが違う人の投稿を書き換えちゃうとか消しちゃうとかできないわけです。なお、アクセスコントロールの実装というのは、サーバプログラマが一番間違えやすい所の一つではあります。現在のBaaSが達成できているのは非常にシンプルなコントロールですが、それらが全部宣言的にできるということは、かなりのメリットだと思います。 BaaS (Backend as a Service) について - snippets from shinichitomita’s journal http://d.hatena.ne.jp/shinichitomita/20120329/1333006493
  27. 27. Salesforce Platformの場合 Back-end as a Service ユーザ管理 , 認証 (SAML2 ,OAuth2) データの格納 RESTful API セキュリティ & 共有ルール Touch Platform Identity アプリケーションコンテナ & SDK Cloud Application Platform Multi-tenant Cloud Database iOS ,Android オフラインストレージ プッシュ通知, クラウド上のコードホスティング
  28. 28. BaaSとしてのSalesforce Platform Database自体が「データ型」としてGEOをサポートSELECT Id,Warehouse_Location__latitude__s,Warehouse_Location__longitude__s,Street_Address__c, NameFROM Vendor__cWHERE DISTANCE(Warehouse_Location__c,GEOLOCATION(37.794539,-122.394717), mi)<= 10;
  29. 29. BaaSとしてのSalesforce Platform REST APIを自分で作成できる@RestResource(urlMapping=/stockservice/*)global class WarehouseStockRestResource { @HttpPost global static Product StockCount(Product p) { /** Businesss Logic */ return p; } global class Product{ String productId; Integer StockCount; }
  30. 30. Let’s See Action
  31. 31. BaaSを使えばMobileアプリ開発を高速化• BaaSが持っている機能を有効活用• ユーザ管理、認証• データストア 納期 納期• 共有ルール、セキュリティ 受発注 受発注 顧客情報 顧客情報• API 在庫• データの連携部分にだけ気を配る 在庫 人事 • 連携のタイミング、リアル参照、同期、 給与 バッチ • Cloudを使う場合FW内部からCallする
  32. 32. しかし・・・• エンタープライズ界隈では• サーバサイドロジック、データ連携のエンジニアは多い • セキュリティや同期スケジュールなど高い知識• iOS(Objective-C)のコードをしっかり書けるエンジニアが少ない • ちなみにObjective-C自体は人気出て来た • http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html • ソーシャルゲーム業界へエンジニアが流れている? • Android Javaも同様
  33. 33. 2、どうやってモバイルアプリを開発するか
  34. 34. モバイル開発ストラテジー - デバイス編 高度なUI Web開発のスキルが行かせる より良いパフォーマンス ネイティブ機能へのアクセス App Storeによる配布 App Storeによる配布 Web開発のスキルが活かせる 即時のアップデート 配布に制限無し
  35. 35. デバイス側開発のタイプと特徴HTML5 Native Hybrid Container Native API Wrappers HTML / Javascript慣れ親しんだWebのテクノロジーを BaaSが用意するSDKを利用してラッパー Authentications 経由でアクセスするか、自身でネイティ ログイン状態を保持するため認証やセ使ってアプリケーションが開発出来る ブ言語からRESTをCallする必要がある キュアトークンの管理が必要 Authentications HTML / Javascript Fastest Way ログイン状態を保持するため認証やセ 慣れ親しんだWebのテクノロジーを使っ今までと何ら変わりない方法でアプ キュアトークンの管理が必要 てアプリケーションが開発出来るリケーションを構築するだけで良い ので学習コストが少ない Native Device Functions Native Device Functions デバイスネイティブの言語で全ての機 コンテナを経由してJavascriptでデバイ 能にアクセスできる ス固有の機能に一部アクセスできる FrameworkJQuery MobileやSenchaなど、実績の Push Notifications Push Notificationsあるモバイルに特化したフレーム リアルタイムなアラートをモバイル リアルタイムなアラートをモバイル ワークを利用可能 デバイスに送る事ができる デバイスに送る事ができる
  36. 36. サーバサイドではBaaSが面倒を見てくれた デバイスサイドでは?
  37. 37. PaaS
  38. 38. Platform as a ServicePaaSは2007年7月 にセールスフォース・ドットコムが提唱した。従来から同社が推進しているSaaSが、既成またはカスタマイズしたソフトウェアをインターネット経由でサービスとして利用できる形態であったのに対し、更にユーザーのシステムを稼働させる事もできるプラットフォーム自体を、インターネット経由でサービスとして利用できる形態である。PaaSはSaaSの発展形であり、SaaSと並びクラウドコンピューティングの1種類(または1要素)ともされる。 PaaS - Wikipedia http://ja.wikipedia.org/wiki/PaaS
  39. 39. Platform as a Service Platform as a service - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Platform_as_a_service
  40. 40. Application Platform as a ServiceGartner, Yefim Natis Consider PaaS in your Cloud Strategy 2010 2011.2.15 Tech Target - 主要PaaSの機能と、ユーザーの開発トレンドを解説 http://techtarget.itmedia.co.jp/tt/news/1204/26/news01.html
  41. 41. Mobileに対応するaPaaSベンダー 他にもあったら教えて下さい @mitsuhiro
  42. 42. 元来のSalesforce Platform ポイント & クリックで開発ができるPaaS Appビルダー データ分析 ビジュアル マルチ通過 ワークフロー マルチ言語 プログラミング基盤 モバイル対応 ソーシャル セキュリティ 素早い開発: 基盤 共有ルール 80% ポイント & クリック 20% コード
  43. 43. 宣言的なUIを、全てのデバイスへ ォン トフ ス マー タブレット デス クト ップ 標準機能として、以下に対応: カスタムカラム ページレイアウト カスタムテーブル などなど…
  44. 44. Let’s See Action
  45. 45. Mobileを含めた業務アプリ全体イメージ 納期 ユーザ認証 納期 受発注 APIエンドポイント 受発注 セキュリティ 顧客情報 顧客情報 カスタムUI 在庫 在庫 カスタムロジック 人事 社内ソーシャル 給与 SSO
  46. 46. アイデアをアプリにするのに最速のプラットフォーム
  47. 47. まとめ - モバイルのサーバサイド開発• BaaSをうまく利用して開発する• サーバサイドの要件は非常に多い • ユーザ管理、認証 • 共有ルール、セキュリティ • API• データの連携部分にだけ気を配る • 連携のタイミング、リアル参照、同期、バッチ
  48. 48. まとめ - デバイスサイドの開発• 用途にあったアプローチを選択• ネイティブ• HTML5• ハイブリッド• 場合によっては宣言的なツールも検討• 開発者のスキル• モバイルアプリの管理画面、本質でない場合• スピード重視
  49. 49. Salesforce Platform 関連リソースDeveloper Force Japan http://jp.force.com 開発・検証用途のDeveloper Editionは全て無料 今すぐサインアップ!!Mobile SDK のホームページ http://wiki.developerforce.com/page/ JP:Mobile_SDKTouch Platform 開発ガイド PDF http://wiki.developerforce.com/page/ jp.force.com JP:Salesforce_touch_platform
  50. 50. Action! プロのアーキテテクトは 複数の道具を使いこなそう 株式会社セールスフォース・ドットコム 岡本 充洋
  51. 51. ご清聴ありがとうございました

×