多層アーキテクチャWeb開発フレームワークモデル

要約:古典的なJ2EEの4層アーキテクチャに基づいて、データ永続化層が追加され、J2EEの5層アーキテクチャに基づくWeb開発フレームワークが提案されています。オブジェクト永続化層、およびアーキテクチャに統合されたHibernateオブジェクト指向軽量オブジェクト永続化テクノロジ、ビジネス・ロジック・レイヤーのアプリケーションDAO設計パターン、マルチソース・データ・アクセス・コンポーネント、抽象化およびカプセル化された永続性レイヤー異なるデータソースへのデータアクセスにより、異なるタイプ、構造、環境、用途の異種データベースへの統一されたアクセスを実現します。
キーワード:J2EE、モデルビューコントローラ、Struts、Hibernate、マルチソースデータCLC:TP302.7ドキュメントコード:A
Article ID:1001-3695(2008)05-1429-03

Web開発フレームワークモデルのマルチティアフレームワーク

1.1J2EE 5層アーキテクチャ設計
Webアプリケーションはより洗練された表現と論理処理を必要とするため、J2EEは図1に示すように4層アーキテクチャを提案しています。 構造は、クライアント層、Web層、ビジネスロジック層、データベース層に分かれています。 アプリケーションのロジック処理と相分離のパフォーマンスは、システムをより明確なロジックフロー、機能コードの多重化、分散配置機能を持っているようにする。 しかし、ほとんどの実際のプロジェクトアプリケーションでは、データレイヤーはリレーショナルデータベースであり、マッピングのためのオブジェクト指向のメカニズムを明示的にマッピングすることはできません。ビジネスロジックレイヤーとデータベースの相互作用プロセスは、開発とメンテナンスは難易度の複雑さと管理を高めます。 効果的なソリューションは、機能モジュールに応じてビジネス情報を分離することです:ビジネスロジックとデータベースアクセスを別々に、ユーザーインターフェイスとビジネスロジックは、比較的独立して、互いに独立して、いずれかのパーティの変更が影響を与えないか、ほとんど効果がありません。 そこで、本論文では、ビジネスロジック層とデータベース層との間にデータパーシスタンス層を追加して、図2に示すように、4層システムを5層システム、すなわちクライアント層、Web層、ビジネスロジック層、データパーシステンス層、データベースレイヤー。 データ永続化層はデータベース上にあり、データの読み取りと操作のすべてのデータアクセスコードの詳細を非表示にし、クライアントアプリケーションとその基盤となるストレージメカニズムはアプリケーションの開発に使用されるデータの物理的詳細を完全に抽象化します。 
ビジネスロジックレイヤーとデータレイヤーの間にデータ永続レイヤーを追加して、オブジェクトとリレーショナルデータベース間のマッピングを実現します。 このマッピングフレームワークのメカニズムを使用すると、オブジェクトとリレーショナルデータベース間の変換を、データベース接続、並行性、またはトランザクション上の問題を意識せずに透過的に行うことができます。 ビジネスロジック層は、透明なオブジェクトを直接取得または格納するために、変換フレームワークの変換プロセスの途中で処理する必要があります。 

