Webサービス
Webサービスとは、Webサイトの構築技術を使って、JSONなどのデータを返すサービスのことです。「WebサービスAPI」や「Web API」などとも呼ばれます。
主な特徴
Webサイトは不特定多数が殺到したような超高負荷などに耐える仕組みも発展しており、そのような負荷分散技術などをそのまま応用できるという特徴があります。
また、独自プロトコルのソケット通信を使ったAPIと異なり「HTTPはルーターを超えやすい」という特徴があります。ほとんどの企業においてHTTPだけはファイヤーウォールで塞がれていないのが一般的なためです。
Webサービスは、Web技術を用いて、異なるプログラミング言語やプラットフォーム間での相互運用性を実現することができます。例えば、Javaで書かれたWebサービスは、PHP、Python、Rubyなどの他の言語で書かれたクライアントからもアクセス可能です。Webサービスは、SOAPやRESTなどのプロトコルを使用して通信を行い、XMLやJSONなどのデータ形式で情報を交換することができます。
主な設計手法
- XML-RPC = Webサービスで一番最初に流行ったのがXML-RPCです。送受信ともにXMLでやり取りするという煩雑なものでした。通信にHTTPを使いますが、中身はほぼ独自通信プロトコルみたいな感じで非常に使いにくいものでした。
- AJAX = 次に流行ったのがAJAXでした。単純にURLを叩いたらXMLかJSONが返ってくるというもので、実装はXML-RPCより相当簡単になりました。
- RESTful = 最近流行りなのがHTTPメソッドで「CURD」を再現するRESTという手法です。AJAXは無秩序でAPIマニュアルを読まないと利用は難しいものでしが、RESTは秩序が生まれマニュアルを隅々まで読まなくても何となく使えます。