去る2月21日に、APIStudy#5が開催されました。様子はこちらからご覧ください。appresso.hatenablog.com今回はゲストに乗り換え検索アプリ「駅すぱあと」でおなじみの株式会社ヴァル研究所さんを迎え、APIについて語り合いましたので、その様子をご報告します。丸山さん最初は、ヴァル研究所テクニカルエヴァンジェリストである丸山さんから。ヴァル研・駅すぱあとのご紹介をしていただいたあとに(運営脇野とヴァル研究所は同い年!)、こんな駅すぱあとWebServiceAPIは嫌だ!をテーマにAPIへの思いをぶつけていただきました。APIKeyが紙で届く。コピーさせてくださいよぉ自動発行されないパスが直感的ではないパラメータ多すぎJSONが扱いづらい...そして最後に恐ろしい画面が...!道理で感情がこもっていたわけですね...。#5開催日翌日(2月22日)が駅すぱあとの誕生日でした。backendのお話でした!そして、SNSで以下を呟いてもらうことが本日の目標。#NCMBすごーい(出たな、サーバルちゃん...!)というのは冗談で本当はこっち↓アプリ作っていてサーバーを建てなければいけないときに、まるっとカバーできるのがニフティクラウドです。そのAPIに4つの問題があるので、そちらを紹介していただきました。APIのバージョニング問題。いつバージョンを切り替えるのが問題。妥当性チェックのときに、APIをコールしないと正しいかわからず、ハードルが上がる。データストアでは勝手にクラス名をいじって保存場所を変更できる。...が、美しくない!ドメイン問題。4つもAPIのドメインがあって管理が大変。伊藤さんそして最後は、伊藤さんから「WebAPIでダブルバッファリング」について。データのチェック処理で完了までには時間がかかるので集計途中のデータを確認したく、WebブラウザからAPIで引っ張っていました。これをバッチで並行に処理していきます。そのうちどんどん処理時間が長くなり、タイムアウトが発生してしまうようになってきます。そこでちょっと前のデータを予め集計し公開を繰り返すようにし、リクエストとデータ更新がぶつからないように変数を分けておく必要があったと、つまりダブルバッファリングが必要だったいうお話でした。切り替えイメージに、またしてもサーバルちゃん!!いや、これはサーバル!すごーい!けもフレはやっぱり人気なんだね!そして、レスポンスに時間がかかるWebAPIはどう処理するべきなのか、議論したいとのことでした。複数のAPIをバラバラで使う場合の方法そしてグループに別れ、発散発散!共有タイムレスポンスがかかる場合の方法レスポンスの許容範囲どのくらいか、というのはバッチとリアルタイムによってきます。バッチの場合は、単位が営業日単位。リアルタイムでは、厳しいところだと200ミリsec以内。UXも結構大事!レスポンスを早くするためには、リアルタイムでDBにアクセスに行かないのが1つのベストプラクティス!あとは、お客さんの許容範囲を知ることが大事。その概念を営業に植え付けとかないと「遅いって言われてる!!!」って慌てちゃうので、認識をもたせましょう。APIのサポートが増加した場合の対応サポート大変だよね問題。それは、コミュニティのユーザーさんが質問に答えてくれるエコシステム。核となる人が必要なので、その人たちを見つけて意識付けをし、構築していきました。所謂エヴァンジェリストのような方々です。kintoneのことが好きな人に、協力いただいているそうです!またサンプルコードを充実させるのもよいプラクティス。マネージドはいろんな言語でサンプルコードがあるから便利かも。あとは、問い合わせ自体を営業にやらせて鍛えるという案も。再現ができないエラー、エラーメッセージの原因がいまいちわからないあるある!エラー時のレスポンスコードが200でその中に理由が入ってて意外とわからない...。エラー時のレスポンス出力コーディングまちまち...。仕様がバラバラなどの仕様あるあるまで、たくさん発散していました。ドキュメントが間違っている!!パスワードつきのExcelファイルはいけてない!!!!!...などなど、最後の方は滾っていましたね...。複数のAPIをバラバラで使う場合の方法いろんなAPIをまとめて使って、レスポンスや結果を返すことについて。「分散処理してマージ」を繰り返すというのが実際にあったケースで挙げられました。あと、A社B社C社のAPIを使いたいがレスポンスがそれぞれどのくらいで来るかわからない場合、どう処理するのか?の結果が以下2つ。時系列で処理するように実装していく処理ができた順番にレスポンスを返すWebAPIには遅延がかならずあるので、そこの処理が重要になってくるという結論になりました。人によってAPIの捉え方が違うし、APIへの関わり方によっても違ってくるので、いろんな立場の人とAPIについて話していけると面白い!おわりにLTでまさかサーバルネタがかぶるとは思いませんでした...。!\サーバルだよ!/なんだかんだで今回のMVPかもしれない...そして今回は開催報告が遅くなってしまって申し訳ないです...。その為!!!!!次回開催が定員オーバー!なんということでしょう!これも皆さんが楽しそうにAPIトークをしていただいているおかげです...。次回はさくらインターネットさんで開催します。ようこそAPIStudyパーク!宜しくお願いします。