Top Programming 5日間でマスターするJava速習講座 このセクションの概要とサーバサイドJava

Lecture 72:

このセクションの概要とサーバサイドJava

Instructor: 井上 博樹

Lecture Content


このセクションでは、サーバーサイドのJavaプログラミングについて学びます。以下の4つです。

・サーバーとは何を指すのか

・サーバーサイドプログラムの動作の仕組み

・代表的なサーバーサイドのJavaプログラミングの手法である「JSP」とサーブレットについての簡単なプログラムを書く。

・実践的なプログラムを書く上で必要なフレームワークの考え方について


まず「サーバーとは何なのか」について説明します。

インターネットに常時接続されているコンピューターのことを「サーバー」もしくは「サーバーコンピューター」と呼んでいます。サーバーコンピューターには様々なものがありますが、例えば皆さんの会社のサーバールームや、データセンターなどに配置されている大規模なサーバーがあります。

また最近ではIOT〜Internet Of Things (モノのインターネット) と呼ばれるような、手のひらサイズの「Raspberry Pi (ラズベリーパイ)」というコンピューターや、名刺サイズの「Arduino (アルデュイーノ)」というコンピューターを使って、様々な気象データやセンサーなどから送信される情報を蓄積したり、分析をして環境改善などに活かそうという研究も盛んに行われています。


次に「サーバープログラムとは何なのか」について説明します。

まず左側が皆さんの使用してるパソコンやまたスマートフォンなどになります。これまでのセクションでは、皆さんの手元にあるコンピューター上で動くクライアントアプリケーションと呼ばれるプログラムを書いてきました。それに対してサーバープログラムはこのクライアントから「リクエスト」という何らかの処理の要望や、もしくは加工して欲しいデータを送信する、というリクエストをインターネットを経由して送信します。そしてこのリクエストが、サーバーサイドのコンピューターに送信され、そこでデータを加工したり計算したり、というプログラムを実行処理を行っていきます。

この処理が完了したら、今度は「レスポンス」という形で、先ほど処理を依頼したコンピューターに結果を送信します。

このように「リクエスト」と「レスポンス」をセットで様々な処理を行ってきます。

そして、リクエストをしてサーバーがで処理をし、実行結果を「レスポンス」としてクライアントに返して、最後に結果を表示します。この一連の流れの中で、サーバーサイドの処理をするプログラムのことを「サーバーサイドプログラム」と呼んでいます。

このセクションでは、このサーバーサイドの処理をJava言語で作成する方法について学んできます。サーバーサイドのプログラムの例としては、

・Web サーバー
会社のWebページや、様々なホームページを運用するために使われる仕組み。

・会社で資料などを共有するためのファイルサーバー

・メールの送受信を行うためのメールサーバー

・ Youtube やニコニコ動画などの動画を配信するサーバー

 ・LINE や Facebook などでメッセージを送受信したり、Twitterに投稿したツイートを処理するようなアプリのバックエンドサーバー

テキストだけではなく、例えばInstagramのように画像を扱って静止画を加工したり、動画を最適なサイズに変換したりといった処理をサーバー側で行うこともたくさんあります。

先ほどラズベリーパイの写真がありましたが、センサーネットワークのデータを集めて中央サーバーに送信したり、もしくは制御の情報をスマホやコンピューターから送って異なる場所にある装置を動かしたり、カメラを制御したり…こうした処理をする場合にサーバープログラムが活躍します。

このセクションではサーバーサイドの処理をJava言語で処理をする方法について学んでいきますが、サーバーサイドのJavaプログラミングにはいくつかの仕組みがあります。

特によく使われるのがJSP〜Java Server Pages、またサーブレットなどの仕組みがあります。

最近ではフレームワークと呼ばれるページの表示処理や、データベースへのアクセスなど様々な処理をライブラリとして持っているもの。 例えばSpring Frameworkなどが非常によく使われています。

またサーバーサイドプログラムはJavaだけではなく、よく使われる言語としては

・PHP

・Ruby

・Python

・Go言語

・Scala

が挙げられます。

特に日本では、PHPが代表的です。CakePHP、FuelPHPなどの、フレームワークと呼ばれるページの表示処理やサーバーサイド処理のライブラリーが豊富なものがあります。

Rubyの場合にはRuby on Railsが非常によく使われています。

Pythonの場合には、Djangoなどのフレーム枠と呼ばれるアプリケーションを簡単に作るためのライブラリが用意されています。


