53
facebook.com/mokamoto @mitsuhiro ENTERPRISEでもモバイルアプリ開発 岡本 充洋 Programs Manager , Platform / Developer marketing ~どのストラテジーを選択すべきか~ 14-C-6#devsumiC

Enterpriseでもモバイル開発

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Enterpriseでもモバイル開発

facebook.com/mokamoto@mitsuhiro

ENTERPRISEでもモバイルアプリ開発

岡本 充洋Programs Manager , Platform / Developer marketing

~どのストラテジーを選択すべきか~

【14-C-6】#devsumiC

Page 2: Enterpriseでもモバイル開発

Safe 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 uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements 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 new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Safe Harbor

Page 3: Enterpriseでもモバイル開発

自己紹介

名前 : 岡本 充洋所属 : 株式会社セールスフォース・ドットコム経歴 : 元々はJavaEEエンジニア、今はマーケティング寄り好きなもの : 格闘技全般

facebook.com/mokamoto@mitsuhiro

Page 4: Enterpriseでもモバイル開発

Salesforce.comってどんな会社?

30 億ドル年間売上

(2013 年度予測)

~8% 売上に

占める割合

•エンタープライズ向け専業クラウドベンダー•主力SaaSのSales Cloudは世界シェアNo.1

•子会社にHerokuやRadian6(現Marketing Cloud)などがある

Page 5: Enterpriseでもモバイル開発

CRM期CRM

営業支援カスタマーサポート代理店ポータルカスタマーポータル

Platform期Platform

セールスフォース・ドットコムの歴史

1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

Social

顧客社数 1,500 3,500 5,700 8,700 13,900 20,500 29,800 41,000 55,400 72,500 92,300 100,000以上

Mobile

Page 6: Enterpriseでもモバイル開発

参考 : Force.comマルチテナントアーキテクチャ

http://wiki.developerforce.com/page/JP:Multi_Tenant_Architectureホワイトペーパー: Force.comマルチテナントアーキテクチャ

Page 7: Enterpriseでもモバイル開発

SocialTouchLocal

Ecosystems

Big DataIdentity

CommunitiesCloud

Page 8: Enterpriseでもモバイル開発

今回のテーマ = モバイル + エンタープライス

Page 9: Enterpriseでもモバイル開発

エンタープライズでもニーズは確実に増え続けている

Page 10: Enterpriseでもモバイル開発

マーケティングサイト 5

アプリケーション統合 4

モバイル 3

アプリのテスト、QA 2

社内Webアプリ 1

テクノロジ 2012

*Forrester Global Cloud Developer Survey (Q3 2012).  

Forrester社によるIT業界 Top 5 トレンド

Page 11: Enterpriseでもモバイル開発

データ分析 NR 5

社内Webアプリ 1 4

ソーシャル、コラボレーション NR 3

アプリケーション統合 4 2

モバイル 3 1

テクノロジ 2012 2013

*Forrester Global Cloud Developer Survey (Q3 2012).  

Forrester社によるIT業界 Top 5 トレンド

Page 12: Enterpriseでもモバイル開発

モバイルアプリ開発を道具箱に入れておこう

Page 13: Enterpriseでもモバイル開発

モバイルアプリ開発で考える事

1、どうやってデータを安全にモバイルへ届けるか?

2、どうやってモバイルアプリを開発するか?

Page 14: Enterpriseでもモバイル開発

1、どうやってデータを安全にモバイルへ届けるか?

Page 15: Enterpriseでもモバイル開発

提供される機能を利用スモールスタート

既存ネットワーク構成を活用アプリの開発はシンプル

自社内インフラコンプライアンス

モバイル開発ストラテジー - サーバサイド編

VPN

CloudGateway

low affect

high affect

Page 16: Enterpriseでもモバイル開発

データをMobileのために安全に扱うには?

• VPNを利用して閉域網を作る

• Mobile用のゲートウェイを設置

• モバイル<->社内の間にクラウドを利用

Page 17: Enterpriseでもモバイル開発

VPNを利用して閉域網を作る

• 利点•既にVPNが構築されてれば手軽に始められる•既存のサーバ、NW構成、セキュリティ施策のままでOK

• 欠点• VPNの構築をしてない企業も多い• BYOD等への対応が(ポリシー的に)難しい場合も•アプリ利用前にVPN接続を開始する必要•利用率低下を招く危険性

PPTP,IPSec等で仮想閉域網からアクセス

Page 18: Enterpriseでもモバイル開発

BYODの実情と今後の予測

Salesforce.com (user survey of 672 mobile users) + Industry Research • Gartner(2011): Top Predictions for IT Organizations and Users

46% の組織が企業アプリケーションを個人のデバイスで動作させる事を認めている

90%

