支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Spring1(Webアプリケーショ

はじめに

Springは、Javaでアプリケーションを作成する上で欠かすことのできないフレームワークです。 Webアプリケーションを例にSpringについてご紹介していきます。

以下の内容をご紹介します。



(1)Webアプリケーション概要

1-1 Webアプリケーションとは

Webアプリケーションとは、次のようなやり取りを行うプログラムを指します。
  1. Webブラウザ上(クライアントサイド)で動くプログラム
  2. 例:Amazon、YouTube、Twitter 等

  3. Webサーバの後ろ(サーバサイド)で動くプログラム
  4. 例:データベースアクセス・処理実行

1-2 アプリケーション・アーキテクチャ

アプリケーション・アーキテクチャとは、「アプリケーション全体の構造」と一般的に定義され、アプリケーションが共通で利用できるシステム(ユーザインタフェースやデータベースアクセスの仕組み 等)の基盤になります。 Webアプリケーションにおけるアーキテクチャは、次の2種類に分かれます。
《Webアプリケーションにおけるアーキテクチャ》
  1. ティア(物理層)
  2. クライアント層中間層EIS層(Enterprise Information System)の3層から成り立ちます。
    基本的にWebアプリケーションは、中間層として考えます。

  3. レイヤ(論理層)
  4. レイヤは、クライアント層に一部存在する場合もありますが、基本的に中間層に存在し、Webアプリケーションを論理的に分けたものです。
    互いに隣接するレイヤは片方向のみアクセス可能であるという特性を持ちます。
    レイヤの分け方は様々ですが、次のような3層に分けると最も分かりやすいレイヤです。
    レイヤ名 責務
    プレゼンテーション層 ユーザとWebアプリケーションのやり取りを手助けする。
    ユーザインタフェースとコントローラを提供する。
    ビジネスロジック層 Webアプリケーションの中心である
    ビジネスロジック(業務フロー、データ処理 等)を提供する。
    ビジネスロジック層はサービス、ドメインの2つから成り立つ。
    サービス:特定の業務・部署の処理のまとまりを管理する。
    ドメイン:サービスによって呼び出される。ビジネスロジックを実現する。
    データアクセス層 データベースへのアクセスを実現する


(2)Spring概要

2-1 Springとは

Springとは、DIxAOPコンテナ(DIコンテナとAOPコンテナを合わせたもの)を中心に、既存フレームワークとのインテグレーション機能を提供してくれるアプリケーション・アーキテクチャのベースとなるものです。
Webアプリケーションのレイヤ上でSpringの機能がどのように利用できるか簡単にご紹介します。
1.プレゼンテーション層
  • Spring MVC
  • 画面推移、ブラウザ・サーバ間の入出力パラメータの受け渡しなどを実現する。
  • Spring Security
  • 画面ごとにアクセス制御(認証・認可)を行う仕組みを提供する。
    他の2層(ビジネスロジック層、データアクセス層)でも利用可能だが、プレゼンテーション層で特に利用される。

2.ビジネスロジック層
  • SpringのDIxAOPコンテナ
  • DIコンテナ:オブジェクトの生成、オブジェクト同士で関連した生成を行うもの。クラス間の依存関係を解消する。
    AOPコンテナ:オブジェクトが本来行うべきでない処理(トランザクション処理、ロギング、例外処理 等)を分離して後から追加することもできるようにするもの。
  • Spring Cache
  • データをキャッシュすることで、データベースとのやり取りを減らし、パフォーマンスの向上をはかる。

3.データアクセス層
  • Spring JDBC
  • SQL文を利用するタイプのデータアクセスフレームワーク。
  • Spring Data
  • RDB(Relational DataBase)やNoSQLといった異なるデータストアに対するアクセスを実現する。


まとめ

Webアプリケーション概要、Spring概要」についてご紹介しました。
お役に立てると幸いです。