http://www.opencbank.net/
概要利点特徴概念図動作環境製品一覧へJ2EEフレームワーク一覧へ



MVC アーキテクチャの採用によるビジネスロジックのコンポーネント化
cFramework は、Sun Microsystems から公開されているBluePrints のデザインを踏襲し、その中で推奨されているMVCアーキテクチャを採用しています。MVCアーキテクチャはSmalltalk においてGUI のアプリケーションを構築するためのパターンとして考案されたものですが、Model をView とController から分離して、Model の再利用性を高めようとする考え方は、実装技術に依存することなく、Web ベースのシステムに対しても有効です。MVC アーキテクチャは、コンポーネントの再利用を促進していくうえで最適なアーキテクチャパターンの1 つです。

Web 層とEJB 層の分離
cFramework は、システム全体をWeb サーバ(サーブレットコンテナ)とEJBサーバ(EJBコンテナ)に分散配置できるように考慮しています。Web 層では、ブラウザからのリクエストの受付、EJB 層へのリクエストオブジェクト(イベント)の生成、EJB 層へのリクエスト、次画面の決定、画面遷移を大きな役割としています。EJB 層では、クライアントのタイプ(ブラウザ、Java アプリケーション、アプレットなど)を意識することなく、ビジネスロジックを実行するという役割を担っています。

スケーラビリティ
cFramework は、EJB を利用しないWeb アプリケーションを構築することもできます。特に照会系のシステムで、コンポーネント化の必要がない場合は、EJB 層へのリクエストをおこなうことなく、メインサーブレットとビューだけで動作できるように構築されています。また、EJB 層へのリクエストをおこなう場合とおこなわない場合との違いをできる限りなくし、どちらのパターンでもHTTP セッションやHTTP リクエストに保管したオブジェクトをView が自律的に照会するように設計されています。
もちろん、大規模な開発においては、プログラムをWeb層とEJB層へ分離するなど分散環境への対応を図る必要があり、cFrameworkではそれを意識することなく開発に専念できます。

優れた再利用性により、生産性が向上
cFramework上で開発されたJavaプログラムやEJBコンポーネント、ビジネスフローは様々なアプリケーションモデルで再利用が可能になります。MVCアーキテクチャに基づいたこれらのコンポーネントを再利用することで、新規開発においても追加開発においても開発期間が短縮され、生産性が大幅に向上します。

システムコンポーネントやユーティリティを標準装備
本来、ソフトウェアアーキテクチャであるフレームワークにはアプリケーションや機能は含まれていません。ログファイルの取得やオブジェクトの永続化、入力チェックなどはフレームワークから見れば一つのアプリケーションに過ぎません。しかしながら、Webアプリケーションにおけるコンポーネント開発の生産性をさらに向上し、信頼性の高いシステムを、短期間に構築するためには、いくつか標準的なシステムコンポーネントやユーティリティがあると便利です。cFramework2.0では以下のようなシステムコンポーネントやユーティティを提供しています。

■システムコンポーネント
cSQLBuilder
cSQLBuilder は,SQL文を断片化させたテンプレートをXMLとして記述し,実行時にパラメータ値の集合を与えることによって,動的SQL文を自動的に組み立てるコンポーネントです。

SQL文内部の場合わけ


cValidator

アプリケーションが大規模化していくにつれて,検査するべき入力内容も増加していきます。しかし,フィールドごとに検査内容を定義する方法では,アプリケーションの大規模化への対応や,仕様変更時の一貫性の維持に難点がありました。cValidatorでは制約という概念を導入することで,フィールドとフィールドに対する検査内容を分離しました。


自動型変換

cInputcheck

従来のcFrameworkで提供していた入力チェックコンポーネントです。従来のcFramework上で開発したアプリケーションをcFramework2.0上で稼働させるために提供しています。cFramework2.0で新規に開発するアプリケーションではcValidatorを使用してください。

cPersistence
従来のcFrameworkで提供していたO-Rマッピングツール(リレーショナルデータベースにオブジェクト指向データベースと同様の操作でアクセスするためのツール)です。従来のcFramework上で開発したアプリケーションをcFramework2.0上で稼働させるために提供しています。cFramework2.0で新規に開発するアプリケーションではcSQLBuilderを使用してください。