46%

52%

52% のユーザが 3つ以上 のデバイスを使い 60% が仕事とプライベートの用

途が混在

2014年

現在

Page 19: Enterpriseでもモバイル開発

モバイル用のゲートウェイを設置

• 利点•インフラストラクチャが全て自社の保有資産内に•コンプライアンス上の問題をクリアにできる

• 欠点• FWの外に常にInternetに接続した固定IPのサーバを運用•運用時セキュリティに常に気を配る必要がある•対応するミドルウェア等、サーバソフトウェアに相応のコスト

• MobileからのInternet接続の為の回線負荷

DMZにモバイル用の中間サーバを構築する

Page 20: Enterpriseでもモバイル開発

モバイル用中間サーバで必要なこと

ユーザ認証

データアクセスコントロール

サーバサイドロジック モバイルポリシー管理

Push通知コントロールGeoロケーション管理

セキュリティ

データキャッシング

ロードバランシング

モバイルセッション管理

などなど・・・ APIの公開

Page 21: Enterpriseでもモバイル開発

モバイル<->社内の間にクラウドを利用

• 利点•クラウドに基本的な機能を任せる事ができる• BaaS

•初期費用やランニングコストが下げられる

• 欠点•クラウド(社外)にデータを置くことになる•社内システム側連携にはEAIが必要なケースも•バッチ処理は社内側サーバから定期実行する

モバイルアクセスは全てクラウド上のサービスを経由させる

Page 22: Enterpriseでもモバイル開発

BaaS

Page 23: Enterpriseでもモバイル開発

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

Page 24: Enterpriseでもモバイル開発

代表的なBaaSベンダー

Page 25: Enterpriseでもモバイル開発

BaaSを使うと何が嬉しいか?

• コアな業務ロジック以外の部分はクラウドにお任せできる•ユーザ管理、認証•データストレージ、ネットワーク、キャッシング、スケーラビリティ•データアクセスAPI

•セキュリティ、レコード共有制限• MDM的な機能を持つものや、サーバサイドにロジックをホストできたりするものも

• 連携はどのデータを持ち出すかだけを考えればいい

Page 26: Enterpriseでもモバイル開発

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

Page 27: Enterpriseでもモバイル開発

Salesforce Platformの場合

Back-end as a Service

ユーザ管理 , 認証 (SAML2 ,OAuth2)

データの格納RESTful APIセキュリティ & 共有ルールアプリケーションコンテナ & SDK

iOS ,Android

オフラインストレージ,プッシュ通知クラウド上のコードホスティング

Touch Platform

Cloud Application Platform

Multi-tenant Cloud Database

Iden

tity

Page 28: Enterpriseでもモバイル開発

BaaSとしてのSalesforce Platform

SELECT Id, Warehouse_Location__latitude__s, Warehouse_Location__longitude__s,Street_Address__c, Name FROM Vendor__c WHERE DISTANCE(Warehouse_Location__c, GEOLOCATION(37.794539,-122.394717), 'mi') <= 10;

Database自体が「データ型」としてGEOをサポート

Page 29: Enterpriseでもモバイル開発

BaaSとしてのSalesforce Platform

