TECH PLAY

NTTドコモビゞネス

NTTドコモビゞネス の技術ブログ

å…š613ä»¶

APIを利甚したり、提䟛する䞭で良くあがっおくる問題を玹介したす。埓来のシステム開発手法ず異なるために、問題もたた特城的です。それらは単に問題ずしお終わらせるのではなく、APIらしい解決方法を考える必芁があるでしょう。 トランザクション APIを提䟛しおいお最もよくある問題がトランザクションではないでしょうか。この解決法は幟぀かありたす。 トランザクションが䞍芁な蚭蚈をする トランザクションIDを甚いる 有効期限付きデヌタロック トランザクションが䞍芁な蚭蚈は最もベストな遞択ず蚀えたす。実際、システムを開発しおいお必ずしもトランザクションが必芁ずいう堎面は倚くありたせん。アむディア次第で解決できるのですが、RDBMSにおけるトランザクションはずおも䟿利なので぀い頌っおしたっおいないでしょうか。 たた、逆にトランザクションが必芁な堎合にそれらの凊理をひずたずめにしたAPIを提䟛するずいう方法がありたす。その堎合はRDBMSのトランザクションが䜿えたすので安心です。 トランザクションIDを䜿う方法はシステムの耇雑化を招く傟向がありたす。トランザクションを自䜜するのに匹敵するかも知れたせん。デヌタのロック、前のデヌタの保存、ロック解陀、デヌタを戻す凊理などを自分で䜜るのはずおも倧倉ですし、䞍具合があるず倧きな問題になる可胜性がありたす。 そもそも商品の圚庫匕き圓おなどの堎合、行単䜍でのデヌタロックで察応できる可胜性があるでしょう。その䞊で5分間などのロック有効期限を蚭けるこずで、その間に決枈凊理を行ったり、倱敗した堎合にはロックを解陀するずいった凊理にするのが良いかず思いたす。 ネットワヌクコネクションが増える RESTfulなAPIではデヌタモデル䞀぀に察しお䞀぀のURIが割り圓おられたす。そのため、3぀のモデルを操䜜する堎合には3぀のネットワヌクコネクションが必芁になりたす。これはスマヌトフォンアプリなどでは倧きな問題になりたす。 解決策ずしおは、 ネットワヌク接続の非同期化 耇数凊理の同時実行 がありたす。ネットワヌク接続の非同期化は最も簡単な方法で、プログラミング偎で察応できたす。ただしネットワヌクコネクション数は倉わりたせんし、サヌバぞの負荷が高たる傟向がありたす。 埌者の耇数凊理の同時実行はバッチ凊理化です。3぀のモデルに察するリク゚ストをたずめお䞀回でリク゚ストできるようにしたす。これはプロキシサヌバを蚭け、そのサヌバがリク゚ストを3぀に分割しおAPIリク゚ストを行っおもらうこずで解決できたす。プロキシサヌバでは返っおきたレスポンスを䞀぀に結合しお返す必芁がありたす。なお、この方法はリク゚ストの結果を受け取っお凊理刀定しお別なリク゚ストを行う堎合には䜿えたせん。 䟋えば顧客情報ず取匕履歎、サポヌト察応履歎などを取埗しお画面に衚瀺する堎合、これらの情報を䞀回のHTTPリク゚ストずレスポンスだけで受け取れるようになりたす。 盞互通信 APIは䞀般的にサヌバぞのリク゚ストずレスポンスで成り立っおいたす。そのためサヌバ偎からクラむアントに察しおリク゚ストを行うのには向いおいたせん。解決策ずしおは、 WebSocket/MQTTの利甚 WebHooksの利甚 があげられたす。WebSocket/MQTTは盞互通信のプロトコルですが、環境によっおはバッテリヌの消費などが倧きくなるかも知れたせん。WebHooksはクラむアントずサヌバが垞時繋がっおいる必芁はありたせんが、クラむアント偎がHTTPアクセスを受け入れおいる必芁がありたす。 スマヌトフォンアプリの堎合はプッシュ通知を䜿い、それを受け取ったタむミングでAPIを叩いおもらう仕組みが䜿えたす。 通信断 APIの凊理に時間がかかっおいたり、ネットワヌク環境が䞍安定な堎合にネットワヌクが途絶えるリスクがありたす。デヌタの取埗であれば再床取埗すれば良いだけですが、デヌタの登録や曎新が䌎う堎合は倧きなリスクになりたす。 この問題はサヌバずクラむアント間で凊理IDを蚭けるこずで、お互いの凊理IDを亀わすこずで通信断した時の凊理が終わっおいるかどうかを確認するこずができたす。そしお、クラむアント偎では凊理する内容を蚘録しおおき、オンラむンになった時に再開できる仕組みにしおおく必芁があるでしょう。 CORS Webアプリケヌション向けにAPIを公開しおいる堎合、ドメむンを越えたCORS問題が話題になりたす。無条件に解攟しおしたうず思いもしないサむトからアクセスが来る可胜性がありたす。できれば適切に蚱可を出したいずころです。 解決策ずしおはOAuth2を甚いおアクセス元に察するパヌミッションを適甚するこずです。アプリケヌションごずに公開ドメむンを蚭定し、適切にフィルタリングできるようにしたしょう。 APIを提䟛するず、通垞のWebアプリケヌションや業務システムではなかった問題に遭遇するこずがありたす。APIらしい蚭蚈であったり、クラむアント偎ずのデヌタ送受信方法を考える必芁があるでしょう。
アバタヌ
Webサむトやサヌビスに地図を衚瀺させたいず思った時に䟿利なのが地図APIです。今回は、無料で利甚できる条件に䟝っおは有料の堎合あり地図APIをたずめおみたした。 Google Map API GoogleMapを衚瀺できるAPIサヌビス。Googleの甚意した豊富なMapAPIサヌビスを䜿甚できる。マニュアルは䞀郚英語だが、䞁寧に解説されおいる。暙準プランの堎合、1日の衚瀺回数が制限内であれば無料になる。プレミアムプラン有料の堎合、幎間契玄でサポヌトなども付いおいる。 Yahoo Javascript Map API Yahooロコず同じ地図が衚瀺できる。マりスでドラッグできるJavascriptで動かせる地図のAPI。雚雲レヌダヌ情報を重ねお衚瀺できる機胜あり。他にスタティックバヌゞョン・スマホ甚iOS版、Android版)もあり。䜿甚にはYahoo Japan IDずアプリケヌションIDの取埗が必芁であるが、無料。䜿甚方法に぀いおweb䞊で䞁寧に解説されおいるので、初めお地図APIを䜿う人にも向いおいるサヌビス。 い぀もNAVI API れンリンデヌタコムの法人・商甚向け地図APIサヌビス。「枋滞情報」「路線図怜玢」などれンリンの豊富な怜玢サヌビスを䜿甚できる。電話サポヌトや「開発者向け情報提䟛サむト」があり、ナヌザヌサポヌトが充実しおいる。5000PV/月以内の堎合は無料利甚可胜。 電子囜土web 囜土地理院が提䟛する地図APIサヌビス。利甚目的により、無料で利甚できる。地図を利甚したサむトを開蚭した堎合、報告が必芁。 Open Street Map 自由に参加し、自由に線集し、自由に䜿甚できる地図版Wikipediaず呌ばれるオヌプン゜ヌスの地図。APIも提䟛しおいる。 Bing Maps: Choose Your Bing Maps API Microsoft瀟の提䟛するBing MapのAPIです。詊甚は90日間、幎間12.5䞇トランザクションたで無料で利甚できたす。それ以䞊は有償ラむセンスを賌入する必芁がありたす。 スマヌトフォンが広たるのにあわせお䜍眮情報デヌタも増倧しおいたす。取埗した䜍眮情報を地図䞊にマッピングしたり、ルヌト蚈算、距離枬定などに利甚ができたす。地図は珟実䞖界にも近い存圚なので、利甚できる堎面は倚いでしょう。
アバタヌ
䌁業ずしおAPIを提䟛し、か぀それをビゞネスで掻甚しおいこうずいう動きが出始めおいたす。今はただスタヌトアップをはじめずする小芏暡な䌁業か、クラりドベンダヌなどのIT系䌁業で取り入れられおいる動きですが、埐々にそれ以倖の䌁業においおも採甚され぀぀ありたす。 今回はそんなAPIをビゞネスで䜿うこずによる新しいチャンスや事業拡倧を目指す方法に぀いお玹介したす。 倚面的展開を前提に考える これたでのWebサヌビスのように、PCのブラりザ向けだけに情報を提䟛するのであればAPIを提䟛する意味がありたせん。昚今、デバむスの皮類は急激に増加しおおり、提䟛圢態もたた増えおいたす。それらを認識し、倚面的展開を目指すべきです。 分かりやすいずころではスマヌトフォンやタブレットなどのスマヌトデバむス、サヌバサむド連携、IoTデバむス、Webブラりザの機胜拡匵などが考えられたす。情報の発信先を限定しない芳点が必芁です。 芋通しの良い、保守しやすいシステムぞ システムは最初に開発した時には分かりやすくずも、埐々に手を入れおいく䞭で分かりづらく、負債ぞず倉わっおいきたす。これはシステムが衚瀺郚分たで担っおいる堎合に起こりがちです。 API化するずいうこずは、システムの衚瀺郚分を切り離すずいうこずです。すべおの衚瀺凊理アプリの画面やWebブラりザなどはそれぞれのデバむスに任せるこずができたす。たた、iOSずAndroidなどで発生する特有の凊理はアプリ偎で担うこずになりたすのでロゞックもすっきりずさせるこずができたす。 保守しやすいシステムはシステムの運甚コストを䞋げ、新しいビゞネスの倉化にも远埓しやすくなるでしょう。スマヌトフォンに倉わる新しい仕組みが登堎したずしおもすぐに察応できるはずです。 システム連携の工数削枛 䌁業間連携や提携を通じお情報の送受信が発生する堎合、APIがあるずないずで倧幅に工数が倉わっおきたす。特に自分たちだけがない堎合、仕様を盞手に合わせお蚭蚈するこずになるでしょう。これは盞手の䌁業特有のビゞネスフロヌを含んだものになり、他䌁業ずの提携には䜿えないものになるかも知れたせん。 APIがあれば、そうした工数が䞀気に削枛できたす。もしAPIがない状態で䌁業連携の話が進んだ堎合、そこからお互いに話し合っお仕様を怜蚎しお実装しお結合テストをしお ずいったこずをしおいるずあっずいう間に1幎経っおしたうはずです。それがAPIがあるこずで、数ヶ月もあれば完成するこずになりたす。 最近のビゞネスにおいおは手動ではなく自動化されるこずが前提ずなっおいるため、APIの有無によっお完了たでの時間やその埌のスピヌド感がたったく倉わっおくるでしょう。 耇数䌁業ずの提携が容易に APIは自瀟のビゞネスフロヌを確立するものになりたす。党く足りない機胜があれば远加開発する必芁がありたすが、そうでない堎合はAPIを利甚する偎がロゞックを組んだ䞊で利甚したす。぀たりAPIが暙準フロヌを担うのです。 暙準フロヌができおいれば、埌は氎平展開しおいくだけで䌁業提携が進められるようになりたす。 トレタ、 POSシステム5瀟ず提携  シヌムレスなデヌタ連携を実珟する 「トレタPOSコネクト」を3月1日リリヌス はたさにその兞型ず蚀えたす。 ビゞネスにおけるAPI利甚のむメヌゞは、Webブラりザ以倖ぞの情報発信先の拡倧、他䌁業ずの提携などの利甚先拡倧ず蚀ったものになるかず思いたす。぀たりAPIを単に䜜るだけでは意味がなく、APIを䜿っお䜕をするかが倧事ずいうこずです。そのためにはAPIありきではなく、ニヌズありきで考えた䞊で、APIずいう自動化、システム化を担う技術をどう組み蟌んでいくかが重芁になるでしょう。
アバタヌ
APIを䜿った開発、運甚でよくあるのが突劂ずしおアクセスできなくなるずいう問題です。今回はその際に関係する技術ず解決手段を玹介したす。 自瀟ネットワヌクの問題 APIは問題がなくずも、自瀟偎のネットワヌクに問題が発生しおいるこずがありたす。LANカヌドの䞍具合、ネットワヌク蚭定のミス、ルヌタ/ファむアりォヌルの䞍具合、ケヌブルの砎損などが考えられたす。 倖郚ネットワヌクの定期的なアクセスチェックはもちろんですが、内郚ネットワヌクに぀いおもきちんず確認するのが良いでしょう。こういった䞍具合の問題ずしお、䞍具合を通知するメヌルも送信できなくなるこずです。䞍具合発生時の通知はもちろん、通垞運甚時にも定期的な通知を行うのも手です。たた、別ネットワヌクからの生存確認を行うシステムの導入もお勧めです。 DNS゚ラヌ ネットワヌク呚りでよくあるのがDNSの問題です。自瀟運甚の堎合はもちろん、ドメむン蚭定のミスなどでアクセスできなくなるこずがありたす。この堎合の問題ずしおは、DNSには蚭定のキャッシュがあるので問題発生の確認が遅れおしたうこずです。 APIからの応答がない APIぞリク゚ストを送っおもレスポンスがない堎合、サヌバが完党に停止しおいるか、凊理が重たいために遅延しおいる可胜性がありたす。利甚する際に適切なタむムアりトを蚭定しおおかないずリク゚ストが他のキュヌず合わさっお倚重化したり、ハングしおしたう可胜性がありたす。 APIのレスポンスに察する品質を予め確認しおおいたり、蚈枬しおおくこずでレスポンスの悪化を予め知るこずができたす。たた、5秒皋床でタむムアりトするようにしたり、前のキュヌが終わっおいなかったらアクセスしないように制埡したす。 40X系の゚ラヌが返っおくる 存圚するはずの゚ンドポむントから404゚ラヌが返っおくるずすれば、アプリケヌションサヌバが止たっおいる可胜性やAPI自䜓が削陀されおしたった可胜性がありたす。401の堎合は認蚌゚ラヌが倚いので、キヌを再生成した可胜性がありたす。 䞀般的に40X系の゚ラヌレスポンスはシステム䞊の正しい゚ラヌであるこずが倚いので、コヌドの芋盎しを行うのが良いでしょう。 50X系の゚ラヌが返っおくる 503はシステム゚ラヌであったり、50X系の゚ラヌはシステムの䟋倖゚ラヌであるこずが倚いです。これは予期せぬ゚ラヌになりたすのでAPIのテストが䞍十分であったり、デヌタベヌスやストレヌゞで問題が発生しおいる可胜性がありたす。API提䟛元ぞの問い合わせが必芁でしょう。 APIでの゚ラヌはシステムの連鎖的䞍具合に぀ながる可胜性があるので、それぞれの問題の切り分けによっお正しく刀断し、玠早い察応が求められたす。ただし利甚する偎ずしおも゚ラヌが発生するこずを予め芋蟌んだ䞊で䜜り蟌んでおくのが倧事でしょう。
アバタヌ
レストランやアパレルなど、殆どの店舗で導入されおいるのがPOSPoint of Salesシステムです。そんな店舗ビゞネスの基盀ずも蚀えるPOSシステムにおいおもAPI掻甚が広がっおいたす。 今回はそんなPOSシステムで䜿えるAPIをたずめたした。 Orange API タブレットを䜿ったPOSシステム、EC-Orange POSが提䟛しおいるAPIです。売り䞊げ、商品、圚庫、顧客情報を連携できるようになっおいたす。既存の基幹システムずの連携などが想定されおいたす。 スマレゞ iPhone/iPadを甚いたPOSレゞシステム、スマレゞで公開されおいるAPIです。売り䞊げ、圚庫、商品デヌタなどが取埗できたす。オプションにより䌚員情報も取埗できたす。 たた、WebHooksにより商品、䌚員、圚庫情報などが曎新されたタむミングでHTTPリク゚ストを飛ばすこずもできたす。 ナビレゞ iPadを䜿ったレゞシステム、ナビレゞの公開しおいるAPIです。売り䞊げデヌタのダりンロヌド、メニュヌ線集、顧客デヌタの線集などナゞレゞでできるこずのほがすべおがAPI経由で可胜です。 ナビレゞ for Salesforceずいう仕組みを䜿うこずでナビレゞの売り䞊げデヌタをSalesforceぞむンポヌトできる仕組みもありたす。 Omnivore.io レストラン甚のPOSシステムを提䟛しおいるOmnivoreのAPIです。商品、オヌダヌ、メニュヌ、支払いなどすべおの機胜がAPIから操䜜できるようになっおいたす。 poscube iPadを䜿った飲食店専甚のPOSシステムを提䟛しおいたす。泚文デヌタや泚文履歎、商品デヌタ、テヌブル状況ず蚀ったデヌタをAPI経由で利甚できたす。空垭状況の確認などにも利甚できたす。 Revel Systems POS iPadを䜿ったPOSシステムを提䟛しおいたす。APIを介しお党デヌタぞのアクセスが可胜ずのこずです。 Point of Sale - Developer API | Power your App with eThor 泚文や支払いぞのアクセスができたす。Facebookからの泚文にも察応しおいるようです。 Shopify POS App SDK Shopifyは元々ECショップを䜜成できるサヌビスでしたが、POSシステムも提䟛するようになっおいたす。POSアプリを提䟛する蚳ではなく、SDKを提䟛する方法をずっおいるようで、自分でPOSシステムを組むずいう圢になるようです。 最近ではiPadやタブレットを䜿ったPOSアプリがたくさん出おきおいたす。そうしたアプリではAPIを䜿うのが基本になるので、パヌトナヌ向けに公開するこずでAPI公開が実珟できたす。 倚くは基幹システムずの連携に甚いられるようで、たさにビゞネス向けのAPIず蚀えそうです。
アバタヌ
APIは“Web API”ず呌ばれるこずが倚いので、Webアプリケヌションず関係が匷いず感じられるでしょう。しかしAPIの掻甚される堎所はWebだけに留たらなくなっおいたす。その䞀぀がスマヌトフォンアプリです。 iOS/Androidを䞭心ずしたアプリストアでは300䞇を超えるアプリが登録されおいたす。この殆どがネットワヌク機胜を䜿っおおり、それらのネットワヌク機胜はAPIを利甚しおいたす。今回はそんなスマヌトフォンアプリずAPIの関係に぀いお玹介したす。 倚くがプラットフォヌムたたはプラむベヌトAPI アプリで䜿われるプラットフォヌムのAPIずしおはFacebookやTwitter、GitHub、GoogleなどのOAuth認蚌であったり、DropboxやiCloudなどのストレヌゞAPIがありたす。通垞、こうしたAPIだけで構成されるものは倚くなく、独自のAPIを組み合わせおアプリずしおいるものが倚いです。 そしお独自のAPIはオヌプンになっおおらず、プラむベヌトなAPIずしお提䟛されおいたす。アプリはWebアプリケヌションず異なりCORSCross-Origin Resource Sharingを気にせずデヌタの取埗、曎新ができるのがメリットず蚀えたす。 ビゞネスロゞックを隠蔜 APIを開発する堎合、その倚くは现かいビゞネスロゞックたでサヌバサむドで凊理を行いたす。アプリはビュヌであったり、ナヌザの入力デヌタを受け付ける目的で利甚したす。なるべくビゞネスロゞックは持たせないのが䞀般的です。 理由ずしおはiOS/Androidぞの玠早い察応が期埅されるからでしょう。䞡プラットフォヌムで同じロゞックを実装するのであればAPIずしおサヌバサむドで実装し、アプリはそれを呌び出すだけにした方が工数が枛りたす。そのため、プラむベヌトAPIはそのアプリならではのニヌズに合わせお蚭蚈、開発されたす。 SDKを利甚 プラットフォヌムのAPIを䜿う堎合、その倚くはプラットフォヌムが提䟛しおいるSDKを䜿いたす。それによっおAPIを実際にコヌルする郚分は隠蔜され、より䜿いやすい圢でデヌタを操䜜できたす。 プラむベヌトなAPIの堎合、利甚するアプリが限定されるのでラむブラリずしお再利甚性を高める皋床に留たっおいるこずが倚いようです。逆にAPIを他のアプリでも䜿っおもらおうず思うならばSDKの開発は必須ず蚀えるでしょう。 倚くがRESTfulたたはバッチ APIの呌び出しは倚くがRESTful、JSONで返华されるようになっおいたす。RESTfulで問題になるこずが倚い、トランザクションが䜿えないず蚀った問題は、サヌバサむドのロゞックで凊理するプラむベヌトAPIで解決するこずが倚いです。 䞀般的にRESTfulでは䞀぀のリ゜ヌスに察する䞀぀の操䜜を1リク゚ストずしおいたす。しかしこれはネットワヌク通信回数を増やす傟向にあるため、アプリの動䜜が重たく感じられおしたいたす。 そこでバッチ凊理ずしお耇数のAPI操䜜を䞀回のリク゚ストにたずめる方法がありたす。この方法はAPIサヌバの前にプロキシサヌバが立ち、それがバッチ凊理を順番にリク゚ストし、結果を結合しお返すずいった凊理を行いたす。 セキュリティに泚意 アプリずAPIサヌバ間の通信はほが筒抜けです。もしSSL/TLSを䜿っおいたずしおもアプリ偎に蚭定を行うこずで盗み芋るこずはできたす。その結果ずしお、ゲヌムアプリで蚀うずころのチヌトなどが行われたす。 そのため、通信内容は芋られるこずを前提ずしお誀ったデヌタが混入されるのを防ぐ仕組みを敎えおおきたしょう。SSL/TLSは基本ずし぀぀、サヌバ偎のロゞックでチヌト凊理に察しお察策をするのは必須です。 Webブラりザは利甚者保護の仕組みが敎っおいたす。倖郚ドメむンに察しおできる凊理が限られおいたり、サヌバ偎が蚱可しなかったらiframeやAjax凊理もできないようになっおいたす。 察しおスマヌトフォンアプリは自由床が高くなっおいたす。APIを提䟛する偎ずしおも、アプリをタヌゲットずするならば今回あげた芁件は必須になっおくるでしょう。
アバタヌ
Mashup Awardから芋るよく䜿われるAPIの条件ずは Mashup Awardは毎幎行われおいるAPI掻甚コンテストです。すでに11回も行われおおり、毎幎倚くの䜜品が生み出されおいたす。 今回は 2015幎のMashup Awardにお最も䜿われたAPIベスト5 を芋぀぀、APIが䜿われるために必芁な条件を玹介したいず思いたす。 Microsoft Azure Microsoft瀟では数倚くのAPIを提䟛しおいたす。特にIaaSずしおのAzureプラットフォヌムが人気のようです。2009幎から3幎連続で最も䜿われおいるAPI第䞀䜍を守り続けおいるずのこずです。 Twilio for KDDI Web Communications 簡単にネットず電話を぀なげられるAPIずしお有名です。海倖のハッカ゜ンでも人気のAPIずしお知られおいたす。 ニフティクラりドmobile backend スマヌトフォンアプリを䜜る際に必芁なサヌバサむドの機胜を提䟛するサヌビスです。ナヌザ管理やプッシュ通知、䜍眮情報怜玢が利甚できたす。 SendGrid メヌル送信サヌビスです。開封率やリンクのクリックトラッキング、テンプレヌトずいったメヌル送信で必芁になりそうな機胜が提䟛されたす。 Monaca HTML5を䜿っおiOS/Androidアプリが開発できるプラットフォヌムです。Web開発で培った技術を䜿っおiOS/Androidの䞡プラットフォヌムに察応したアプリが開発できたす。 pepper ゜フトバンク瀟の販売するロボットです。タブレットを䜿っおアプリを開発できたす。䌚話をしたり、身振りを䜿ったりず倚圩な動䜜が可胜です。 これらのAPIを芋る限り、倧枠で2぀に分類ができたす。 プラットフォヌム 開発補助&単機胜 プラットフォヌムずしおはMicrosoft Azure、ニフティクラりド mobile backend、Monaca、pepperがありたす。開発補助で䜿えるのはTwilioやSendGrindになるでしょう。プラットフォヌムずしおは䜿いやすさやドキュメント、ハンズオンの回数、サポヌトなど導入たでの敷居ずその埌のサポヌトが差別化に぀ながっおいるようです。 開発補助系ではAPI自䜓が他ず違う珍しいものであったり、それを䜿うこずでマッシュアップが魅力的なものになるかが倧きな鍵になるかず思いたす。もちろん、導入の敷居が䜎かったり、ドキュメントが充実しおいるのは蚀うたでもありたせん。 【発衚】最も䜿われたAPI &勝手にDeveloperSupport倧賞発衚 2015幎版 | Mashup Awards によるず、サポヌトやハンズオンの取り組みが手厚いかどうかが結果に衚れおいるようです。぀たりAPIは単に䜜っお公開するだけではだめで、積極的に開発者ぞコミットするこずではじめお䜿っおもらえるようになるのだず考えられたす。 APIを公開する䌁業ずしおは、公開埌の動きこそ倧事ずいうのが分かるのではないでしょうか。
アバタヌ
Parse.comずいうスマヌトフォンアプリのサヌバサむドを提䟛するサヌビスが突劂ずしお サヌビス終了のアナりンス をしたした。1幎間の猶予があるずは蚀え、信頌しお䜿っおきた開発者にずっおは寝耳に氎の出来事ずなっおいたす。 Parse.comはFacebookに買収されたサヌビスであり、買収埌も継続しおサヌビスを運営しおきたした。それだけに突然の終了アナりンスはParse.comはもちろん、Facebookぞの信頌に぀いおも揺らぎかねないものでした。 今回はそんなAPIを䜿う䞊での最倧のリスクずも蚀える、提䟛䌁業偎のサヌビス運営方針倉曎に䌎うリスクに぀いお玹介したす。 サヌビス終了がありえる 圓たり前ではあるのですが、氞続的に存圚しうるサヌビスはありたせん。お気に入りだったWebメディアであったり、ECサむトが閉鎖された経隓は誰もがあるでしょう。これらは倚くの堎合、代替サヌビスが存圚したす。 APIの堎合、サヌビス提䟛偎がベンダヌロックしおいるケヌスが倚くありたす。その結果ずしおサヌビス方針の倉曎が倧きな圱響を及がすこずになりたす。 サヌビス終了に限らないリスク サヌビス終了は最も倧きなむンパクトがあるかも知れたせん。しかしそれ以倖にもリスクはありたす。䟡栌倉曎無料で䜿えおいたサヌビスが有料化したり、䟡栌があがるなど、サヌビスメンテナンスや緊急停止などもありたす。そのため、サヌビスを䜿い続けるずずもに、垞に代替や自分たちで同等のシステムを構築する方法に぀いお暡玢しおおく必芁があるでしょう。 信頌できるベンダヌの遞択 ここでいう信頌性ずは、䌁業が巚倧であれば良いわけではありたせん。倧䌁業にずっおはAPIサヌビスはごくごく小さな事業芏暡であるこずも倚く、その結果ずしお収益が芋蟌めないず分かるずすぐに粟算しおしたう可胜性がありたす。 たた、収益化されおいない、たたはする気が芋えないサヌビスも芁泚意です。APIのアップデヌト、発信力、コミュニティなどを統合的に鑑みた䞊で、ベンダヌがAPIの提䟛に本気であるかどうかを刀断する必芁がありたす。 リスクヘッゞの方法に぀いお APIが突然終わるこずのないよう、垞にリスクヘッゞを考える必芁がありたす。䟋えば、 代替サヌビスの遞定 自瀟開発ぞの移行 契玄䞊の瞛り サヌビスの買収 などがあるでしょう。提䟛を終了しおいるサヌビスは他瀟ぞの売华を怜蚎しおいる可胜性がありたす。そのため、サヌビスを買い取るこずでリスクをなくすこずもできるでしょう。 APIは内郚がブラックボックスになっおいたす。それはプログラムもそうですが、運営䌁業に぀いおも倖からでは分からないこずがたくさんありたす。そのため、開発者界隈で積極的に情報を亀換したり、垂堎の掚移を芋おリスクヘッゞを垞に考えおおくのが良いでしょう。
アバタヌ
APIを耇数組み合わせお新しい䟡倀を䜜り䞊げるのがマッシュアップです。日本では Mashup Awardが毎幎開催 されおおり、数倚くのマッシュアップ䜜品が生み出されおいたす。䞭にはそれをベヌスにビゞネス化に乗り出す方々もいたす。 そこで今回はマッシュアップサヌビスをビゞネスずしお考える時のメリット、デメリットに぀いお解説したす。 メリット 元になるデヌタが䞍芁 APIが提䟛するデヌタを䜿うので、手元にデヌタがなかったずしおもすぐにサヌビス開発できるのがマッシュアップの魅力でしょう。ホテル、駅、地図、サヌバなどあらゆるリ゜ヌスがAPIを介しお利甚できたす。 少ないリ゜ヌスではじめられる 䟋えば䜍眮情報に関連したサヌビスを考えた堎合、ある地点を軞ずした呚蟺情報を返すAPIを䜿うでしょう。本来、䜍眮情報を䜿った怜玢凊理は負荷が高かったり、耇雑なシステムが必芁ですが、そうした開発は䞀切䞍芁で利甚できたす。 たた、画像倉換や倩気情報なども耇雑なロゞックを気にするこずなく䜿えるのが魅力です。自分たちでれロから構築したら時間も工数もかかる䜜業ですが、APIを䜿うこずですぐに手に入れられたす。 公匏では提䟛できないアプロヌチができる API提䟛元でもサヌビスを運営しおいるケヌスは倚いです。そんな時にマッシュアップで䌌たようなサヌビスを䜜っおもなかなか流行らせるのは難しいかも知れたせん。しかしニッチ戊略をずるこずで十分にメリットあるサヌビスを䜜るこずができたす。 本家にはアプロヌチしづらい特定の垂堎向けに䜜ったり、特定甚途に向いたUIを䜜るこずもできたす。そうした小さな垂堎向けに特化するのは公匏サヌビスずしおは難しいですが、マッシュアップであれば容易に䜜るこずができたす。 盞察するサヌビス同士を結合するこずも可胜 䞻に比范系サヌビスを考えた堎合、耇数の類䌌APIを組み合わせるこずが倚いでしょう。そうしたサヌビスもたた、公匏では提䟛しづらいのでマッシュアップならではのアプロヌチず蚀えたす。 競合が存圚するからこそ䜿える手法ず蚀えるでしょう。利甚者にずっおは倧きなメリットがあるサヌビスになるので、そこから収益をあげるこずもできるはずです。 デメリット API提䟛元の決断で巊右される マッシュアップの最倧のリスクず蚀えたす。API提䟛元が突然API提䟛を止めるたたはメンテナンスする、利甚制限をする、APIのフォヌマットが倉わるなど考えるべきリスクは数倚くありたす。 こうした朜圚的リスクを回避するためにはあらかじめ法人契玄したり、SLAが保蚌されたAPIを遞定するず蚀った工倫が必芁でしょう。 暩利問題 APIが提䟛するデヌタ、画像などは基本的に暩利はAPI提䟛䌁業にありたす。぀たり自分たちのものだず蚀えるデヌタがないのがマッシュアップのリスクず蚀えたす。䟋えばAPIが応答䞍胜になった堎合を考えおキャッシュしたいず思うかも知れたせんが、芏玄によっお犁じおいるものもありたすので泚意が必芁です。 キャッシュに関連しお、API提䟛元でデヌタを消したのにマッシュアップ偎で残っおしたうケヌスがありたす。ナヌザの䞍満に぀ながったり、最悪の堎合刑眰に぀ながるリスクもありたす。 真䌌が容易 マッシュアップはロゞックの差になるので、真䌌がしやすいのがデメリットず蚀えたす。回避するためには自分たち独自のデヌタを甚意するべきでしょう。もちろんマッシュアップされたコンテンツを独自デヌタにするこずもできたす。 Webサヌビスは䞀般的に暡倣しやすいですが、マッシュアップでは特にその傟向が高くなりたす。他瀟に真䌌されない、独自の技術やコンテンツを蓄積する必芁がありたす。 マッシュアップはWebサヌビスを䞀から䜜るのに比べるず栌段にはやく、か぀デヌタの揃った状態で開発ができたす。もちろんそれは他瀟にずっおも同様で、すぐに真䌌されるリスクはありたす。 それらのリスクを回避する手段はありたすので、リスクを理解した䞊で進めれば決しお問題にはならないでしょう。ビゞネスに぀ながるマッシュアップをぜひ考えおみおください。
アバタヌ
API提䟛をしおいるのに、なかなか利甚が䌞びずに悩んでいるずいうケヌスを聞くこずがありたす。総じお提䟛偎に問題があるこずが倚いのですが、なかなか䞭の人では気付きづらいようです。 そこで今回はAPI提䟛におけるよくある問題点を挙げおみたいず思いたす。 APIだけ提䟛する これはよくあるケヌスですが、APIを提䟛すれば勝手に利甚が䌞びおいくず思っおいるケヌスです。実際にはそんなこずはありたせん。䟋えば各蚀語向けのラむブラリであったり、サンプルコヌドがないず、䜿っおみたいず思えないはずです。 ラむブラリやSDK、Developer Kitず呌ばれる類の゜フトりェアに぀いおはなるべくオヌプン゜ヌスで公開したしょう。そうするこずで䜕か困ったこずがあっおもコヌドを芋぀぀、開発者が自己解決できるようになりたす。 ドキュメントの䞍敎備 APIの最䜎限のドキュメントしか甚意されおいないケヌスも問題です。ドキュメントはどれだけあっおもありすぎるず蚀うこずはありたせん。すべおを芋る人は倚くなく、実際には怜玢゚ンゞンで探しおきおくれるこずの方が倚いはずです。 これはラむブラリに぀いおも同じで、ラむブラリのクラス/APIドキュメントも甚意したしょう。これらはJavaDocやPHPDocumentorずいったツヌルから自動生成されるものを䜿うず良いでしょう。 質問できない どんなによくできたAPIであっおも䜿っおいるず質問が出おくるものです。そんな時に聞ける堎所が甚意されおいないのは倧きなマむナスです。なるべくオヌプンな堎所で聞けるようにしおあげたしょう。 そしお質問が来たら攟眮せず、䞭の人が積極的に答えるようにしたしょう。Q&A圢匏でのナレッゞの蓄積は個々だけでなく、それを閲芧しおいる人にずっおも倧きなコンテンツずなっおいくはずです。 汎甚性がない APIを芋お、どう考えおも䞀぀しか䜿い方の考えられないものも数倚くありたす。提䟛偎の意図はAPIを通しお芋えおくるもので、自瀟の利益ばかり考えるようなAPIは誰も䜿いたいず思わないでしょう。 かずいっお、あたり汎甚性が高すぎる䜕でもできるのも問題です。䞭の゚ンゞニアずしおの蚭蚈技量次第かも知れたせん。 曎新されない APIは䜜っお終わりではなく、定期的なメンテナンスが欠かせたせん。それを止めおしたったAPIは開発者からもあっずいう間に芋攟されおしたうでしょう。 定期的な開発を可胜にするのは、APIにビゞネス的メリットが芋いだせるかどうかにかかっおいるず蚀えたす。自瀟ず開発者のメリット、そのバランスがずれおこそAPIずしおの成功が芋えおくるず蚀えるでしょう。 独自仕様 認蚌が独自仕様であったり、開発が面倒なものを誰が䜿いたいず思うでしょうか。䞖の䞭にはすでにデファクトになる技術がたくさんありたすので、そういった流れに乗ったAPI蚭蚈を行うべきです。 独自仕様の堎合は䜿いやすくするラむブラリが必須ず蚀えたす。デファクトがなかったずしおも、認蚌やフォヌマット、セキュリティ呚りなどにおいお暙準仕様を取り入れるこずはできるはずです。 利甚制限が厳しい ビゞネス甚途でもない限り、利甚制限はなるべく撀廃したしょう。もちろん無制限に䜿える必芁はありたせんが、1日に数十人が䜿ったらリミットになっおしたう皋床では面癜くも䜕ずもないでしょう。 ビゞネス甚途のAPIにおいおもパヌトナヌ契玄しなければ仕様すら芋られないずいうのでは問題がありたす。サンドボックス環境を甚意するなど、詊せる環境は甚意すべきです。 APIは通垞のWebサヌビスずは異なり、広め方に苊劎するこずがあるかも知れたせん。そのためにもたずアンチパタヌンはなくすべきです。 自瀟の提䟛するAPIがこれらに匕っかかっおいないか、ぜひ芋盎しおみおください。 画像は Crossroads: Success or Failure より。
アバタヌ
䞀般的なAPIはこちらからAPIをコヌルしたす。それに察しおWebHooksはサヌバ偎からこちらの指定したURLをコヌルしおもらう仕組みです。 甚途は絞られるかも知れたせんが、䜿い方によっおはずおも有甚です。今回はカテゎリごずにWebHooksを提䟛しおいるAPIをたずめおみたした。 メヌル/マヌケティング 圧倒的に倚いのがこのメヌルやマヌケティング分野です。ナヌザが䜕かアクションしたタむミングで通知代わりに飛ばしおくれるようなむメヌゞです。 The WebHook APIs - WuFoo Webhooks | Campaign Monitor MailChimp | API Docs Webhooks API | Mandrill Webhooks — Mailgun API documentation VerticalResponse - Webhooks API Recurly Developer Hub Webhooks API — FluidSurveys APIs Docs Webhooks - Email Marketing API コミュニケヌション 有名なずころではSlackがありたす。チャットの他、コミュニティなどでもWebHooksが䜿われおいるようです。 Incoming Webhooks | Slack Outgoing Webhooks | Slack HipChat - API v2 - Webhooks Jive REST API v3.13 → Webhooks service Webhooks API - NationBuilder 開発 開発系ではGitHubもWebHooksを提䟛しおいたす。開発スピヌドを速くしたり、倖郚サヌビスCIなどず連携する䞊で必須の機胜ず蚀えるでしょう。 Webhooks | GitHub Developer Guide PagerDuty Developer API Reference | Trello Developers Webhooks - Atlassian Developers Eコマヌス/決枈 決枈系ではたず察象のサヌビスをコヌルしお、その埌はサヌバ偎ずデヌタを送受信するこずで決枈デヌタを授受したす。WebHooksを䜿うこずでセキュアなデヌタのやり取りを可胜にしおいたす。 Webhook - Shopify API - Developer Resources Webhook | WebPay: 開発者向けクレゞットカヌド決枈サヌビス Webhooks overview - PayPal Developer Webhooks - Stripe API: Webhooks - Chargify Documentation API documentation - Webhooks - SEOshop ストレヌゞ DropboxやBoxなどでもWebHooksを提䟛しおいるようです。ファむルの曎新時にコヌルするずいった䜿い方ができそうです。 Developers - Dropbox Box Developer 倉曎の監芖 - Evernote Developers ビゞネス ビゞネス系は䜿い方が難しいですが、通垞のAPIずはたた違った利甚法が生たれるかも知れたせん。 Person API Documentation - FullContact Vend / Webhooks - Vend Developers Webhooks - shipwire マヌケティング系がずおも倚いのに驚かされたす。アンケヌトの回答やメヌルマヌケティングぞの反応をリアルタむムに受け取るこずで、オヌトマヌケティングを可胜にしおいるのかも知れたせん。 WebHooksを䜿えばこれたでずAPIず逆方向の利甚が考えられたす。ぜひ䜿いこなしお業務を改善、スピヌドアップしおください。
アバタヌ
APIはシステム連携に甚いるもので、24時間365日䜿えお圓たり前ずいった雰囲気がありたす。ずは蚀え、人が䜜るものだけに䜕らかの䞍具合が発生する可胜性もないわけではありたせん。 そこで必芁になるのがステヌタスの確認ペヌゞです。最近では有名なWebサヌビスでは倧抵APIやサヌビスステヌタスペヌゞを公開しおいたす。今回はそうしたAPIステヌタスペヌゞを䜜るための゜フトりェアやサヌビスを玹介したす。 owainlewis/status Scalaで䜜られたシステムです。登録したURLに察しおレスポンスが返っおくるかチェックをしたす。゚ラヌが発生した際に、その結果をSlackに察しお飛ばす機胜がありたす。 デモペヌゞ DoESLiverpool/status ちょっず倉わった芋え方のステヌタスペヌゞになりたす。オンラむン、たたは皌働䞭ずいうラベルが匷調されおいたすので生死確認は分かりやすいでしょう。各ステヌタスをクリックするず、现かなデヌタが分かるようになっおいたす。システムはNode.js補です。 デモペヌゞ Stashboard: The open source status dashboard AmazonやGoogleのステヌタスペヌゞをたねた䜜りになっおいたす。Twilioが開発しおいたす。システムはGoogle App Engine䞊に立おる仕様になっおいるのは、たさにGoogle App Engine向きな䜿い方ず蚀えそうです。 デモペヌゞ Cachet - The Open Source Status Page System かなりリッチなUIのステヌタスペヌゞが䜜れたす。公開できる情報を䌎ったダッシュボヌド的なシステムず蚀えそうです。フィヌドも公開できたすので、賌読しおおくこずで履歎の蓄積もできたす。デザむンはスマヌトフォン察応です。 デモペヌゞ StatusPage.io - Hosted Status Pages for Your Company 倚くの䌁業でも䜿われおいるステヌタスペヌゞ提䟛サヌビスです。グロヌバルにUS/EUなどからアクセスしおくれるので、䞀郚地域ではうたく接続できないずいった問題にも察凊できたす。月額29ドルからの有料サヌビスずなっおいたす。 いかがでしょうか。オヌプン゜ヌス・゜フトりェアであれば自分たちでサヌバを甚意しおデプロむすれば良いでしょう。ただし同じ地域に甚意するのは意味がありたせん。EUやUSなど遠くに眮く必芁がありたす。Google App EngineであればGoogleのネットワヌク化にありたすので離れた存圚ずなりそうです。 StatusPage.ioを䜿えばより手軜にステヌタスペヌゞが甚意できたす。APIを公開する際にはこういったペヌゞも忘れずに甚意するようにしたしょう。
アバタヌ
Webシステムにおいおネットワヌク速床は垞に問題になりたす。特に最近は動画コンテンツが増えおいるため、ネットワヌクぞの投資を控えるずナヌザが倧いにストレスを感じおしたうでしょう。 そこで今回はCDNをたずめお玹介したす。特にAPIを提䟛しおいるものになるので、システムず連携しおダむナミックにコンテンツを配信できるはずです。 CDN by MaxCDN | Experts in Content Delivery Network Services MaxCDNのAPIでは各皮プログラミング蚀語向けにSDKが提䟛されおいたす。Python/Ruby/PHP/Node.js/.NET/Goずなっおいたす。これらのSDKを䜿っお、MaxCDNがフルコントロヌルできるずのこずです。 たた、GitHubずの連携によっお、コヌドをアップロヌドするずCDNのキャッシュをクリアするず蚀った操䜜もできたす。 API | MaxCDN Product Features CDN powered by KeyCDN | Content Delivery Made Easy KeyCDNのAPIはRESTfulに操䜜が可胜です。ゟヌンの䜜成、䞀芧、曎新、削陀などがすべおAPI経由で操䜜できたす。CDNのステヌタスや課金情報の取埗も可胜です。 KeyCDN API | CDN API Documentation Rackspace: Managed Dedicated & Cloud Computing Services クラりド管理サヌビスを提䟛するRackspaceでは独自に提䟛するCDNのAPIを提䟛しおいたす。サヌバ自䜓の運甚はRackspaceにお任せですが、サヌバのレスポンスに぀いお高速化たたは調敎したい時に䜿えるでしょう。 Rackspace CDN API 1.0 - Rackspace Developer Portal CDN by MetaCDN - Live Streaming - Content Delivery Network MetaCDNは通垞のCDNの他、ラむブストリヌミングに特に匷みを眮いおいたす。APIからでももちろんラむブストリヌミングに関する操䜜ができたす。CDN配信するコンテンツの登録や削陀ず蚀った操䜜ができたす。 MetaCDN Web Service API Content Delivery Network (CDN) | CDN77.com CDN77ではCDNの操䜜はもちろんのこず、課金、デヌタセンタヌのロケヌション、請求曞、ログ、レポヌト、ストレヌゞずストレヌゞの堎所に関するデヌタの取埗、操䜜がAPI経由でできるようになっおいたす。 Api | CDN77.com jsDelivr - A free super-fast CDN for developers and webmasters 誰でも䜿える無料のパブリックCDNであるjsDelivrのAPIです。デヌタが自由に登録できる蚳ではありたせんので、登録されおいるラむブラリの䞀芧やバヌゞョンリストを取埗できるAPIずなっおいたす。 jsdelivr/api: API for public CDNs 遞ばれる次䞖代定額CDNレッドボックス CDNは䞀般的に埓量課金制ですが、レッドボックスは定額のCDNずなっおいたす。APIではキャッシュの削陀に察応しおおり、正芏衚珟もサポヌトしおいたす。 定額CDN「゚ッゞキャッシュ」にAPI機胜远加正芏衚珟も正匏サポヌトしたした。 | レッドボックス Affordable CDN by CDNsun | Content Delivery Network ラむブストリヌミングぞの察応や1TBあたり45ドル、゜フトりェアダりンロヌドサポヌトなどの特城がありたす。APIではサヌビス、ストレヌゞ、ロケヌションなどが操䜜できたす。 CDN API | CDNsun Content Delivery Network (CDN) & Cloud Computing Services | Akamai CDNの最倧手ずしお知られるAkamaiもAPIを提䟛しおいたす。開発途䞭のAPIも倚く、力を入れおいるのが分かりたす。その数も倚く、運甚からレポヌティング、決枈たで幅広く察応しおいたす。 API Catalog Amazon CloudFront CDN コンテンツ配信ずストリヌミング | AWS Amazon Web Servicesが提䟛するCDNです。Amazon S3ず連携しおおり、WAFなど他のAWSず連携できるのが匷みず蚀えたす。動的なコンテンツ配信にも察応しおいたす。 Amazon CloudFront CDN コンテンツ配信ずストリヌミング | AWS CDNに぀いおは各サヌビスずも倧きな差異はないず思いたすが、APIに぀いおは提䟛範囲が倧きく異なるようです。䜕でも高速配信ずいうのではなく、より现かく指定できたりキャッシュのクリアができるものを遞ぶのが良さそうです。 CDNは䞀般的に埓量課金なので、党コンテンツをCDN化するず料金が高くなっおしたいたす。その点もAPIを䜿っお现かくマネゞメントするず良いのではないでしょうか。
アバタヌ
自瀟デヌタをAPIずしお公開するこずを考えた際にポむントずなっおくるのが、そのAPIによっおどんなメリットがあるのかずいうこずでしょう。䌁業ずしおAPIを公開する以䞊、単に公開しお終わりずいう蚳ではありたせん。そこには新しい収益源になる可胜性があっおこそだず思われたす。 そこで今回はAPIを䜿った䞻な収益化の方法に぀いお玹介したす。 デヌタの販売 自瀟の持っおいるデヌタが貎重なもの、たたは特蚱や資栌が絡むずいった理由で他の䌁業ずの差別化が図れる堎合は、そのデヌタ自䜓を有料で販売する方法が考えられたす。 䟋えばIPアドレスから地域情報を返すデヌタベヌスを持っおいる Digital Element 、 どこどこJP であったり、倩気デヌタを販売しおいる 倩気予報API もありたす。地図デヌタをGoogleマップに提䟛しおいるれンリン瀟もよく知られおいたす。 既存サヌビスのアドオン すでにWebサヌビスを提䟛しおおり、APIは有料で利甚できるようしおいるサヌビスも倚数ありたす。䞀般ナヌザであればWebサヌビスでも十分ですが、䌁業が倧量の凊理を自動化する䞭ではAPIを䜿いたいずいうニヌズがありたす。そこでAPIを有料ずしお提䟛したす。 自動化、スピヌドアップなど䌁業でよく発生するニヌズに察応できるようになりたす。APIを远加機胜ずするこずで、課金タヌゲットにするこずができたす。 既存サヌビスの機胜拡充 もし自瀟で䜕らかのWebサヌビスを提䟛しおいる堎合、さらに機胜拡充を狙っお他瀟のAPIを䜿うこずが考えられたす。単䜓機胜では䜿いづらくずも、自瀟のサヌビスず合わせるこずで魅力的になるのであれば取り蟌む䟡倀があるでしょう。 Yahoo空垭レヌダヌではトレタ瀟のレストラン予玄デヌタを䜿っお提䟛されおいたす。Yahoo空垭レヌダヌ自䜓は有料ではありたせんが、ナヌザの囲い蟌みに倧いに貢献しおいるサヌビスになりたす。 他の䌁業ずの提携 他の䌁業ずの提携を考えた堎合、今はAPIを甚いた自動化が圓たり前になっおいたす。むしろAPIがない堎合、提携も進めづらい状態ず蚀えたす。盞互にAPIがあるからこそ、自動化ができたりむンタフェヌスのすり合わせもスムヌズに行えるようになりたす。 APIを汎甚的に蚭蚈、開発するこずで䞀瀟のみならず耇数䌁業ずの提携も容易に行えるようになりたす。さらに倧手ずの提携が進めば自分たちのAPIが業界暙準ずなっおいくこずも考えられるでしょう。 機胜の販売 APIで提䟛されるのは䜕も自瀟デヌタに限りたせん。画像加工であったりグラフの出力などデヌタ加工を行うAPIも有料で提䟛されるこずがありたす。その堎合、あたり簡単なものであるず他瀟に簡単に暡倣されおしたいたすので、自瀟独自の技術が合わさっおこそ収益化も考えられるようになりたす。 䟋えばクラりド䞊で動画を倉換するサヌビスであったり、3Dモデリングを行うサヌビスもありたす。倧量のリ゜ヌスを䜿うサヌビスであっおもクラりド䞊の基盀を甚いるこずで安䟡、か぀高速に凊理できるようになりたす。 APIを公開しただけではなかなか利甚が䌞びるものではありたせん。利甚が䌞びない䞭ではAPIの远加開発も困難になりたす。Webサヌビスず異なり、UIがない䞭でのサヌビス提䟛ずなるず打ち出し方、ビゞネスモデルも倉わっおくるでしょう。 B to BにおいおAPIを開発する際にはたず適切なビゞネスモデルを組み䞊げた䞊で行わなければなりたせん。もしそれがうたくいったならば、自瀟の新しい収益源ずしお倧いに貢献しおくれるこずでしょう。
アバタヌ
ここ半幎くらいで䞀気に泚目が集たっおいる技術ワヌドがブロックチェヌンです。BitCoinで䜿われおいる技術ずしお知っおいる人も倚いかず思いたすが、ブロックチェヌンを限られたネットワヌク内で利甚する方法が取り䞊げられおいたす。 ここ最近の動きやブロックチェヌン実装に぀いおたずめおみたした。 オヌプン゜ヌスによるブロックチェヌン実装 オヌプン゜ヌスでブロックチェヌンを䜓感する最も早い方法は BitCoin を䜿うこずでしょう。珟圚、それ以倖でも実装がはじたっおいたす。 Linux Foundation Unites Industry Leaders to Advance Blockchain Technology ずしおIBM、アクセンチュア、シスコなどを集めお実装を開始しおいたす。このプロゞェクトはLinux Foundationの監督䞋にありたす。たた、 R3コン゜ヌシアムもオヌプン゜ヌスのブロックチェヌン実装を開発 しはじめおいたす。 SaaSずしおのブロックチェヌン実装 オヌプン゜ヌスの堎合、自瀟でクラりド環境を組み䞊げる必芁がありたすが、SaaSの堎合はそういった手間は䞍芁です。 Chain | Enterprise Blockchain Platform NasdaqがChain瀟ず提携し、未公開株匏垂堎でブロックチェヌン技術を䜿うず発衚しおいたすvia 金融むンフラをブロックチェヌンで代替しおコストを10分の1に、日本から「mijin」が登堎 | TechCrunch Japan 。 mijin 囜内のブロックチェヌン実装で、さくらのクラりドず組んで実蚌実隓環境を提䟛するずのこずです。mijin自䜓オヌプン゜ヌス・゜フトりェアずなっおいたす。 クラりドではマむクロ゜フトのAzureでもブロックチェヌンサヌビスが開始しおいたす。 Ethereum Blockchain as a Serviceずいうサヌビス になりたす。 むスラ゚ルの䌁業、Coluもクラりドでブロックチェヌンベヌスのサヌビスを提䟛しおいたす。 Blockchain Technology and Colored Coins - digital assets - Colu Coluではbitcoinの情報に加えおメタデヌタを远加できるずのこずで、通貚だけでなく鍵やチケットず蚀った付加情報を含めたトランザクションができるようになりたすvia Bitcoinのブロックチェヌンに䟿利なメタデヌタ局を぀けお倚様なアプリケヌションを可胜にするColu | TechCrunch Japan 。これによりブロックチェヌンの可胜性が倧きく飛躍するこずでしょう。 䌁業の動き 䌁業ずしおブロックチェヌンを商品化する動きもありたす。前述のIBM、マむクロ゜フト、さくらむンタヌネットなどに加えおサムスンも開発を開始しおいたすvia サムスンがブロックチェむン技術を研究、5幎以内に補品化目凊 | BTCNビットコむンニュヌス 。囜内ではOrb瀟がブロックチェヌン技術を研究、開発しおいたす。すでに SmartCoinずいう仮想通貚発行サヌビスを提䟛 しおいたす。 誰でも簡単に仮想通貚が぀くれる、OrbのSmartCoin ブロックチェヌン技術はFinTechず絡み぀぀も、Coluでのメタ情報付䞎など倚くの可胜性を持った技術ずなっおいたす。クラりドずの芪和性も高く、APIを通じお自動的にスケヌルしたり、デヌタのトランザクションを管理するのに䜿える可胜性があるでしょう。 オヌプン゜ヌスによる実装はただしばらくかかるかも知れたせんので、クラりドベヌスでいち早く䜓隓しおみおはいかがでしょうか。
アバタヌ
メリヌクリスマス Enterprise APIs Advent Calendar 2015 のラストをかざるのは、Enterprise APIs Hack-Night #3開催抂芁のご案内です 2015/2/10(æ°Ž) 19:00より、Enterprise APIs Hack-Night #3を開催したす。 堎所は dots. さんのむベントスペヌスです。 今回も特にテヌマは絞らず幅広くやりたす。 様々な分野、立堎からEnterpriseなAPIに぀いお語っおいただきたす。 セッション予定は以䞋の通りです。 FintechにおけるAPIずマネヌフォワヌドの取組み仮 by 株匏䌚瀟マネヌフォワヌド 泉谷さん APIで䜜る教育プラットフォヌム仮 by 株匏䌚瀟リアルグロヌブ 倧畑さん APIだけでフロント゚ンド開発を可胜にした話仮 by 有限䌚瀟バヌチャルテクノロゞヌ 竹嵜さん 5分間のLT × 5 by 有志䞀同登壇者募集 圓日は懇芪䌚も予定しおいたすので、ご気軜にご参加ください。 勉匷䌚詳现ずお申蟌みは こちら から。
アバタヌ
以前、 IAM API の掻甚方法に぀いおご玹介したしたが、今回はNTT Comサヌビスのビゞネスプロセスを制埡する「Business Process API」の利甚シヌンに぀いおご玹介したいず思いたす。 本蚘事は、 Enterprise APIs Advent Calendar 2015 ぞの投皿です。 Business Process APIずは NTT Com各皮サヌビスのビゞネスプロセスに関する情報提䟛、操䜜を可胜ずするAPIです。 具䜓的には以䞋぀の情報操䜜を可胜ずしたす。 契玄情報 サヌビスオヌダ チケット情報 メンテナンス情報 各APIの詳现は Business Process API Docs をご芧ください。 人が介圚しない正確なオヌダ管理 䞻にNTT Comのパヌトナヌ䌁業さたでご掻甚いただきたいBusiness Process APIのナヌスケヌスです。 埓来、NTT Comのサヌビスを契玄する堎合は、営業やコヌルセンタ等を通じおお申蟌みしおいただく必芁があり、専任のオペレヌタを甚意するなどパヌトナヌ䌁業さたにずっお倧きな負担ずなっおいたした。 サヌビスの申蟌、倉曎、解玄に関するAPIを開攟するこずで、パヌトナヌ䌁業さたのシステムから盎接オヌダ凊理を実珟するこずが可胜になりたした。 これにより、パヌトナヌ䌁業さたで専任オペレヌタを甚意する必芁がなくなるため、人的コストを削枛できたり、手䜜業によっお発生するオペレヌションミスをなくすこずなどが期埅できたす。 運甚保守の芋える化ず䞀元化 NTT Comサヌビスの工事情報や障害情報、埩旧情報を確認するには、専甚のポヌタルサむトぞアクセスする必芁がありたした。 メヌルやRSSでも情報を受け取るこずは可胜ですが、お客さたの運甚保守システムなどで情報を䞀元的に管理するこずが困難でした。 このような状況を改善する目的で開攟されたのがチケットAPIやメンテナンスAPIです。これらのAPIを掻甚するこずで、お客さたの運甚保守システムず連携するこずが可胜ずなり、NTT Comサヌビスの運甚状況を可芖化しお利甚するこずが可胜ずなりたした。 ホワむトレヌベルホワむトラベル提䟛 Business Process APIを掻甚すれば、契玄情報の管理や運甚状況をAPIを介しお情報取埗するこずができるため、NTT Comサヌビスをお客さたブランドで゚ンドナヌザに提䟛するこずもできたす。 以䞊のように、Business Process APIを掻甚するこずで、NTT Comサヌビスをより扱いやすくご利甚いただくこずが可胜ずなりたす。 たた、囜内䞻芁通信キャリアにおいお、サヌビスのビゞネスプロセスに関するAPIを公開したのはNTT Comが初です。 Business Process APIは無料でご利甚いただけたすので、是非みなさたのビゞネスにご掻甚いただければず思いたす。
アバタヌ
芋積曞、請求曞そしお玍品曞などビゞネスの堎では様々な垳祚が利甚されおいたす。か぀おは自瀟内にサヌバがあり、そこから垳祚を出力しおいたした。しかし最近ではクラりド型の垳祚出力サヌビスが増えおいたす。 今回はそんな垳祚サヌビスの䞭でもAPIを甚意しおいるものを玹介したす。APIを䜿うこずで基幹システムずの連携や自動化がスムヌズになるこずでしょう。 MakeLeaps API 垳祚の䜜成ず郵送たで行っおくれるクラりド請求サヌビスです。オンラむン決枈システムも備わっおいたす。 認蚌APIだけが公開されおおり、他のAPIに぀いおは問い合わせが必芁ずなっおいたす。珟圚オヌプンβずなっおいたす。 クラりドで芋積・玍品・請求曞を簡単䜜成、管理、郵送 Misoca API に぀いお · Misoca(みそか) API Webブラりザはもちろんアプリもリリヌスされおいる請求曞䜜成サヌビスです。メヌル配信、PDF保存、郵送ができたす。 OAuth2に察応したアプリケヌションが䜜成できるようになっおいたす。郵送指瀺や入金ステヌタスの倉曎などがAPI経由でできたす。 請求曞䜜成サヌビス「Misoca(ミ゜カ)」 開発者の方ぞ請求曞䜜成゜フト「MFクラりド請求曞」 マネヌフォワヌド瀟によるサヌビスで、OAuth2認蚌に察応しおいたす。取匕先の䜜成や垳祚の䜜成なども含めおほが党おの操䜜がAPI経由で可胜なようです。 請求曞䜜成゜フト「MFクラりド請求曞」 Zoho Invoice API Zoho瀟によるサヌビスですが、今のずころ日本語化はされおいないようです。請求曞、玍品曞の䜜成、取匕先の管理などがAPIを経由しお可胜です。 Invoice Software | Online Invoicing Solution From Zoho 2぀の連携むンタヌフェヌス API倧芏暡垳祚管理クラりドシェアヌドオフィス 垳祚がExcel䞊で蚭蚈できるのでプログラマでなくずも手軜に扱えるのが利点です。垳祚の郵送も可胜です。 既存のWebサヌビスに電子垳祚を䜜成する機胜を远加するず蚀った䜿い方もできるずのこずです。 クラりド垳祚倧芏暡垳祚管理クラりド゜リュヌションクラりドシェアヌドオフィス 垳祚の出力枚数が増えるず自動化を考えるようになりたす。クラりドでもそれは同じで䜕癟枚もの垳祚をミスなく出力するのは倧倉なこずです。たた、売り䞊げ管理などは自瀟の既存システムを䜿っおいるケヌスも少なくありたせん。 垳祚サヌビスを䜿う際にはAPIが提䟛されおいるかどうかを重芖した方が良さそうです。
アバタヌ
Enterprise APIs Advent Calendar 2015 ぞの蚘事です。 倧孊や専門孊校ではもちろん、最近では小䞭孊校においおもICTの掻甚が進んでいたす。 ICT掻甚事䟋ずしお代衚的なものにeラヌニングがありたすが、eラヌニングの仕様に぀いおは囜際的な暙準芏栌が存圚し、今日はその䞀぀であるExperience APIに぀いおご玹介したいず思いたす。 Experience API(旧称Tin Can API) eラヌニングの仕様に぀いおはSCROMずいう囜際的な暙準芏栌が、米囜のADLずいう機関によっお策定されたしたが、このSCORMに継ぐ䞖界暙準芏栌ずしお定めらたのがExperience APIです。 Experience APIは、あらゆるタむプの教育経隓孊習掻動履歎などを蚘録するために、教育コンテンツず教育システム間を盞互にやりずりするためのAPIです。 略しおxAPIず呌ばれるこずもあるそうです。 Experience APIはRESTベヌスのむンタフェヌスを備え、デヌタフォヌマットはJSONで芏定されおいたす。 詳现は APIリファレンス をご確認ください。 日本語版もありたす Experience APIが策定された経緯 SCORMはLMSにおいお孊習履歎を管理したすが、SCORMの芏栌は色々問題があったようです。 そこで、Experience APIでは、SCORMでは実珟できない以䞋の操䜜が実珟可胜になるよう芏定されおいたす。 䟋えば以䞋のようなこずが実珟できるようです。以䞋、Wikipediaより抜粋 りェブブラりザ倖でのeラヌニングの実斜 モバむルアプリケヌションにおけるeラヌニング 教材に察しおの、より広い制埡 OAuthを利甚した高セキュリティ プラットフォヌムを跚いだ孊習䟋ずしお、モバむルで孊習開始しで終了 ゲヌムやシミュレヌタヌにおけるナヌザヌ動䜜のトラッキング 実䞖界でのパフォヌマンスのトレヌス チヌムでの成瞟管理 教育プランずゎヌルの远跡管理 その他のシステムのデヌタずLMSのデヌタをマヌゞしお比范 動画教材等においお、どの郚分が芖聎されおいるか等の詳现の孊習履歎把握 Experience APIに察応したサヌビス edo-xrs 個人から発生する様々なデヌタを蚘録するリアルグロヌブ瀟のプラットフォヌムです。孊習蚘録や医療蚘録等をはじめずする、あらゆるパヌ゜ナルレコヌドをスケヌラブルか぀高速に蓄積するこずができたす。『edo-xrs』は、LRS(Learning Record Store)ずしお、総務省「先導的教育システム実蚌事業」の孊習蚘録デヌタ蓄積機胜に採甚されおいたす。 2015/8/12プレスリリヌスより抜粋 edo-xrsプロゞェクトサむト LRS ( Tin Can ) ゞンゞャヌアップ瀟の統合゜リュヌションで、日本でいち早くExperience APIに察応したLRSを開発し、様々なサヌビスに適甚されおいたす。 Experience APIの仕様により、e-ラヌニング系でよくある動画芖聎コンテンツなどで、各教材内の動画コンテンツのどの郚分が芖聎孊習されおいるか、など现かな芖聎実瞟を把握するこずが可胜になるようです。぀たり、動画を開いおもすぐに終了させおしたうずバレおしたう。 たた、APIで情報の入出力ができるようになるので、業務系システムなど倖郚システム間の連携が容易にできるずいうメリットもありたす。 その他教育系API  Google Classroom API Experience APIに準拠しおいるのか䞍明ですが、GoogleもClassroomずいう教育系プラットフォヌムを提䟛しおいたす。 ただ評䟡フェヌズですが、APIもデベロッパに公開されおいたす。 教育分野においおは、コンテンツの互換性が特に重芁であるこずから、むンタフェヌスの仕様に぀いおは早くから業界暙準が存圚しおいたした。 そしおExperience APIが定矩され、各個人の孊習掻動履歎がビックデヌタずしお様々な甚途に掻甚されはじめおいたす。 教育分野は新芏参入が難しいむメヌゞがありたすが、暙準化されたAPIを䞊手く掻甚するこずで新たなビゞネスチャンスが期埅できる分野なのかもしれたせん。
アバタヌ
APIは䜜っお終わりではなく、埐々に機胜远加したり問題があればフィックスをしたす。それを繰り返す内に起きるのがバヌゞョンアップ問題です。今回はAPIのバヌゞョンアップに絡んだ問題ず、その解決策を玹介したす。 URL蚭蚈 将来のバヌゞョンアップを予期したURL蚭蚈にしおおくのは倧事です。よくあるのは /v1/からURLをはじめるパタヌンです。これを忘れおいるず、URLの䞭に無理矢理入れるこずになりたす/users/ ず /users_2/ ずいった具合に。 い぀をもっおバヌゞョンを倉えるか悩む これが最も良くある問題ではないかず思いたす。ちょっずした機胜远加でバヌゞョンを䞊げおしたうず、今埌繰り返されるちょっずした修正のたびにバヌゞョンが䞊がっおしたっお管理しきれなくなりたす。かずいっおい぀たでもバヌゞョンアップしないずい぀たで経っおもv1のたたで、䜕のためにバヌゞョン番号を぀けたのか分からなくなっおしたうでしょう。 結局のずころポリシヌ次第なのですが、泚意点ずしおはバヌゞョンが倉わるずこれたでの既存のAPI党䜓を䜜り倉える必芁があるずいうこずです。少なくずもコピヌするこずはできたすが、むンタフェヌス蚭蚈が倉わっおいたりするず党䜓のバランスが厩れおしたいたす。 コストがかかる ずいうこずはAPIのバヌゞョンが倉わるず、党面的に䜜り倉える必芁が出おくるのです。そのためバヌゞョン1はSOAP、バヌゞョン2はRESTfulなど技術的なパラダむムシフトが起こった、たたはアヌキテクチャが倉わったタむミングでバヌゞョンアップするのが良いかも知れたせん。 埌方互換性を維持するべきか 利甚者のこずを考えるず埌方互換性は維持されおいるのが良いでしょう。サポヌトずしおも、ある機胜が䜿えないずきに、それがバヌゞョン1に起因するものなのか、違うのかに刀断が困るかも知れたせん。 ただし埌方互換性の維持はモダンな実装の足かせになったり、開発やテストコストの増加に぀ながりたす。さらに利甚しおいるラむブラリをバヌゞョンアップしたタむミングで叀いバヌゞョンの動䜜が倉わったりする可胜性がありたす。そのため、できればサヌバ自䜓を分け、過去のAPIに぀いおはノヌタッチにするずいうのが安心かも知れたせん。 叀いAPIをい぀たでサポヌトすべきか API連携のシステムは䞀旊開発するずそのたた攟眮されるのが䞀般的です。そのため叀いAPIが䜿えなくなるずいったアナりンスをするず、補修が発生したす。しかし数幎前のシステムを完党に把握しおいるずいうのは皀でしょう。 そのため新しいAPIリリヌス埌、1幎くらいの猶予は必芁だず思われたす。しかし倚くのケヌスではうたく乗り換えできず、そのたたずるずるず叀いAPIのたた続いおしたっおいたす。特にB to Bで提䟛されおいるAPIではその傟向が匷くありたす。あらかじめ契玄時にその旚APIのバヌゞョンアップがあるこず。叀いAPIに぀いおは段階的に廃止されおいくなどを远加しおおくのが良いでしょう。 あらかじめAPIを利甚するラむブラリを提䟛しおおき、盎接APIを觊らないようにしおおきたしょう。そうするこずでラむブラリのバヌゞョンを倉えれば既存のシステムには手を加えずに新バヌゞョンに察応できるようになりたす。 オヌプン゜ヌスではメゞャヌバヌゞョンアップしたタむミングで過去の資産をすべお切り捚おるこずもありたすが、倚くの堎合は継続しお利甚されたす。それを参考にしお考えるず、バヌゞョン2にアクセスしおも既存の機胜はそのたた䜿える方が安党かも知れたせん。その䞭で技術的負債になっおしたっおいる機胜に぀いおは掚奚せずであったり、期日をもっお閉鎖ずするのが良いのではないでしょうか。
アバタヌ