ColdSpringとは?

ModelGlue + Tartan/ColdSpring
Tomoaki Tanaka
Kagoshima, Japan
Model-Glueとは?
 Model-Glueは

暗黙呼出フレームワーク

Lesser GPLとしてリリース
 ダウンロード、利用、改編がフリー
Model, View, and Controller の分離を促進



 ColdFusionアプリケーション用フレームワーク
 簡単にMVC(Model View Controller)デザインパターンを作成可能
 Tartanなど他のフレームワークと協調動作
他のフレームワークとの本当に簡単な協調動作:
 Tartan(By Paul Kenney)フレームワーク接続用コネクターが付属
Mach-II(他の暗黙呼出、MVCフレームワーク)と比較して
 少し簡略化された機能
 ModelとControllerの境界をより明確に定義
 開発者

Joe Rinehart
http://www.model-glue.com
 a quasi-popular ColdFusion blogger with an interest in developing
better OO applications in ColdFusion,
 with constant feedback provided by Doug Hughes of Alagad, Inc.
View
ModelGlueの概観
ModelGlue
Controller
Model
ModelGlue.xml
Configure
ModelGlue
User
InterAction
Click
html
ModelGlue
Core Files
Include
Views
(.cfm)
Config bean
(.xml)
Configure
Bean
Controllers
(.cfc)
Call &
Return
Models
(.cfc)
Tartanとは?
 Tartanは




ColdFusion用サービスフレームワーク
 大規模アプリケーション向け
 コマンドドリブンベース
 機能性の完全分離 と Modelのサブレイヤ化 を提供
2つのServiceコントローラを配置し、ビジネスロジック層配下を制御
 ローカルサービス:CFCs
 リモートサービス:Flash Remoting 、SOAP web services.
ビジネスロジック層配下を制御は、Commandを介して実行
 Command:アプリケーション内で 機能分離されたオペレーションを実装
 Command:アプリケーションのコアロジックを含む
Tartanの6つのコアクラス
 RemoteService, LocalService
 Command, DAO, ValueObject and ExceptionHandler.
 開発者
 Paul Kenney
http://tartanframework.org/
View
Tartanの概観
Controller
Service
Tartan
(Model)
Config.xml
Service.xml
Configure
Tartan
Configure
Framework
Coldfusion
Framework
Core Files
Controllers
(.cfc)
Command
VO
DAO/Gateway
Tartanは、Coldfusion用サービスフ
レームワーク。既存MVCフレームワー
クと連携し、Model部分における機能
性の完全的分離とサービスレイヤ以
下のサブレイア化を実現する。
Tartan
Core Files
Call &
Return
Services
(.cfc)
Call &
Return
Commans
VOs
DAOs/Gateways
(.cfc)
ColdSpringとは?
 ColdSpringとは?



Coldfusion用フレームワーク
 IoC機能(Inversion of Control, also DI)
 AOP機能(Aspect Oriented Programming)
 サービスレイヤ支援機能
IoC機能:制御の逆転
 コンテナ上でコンポーネントを管理するための技術
 XMLで記述された Bean 定義ファイル
 オブジェクトの生成、オブジェクト同士の関連を生成
 既存フレームワークへの統合アクセスを実現
AOP機能:アスペクト指向プログラミング
 AOPによるプログラミングの特徴

IoC コンテナの利用により、宣言的に単機能のオブジェクトに機能を追加可能



開発者が単機能に限定したcfcオブジェクトの開発に専念可能
開発者はビジネスロジックの作成に集中可能
システム開発コストの大幅削減が可能
 AOPによるシステム開発のメリット

サービスレイヤ支援機能
 IoCコンテナ機能を活用したサービス層のビーン化と依存性定義

Service/VO/DAO/Utils
View
ColdSpringの概観
Controller
Service
ColdSpring
Config.xml
ColdSpring.xml
VO
DAO/Gateway
Advice
Configure
ColdSpring
(IoC, AOP, Bean)
Configure
Framework
Coldfusion
Framework
Core Files
ColdSpring
Core Files
ColdSpringは、Coldfusion用
Frameworkと連携し、既存フレーム
ワークの効率的なModel管理とAOP
プログラミングを提供するフレームワー
ク。
ModelのIoC機能とBean(VO)機能
の強化によるサービス層以下のサブレ
イヤ化とAOP機能を実現する。
Call &
Return
Controllers
(.cfc)
Call &
Return
Services
VOs(Beans)
DAOs/Gateways
(.cfc)
Advice
(.cfc)
View
ModelGlue+Tartanの概観
ModelGlue
Controller
Service
Tartan
ModelGlue.xml
Service.xml
Configure
ModelGlue
User
InterAction
Click
html
Command
VO/DAO/GW
Configure
Tartan
ModelGlue
Core Files
Tartanは、Coldfusion用サー
ビスフレームワーク。
ModelGlueと連携し、Model
部分における機能性の完全的
分離とサービスレイヤ以下のサ
ブレイア化を実現する。
Tartan
Core Files
Include
Views
(.cfm)
Controllers
(.cfc)
Call &
Return
Services
(.cfc)
Call &
Return
Commans
VOs
DAOs/Gateways
(.cfc)
ColdSpring.xml
ModelGlue
ModelGlue.xml
ColdSPring
ModelGlue+ColdSpringの概観
View
Controller
Service
VO/DAO/GW
Advice
Configure
ColdSpring
(IoC, AOP, Bean)
User
InterAction
Click
html
ModelGlue
Core Files
ColdSpring
Core Files
Call &
Return
Include
Views
(.cfm)
ColdSpringは、Coldfusion
用Frameworkと連携し、既存
フレームワークの効率的な
Model管理とAOPプログラミン
グを提供するフレームワーク。
ModelのIoC機能とBean
(VO)機能の強化によるサービ
ス層以下のサブレイヤ化と
AOP機能を実現する。
Controllers
(.cfc)
Call &
Return
Services
VOs(Beans)
DAOs/Gateways
(.cfc)
Advice
(.cfc)
サンプルアプリケーション例:GGCC
Sean Corfieldによるサンプルアプリケーション:GGCCでのファイル数
Master Framework
GGCC7
ModelGlue
GGCC8
ModelGlue+
Tartan
GGCC9
.xml(Config)
.cfc(Controller)
.xml(Config)
.cfc(Model)
2 Files
5 Files
-
-
-
-
1 Files
19 Files
modelglue.xml
config.xml
2 File
modelglue.xml
Tartan.xml
1 file
modelglue.xml
ModelGlue+
ColdSpring
Sub Framework
mailer.cfc
taskmanager.cfc
usermanager.cfc
relocate.cfc
Viewconstants.cfc
5 Files
mailer.cfc
taskmanager.cfc
usermanager.cfc
relocate.cfc
viewconstants.cfc
6 files
mailer.cfc
taskmanager.cfc
usermanager.cfc
relocate.cfc
viewconstants.cfc
exceptionhandler.cfc
Service.xml
1 file
ggcc.xml
1 Services File
10 Commands Files
3 vo Files
4 data Files
1 Exceptions File
13 Files
7 model Files
5 bean Files
1 aspect File