フォトアルバム

2009年7月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

なかのひと

アンケート

  • Do you Like?
    アンケート
    どのColdfusion用フレームワークが好き?
    ModelGlue:Unity
    ModelGLue
    Mach-II
    FuseBox
    LiteWire
    OnTap
    ColdBox
    OnAir
    cfWheels
    CFRails

    [PR]アンログ.jp 自動車保険

373news.com

想ひ出

  • Dvc00050
    携帯で撮った写真をアルバムにしています。

サムネイル

  • CF-OOP









  • ganymean.org









  • シナプス

Google Analytics

FuseBox

cf.objective 2007 サマリ

Coldfusionファンには、生唾ものの情報です。

CF-OOPのまとめをしなきゃと思って、本家メンバーのRSSフィードをチェックしていたら、cf.objectiveのプレゼン概要を、Matt Woodwardが日々google Docs形式でアップしています。ご覧あれ!

 cf.objective 2007 - Jason Delmore KeynoteColdFusion Weekly Flickr Photos
 Mark Mandel - Intro to Transfer ORM
 Hal Helms - Object Modeling
Sean Corfield - AJAX in Scorpio
Adam Lehman - .NET and Exchange Integration with Scorpio 
 CFEclipse Project - Mark Drew
Adam Lehman - Scorpio Server Monitoring and Alerts
 Peter Farrell - Head First Mach-II
 Peter Farrell - What's New in Mach-II 1.5
Jason Delmore - 1337 Scorpio
Sean Corfield - Real World SOA With ColdSpring and Transfer
Ben Forta - Top Secret Scorpio
 Dave Ross - ColdSpring 101
 Maxim Porges - Maximizing Your CF/Flex Applications With Java

 


CF-OOPのリソースリスト

昨日に続いて、CF-OOPに関する頭の体操をしています。
やはり、参考になるのは、Brian Rinaldi のディレクトリかなあーと思って、ググッてみると、
Objects and Frameworks - the Big Resource List
というタイトルで、CF-OOPマニアにはヨダレが垂れるような記事をわかりやすく整理してくれています。

これを読んで頭慣らしかなあー。

Fusebox5 RC1リリース!?

Sean Corfieldが、CFUNITEDでFuseBox5 RC1をアナウンスするようです。
FuseBox5のXMLファイルをModel-Glue風にすることも可能なようですけど、いまさらFuseBoxは覚えたくないなあー。

CF-Unitedでの発表

[ColdSpring-Dev]のメーリングリストで、Sean A Corfieldが予告した。
6月下旬のCF-Unitedで、ModelGlue、ColdSpring、Reactor、そしてFuseBoxが商用利用可能なオープンソースとして公開されるらしい。
非常に楽しみだ。自社の開発に持ち込むか、このまま趣味の世界で続けるか悩むなあ・・・

FuseBox5 Alpha1

Sean Corfieldのブログで、FuseBox5 Alpha 1リリースの記事が紹介されています。
V4.1と完全互換のようです。そして、今日現在は、Alpha2になっています。
詳細は、Fusebox 5 mailing listを見て頂戴!ってことのようです。
その後、ColdSpringとの連携記事Fuseboxのカスタムタグ機能(Lexicons)を使って、ModelGlueのコアを活用する記事も紹介されています。

Fusebox5

Sean Corfieldのブログに、Fusebox5開発スタートの記事があったので紹介しておきます。

  • Fusebox4.1と後方コンパチ
  • コアファイルをリビルド(メンテナンス性の追求)
  • 文法の構造化

メーリングリストも作成されたようななので、興味のある方はどうぞ参加してください。
http://groups.yahoo.com/group/fusebox5/

CFMX用フレームワーク比較

Sean CorfieldがColdfusion用フレームワークの比較プレゼンを彼のブログにアップした。
Fusebox4、Mach-II、Model-Glueの3つについて、特徴と概観図をシンプルに比較しており、大変わかりやすい。
早速、Model-Glue+ColdSpringとTartanの比較資料における概観図に引用させてもらった。

CFMX開発 Mach-II vs FuseBox

Mach-IIとFuseBoxの領域モデルについて、Hal Helms とJeff Petersが熱く語っているサイトの内容をゆっくり熟読してみた。
広くCFMX開発者で認識されている