@RestResource(urlMapping='/stockservice/*')global class WarehouseStockRestResource {

@HttpPost global static Product StockCount(Product p) {

/** Businesss Logic */ return p; }

global class Product{String productId;Integer StockCount;

}

REST APIを自分で作成できる

Page 30: Enterpriseでもモバイル開発

Let’s See Action

Page 31: Enterpriseでもモバイル開発

BaaSを使えばMobileアプリ開発を高速化

• BaaSが持っている機能を有効活用•ユーザ管理、認証•データストア•共有ルール、セキュリティ• API•データの連携部分にだけ気を配る

•連携のタイミング、リアル参照、同期、バッチ• Cloudを使う場合FW内部からCallする

納期

受発注

顧客情報

納期

受発注

顧客情報

在庫 在庫

人事

給与

Page 32: Enterpriseでもモバイル開発

しかし・・・

• エンタープライズ界隈では•サーバサイドロジック、データ連携のエンジニアは多い

•セキュリティや同期スケジュールなど高い知識• iOS(Objective-C)のコードをしっかり書けるエンジニアが少ない

•ちなみにObjective-C自体は人気出て来た• http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

•ソーシャルゲーム業界へエンジニアが流れている?• Android Javaも同様

Page 33: Enterpriseでもモバイル開発

2、どうやってモバイルアプリを開発するか

Page 34: Enterpriseでもモバイル開発

Web開発のスキルが行かせるネイティブ機能へのアクセス

App Storeによる配布

高度なUI

より良いパフォーマンスApp Storeによる配布

Web開発のスキルが活かせる即時のアップデート配布に制限無し

モバイル開発ストラテジー - デバイス編

Page 35: Enterpriseでもモバイル開発

HybridHTML5 Native

HTML / Javascript慣れ親しんだWebのテクノロジーを使ってアプリケーションが開発出来る

FrameworkJQuery MobileやSenchaなど、実績のあるモバイルに特化したフレーム

ワークを利用可能

Fastest Way今までと何ら変わりない方法でアプリケーションを構築するだけで良い

ので学習コストが少ない

デバイス側開発のタイプと特徴

Native API WrappersBaaSが用意するSDKを利用してラッパー経由でアクセスするか、自身でネイティブ言語からRESTをCallする必要がある

Authenticationsログイン状態を保持するため認証やセキュアトークンの管理が必要

Native Device Functionsデバイスネイティブの言語で全ての機

能にアクセスできる

Push Noti!cationsリアルタイムなアラートをモバイルデバイスに送る事ができる

Authenticationsログイン状態を保持するため認証やセキュアトークンの管理が必要

HTML / Javascript慣れ親しんだWebのテクノロジーを使ってアプリケーションが開発出来る

Native Device Functionsコンテナを経由してJavascriptでデバイス固有の機能に一部アクセスできる

Push Noti!cationsリアルタイムなアラートをモバイルデバイスに送る事ができる

Container

Page 36: Enterpriseでもモバイル開発

サーバサイドではBaaSが面倒を見てくれたデバイスサイドでは?

Page 37: Enterpriseでもモバイル開発

PaaS

Page 38: Enterpriseでもモバイル開発

Platform as a ServicePaaSは2007年7月 にセールスフォース・ドットコムが提唱した。従来から同社が推進しているSaaSが、既成またはカスタマイズしたソフトウェアをインターネット経由でサービスとして利用できる形態であったのに対し、更にユーザーのシステムを稼働させる事もできるプラットフォーム自体を、インターネット経由でサービスとして利用できる形態である。PaaSはSaaSの発展形であり、SaaSと並びクラウドコンピューティングの1種類(または1要素)ともされる。

PaaS - Wikipediahttp://ja.wikipedia.org/wiki/PaaS

Page 39: Enterpriseでもモバイル開発

Platform as a Service

Platform as a service - Wikipedia, the free encyclopediahttp://en.wikipedia.org/wiki/Platform_as_a_service

Page 40: Enterpriseでもモバイル開発

Application Platform as a Service

Gartner, 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

Page 41: Enterpriseでもモバイル開発

Mobileに対応するaPaaSベンダー

他にもあったら教えて下さい@mitsuhiro

Page 42: Enterpriseでもモバイル開発

素早い開発:80% ポイント & クリック

20% コード

ビジュアルワークフロー

データ分析Appビルダー

モバイル対応

マルチ通過マルチ言語

セキュリティ共有ルール

プログラミング基盤 ソーシャル基盤

元来のSalesforce Platformポイント & クリックで開発ができるPaaS

Page 43: Enterpriseでもモバイル開発
Page 44: Enterpriseでもモバイル開発
Page 45: Enterpriseでもモバイル開発

宣言的なUIを、全てのデバイスへ

標準機能として、以下に対応:

タブレット

スマートフォン

デスクトップ

カスタムカラムカスタムテーブル

ページレイアウトなどなど…

Page 46: Enterpriseでもモバイル開発

Let’s See Action

Page 47: Enterpriseでもモバイル開発

納期

受発注

顧客情報

納期ユーザ認証

APIエンドポイント

セキュリティ

カスタムロジック

受発注

顧客情報

Mobileを含めた業務アプリ全体イメージ

SSO

在庫 在庫

人事

給与

カスタムUI

社内ソーシャル

Page 48: Enterpriseでもモバイル開発

アイデアをアプリにするのに最速のプラットフォーム

Page 49: Enterpriseでもモバイル開発

まとめ - モバイルのサーバサイド開発

• BaaSをうまく利用して開発する•サーバサイドの要件は非常に多い

•ユーザ管理、認証•共有ルール、セキュリティ• API

•データの連携部分にだけ気を配る•連携のタイミング、リアル参照、同期、バッチ

Page 50: Enterpriseでもモバイル開発

まとめ - デバイスサイドの開発

• 用途にあったアプローチを選択•ネイティブ• HTML5•ハイブリッド

• 場合によっては宣言的なツールも検討•開発者のスキル•モバイルアプリの管理画面、本質でない場合•スピード重視

Page 52: Enterpriseでもモバイル開発

Action!

プロのアーキテテクトは複数の道具を使いこなそう

株式会社セールスフォース・ドットコム岡本 充洋

Page 53: Enterpriseでもモバイル開発

ご清聴ありがとうございました