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