1 このマニュアルの目標と目的
Javaは、様々なエンタープライズ・ソリューションを構築するために使用されており、開発者の間で一般的な言語です。
このガイドを通じて、Javaアプリケーションを作成するために使用されるあらゆるJava製品を理解できます。MVCデザイン・パターン、Oracle JDBC Thinドライバ、ユニバーサル接続プール(UCP)およびデータベースにおけるJava (埋込みOJVMを使用)を使用してJava Webアプリケーションをモデリングする方法について学習します。
次のいくつかの章では、Java Webアプリケーション「HR Webアプリケーション」を作成します。このアプリケーションは、AnyCo CorporationのHRチームによる、特定の従業員またはすべての従業員の詳細の参照または変更、従業員の削除、またはすべての従業員への昇給の適用を支援します。
アプリケーションには2人のユーザーがいます
hrstaff
hradmin
各ユーザーには、異なるロールと権限のセットがあります。
この章の項目は次のとおりです。
Webアプリケーションのアーキテクチャ
アプリケーションのコンポーネント
1日目のタスク
2日目のタスク
アプリケーションのアーキテクチャ
Webアプリケーションのアーキテクチャ
HR Webアプリケーションは、MVC (Model、View、Controller)アーキテクチャと最新のツールおよびテクノロジを使用します。モデル・ビュー・コントローラ(MVC)は、使用しやすいデザイン・パターンです。これはWebアプリケーションを3つの単純な部分(モデル、ビュー、コントローラ)に分割します。
モデルには、Webアプリケーションが操作するデータまたは情報が格納されます。ユーザー・インタフェースに関する情報は含まれません。
ビューには、ユーザー・インタフェース(UI)のすべての要素が含まれます。これにはボタン、表示ボックス、リンク、入力ボックスなどが含まれます。
コントローラはモデルとビューを接続します。
ユーザーには、アプリケーションにログインした後にHTMLページのJSPページになる可能性のあるインタフェース(ビュー)が表示されます。コントローラ(Javaサーブレット)は、ログイン中、またはその他のフロー中に正しいビューをレンダリングします。データまたはデータの更新を要求すると、コントローラは、表またはビューに関するデータを表すモデルを起動し、データをレンダリングします。モデルは、通常、Oracle Databaseまたは他のデータベースに格納されているユーザー・データを表します。
コントローラはこのデータをビューに渡し、表示可能な形式でユーザーに表示します。
表1-1 Webアプリケーションのアーキテクチャ
名称 | 使用されているテクノロジ | 説明 |
---|---|---|
モデル | Oracle Database、Java Beans | アプリケーションが操作する情報またはデータを表します。 |
ビュー | HTML、JavaScript、JQuery、CSS | エンド・ユーザーにモデルをレンダリングするユーザー・インタフェース。これには、ボタン、リンク、入力など、ユーザーに表示されるすべての要素が含まれます。 |
コントローラ | Javaサーブレット | コントローラはユーザー・アクションを処理して応答します。ユーザー入力に基づいてフローを編成します。また、モデルとビューを接続してユーザーに出力をレンダリングします。 |
HRスキーマと従業員を使って、Webアプリケーションのフローを理解します。
コンポーネントおよびリポジトリ
次の表で、アプリケーションに必要なすべてのコンポーネントをリストして説明します。
表1-2 アプリケーションに必要なコンポーネント
パッケージ名 | 説明 |
---|---|
src | ソース・ファイルが含まれます |
ターゲット | クラス・ファイルが含まれます |
src/main/java/com/oracle/jdbc/samples | - |
/bean/JdbcBean.java | 従業員の詳細を属性として定義します |
/bean/JdbcBeanImpl.java | EmployeeBeanの実装クラス |
src/main/java/com/oracle/jdbc/samples | - |
entity/Employee.java | すべての従業員の属性とそれに定義されてているデータ型で構成されます |
/web/WebController.java | アプリケーション・フローを制御するサーブレット |
/web/GetRole.java | アプリケーションのHRStaffロールとHRAdminロールを作成します |
src/main/resources | - |
SalaryHikeSP.java | 給与の増額を処理するためにデータベースにおけるJavaから呼び出されるJavaクラス |
SalaryHikeSP.sql | 給与範囲に基づいて従業員の給与を引き上げるプロシージャが記載されたSQLファイル |
src/main/webapp | - |
about.html | HR Webアプリケーションに関する詳細が含まれます |
login.html | HR Webアプリケーションのログイン・ページが含まれます |
login-failed.html | ログインが失敗した場合に表示するページ |
index.html | HR Webアプリケーションのランディング・ページ |
listAll.html | すべての従業員レコードを表示するHTMLページ |
listByName.html | 名前で従業員を検索したときに結果を表示するHTMLページ |
listById.html | 従業員IDで従業員を検索したときに結果を表示するHTMLページ |
incrementSalary.html | 給与の増額後に結果を表示するHTMLページ |
src/main/webapp | - |
css/app.cs | HR Webアプリケーションで使用されるすべてのスタイルおよびフォントの詳細が含まれます |
src/main/webapp | - |
WEB-INF/web.xml | HR Webアプリケーションのコントローラ |
1日目の目標とタスク
1日目の最後に、次のことができるようになります。
a.JDBC、UCPおよびデータベースにおけるJavaを理解し、単純なJavaプログラムを実行してこれらの製品を理解します。
b.すべての従業員の詳細をリストする機能"listAll"を実装します。
1 JDBC、UCPおよびデータベースにおけるJavaの概要: 製品、関連バイナリおよびパッケージについて、サンプル・コードを使用して理解します。
2 HR Webアプリケーションの概要: この章では、HRのWebアプリケーションを詳細に説明し、Webアプリケーションのフローと、アプリケーションの一部として作成するパッケージおよびファイルを紹介します。
3 アプリケーション開発の開始: アプリケーションを開発する前提条件と、環境を準備する方法を理解します。まず、クラウドのOracle Database Serviceにサブスクライブするか、オンプレミスのOracle Database 12cリリース2を社内にインストールします。その後、アプリケーションを構築するIDEであるJDeveloperをインストールします。JDeveloperまたはTomcat Java EEコンテナに統合されているWeb Logic Serverを使用して、アプリケーションをデプロイおよび実行します。
この章では、アプリケーションの構築に役立つMavenなどの他のツールをダウンロードすることもできます。
4 全従業員のリスト: この章では、すべてのコンポーネントを組み合せ、Oracle Databaseに接続する初期機能を作成して、データベースから従業員の詳細情報を取得する方法について説明します。
2日目の目標とタスク
第II部では、第2日に終えるすべてのタスクについて説明します。ユニバーサル接続プール(UCP)と、データベースにおけるJava (OJVM)の使用方法を学びます。また、次の方法についても学習します。
1 従業員IDによる検索: この章では、「従業員IDによる検索」の機能を実装する方法について説明します。
2 従業員レコードの更新: この章では、従業員レコードを更新する方法について説明します。これは2段階のプロセスです。最初に、従業員名に基づいて従業員のレコードを検索します。必要な結果を取得すると、給与、ジョブID、名、姓およびその他の詳細を更新できます。
3 従業員レコードの削除: この章では、2段階のプロセスで従業員レコードを削除する方法について説明します。
4 全従業員の給与の増額: 表にリストされた従業員の給与について、「データベースにおけるJava」を使用して増額を指定する方法を学びます。
5 アプリケーション・ユーザーの作成: この章では、TomcatおよびJDeveloperで'hradmin'および'hrstaff'ユーザーを作成する方法について説明します。
6 まとめ: この章では、2日間で学んだことをすべてまとめます。また、アプリケーションの使用を拡張するための適切な参照情報とリンクも示します。