こんにちは。martinです。
今回ご質問させていただきたい内容なのですが、現在JavaにGoogle Maps APIを実装しアプリケーションを作成しようと考えています。
しかし、APIを実装するといってもどのようにプログラムを組めばよいかわからずどのWebサイトを見ても納得はできませんでした。
Webサーバにリクエストをし結果を取得することはこの間何とか出来たのですがAPIだけがどうしても複雑で理解しがたいです。
できれば、具体例などコードを交えて説明していただけますと助かります。
どうぞよろしくお願いいたします。
追記
アプリケーションサーバーでアプリケーションを実行
次に例としてWebページをJavaで実装する場合、アプリケーションサーバーを用意します。アプリケーションサーバーはアプリケーションを実行するためのソフトウェアであり、
Javaのアプリケーションサーバーで有名なものとしては、TomcatやJetty, GlassFishがあります。
ここで用意したアプリケーションサーバーはWebサーバーと別物なので簡単にやりとりができません。
WebクライアントとWebサーバー間がHTTPプロトコルでやりとりできるように、
Webサーバーとアプリケーションサーバー間もやりとりできるようにするための何かしらのプロトコルを必要とします。
WebサーバーをApache,アプリケーションサーバーをTomcatとした場合、
Apacheにはmod_jkと呼ばれる連携用モジュールが提供されており、これをApacheの拡張機能として組み込みます。
連携用モジュールmod_jkがajp13というプロトコルを使用することで、Webサーバーとアプリケーションサーバー間でのやりとりを実現させています。
ちなみに、Tomcatは簡易的なWebサーバーも持っているため、連携しなくても動的Webページを表示できます。
Webサーバーとアプリケーションサーバー間でやりとりができるようになったことで、Webクライアントからの要求がアプリケーションサーバーに届き、
メッセージを元に処理を実行することでHTMLテキストを生成しています。
つまり、流れは以下のようになります。
- WebクライアントがWebサーバーへHTTPプロトコルでRequestメッセージを送信
- Webサーバーがアプリケーションサーバー(Tomcat)へajp13プロトコルでRequestメッセージを送信
- そのメッセージを元にアプリケーションサーバーがアプリケーションを実行
- 実行されたアプリケーションがHTMLテキストを生成
- アプリケーションサーバーがWebサーバーへajp13プロトコルでResonseメッセージを送信
- WebサーバーがWebクライアントへHTTPプロトコルでResonseメッセージを送信し、Webページが表示
URL:https://qiita.com/mkdkkn/items/5c8b5b0ce549ac5d9014
これは記事の抜粋ではありますが、先程質問に書いた通り、Webサーバからはリクエストは返ってくるところまではできていますが、APIを実行するアプリケーションサーバがWebサーバとは別物であった場合、別途のプログラムを構築しなければいけないと考えています。
つまり、Google Web Server とは通信できているが、Google Maps API は使用することが出来ないと考えています。
言葉足らずで申し訳ございませんが、よろしくお願いいたします。
あなたの回答
tips
プレビュー