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

誰でもわかる!データベース基礎
PRO COURSE

誰でもわかる!データベース基礎

2h 53m Video Course
Instructor: 荒川 栄一郎
$107.99
基礎から学べる! CSS/CSS3マスター講座
PRO COURSE

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

6h 37m Video Course
Instructor: NESTonline
1
$80.99
ブラックハットSEO講座 - やってはいけない手法を理解しよう
PRO COURSE

ブラックハットSEO講座 - やってはいけない手法を理解しよう

1h 34m Video Course
Instructor: 石崎 力也
$89.99
Java知識ゼロでもOK!! 初心者にピッタリなAndroidアプリ開発講座
PRO COURSE

Java知識ゼロでもOK!! 初心者にピッタリなAndroidアプリ開発講座

9h 39m Video Course
Instructor: 金田 浩明
10
$199.99
VBA実践塾オンライン講座 システム開発コース 応用5コースセット版
PRO COURSE

VBA実践塾オンライン講座 システム開発コース 応用5コースセット版

7h 21m Video Course
Instructor: 浅井 良一
23
$132.99
誰でもわかる!Linux 基本オペレーティング習得講座
PRO COURSE

誰でもわかる!Linux 基本オペレーティング習得講座

2h 59m Video Course
Instructor: Attain Corp.
1
$87.99
女性の心をつかむWebマーケティング講座
PRO COURSE

女性の心をつかむWebマーケティング講座

1h 5m Video Course
Instructor: 大東 めぐみ
2
$132.99
DRMの教科書 - ダイレクトレスポンスマーケティング入門
PRO COURSE

DRMの教科書 - ダイレクトレスポンスマーケティング入門

1h 38m Video Course
Instructor: 石崎 力也
$89.99
Khóa học Tiếng Nhật trực tuyến cấp độ N2 - JLPT N2 Level
PRO COURSE

Khóa học Tiếng Nhật trực tuyến cấp độ N2 - JLPT N2 Level

11h 11m Video Course
Instructor: Tập đoàn Attain
10
$149.99
販売管理システムを構築!パーフェクトC#講座
PRO COURSE

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

5h 58m Video Course
Instructor: 浅井 良一
33
$257.99
Business Japanese Course for Beginners(All 15 Lessons)
PRO COURSE

Business Japanese Course for Beginners(All 15 Lessons)

4h 25m Video Course
Instructor: Attain Corp.
1
$160.99
社長が伝えたい「新入社員〜中堅社員」へのメッセージ
PRO COURSE

社長が伝えたい「新入社員〜中堅社員」へのメッセージ

2時間9分の音声・動画講座+5名分アカウント
Instructor: 田中 英司
$329.99