Webサービスとは、Webサイトの構築技術を使って、JSONなどのデータを返すサービスのことです。「WebサービスAPI」や「Web API」などとも呼ばれます。
Webサイトは不特定多数が殺到したような超高負荷などに耐える仕組みも発展しており、そのような負荷分散技術などをそのまま応用できるという特徴があります。
また、独自プロトコルのソケット通信を使ったAPIと異なり「HTTPはルーターを超えやすい」という特徴があります。ほとんどの企業においてHTTPだけはファイヤーウォールで塞がれていないのが一般的なためです。
主な設計手法
- XML-RPC = Webサービスで一番最初に流行ったのがXML-RPCです。送受信ともにXMLでやり取りするという煩雑なものでした。通信にHTTPを使いますが、中身はほぼ独自通信プロトコルみたいな感じで非常に使いにくいものでした。
- AJAX = 次に流行ったのがAJAXでした。単純にURLを叩いたらXMLかJSONが返ってくるというもので、実装はXML-RPCより相当簡単になりました。
- RESTful = 最近流行りなのがHTTPメソッドで「CURD」を再現するRESTという手法です。AJAXは無秩序でしたがRESTで秩序が生まれました。