Webサービス

提供: MonoBook
2023年3月29日 (水) 06:17時点におけるAdministrator (トーク | 投稿記録)による版 (→‎主な設計手法)
ナビゲーションに移動 検索に移動

Webサービスとは、Webサイトの構築技術を使って、JSONなどのデータを返すサービスのことです。「WebサービスAPI」や「Web API」などとも呼ばれます。

主な特徴 

Webアプリの技術が流用できる

Webアプリは不特定多数が殺到したような超高負荷などに耐える仕組みも発展しており、そのような負荷分散技術などをそのまま応用できるという特徴があります。

ルーターを越えやすい

また、独自プロトコルのソケット通信を使ったAPIと異なり「HTTPルーターを超えやすい」という特徴があります。ほとんどの企業においてHTTPだけはファイヤーウォールで塞がれていないのが一般的なためです。

プログラミング言語などに依存しない

Webサービスは、SOAPRESTなどのプロトコルを使用して通信を行い、XMLJSONなどのデータ形式で情報を交換することができます。これらは異なるプログラミング言語やプラットフォーム間での相互運用性を実現することができます。例えば、Javaで書かれたWebサービスは、PHPPythonRubyなどの他の言語で書かれたクライアントからもアクセス可能です。

主な設計手法

XML-RPC

XML-RPCはWebサービスで一番最初に流行ったのがXML-RPCです。送受信ともにXMLでやり取りするという煩雑なものでした。通信にHTTPを使いますが、中身はほぼ独自通信プロトコルみたいな感じで非常に使いにくいものでした。

AJAX

次に流行ったのがAJAXでした。単純にURLを叩いたらXMLJSONが返ってくるというもので、実装はXML-RPCより相当簡単になりました。ただあまりに無秩序でした。

REST

最近流行りなのがHTTPメソッドで「CURD」を再現するRESTRESTful)という手法です。 大雑把にいえばAJAXの「URL」と「戻り値」にルールを付けたものです。これによりAJAXは無秩序でAPIマニュアルを読まないと利用は難しいものでしが、RESTは秩序が生まれたことでマニュアルを隅々まで読まなくても何となく使えるようになりました。あくまで何となくです。