cContentsTemplate
従来のcFrameworkで提供していたテンプレートエンジンコンポーネントです。従来のcFramework上で開発したアプリケーションをcFramework2.0上で稼働させるために提供しています。cFramework2.0で新規に開発するアプリケーションではJSPおよびGridTag等のタグライブラリを使用してください

cLogWrapper
cLogWrapperはロギングコンポーネントをラッピングし,開発者に統一的なロギングインタフェースを提供します。開発者が将来他のロギングコンポーネントを使用する場合,ソースを変更することなく,他のロギングコンポーネントへ移行できます。


■ユーティリティ
GridTagユーティリティ
cFramework を使用したWeb アプリケーション内で用いられる情報をHTML として出力する際に,簡単に情報を表形式で表示させます

FileUpload プラグイン
RFC1867 で定義されるHTML のフォームを利用したアップロードをサポートするためのクラス群


■開発支援ツール
Eclipse Plugin for cFramework(EPC)
EPCはcFramework の各種設定ファイルの編集を容易に行うためのEclipse プラグインです。開発者はこのプラグインを使用することによって,cFrameworkの各種設定ファイルのXML 構文の詳細な仕様について知らなくても,各種設定ファイルの設定を行うことができます。また,Eclipse のプラグインとした事でリクエストマッピングファイルの編集とリクエストマッピングファイルに記述される各種クラスの編集をEclipse から行うことができます。

新規ウィザード機能

RequestMappingsエディタ
ProcessFlowエディタ
ScreenDefinitionsエディタ

 

ハンドラの組み込みによるシステムの構築
EJBを利用するWebベースのシステムでは、HTTPリクエストからのパラメータの取得やEJBHome クラスのlookup、画面遷移の制御など共通に利用できる部品を揃えることにより、設計.開発の省力化を図ることができます。この"共通に利用できる部品"をcFramework として準備し、ターゲットのシステムごとに異なる部分を各種ハンドラで実装していくというスタイルを採用しています。ハンドラベースによる開発スタイルはクラス設計を画一化し、品質の均等化が図れます。

ベースコンポーネントとパッケージコンポーネント
cFramework では、再利用の機会を広げる意味からベースコンポーネントとパッケージコンポーネントという考え方を採用しています。これはドメインのエンティティを表現したオブジェクト(ベースコンポーネント)と、そのオブジェクトを呼び出すコントローラ的な役割を持つオブジェクト(パッケージコンポーネント)では、再利用の機会が異なるはずであるという考えに基づいたものです。ベースコンポーネントという細粒コンポーネントは再利用の機会が広がる分、再利用時のコントローラ系の開発工数が増大します。一方、処理の流れまで記述してあるパッケージコンポーネントレベルでの再利用は、要求仕様との違いにより再利用の機会が狭まりますが、適用できた場合の工数削減は大きいでしょう。このように複数の再利用レベルを設定することにより、柔軟な再利用方法を提供することができます。

複数のアプリケーションサーバのサポート
cFramework は、アプリケーションサーバの違いを吸収し、複数のアプリケーションサーバで同じバイトコードを稼動させることができます。理論上、Java 2 Platform、Enterprise Edition(J2EE)準拠のアプリケーションサーバ間ではポータビリティが保証されるわけですが、実際動作させるには様々な障害があるためcFramework は随時稼動確認をしています。

複数言語対応機能
cFramework2.0ではロケールにより使用するスクリーン定義ファイルを自動的に切り替える機能を追加しました。この機能追加により例えば、日本語、英語、中国語用のスクリーン定義ファイルを用意することによって、ロケールに応じた複数言語対応のWebアプリケーションの開発効率を向上させることができます。







問い合せ先
株式会社イーシー・ワン
〒103-0025 東京都中央区日本橋茅場町2-13-13 共同ビル
TEL : 03-5614-7027 FAX : 03-5614-7026
E-mail : cbank.sales@ec-one.com
cBank、cContentsTemplate、cFramework、cInputCheck、cLogWrapper、cMobile、ComponentBank、cPackage、cPermission、cPersistence、cShopping、cPayment、cBackOffice、cPublishing、cMarketplace、cPoint、cStudio、
コンポーネント・バンクは、株式会社イーシー・ワンの商標または、登録商標です。
●その他記載の会社名、製品は各社の商標または登録商標です。
●このカタログに記載されている事項は予告なく変更される場合があります。詳しい情報をご希望の方は、cBankサイトをご利用いただくか、お問い合わせください。

※このページはリンクフリーです