検索
連載

Strutsの諸問題を解決するWebフレームワークとは?オープンソースTERASOLUNAで作るWebアプリ(1)(3/3 ページ)

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

ユーザー名、ユーザー権限などの情報はオブジェクトに定義

 また、すべての業務で共通して使う、ユーザー名、ユーザー権限などの情報は、フレームワークが規定する「UVO(User Value Object)」と呼ばれるオブジェクトに定義します。このオブジェクトは、フィルタタグライブラリと連携することにより、認証、権限などの機能を実現します。

図5 「_」付きアクションフォームとUVOの概要
図5 「_」付きアクションフォームとUVOの概要

セッション削除漏れによるメモリ枯渇のリスクも低減

 結果として、業務開発者は、セッション上の変数を追加、削除するといった処理を一切行わず、フレームワークが提供するオブジェクトを利用するだけで業務スコープ、セッションスコープの変数を定義できるようになりました。

 この機能によって、業務処理の実装が容易になり、また、セッション削除漏れによるメモリ枯渇のリスクを低減できます。

【3】DB接続/トランザクションが簡単に

 TERASOLUNAフレームワークでのDBアクセス処理は、業務ロジックでの入出力オブジェクトの生成とクエリ発行メソッドの呼び出し、設定ファイルへのSQL文の記述のみです。DBへの接続処理、トランザクション処理はフレームワークが行います。

O/Rマッピングツール「iBATIS」で、簡単DB接続

 TERASOLUNAフレームワークは、「iBATIS」というO/Rマッピングツールを採用しています。O/Rマッピングツールとは、クラス間の依存関係に基づくJavaのオブジェクトの階層構造と、テーブルを構成要素とするRDBのデータ構造との違いを吸収するツールのことです。ここではJavaのオブジェクトとDBとの値のやりとりをするツールと考えてください。

SpringのAOPを使った、簡単なトランザクション

 トランザクション処理は、業務処理に入った際に開始され、業務処理を例外により終了した場合はロールバックが、Return文で終了した場合はコミット処理が自動的に行われます。従って、業務開発者がトランザクション処理を記述する必要はありません。

 トランザクション処理に関する機能は、Springの機能を利用して提供しています。繰り返しますがSpringでは、「AOP」と呼ばれる、メソッド名などの規約によって任意の処理を実行時に挿入する仕組みを提供しています。

 TERASOLUNAフレームワークでは、業務ロジックにBLogicインターフェイスの利用を規定しているため、BLogicインターフェイスのメソッドに対してトランザクション処理を挿入することで、簡素なトランザクション処理を実現しています。

“実績”があり、日々“進化”してきたフレームワーク

 今回は、システム開発においてStrutsフレームワークが抱えている問題と、それを解決したTERASOLUNAフレームワークの概要について説明しました。TERASOLUNAがStruts、Spring Frameworkを利用して分業、並行作業ができるアーキテクチャをいかに作ったかについて、ご理解いただけたかと思います。

 TERASOLUNAフレームワークは、NTTデータの標準フレームワークの1つとして多数のプロジェクトで使われてきた実績があります。その過程で、システム開発でプロジェクト別に作っていた共通機能のうち、頻出のものをフレームワークの機能として取り込み、「日々進化してきたフレームワーク」といえます。

“使える”かどうかは、次回で体験すれば分かる

 そのようなフィードバックを受けて取り込んだ機能のうち特によく使われるものを挙げると、「ログイン認証」「一覧表示」などがあります。これらの機能については、実際にアプリケーションを使って試してみることで、その使用方法を理解できるものと思います。

 そこで次回からは、オープンソース化されたTERASOLUNAフレームワークを使ったサンプルアプリケーションを実際に作成し、その使いやすさを実体験していただきたいと思います。

@IT関連記事

Webアプリの常識をJSPとStrutsで身につける
JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です。初心者・中堅・ベテランも大歓迎!

Strutsを使うWebアプリケーション構築術
ステップ・バイ・ステップの解説で誰にも分かるStruts講座。効率の高いWebアプリケーション開発をマスターしよう

Webの上のポジョをステートフルにつなぐJBoss Seam
Java EE 6のWeb Beansを先取りするオープンソース アノテーションでDIやO/RマッピングのXML地獄から解放してくれたり、双方向DIやEJBの簡素化など利点がいっぱい
Java Solution」フォーラム 2008/8/28

開発の標準化とフレームワークの普及
21世紀はじめのWeb技術史(2) 今回は、ソフトウェア品質を高めるために進化を遂げてきたアプリケーション開発環境の最近の道筋を概観する。キーワードはフレームワーク
情報マネジメント > アーキテクチャ 2007/3/19

Javaバッチ処理は本当に業務で“使える”の?オープンソースフレームワークを使ってバッチ処理の開発手法やノウハウを学んでいく本連載。バッチ処理を知っている人も知らない人も、業務システムに欠かせないバッチ処理について理解を深めましょう

.NET開発でもオープンソース・フレームワークを使おう
TERASOLUNA for .NETフレームワーク概説 .NET Frameworkだけの業務システム開発で起こる問題とは? それを解消するのに役立つフレームワークの条件とは?
Insider.NET」フォーラム 2003/9/30


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る