##始めに
将来、unityやsteam works関連で apiを使用しますので、関連技術を簡単にまとめておきます。
##RPC
RPCにより、ネットワークを通じ、別ユーザの作成したプログラムを使用することが出来ます。
ただし、作成されたプログラムは個別の呼び出しには対応していません。そこで、 apiと呼ばれるインタフェースを挟み、ユーザに対応を依頼する事で、円滑な手続きを可能にする訳です。
この場合、apiはRPCプロトコルを内包している、と表現しても、設計によりますが、良いと思います。
RPCで呼び出されるのは、プログラムです。これを、自分の作りたいプログラムに組み込みます。
##Web api
Web apiにおいては、ユーザは、プログラムではなく、何らかのサービスを享受します。
基本的な考え方はRPCと同様、 api、すなわち手続きを以て呼び出しを行い、呼び出されたシステムを自分の作りたいアプリケーションに組み込みます。
多くの場合、httpプロトコルが用いられます。
この考えは、つまるところ、Web サービスと同じ訳です。利用者層が違うくらいです。
##デメリット
多くの便利な外部ツールの利用は有用ですが、実装過程のブラックボックス化を伴います。自社開発能力の低下を招きます。
外部サービスに依存するというのは、怖い事と考えています。利用する際には、せめて、背景にある技術は把握しておいた方が良いと思います。
RPCに関連する所では、外部のプログラムに合わせたコーティングを強いられる問題もあります。
自社開発能力などの、所謂、組織の知識について、考えてみると良いかと思います。
##今後
個人的には、RPCにより呼ばれるプログラム、これのオープンソース化進展を期待しております。
soap、restなどの概念、httpリクエストの詳細などは、おいおい勉強致します。
##最後に
お読み頂きありがとうございました。