Mach-I I ⇒ OO(Object Oriented)
FuseBox ⇒ Procedual

ではなく、

Mach-I I ⇒ 厳密なOO    
       ⇒ OOを熟知したOOPが必須
                  ⇒ 敷居が高い
FuseBox ⇒ ゆるやかなOO
                ⇒ OOを熟知していなくても、OOPもどきができる
                  ⇒ 敷居が低い

ということのようだ。
ブログの記事をハックして表示するためのサンプルプログラムを作りながら、比較してみよう。

CFMX開発 Fusebox4.1 with Lexicon

Fuseboxのサブフレームワークとして、'Lexicon'がリリースされていた。
Fuseaction毎のView表示に異なるスタイルシートを適用するためのようだ。

CFMX開発 フレームワーク比較表2

CFMX用フレームワーク比較表で、Fusebox、Mach-II、Model-Glueの比較をしていたことを思い出して、もう比較表を見直してみました。
やっぱり、Fuseboxは敷居の低さ、Mach-IIはプロフェッショナル用、Model-Glueは両方のいいとこ取りって感じです。

各比較項目のうち、1行目は共通点、2行目以降は差異点です。
(以下、各フレームワークの略称 FB:Fusebox/M2:Mach-II/MG:Model-Glue)

・XML
All use XML config files
FB has multiple XML,  M2/MG has one XML
・MVC
Can use MVC
FB allows but does not enforce, M2/MG pretty much forces it
・MVC Structure
Model/View directories
FB typically has controller circuit directory, M2/MG has implicit controller in framework
・CFCs
Can use CFCs
FB allows but does not enforce, M2/MG pretty much forces it
・Plugins
All have plugin points
FB has more plugin points, M2 distinguishes events and views, MG has simple request/queue model
・Access control
All have private / public concepts
FB has per circuit and per fuseaction as well as roles-based model, M2/MG has per event access only
・Auth / Security
None
FB has roles support builtin, M2 provides a sample filter, MG is free form
・Install / Config
One-stop core files, basic properties in XML file
One-stop core files is brand new in FB41, FB provides finer control over framework behavior, MG has a simple framework control model
・Modularity of Application
None
FB has circuits to partition large applications
・Modularity of Site
None
M2 allows multiple sub-applications to share application scope
・Commonality
Can explicitly invoke fuseactions / announce events / add results to handle common functionality  FB has per-circuit pre-/post-fuseaction hooks, providing framework level support for commonality
・Views
All encourage views to contain “only HTML” (no logic)
FB/MG lets you include a view directly, M2 requires that you declare all views in XML
・Handler Model
All declare 'handlers' for 'events' in XML
FB is a static, explicit invocation model, M2 is a dynamic, implicit invocation model, MG is somewhere in between
・Data bus
Can use request scope as data bus (but it's not always best practice) – MG uses event object   FB allows variables scope as data bus, M2 allows event object as data bus, MG enforces event object as data bus
・Global data
None
FB has fusebox.init.cfm, M2 uses either 《property》 tags or plugin (or both), MG has settings
・Model CFC Structure
Most CFC methods could be the same
FB uses standard init() construction controlled by explicit code in fusebox.init.cfm or circuit, M2 reserves init() and uses a managed configure() method to initialize CFCs – with no arguments – and CFCs must extend the framework, MG has base controller init() method
・Conditional logic
None
FB has some conditional logic in the XML grammar, M2 requires conditional logic placed in CFCs, MG requires controller CFCs
・Model Actions
All have the concept of separating business model logic from presentation logic
FB allows a model action to set multiple outputs, M2 uses strict call/return semantics so each action can have only one result, MG allows a model to set multiple outputs via event object
・Model Queries
None
FB specifically separates out persistence operations (by a naming convention on files), M2/MG draws no distinction between actions and queries

ちょっと長かったかな?

CFMX開発 フレームワーク論

CFMX開発とフレームワークをGoogleで検索したら、ここに参考資料がありました。
フレームワークとは?を以下のように述べている。ふむふむ・・・

1.パターン
家づくりを考えろ!
建築様式と建造方法にはどんなパターンがありますか?
2.ルール
やっていいこと、やってはいけないこと、そして最適解。
屋根を地面にある家はないだろう?
3.構造
壁、ドア、窓、屋根の型式を定義しなさい。
産業的に統一されたパターンとルールが、標準ドア(カスタムフィットオプションが可能な)を供給する。

さらに、Coldfusionの3つのフレームワークを以下のように比較している。

1.Mach-II
MVCイベントドリブンベースのcfcフレームワーク
2.Fusebox4.1
簡単、標準、柔軟、自然なcfmフレームワーク
3.Tartan
オブジェクト指向のコマンドドリブンベースのサービス層フレームワーク

なんとなく、個人的な好みとしては、Mach-II+Tartanかなー。

CFMX開発 Fuseboxドキュメント

Fuseboxの日本語ドキュメントを探したら、ここにありました。

Fusebox メソドロジー

FuseboxとMach-IIを比較すると、こんな感じかなー。

Fusebox cfmベースのフレームワーク(シロウトさんもOK!)

Mach-II  cfcベースのフレームワーク(プロ向け!)

CFMX開発 Fuseboxって?

Fuseboxの本家は、ここなんだけど、googleで国内サイトを検索したら、リンコムのテクノロジー紹介に、Fuseboxの記事が載っていた。
>岩上さん、わかりやすい紹介ありがとうございます。

それによると、

【Fuseboxの設計手法上の特徴】
Fuseboxが提供しているものは単にプログラム設計手法だけでなく、ドキュメンテーションなど多岐に渡っています。ここではそのうち、「リンコム ネクスト 2」が採用しているプログラム設計手法に的を絞って説明していきます。

Fuseboxの設計手法上の特徴は大きく分けて以下の2つがあります。
    (1)プログラムのモジュール化/コンポーネント化
    (2)役割に応じたプログラムファイルの分割

とFuseboxの特徴が紹介されていて、
1)プログラムののモジュール/コンポーネント
では、cfmプログラムをヒューズボックスのように、多段構成的にディスパッチすることから、Fuseboxというフレームワーク名となったことが書かれてあった。ふむふむ・・・・
2)役割に応じたプログラムファイルの分割
では、cfmファイルを役割に応じて使い分ける手法がとられているとのこと。

