新人応援企画!「Javaフレームワーク入門」
Text by 智野 潤子(日本オラクル株式会社 Fusion Middleware事業統括本部 - 第一ソリューション本部)
智野さん執筆の過去記事「Oracle JDeveloper 11g によるリッチクライアント開発」はこちら>>
ITの世界では、システム開発において頻繁に使用される機能が
「フレームワーク」
として提供されています。
フレームワークが提供する機能を利用することで、すべてを1からプログラミングする必要がなくなるため、開発生産性や保守性の向上といった効果が期待できます。
※出典:日本オラクル株式会社 Oracle Direct Seminar 「Java フレームワークを利用した効率的なシステム開発」資料(2009年)
フレームワークには、「ソフトウェア・ベンダーが提供する商用」のものや、「オープンソース」として開発され、一定の条件を満たせば無償で利用できるもの、企業やプロジェクトの中で利用されているものなどがあり、数え切れないほどの種類のフレームワークが存在します。
また利用できる範囲もフレームワークによってさまざまです。
そこで今回は、主要と思われるJavaフレームワークについて簡単に紹介します。
まずは、オープンソースで開発されている主要なJavaフレームワークを見てみましょう。
■Apache Struts
Java でWebアプリケーションを構築する際に広く利用されているフレームワークで、大規模システムでの事例も豊富です。画面遷移や入力した値のチェック、画面デザインのテンプレートの利用など豊富な機能を提供しています。
■Spring Framework
Dependency Injection(DI; 依存性の注入)という考え方に基づいて開発されたフレームワークです。 DIではオブジェクトを生成するために必要な情報をプログラム内に記述せず、設定ファイルに分離します。Javaクラス間の依存関係が排除され、仕様変更にともなうプログラムの修正が少なくなります。
■Apache log4j
ログ出力のためのフレームワークです。ログの出力先(ファイル名など)や書式などをプログラム内にではなく、設定ファイルに記述できます。Apache log4jを使用すると、ログの設定変更のためにいちいちプログラムを変更する必要はありません。また、Microsoft .Net(log4Net)やC++(log4cxx)、PHP(log4php)などJava以外のプログラミング言語用のプロジェクトも存在します。
■JUnit
JUnitはJavaクラスに実装されたロジックが仕様どおりに動作することをチェックするための単体テストを自動化するフレームワークです。 EclipseやNetBeans、JDeveloperなどの開発ツールと連携するためのプラグインを利用することで、テストに必要なコーディングの作業を軽減することができます。
オラクルが提供するJavaフレームワーク
最後にオラクルが提供しているJavaフレームワークについても紹介します。
■Oracle TopLink
オブジェクト指向のJavaプログラムからデータベースにアクセスするためには、オブジェクトとデータベースのレコードを対応付ける必要があります。しかし、その場合煩雑な処理を繰り返し記述しなければいけません。
この煩雑な処理を簡素化するために生まれたのがO/R(Object/Relational)マッピング・フレームワークで、Oracle TopLinkもその一つです。
O/Rマッピングの考え方は、Java Persistence API(JPA)としてJava標準の機能として取り入れらており、Oracle TopLinkの柔軟なマッピングと高度なキャッシュの仕組みは、そのお手本として採用されています。
■Oracle Application Development Framework(ADF)
Webページで表示/編集させるデータとビジネスロジック(業務処理の実装)を連携させる処理は、開発者が繰り返しコーディングする必要があります。このような連携処理は、単純ですが再利用性に乏しい割りに、コーディングの中で大きな割合を占めています。
Oracle ADFは、画面の処理とビジネス・ロジックとの関連付け処理を簡素化する仕組みを提供します。Oracle TopLinkとApache Struts、EJBとJavaServer Facesというように、使用するテクノロジやフレームワークを選択することができるのも大きな特長の一つです。
>製品情報:Oracle Application Development Framework
■Oracle ADF Faces
Oracle ADF Facesは、JavaServer Faces(JSF)に準拠したユーザー・インタフェースのコンポーネントとライブラリを提供します。 Ajaxの技術を活用した150以上のUIの部品を提供するADF Faces Rich Clientや、グラフやピボット・テーブルを提供するADF Data Visualization Componentsなど豊富な機能を提供しています。
>製品情報:Oracle ADF Faces Rich Client Components
>Oracle ADF Faces Components Hosted Demo
■Oracle WebCenter Framework
Oracle ADFにエンタープライズ・マッシュアップやEnterprise 2.0技術を活用するための機能を追加したのがOracle WebCenter Frameworkです。ユーザーのプロファイルに応じて必要な情報をプッシュしたり、ユーザー自身が既存のリソースを組み合わせたページを作成するための仕組みを提供することもできます。
>製品情報:Oracle WebCenter Suite
>英語版はこちら