Spring1(Webアプリケーション概要)
はじめに
Springは、Javaでアプリケーションを作成する上で欠かすことのできないフレームワークです。 Webアプリケーションを例にSpringについてご紹介していきます。
以下の内容をご紹介します。
(1)Webアプリケーション概要
1-1 Webアプリケーションとは
Webアプリケーションとは、次のようなやり取りを行うプログラムを指します。- Webブラウザ上(クライアントサイド)で動くプログラム 例:Amazon、YouTube、Twitter 等
- Webサーバの後ろ(サーバサイド)で動くプログラム 例:データベースアクセス・処理実行
1-2 アプリケーション・アーキテクチャ
アプリケーション・アーキテクチャとは、「アプリケーション全体の構造」と一般的に定義され、アプリケーションが共通で利用できるシステム(ユーザインタフェースやデータベースアクセスの仕組み 等)の基盤になります。 Webアプリケーションにおけるアーキテクチャは、次の2種類に分かれます。
《Webアプリケーションにおけるアーキテクチャ》
- ティア(物理層) クライアント層、中間層、EIS層(Enterprise Information System)の3層から成り立ちます。
- レイヤ(論理層) レイヤは、クライアント層に一部存在する場合もありますが、基本的に中間層に存在し、Webアプリケーションを論理的に分けたものです。
基本的にWebアプリケーションは、中間層として考えます。
互いに隣接するレイヤは片方向のみアクセス可能であるという特性を持ちます。
レイヤの分け方は様々ですが、次のような3層に分けると最も分かりやすいレイヤです。
レイヤ名 | 責務 |
プレゼンテーション層 | ユーザとWebアプリケーションのやり取りを手助けする。 ユーザインタフェースとコントローラを提供する。 |
ビジネスロジック層 | Webアプリケーションの中心である ビジネスロジック(業務フロー、データ処理 等)を提供する。 ビジネスロジック層はサービス、ドメインの2つから成り立つ。 サービス:特定の業務・部署の処理のまとまりを管理する。 ドメイン:サービスによって呼び出される。ビジネスロジックを実現する。 |
データアクセス層 | データベースへのアクセスを実現する |
(2)Spring概要
2-1 Springとは
Springとは、DIxAOPコンテナ(DIコンテナとAOPコンテナを合わせたもの)を中心に、既存フレームワークとのインテグレーション機能を提供してくれるアプリケーション・アーキテクチャのベースとなるものです。Webアプリケーションのレイヤ上でSpringの機能がどのように利用できるか簡単にご紹介します。
1.プレゼンテーション層
2.ビジネスロジック層
3.データアクセス層
- Spring MVC 画面推移、ブラウザ・サーバ間の入出力パラメータの受け渡しなどを実現する。
- Spring Security 画面ごとにアクセス制御(認証・認可)を行う仕組みを提供する。
他の2層(ビジネスロジック層、データアクセス層)でも利用可能だが、プレゼンテーション層で特に利用される。
2.ビジネスロジック層
- SpringのDIxAOPコンテナ DIコンテナ:オブジェクトの生成、オブジェクト同士で関連した生成を行うもの。クラス間の依存関係を解消する。
- Spring Cache データをキャッシュすることで、データベースとのやり取りを減らし、パフォーマンスの向上をはかる。
AOPコンテナ:オブジェクトが本来行うべきでない処理(トランザクション処理、ロギング、例外処理 等)を分離して後から追加することもできるようにするもの。
3.データアクセス層
- Spring JDBC SQL文を利用するタイプのデータアクセスフレームワーク。
- Spring Data RDB(Relational DataBase)やNoSQLといった異なるデータストアに対するアクセスを実現する。
まとめ
「Webアプリケーション概要、Spring概要」についてご紹介しました。
お役に立てると幸いです。
↑