次にサーバーサイドJavaの特徴について見ていきます。

一番目はサーバーサイドJavaといいますが、単体でそのプログラムが動作するのではなく、スマホやパソコンなどから送られるリクエストを受け付け、それをサーバーサイドのJavaプログラムに渡すというサーバープログラムと連携して動作をします。

このセクションではサーバープログラムに「Tomcat」というサーバープログラムを使います。

クライアントアプリケーションとの違いとして、JavaのEnterprise EditionというJavaの実行環境を使います。これはJava SEと言われるJavaのスタンダードエディションに、サーバーサイドで処理をするのに必要なクラスライブラリを追加したものです。

3番目の特徴としてサーバーサイドJavaは、一種類ではなく様々な実装の仕組みがあります。

4番目の特徴として特にWebアプリケーションで使えるケースが増えていますので、HTMLと密接に連携していますことが挙げられます。

この講座ではHTMLについては詳しく扱いませんが、皆さんがもしも実践的なWebサービスやサーバープログラムを書きたい場合には、HTMLやCSSスタイルシートです。

JavaScriptなどの知識も勉強されるとより実用的なロケーションを作ることができると思います。


このセッションでは主にJSP (JSP というのは一斉メールファイルの中に Java のプログラムを埋め込むことができるという仕組み)を使用したプログラム作成について解説します。タブレットよりは低速なんですが非常に高速に開発をすることが可能になります。

そして JSPの次にサーブレットという、あらかじめコンパイルしたクラスファイルをサーバーサイドで実行させる仕組みについて見ていきます。

それでは次のレクチャーで、サーバーのプログラムのインストールから始めていきましょう。


Related Courses

販売管理システムを構築!パーフェクトC#講座
PRO COURSE

販売管理システムを構築!パーフェクトC#講座

5h 58m Video Course
Instructor: 浅井 良一
33
$257.99
Japanese Hiragana and Katakana study course
PRO COURSE

Japanese Hiragana and Katakana study course

5h 39m Video Course
Instructor: Attain Corp.
$89.99
【一括受講】一発合格シリーズCCNA (200-301)【2021年改訂試験対応】
PRO COURSE

【一括受講】一発合格シリーズCCNA (200-301)【2021年改訂試験対応】

17h 25m Video Course
Instructor: 阪西 敏治
$429.99
基礎から学べる! CSS/CSS3マスター講座
PRO COURSE

基礎から学べる! CSS/CSS3マスター講座

6h 37m Video Course
Instructor: NESTonline
1
$80.99
3日で完全マスター!! iOSアプリ開発講座【Swift 4対応】
PRO COURSE

3日で完全マスター!! iOSアプリ開発講座【Swift 4対応】

6h 42m Video Course
Instructor: ムラモリ コウ
$79.99
元Appleシニアマネジャー直伝 !「使える」ビジネス英語
PRO COURSE

元Appleシニアマネジャー直伝 !「使える」ビジネス英語

57m Video Course
Instructor: 松井 博
$89.99
長期的な無料の集客チャネルを実現!オウンドメディア構築プログラム
PRO COURSE

長期的な無料の集客チャネルを実現!オウンドメディア構築プログラム

3h 40m Video Course
Instructor: 山田 どうそん
3
$189.99
動画で学ぶ!TCP/IPプロトコルを理解しよう
PRO COURSE

動画で学ぶ!TCP/IPプロトコルを理解しよう

2h 51m Video Course
Instructor: Attain Corp.
2
$87.99
たったの7日でマスター!スーパーアフィリエイターの思考法修得講座
PRO COURSE

たったの7日でマスター!スーパーアフィリエイターの思考法修得講座

1h 26m Video Course
Instructor: 石崎 力也
1
$229.99
書けないを書けるにするコピーライティング基礎講座
PRO COURSE

書けないを書けるにするコピーライティング基礎講座

1h 47m Video Course
Instructor: 山田 どうそん
3
$89.99
誰でもわかる!Java基礎 & Javaオブジェクト指向
PRO COURSE

誰でもわかる!Java基礎 & Javaオブジェクト指向

7h 44m Video Course
Instructor: 荒川 栄一郎
$107.99
差がつくビジネス戦略|事業開発・プラットフォーム戦略・ITマーケティング
PRO COURSE

差がつくビジネス戦略|事業開発・プラットフォーム戦略・ITマーケティング

4h 1m Video Course
Instructor: 平野 敦士 カール
22
$113.14