Enterprise APIs Hack-Night #1 レポート
最近進んでいる企業におけるAPI活用情報を共有し、さらに発展させていこうという取り組みがEnterprise APIs Hack-Nightです。先日、その第一回目のイベントがありました。今回はそのイベントレポートになります。
最初にEnterprise APIs Hack-Night事務局 加藤さんより開会の挨拶がありました。
ビジネスのデジタル化におけるAPI活用事例 by Apigee Japan 清水さん
最初にキーフレーズとして「あらゆるデジタルビジネスはAPIが動かしている」をあげました。「ユーザーにシームレスな体験を届けるのは難しい」とした上で、幾つかの実例を紹介されました。
シームレス体験の例
車に乗っている人のApple Watchに、処方箋を出した薬局から薬の準備ができたと通知が来ました。薬を取りに行った際に、店舗にあるプリンタで子供の写真をプリントしました。そうする内に病院で予防接種を受ける時間になり、病院に向かいました。これまでの一連の流れがある企業のシステムと統合されまして、ポイントを獲得しました。
以上のようなアクションを起こす際に、様々な企業のシステムと企業外のシステムが関係してきます。外部または内部の多くのシステムが関係してくるので、1つのアプリでさえ、スパゲッティ状態になってしまいます。スパゲッティ状態では関連するシステムのどこかに不具合が起こると、シームレスな流れが止まってしまいます。そこで、APIを管理するレイヤーを一層設けて、スパゲッティ状態を整理してアプリケーションを使いやすくするサービスを提供しています。
先に紹介した例はアメリカのWall greenの事例で、Wall greenはコンビニエンスストアと薬局が一緒になったような企業です。事例の中の「処方箋ができました」という通知は処方箋APIで動いています。もちろんAPIだけでなく、外部内部の様々なリソースで動いており、自分の体験はどこかで繋がっているとユーザーに実感してもらえるようになります。
AP通信社(独立系の非営利通信会社)
ニュースを探してきて記事を書いて提供するアフィリエイト企業とのつながりを広げていきたいと考えでした。レガシーのシステムと繋げるのは難しいため、バックエンドシステムをAPI化してつながりやすくしました。外部のパートナー企業とのつながりを広げるのももちろんですが、社内のシステムBtoE(Business to Employee)も推進しています。
Salesforce (CRM大手)
社内のシステムが古くなっており、バックエンドのシステムを新しくしたいと考えていました。アプリベースのサービスを作り、CRMサービス提供企業として、自社内の業務効率を上げていきたいと考えています。社内向けのシステムを新しくするときにもAPIは使えます。
Dell
製造データ、ビジネスパートナー(再販事業者、代理店、サプライヤーなど)とのコミュニケーションを取る上でリアルタイム性に欠けているのが課題でした。APIを活用することでリアルタイム性を実現しています。バックエンドに手を入れるのはコストと時間がかかり、APIを管理するレイヤーを加えることでバックエンドを改修しています。
ベッケル社 (巨大建造物を作る建築エンジニアリング会社)
API導入以前、図面の修正は事務所に戻ってしており、工事の効率が上がりませんでした。工事管理責任者にiPadを支給して、iPad上で走るアプリを自分たちで制作しています。例えばコンクリート工事の進捗を見る場合、コンクリートを埋めるときにセンサーを入れ、そこから送られてくるデータで進捗を確認する。建築現場では協力会社など多くの他社とも関わりますが、他社の人にはデータの出し分けをして、管理をしています。
質疑応答
質問:BtoEの話ですが、コストダウンのために行うのか戦略的に行うのかどちらですか。
回答:両方だと思います。まずはコストダウンです。独自アプリを作る際にAPIは適しています。最終的には外部パートナーと繋ぐ流れが見受けられます。より先端の企業は完全にAPIをパブリックにしています。APIを元に個人や企業が開発し新たなビジネスを作っていこうとしています。
質問:セキュリティ面が気になります。
回答:一番重要な点になると思います。私たちのプラットフォームも重要な機能として備えています。APIを作る上でバックエンドも安全でなければならないと思います。
APIがNTTコミュニケーションズのサービスを進化させるby NTTコミュニケーションズ 緒方 宏明
弊社の緒方が登壇しました。
通信キャリアにおけるAPI
世界的にみて通信キャリアが提供するAPIは増えてきています。
2015年現在、通信業界におけるAPI市場は500億ドル程度ですが、3年後の2018年通信業界のAPI関連の市場規模が1570億ドルになると見込まれています。
Business Process API
通信キャリアには販売代理店、SIer、法人企業、コンシューマーなどのお客さまがいます。AT&TではAPI関連収入の80%が主要代理店10社で占められているというデータもあり、キャリアにとって販売代理店は重要なお客さまの一つです。なので各通信キャリアは販売代理店が望む契約情報やサービスオーダーをAPI経由で情報取得できるBusiness Process APIをはじめに整備していきました。
通信キャリアならではの機能系API
次にネットワークやクラウドなど通信キャリアならではの機能系APIを整備しています。そして最近ではM2M/IoT、Web-RTCなど新しい分野・技術に関するAPIの拡充を進めています。
海外の主要キャリアのAPI提供状況
AT&TやOrangeなどでは、Business Process系、認証認可系、機能系APIなどのコアAPIの提供は一通り完了しています。
APIをEnterprise用途で使ってもらうために必要なこと
APIの仕様ルールを統一し、社内のルールとして規定していくこと、提供するAPIをマネージメントすること、アクセス制御などセキュリティ機能を充実させることなどがあります。
APIをマネジメントすることとは
APIをマネジメントするとは自社で複数のサービスがあってそれを提供する場合、各サービスでバラバラに管理するのではなくて、管理ツールによって一元的に管理することです。管理対象は認証、ログ、セキュリティ、アクセス権限、トラフィック制御などです。代表的な管理ツールは、この開発者ブログでも紹介しているので参考にしてください。
お客様の個々のアクセス権限管理
Enterpriseでは参照できるAPIを限定的にしたり、参照はできるが更新・削除はできないなど、きめ細やかな権限管理が必要になってきます。業務要件はお客さまによって異なります。ですのでお客さまご自身で柔軟にアクセス権限を設定できる仕組みが重要であると考えます。
情報やイベントをリアルタイムに提供する
REST APIだけでなく、イベントが発生した時に自社のサービスからお客様にプッシュ通知する仕組みもEnterpriseでは必要であると考えます。通知する仕組みとして代表的な技術にWebhookがありますが、今後弊社としてもWebhookを活用したアプリケーションtoアプリケーションで情報を提供する仕組みを整備していきたいと考えています。
APIによって進化し始めているNTTコミュニケーションズのサービス
当社ビジョンの主要強化施策の一つにAPIの充実化がありまして、全社をあげてAPIの充実化に取り組んでいます。提供中のAPIはビジネスプロセス系、機能系(クラウド、ネットワーク、ボイス、アプリケーション)などがあります。
お客さまにAPIを提供する際には、APIゲートウェイで認証やデータフォーマットなどを統一化しています。APIゲートウェイは日本・アメリカ・ヨーロッパの3拠点で展開しており、グローバルシームレスに利用可能です。
近々にAPI権限管理をリリース予定(9/10リリースしました)で、さらに安全に便利で使いやすく、今後もNTT Com APIは進化していきますので宜しくお願いします。
IoT/M2M分野におけるWeb APIの使い方とデモ by MOONGIFT 中津川 篤司 さん
IoTの特徴
IoTとは
Internet of Thingsの略。ネットワークが根幹にあります。
M2Mとは
Machine to Machineの略。マシンとマシンをつなぐというよりは、クラウドを挟んで、MtoCtoMの方が意味があるのではと思います。
ネットワーク
無線なのか有線なのか?近距離なのか中距離なのか?ハブ型なのか単体なのか?それによってネットワークの種類を設定することがIoTの基本です。
また、ネットワークの別の観点でプロトコルがあります。とにかくデータ量が多いので、データ量を減らして、双方向性で信頼性を高くしたいです。UDPよりPCPが使われます。
MQTTとは
Hub-Sub型、httpに比べてヘッダのデータ量が少なく(2バイト)、N対Nでネットの送受信ができます。中間にブローカーがおり、データを出力するパブリッシャー、データを受け取るサブスクライバーがいます。パブリッシャーは同時にサブスクライバーになることができます。パブリッシャー、サブスクライバーはトピックを持っています。例えば、cat1にパブリッシャーが発信するとcat1を購読している人だけが受け取ることができます。
IoTデバイスの特徴
低消費電力。小さい。遠隔地に置く。安価。
IoTにおけるweb APIとは
ビッグデータ型
デバイスのIDとトークンを持たせて、センサーからのデータをネットワーク上に投げるのみです。データがあまりにも膨大になりすぎてしまう恐れがあるので、閾値判定程度は行えます。また、一時間に一度だけデータをアップしたいという要望がよくありますが、一度にアップするとサーバが落ちたり、遅延が発生したりします。グループごとに起動するタイミングをずらすようにして対応します。基本はget/postでエンドポイントが1つです。httpsや MQTTSを使います。デバイスをトークンにかませます。
スマートフォン型
Beacon系のデバイス。デバイスは情報を発信するだけです。動いているかどうかの生存確認が困難で、検証が難しいです。スマートフォンにアプリを入れなきゃいけないのが厄介な点です。最近、山手線アプリが行っていたサービスで、電車の中でアプリを立ち上げるとポケモンがゲットできるものがありました。乗っ取りの恐れがありますので、クリティカルな要件では注意が必要です。https・outh・プッシュ通知などが使えます。
ホームオートメーション
最近よく耳にするスマートホームという言葉には2つの意味があります
- 地域や家庭内のエネルギーを最適制御する住宅。
- 家電などを情報化する。
今回は2の意味になります。
ドアを開けたら家の明かりがつくなど、ホームオートメーションの多くは自宅がトリガーになります。そのため、ネットワークは使いますがインターネットを使いません。一つ、インターネットを使うものが、おじいちゃん・おばあちゃんの状態を遠隔で監視して、閾値を超える行動があると息子・娘のところへプッシュ通知を飛ばす高齢者の安否確認システムではないかと思います。
音声による制御
Rasberry Piにjulius(音声認識エンジン)を入れます。マイクに音声を入れて、Rasberry Piでテキスト解析して、内容によってRiキット(赤外線通信を出すデバイス)で照明を消すことができます。
MQTTで合成音声チャット
speakAPIをつかって、Rasberry PiとChromeで会話することができます。一人でしりとりも出来ます(笑)。
ライトニングトーク
懇親会で行われたライトニングトークをご紹介します。
1. レガシーなアプリにAPIを実装
請求書発行のクラウドサービスの会社でWeb APIを実装した際に苦労しました。Seasor2を拡張し、主要な機能のみ対応しました。参加されている方のご意見を聞きたいです。
2. Enterprise × APIs
API利用者はデザイン思考とビジネス思考が必要です。Enterprise APIは法人同士が使うAPIと考えています。企業間を結ぶAPIビジネスをやりたいと思っています。コミュニティ活動でコミュニティをつなぐことは自分の思考にもマッチしています。
3. 5分でわかるWeb RTC
Web RTCとはリアルタイムコミュニケーションをソフトウェアエンジニアが自由に使えるものです。Webサイトやアプリに組み込みができ、コミュニケーションアプリや家電・IoTなどで使えます。
4. APIをEnterprise用途で使うために
APIをEnterprise用途で使うために有用なソフトNode-RED(http://nodered.org/)の紹介です。IoT用と言われていますが、様々なAPIを実行することができます。
5. APIとマーケティング
API MeetupでUnityとPaypalの連携デモを行ったら、バズりました。せっかくのテスト環境をハッカソンなどで使うことで、思わぬ発見があります。
6. NTTネットワークサービスシステム研究所の取り組み
重厚長大でなく、組み合わせでつくります。アーキテクチャ、既存のものをどう出していくか、仕様の統一をすることが必要です。APIはインターフェースを使ってつくります。APIは叩いてみないとわからないので、叩いてみます。
次回は12月04日を予定しています。皆さまお誘い合わせの上、ぜひご参加ください!また、Enterprise APIs Hack-NightはSlackにてオンラインコミュニティを提供しています。ぜひこちらもご参加ください!