階層設計では、各層によって提供されるインタフェースが層間通信の基礎となり、厳密な層独立性と分離を達成するための原則と、各層の実装の詳細は公開されていません。 以下で説明するレイヤーデザインレイヤ通信:
a)クライアントは、HTTPを介してプレゼンテーションロジックと通信し、ユーザ入力を受け取り、実行結果をHttp-RequestおよびHttpResponseを介してユーザに返す。 
b)論理層がStrutsフレームワークテクノロジを使用して実装され、クライアント要求を受信/応答し、システムワークフロー全体を制御し、アクションを呼び出してビジネスロジックレイヤーと対話し、ビジネスデータをフォーマットし、Webページを動的に生成できることを示します。 
c)ビジネスロジックとパーシスタンスレイヤのインタラクションは、データアクセスオブジェクトのDAO呼び出しを通じて、HibernateへのJavaBean呼び出しです。 
d)永続化レイヤとデータベース通信は完全にHibernateの責任であり、エンティティデータベース、永続オブジェクト操作、およびデータベースへのキャッシュ同期の結果にマップされます。 
1.2 StrutsフレームワークとHibernateフレームワークを統合してMVC設計パターンを実現する
Strutsは、コンポーネントのモジュール性、柔軟性、再利用性の利点を備えたモデルビューコントローラモデルに基づくアプリケーションアーキテクチャです。 しかし、Strutsフレームワークは主にプレゼンテーション層用に設計されており、バックエンドのビジネスロジック層のサポートはあまり強くありません。プロジェクト開発にはいくつかの制限があります。
a)作業のモジュールで分けられた労働の水平分業だけ、対応するより高いソフトウェア開発費用;
b)データ層のパッケージと異なるモジュール間の調整と通信に時間がかかるため、開発時間が長くなります。
c)プロジェクトの移植性が比較的悪く、データベースごとに異なるSQL文を書く必要があるかもしれません。
D)プロジェクトのスケーラビリティは、新しいニーズや変更に適応するために比較的貧しい人々は、データベースのテーブル構造を変更するSQLステートメントを書き直す、データベースのバックアップ、スタッフの要件も高いです。
e)開発者のデータベース操作の不均一なレベルのため、開発経験は同じではなく、その結果、システムのパフォーマンスが比較的悪くなる可能性があります。 
HibernateはオープンソースのO / Rマッピング(オブジェクト/リレーショナルマッピング)フレームワークで、JDBC軽量オブジェクトのカプセル化、オブジェクト指向のメカニズムでデータベース操作を処理します。 Hibernateは、Javaクラスからデータベースへのテーブルマッピングを管理するだけでなく、データクエリおよびデータ取得メソッドを提供し、SQLおよびJDBCデータ処理を使用した手動開発の時間を大幅に短縮します。 
私は、HibernateがStrutsフレームワークから永続性のオブジェクト関連部分を分離するために、HibernateにJ2EEアーキテクチャに統合されるべきだと考えています。 Strutsアーキテクチャによると、データベース操作はモデルレイヤーによって処理されるため、Strutsモデルレイヤーは2つの部分に分けることができます.1つはビジネスロジックを担当し、もう1つはHibernateを使用してオブジェクトの永続化を実現します。 同時に、特定のビジネスロジックを分離し、Hibernateを使用してビジネスロジックと永続オブジェクトの相互作用を実現するために専用の新しいビジネスロジックレイヤーを作成します。 
図3は、StrutsとHibernateを統合したMVCモデルを示しています。 Strutsと休止フレームワークは、これらの3つの分離、効率性、保守性、スケーラビリティの開発のシステムは良い改善を持って、制御フロー、ビジネスコールの統合を達成するために言った。 このモデルでは、クライアント層はV(ブラウザがユーザに表示するDHTMLインタフェース)、ビジネスロジックと持続層はシステムのコアでJavaBeansとHibernateで構成されるM、Web層サーブレットおよびJSPプログラムによって、ユーザーのビジネスロジック操作を制御し、ユーザーに表示される結果を制御するCに対応します。 POは、コール・モデル層によって生成された永続オブジェクトであり、JSPページを介してユーザーに表示されます。 
1.3統合StrutsおよびHibernate J2EE階層化アーキテクチャ
以前の分析によると、StrutsとHibernateフレームワークの統合は、新しいWebアプリケーション開発フレームワーク、J2EEアプリケーションシステムを構成し、多層アーキテクチャを実現します。 一方で、このフレームワークは、プレゼンテーション層でのStrutsフレームワークの利点を継承し、プレゼンテーションロジックとビジネスロジックの分離を実現するページ要求の受信と転送を担当する完璧なマークアップライブラリを提供します。一方、HibernateフレームワークHibernateフレームワークの永続性とトランザクションカプセル化、ビジネスロジック、およびデータベースアクセスによって、機能が個別に提供されます。 このように、すべてのレベル間の結合を減らし、コンポーネントの再利用性を向上させ、コード編集の複雑さを軽減し、開発者がビジネスに集中できるようにする明確でシンプルで完全なWebフレームワークが形成されますロジックの実現は、システムの保守性に役立ちます。 

統合されたStrutsとHibernate J2EEの階層化アーキテクチャ(図4) このシステムは、クライアント層、Web層、ビジネスロジック層、データ永続層、データベース層によって設計された5層構造を使用します。 クライアント層はユーザーのコンピュータのWebブラウザで実行され、Web層はWebサーバー上で実行され、Strutsフレームワークテクノロジを使用して実装され、クライアント要求を受信/応答し、システムワークフロー全体を制御し、ビジネスロジックと対話し、ビジネスデータと動的にWebページやその他の機能を生成するビジネスロジック層は、JavaBeansやEJBによって実装されたシステム全体のコアビジネスロジックを達成するための責任がある、Hibernateフレームワーク技術を使用してデータ永続化レイヤーを達成するオブジェクトとマッピングの関係は、 。 

図4によるシステムの様々な機能の簡単な分析に続いて、
a)クライアントレベル。 ブラウザーで見ることができ、主にHTML言語Webインターフェイスで形成されたシステム層と直接対話するのはユーザーです。 
b)Web層。 クライアントレイヤーからクライアントの入力を取得し、ビジネスロジックレイヤーコンポーネントに渡し、ビジネスロジックレイヤーから取得した処理結果をHTMLファイル形式でクライアントに出力し、Webページインターフェイスを形成します。 Web層は、サーブレットとJSPプログラムで構成され、Webコンテナにパッケージ化されています。 ビジネスプロセス制御は、通常、コントローラサーブレットによって開発され、ユーザのクエリやその他の要求に応答し、ビジネスロジックレイヤのJavaBeanを呼び出して複雑なビジネスロジックを実現します。 

この記事は、CSDNのブログから来たもので、ソースを明記してください: http ://blog.csdn.net/monicaxiaoy/archive/2009/11/04/4768092.aspx

カテゴリ:Default 時間:2018-05-16 人気:0

関連記事

Copyright (C) socapnw.com, All Rights Reserved.

Socapnw All Rights Reserved.

processed in 0.216 (s). 11 q(s)