「Webサービス」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
| (同じ利用者による、間の10版が非表示) | |||
| 2行目: | 2行目: | ||
== 主な特徴 == | == 主な特徴 == | ||
[[ | ; Webアプリの技術が流用できる | ||
[[Webアプリ]]は不特定多数が殺到したような超高負荷などに耐える仕組みも発展しており、そのような負荷分散技術などをそのまま応用できるという特徴があります。 | |||
; ルーターを越えやすい | |||
また、独自プロトコルの[[ソケット通信]]を使った[[API]]と異なり「[[HTTP]]は[[ルーター]]を超えやすい」という特徴があります。ほとんどの企業において[[HTTP]]だけは[[ファイヤーウォール]]で塞がれていないのが一般的なためです。 | また、独自プロトコルの[[ソケット通信]]を使った[[API]]と異なり「[[HTTP]]は[[ルーター]]を超えやすい」という特徴があります。ほとんどの企業において[[HTTP]]だけは[[ファイヤーウォール]]で塞がれていないのが一般的なためです。 | ||
; プログラミング言語などに依存しない | |||
Webサービスは、[[SOAP]]や[[REST]]などのプロトコルを使用して通信を行い、[[XML]]や[[JSON]]などのデータ形式で情報を交換することができます。これらは異なる[[プログラミング言語]]やプラットフォーム間での相互運用性を実現することができます。例えば、[[Java]]で書かれたWebサービスは、[[PHP]]、[[Python]]、[[Ruby]]などの他の言語で書かれたクライアントからもアクセス可能です。 | |||
== 主な設計手法 == | == 主な設計手法 == | ||
; XML-RPC | |||
[[XML-RPC]]はWebサービスで一番最初に流行ったのがXML-RPCです。送受信ともにXMLでやり取りするという煩雑なものでした。通信にHTTPを使いますが、中身はほぼ独自通信プロトコルみたいな感じで非常に使いにくいものでした。 | |||
; SOAP | |||
XML-RPCを発展させたものとして「[[SOAP]]」が登場しました。語源は「Simple Object Access Protocol」ですがまったくシンプルではありませんでした。 | |||
;AJAX | |||
SOAPがまったくシンプルではなかったためXML-RPCの次に流行ったのは「SOAP」ではなく「[[AJAX]]」でした。単純に[[URL]]を叩いたら[[XML]]か[[JSON]]が返ってくるというもので実装はXML-RPCより相当簡単になりました。[[Google]]が[[検索エンジン]]の[[サジェスト]](入力予測)機能で使い始めたことで話題になり一気に大流行しました。 | |||
; REST | |||
AJAXはあまりに無秩序でした。そこで登場したのがHTTPメソッドで「[[CRUD]]」を再現する「[[REST]]([[RESTful]])」という手法です。大雑把にいえばAJAXの「URL」と「戻り値」にルールを付けたものです。[[AJAX]]は無秩序でAPIマニュアルを読まないと利用は難しいものでしが、[[REST]]は秩序が生まれたことでマニュアルを隅々まで読まなくても何となく使えるようになりました。あくまで何となくです。 | |||
[[category: プログラミング]] | |||
[[category: ウェブ]] | |||