ファイルの役割分担

・Displayファイル
    主に画面に表示するHTMLを記述したcfmファイルです。このファイルの中には極力ロジックの記述は避け、CFOUTPUTのような変数内容を表示するタグのみを記述するようにします。
    ファイル名は「dsp_***.cfm」というフォーマットになります。

・Actionファイル
    画面に表示する内容は含まず、プログラムロジックを記述したcfmファイルです。
    CFMLの表示をつかさどる機能を持ったタグ以外のほとんどのタグは、このファイル内に記述します。ただし以下に示すように、CFQUERYやCFLOCATIONは特別なファイルに分けて記述する場合があります。
    ファイル名は「act_***.cfm」というフォーマットになります。

・Queryファイル
    CFQUERYタグを使ってデータベースへアクセスする部分を切り出したファイルです。こうすることによって、同じクエリー文があったときにはQueryファイルをインクルードするようにすれば、クエリー文の再利用性が高まります。
    ファイル名は「qry_***.cfm」というフォーマットになります。

・Redirectionファイル
    CFLOCATIONタグを使って画面を遷移させる部分を切り出したファイルです。こうすることによって、モジュールを再利用した際に利用者が意図しない画面遷移が起きてしまうのを防ぎやすくなります。
    ファイル名は「url_***.cfm」というフォーマットになります。

4つのファイルは、各々DIsplay(View)、Action(Controller)、Query(Model)、Redirection(View)というように、MVCライクに使われるようです。ふむふむ・・・・

ちなみに、リンコムネクスト2は、Fuseboxの開発手法を取り入れているそうです。

ログイン

  • コントロールパネルへのログイン
    アカウント:

    パスワード:

PR情報

  • [[PR]]
  • おすすめバナー

更新ブログ

google Search

  • Google
    blog.ganymean.org
    WWW

最近のトラックバック

Google

SHINOBI

Blog powered by TypePad
Member since 04/2005