SlideShare a Scribd company logo
1 of 18
Download to read offline
Setup a ColdFusion Application
using Fusebox MVC architecture
Presented by
Manjeet Kumar Mahto.
What will we discuss?
●
What Is a Framework and why we need it?
●
What is FuseBox
●
Installing FuseBox
●
MVC In FuseBox
●
Setting up CF App using Fusebox
Framework
●
it makes it easier to work with complex technologies
●
it ties together a bunch of discrete objects/components
into something more useful
●
it forces the team (or just me) to implement code in a
way that promotes consistent coding, fewer bugs, and
more flexible applications
●
everyone can easily test and debug the code, even code
that they didn't write
What is a FuseBox?
●
Fusebox is a framework for building web
applications.
●
It is meant to make your applications easier to
create and maintain.
●
It also makes team development easier.
●
It does this by helping you structure your application
and break things down into discreet pieces.
FuseBox Elements
●
A Fusebox application is made up of Circuits.
●
A Circuit corresponds to a directory in your
application. Within each circuit are one or more
Fuseactions.
●
A Fuseaction is a request handler. And finally, a
Fuseaction does its work by executing one or
more Fuses.
●
Fuses are individual CFML templates such as
display files.
FuseBox Installation
When installing Fusebox, the most important question is
where do you want your fusebox core files as well as the
supporting files from the skeleton to be placed in your
directory structure?
● In a shared directory that several applications can
share. (This will require a web site mapping)
● Within an application and inside the web root (Some
shared servers only give you the web root).
● Within an application, but above the web root.
How to install Fusebox?
● Download the core files from the official Fusebox
Website.
● Unzip the core files.
● Put the 'fusebox5' folder in the root of your application.
● Create the folder structure in M-V-C.
● Create Fusebox.xml.cfm file at the root of your folder
structure.
● Inside each folder create Circuit.xml.cfm file.
● Add corresponding rest of the files in each of their
respective folders of Model or View Or Controller.
Fusebox.xml.cfm
For configuring your application: setting application parameters
and declaring classes, plugins and global fuseactions.
<fusebox>
<circuits>
</circuits>
<classes>
</classes>
</fusebox>
Now this file is sort of like the brain of the fusebox. It will house
the information that each circuit will do.
<circuit access="public">
<fuseaction name="welcome">
<include template="welcome.cfm" />
</fuseaction>
</circuit>
circuit.xml.cfm
MVC in FuseBox
Setting up CF App using Fusebox
We are going to follow MVC architecture for setting
up the ColdFusion App using Fusebox.
Are Fusebox and Mach-II or Model-Glue
competing frameworks?
●
Not really. They represent two different approaches to
building an application. Both Mach-II and Model-Glue
require an object-oriented approach to development.
Fusebox does not require an object-oriented approach,
but can support an OO approach if necessary.
●
Important - Fusebox does not force the Model-View-
Controller (MVC) pattern or Object-Oriented
Programming (OOP) on the developer. However, either
or both of these development approaches can be used
with Fusebox.
Development Mode VS Production Mode
●
The mode can be set to various development modes or
"production". The difference is that in development-full-
load mode, the core files reparses the XML files only if
they have changed and re-builds all the Fusebox
memory structures on every request. Development-
circuit-load, does not re-load the fusebox.xml file,
doesn't re-build the Fusebox memory structures but
does reload any circuit.xml files required by the current
request.
Development Mode VS Production Mode
●
In production mode, after the first request the core files
do not reparse or re-build anything. Obviously
production mode is many times faster than either of the
development modes. However, once production mode
has been set, you must tell your application to reparse
the XML to incorporate your changes (and this includes
changing from production mode back to development
mode). Luckily this is pretty easy to do. It's done using a
URL with some special variables attached.
fusebox.password=&fusebox.parseall=true&fusebox.loa
dclean=true&fusebox.execute=true
Model-View-Controller w/out XML
index.cfm:
<cfset FUSEBOX_PARAMETERS.defaultFuseaction =
"main.welcome" />
<cfset FUSEBOX_PARAMETERS.allowImplicitFusebox = true />
<cfinclude template= "/fusebox5/fusebox5.cfm" />
controller/main.cfc:
<cfcomponent>
<cffunction name="welcome">
<cfargument name="myFusebox" />
<cfset myFusebox.do("dsp.welcome") />
</cffunction>
</cfcomponent>
view/dsp/welcome.cfm:
Hello World!
Model-View-Controller w/out XML
References
●
http://www.fusebox.org/index.cfm/fusebox-
downloads/sample-applications/
●
http://tutorial389.easycfm.com/
●
https://www.youtube.com/watch?v=rLbsWRaOC3w
Thanks All
Q & A

More Related Content

What's hot

DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話dcubeio
 
TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発Shuto Suzuki
 
以敏捷架構打造美國軟體外包專案的經驗談
以敏捷架構打造美國軟體外包專案的經驗談以敏捷架構打造美國軟體外包專案的經驗談
以敏捷架構打造美國軟體外包專案的經驗談Will Huang
 
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーCloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーnota-ja
 
【HinemosWorld2014】B2-3_Hinemos徹底解剖~ジョブ編~
【HinemosWorld2014】B2-3_Hinemos徹底解剖~ジョブ編~【HinemosWorld2014】B2-3_Hinemos徹底解剖~ジョブ編~
【HinemosWorld2014】B2-3_Hinemos徹底解剖~ジョブ編~Hinemos
 
Selenium入門(2023年版)
Selenium入門(2023年版)Selenium入門(2023年版)
Selenium入門(2023年版)onozaty
 
Azure DevOps Management in Organization
Azure DevOps Management in OrganizationAzure DevOps Management in Organization
Azure DevOps Management in OrganizationKazushi Kamegawa
 
데이터베이스 모델링
데이터베이스 모델링데이터베이스 모델링
데이터베이스 모델링Hoyoung Jung
 
YOUTRUST会社説明資料
YOUTRUST会社説明資料YOUTRUST会社説明資料
YOUTRUST会社説明資料ssuser73b7bc
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
IBM Log Analysis with LogDNAを評価した話
 IBM Log Analysis with LogDNAを評価した話 IBM Log Analysis with LogDNAを評価した話
IBM Log Analysis with LogDNAを評価した話Daisuke Hiraoka
 
ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話Tsuyoshi Ushio
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~normalian
 
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するKoichiro Matsuoka
 
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証するHiroshi Tokumaru
 
JavaOne 2014 - Supporting Multi-tenancy Applications with Java EE
JavaOne 2014 - Supporting Multi-tenancy Applications with Java EEJavaOne 2014 - Supporting Multi-tenancy Applications with Java EE
JavaOne 2014 - Supporting Multi-tenancy Applications with Java EERodrigo Cândido da Silva
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう増田 亨
 
よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだよろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだNarami Kiyokura
 
Manage appium dependencies with -appium-home in appium 2.0
Manage appium dependencies with  -appium-home in appium 2.0Manage appium dependencies with  -appium-home in appium 2.0
Manage appium dependencies with -appium-home in appium 2.0Kazuaki Matsuo
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring増田 亨
 

What's hot (20)

DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話
 
TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発
 
以敏捷架構打造美國軟體外包專案的經驗談
以敏捷架構打造美國軟體外包專案的經驗談以敏捷架構打造美國軟體外包專案的經驗談
以敏捷架構打造美國軟體外包專案的經驗談
 
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラーCloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
 
【HinemosWorld2014】B2-3_Hinemos徹底解剖~ジョブ編~
【HinemosWorld2014】B2-3_Hinemos徹底解剖~ジョブ編~【HinemosWorld2014】B2-3_Hinemos徹底解剖~ジョブ編~
【HinemosWorld2014】B2-3_Hinemos徹底解剖~ジョブ編~
 
Selenium入門(2023年版)
Selenium入門(2023年版)Selenium入門(2023年版)
Selenium入門(2023年版)
 
Azure DevOps Management in Organization
Azure DevOps Management in OrganizationAzure DevOps Management in Organization
Azure DevOps Management in Organization
 
데이터베이스 모델링
데이터베이스 모델링데이터베이스 모델링
데이터베이스 모델링
 
YOUTRUST会社説明資料
YOUTRUST会社説明資料YOUTRUST会社説明資料
YOUTRUST会社説明資料
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
IBM Log Analysis with LogDNAを評価した話
 IBM Log Analysis with LogDNAを評価した話 IBM Log Analysis with LogDNAを評価した話
IBM Log Analysis with LogDNAを評価した話
 
ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消する
 
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
 
JavaOne 2014 - Supporting Multi-tenancy Applications with Java EE
JavaOne 2014 - Supporting Multi-tenancy Applications with Java EEJavaOne 2014 - Supporting Multi-tenancy Applications with Java EE
JavaOne 2014 - Supporting Multi-tenancy Applications with Java EE
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだよろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだ
 
Manage appium dependencies with -appium-home in appium 2.0
Manage appium dependencies with  -appium-home in appium 2.0Manage appium dependencies with  -appium-home in appium 2.0
Manage appium dependencies with -appium-home in appium 2.0
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 

Viewers also liked

라이트닝 토크 2015 파이콘
라이트닝 토크 2015 파이콘라이트닝 토크 2015 파이콘
라이트닝 토크 2015 파이콘Jiho Lee
 
Authentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVCAuthentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVCMindfire Solutions
 
2016 py con2016_lightingtalk_php to python
2016 py con2016_lightingtalk_php to python2016 py con2016_lightingtalk_php to python
2016 py con2016_lightingtalk_php to pythonJiho Lee
 
2007 - 应用系统脆弱性概论
2007 - 应用系统脆弱性概论 2007 - 应用系统脆弱性概论
2007 - 应用系统脆弱性概论 Na Lee
 
Django - The Web framework for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlinesDjango - The Web framework for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlinesMarkus Zapke-Gründemann
 
Django mongodb -djangoday_
Django mongodb -djangoday_Django mongodb -djangoday_
Django mongodb -djangoday_WEBdeBS
 
Rabbitmq & Postgresql
Rabbitmq & PostgresqlRabbitmq & Postgresql
Rabbitmq & PostgresqlLucio Grenzi
 
The Django Book, Chapter 16: django.contrib
The Django Book, Chapter 16: django.contribThe Django Book, Chapter 16: django.contrib
The Django Book, Chapter 16: django.contribTzu-ping Chung
 
Django e il Rap Elia Contini
Django e il Rap Elia ContiniDjango e il Rap Elia Contini
Django e il Rap Elia ContiniWEBdeBS
 
Super Advanced Python –act1
Super Advanced Python –act1Super Advanced Python –act1
Super Advanced Python –act1Ke Wei Louis
 
The Django Book Chapter 9 - Django Workshop - Taipei.py
The Django Book Chapter 9 - Django Workshop - Taipei.pyThe Django Book Chapter 9 - Django Workshop - Taipei.py
The Django Book Chapter 9 - Django Workshop - Taipei.pyTzu-ping Chung
 

Viewers also liked (20)

Etggs opensource
Etggs opensourceEtggs opensource
Etggs opensource
 
2 × 3 = 6
2 × 3 = 62 × 3 = 6
2 × 3 = 6
 
EuroDjangoCon 2009 - Ein Rückblick
EuroDjangoCon 2009 - Ein RückblickEuroDjangoCon 2009 - Ein Rückblick
EuroDjangoCon 2009 - Ein Rückblick
 
라이트닝 토크 2015 파이콘
라이트닝 토크 2015 파이콘라이트닝 토크 2015 파이콘
라이트닝 토크 2015 파이콘
 
Vim for Mere Mortals
Vim for Mere MortalsVim for Mere Mortals
Vim for Mere Mortals
 
Load testing
Load testingLoad testing
Load testing
 
Authentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVCAuthentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVC
 
2016 py con2016_lightingtalk_php to python
2016 py con2016_lightingtalk_php to python2016 py con2016_lightingtalk_php to python
2016 py con2016_lightingtalk_php to python
 
Bottle - Python Web Microframework
Bottle - Python Web MicroframeworkBottle - Python Web Microframework
Bottle - Python Web Microframework
 
Digesting jQuery
Digesting jQueryDigesting jQuery
Digesting jQuery
 
Html5 History-API
Html5 History-APIHtml5 History-API
Html5 History-API
 
2007 - 应用系统脆弱性概论
2007 - 应用系统脆弱性概论 2007 - 应用系统脆弱性概论
2007 - 应用系统脆弱性概论
 
PythonBrasil[8] closing
PythonBrasil[8] closingPythonBrasil[8] closing
PythonBrasil[8] closing
 
Django - The Web framework for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlinesDjango - The Web framework for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlines
 
Django mongodb -djangoday_
Django mongodb -djangoday_Django mongodb -djangoday_
Django mongodb -djangoday_
 
Rabbitmq & Postgresql
Rabbitmq & PostgresqlRabbitmq & Postgresql
Rabbitmq & Postgresql
 
The Django Book, Chapter 16: django.contrib
The Django Book, Chapter 16: django.contribThe Django Book, Chapter 16: django.contrib
The Django Book, Chapter 16: django.contrib
 
Django e il Rap Elia Contini
Django e il Rap Elia ContiniDjango e il Rap Elia Contini
Django e il Rap Elia Contini
 
Super Advanced Python –act1
Super Advanced Python –act1Super Advanced Python –act1
Super Advanced Python –act1
 
The Django Book Chapter 9 - Django Workshop - Taipei.py
The Django Book Chapter 9 - Django Workshop - Taipei.pyThe Django Book Chapter 9 - Django Workshop - Taipei.py
The Django Book Chapter 9 - Django Workshop - Taipei.py
 

Similar to Setup ColdFusion application using fusebox mvc architecture

Datasheet weblogic midvisionextensionforibmraf
Datasheet weblogic midvisionextensionforibmrafDatasheet weblogic midvisionextensionforibmraf
Datasheet weblogic midvisionextensionforibmrafMidVision
 
Introduction to Microsoft Prism
Introduction to Microsoft PrismIntroduction to Microsoft Prism
Introduction to Microsoft PrismTomaš Maconko
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorializdihara
 
Embedding Oracle Weblogic Server 1871199
Embedding Oracle Weblogic Server 1871199Embedding Oracle Weblogic Server 1871199
Embedding Oracle Weblogic Server 1871199cwspeaks
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced JavaVISHAL DONGA
 
A report on mvc using the information
A report on mvc using the informationA report on mvc using the information
A report on mvc using the informationToushik Paul
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudLyzun Oleksandr
 
Spring Native and Spring AOT
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOTVMware Tanzu
 
Integration of Struts & Spring & Hibernate for Enterprise Applications
Integration of Struts & Spring & Hibernate for Enterprise ApplicationsIntegration of Struts & Spring & Hibernate for Enterprise Applications
Integration of Struts & Spring & Hibernate for Enterprise ApplicationsIJMER
 
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...Alfonso Martino
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
 
From Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy FactorsFrom Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy FactorsEd King
 
Mulesoft kochi meetup 8 custom connector
Mulesoft kochi meetup 8   custom connectorMulesoft kochi meetup 8   custom connector
Mulesoft kochi meetup 8 custom connectorSupriya Pawar
 

Similar to Setup ColdFusion application using fusebox mvc architecture (20)

Code One 2018 maven
Code One 2018   mavenCode One 2018   maven
Code One 2018 maven
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Datasheet weblogic midvisionextensionforibmraf
Datasheet weblogic midvisionextensionforibmrafDatasheet weblogic midvisionextensionforibmraf
Datasheet weblogic midvisionextensionforibmraf
 
Introduction to Microsoft Prism
Introduction to Microsoft PrismIntroduction to Microsoft Prism
Introduction to Microsoft Prism
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
 
GlassFish v3 - Architecture
GlassFish v3 - ArchitectureGlassFish v3 - Architecture
GlassFish v3 - Architecture
 
Embedding Oracle Weblogic Server 1871199
Embedding Oracle Weblogic Server 1871199Embedding Oracle Weblogic Server 1871199
Embedding Oracle Weblogic Server 1871199
 
Fame
FameFame
Fame
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
 
Struts2 tutorial
Struts2 tutorialStruts2 tutorial
Struts2 tutorial
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
 
A report on mvc using the information
A report on mvc using the informationA report on mvc using the information
A report on mvc using the information
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento Cloud
 
Spring Native and Spring AOT
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOT
 
Osgi
OsgiOsgi
Osgi
 
Integration of Struts & Spring & Hibernate for Enterprise Applications
Integration of Struts & Spring & Hibernate for Enterprise ApplicationsIntegration of Struts & Spring & Hibernate for Enterprise Applications
Integration of Struts & Spring & Hibernate for Enterprise Applications
 
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
From Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy FactorsFrom Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy Factors
 
Mulesoft kochi meetup 8 custom connector
Mulesoft kochi meetup 8   custom connectorMulesoft kochi meetup 8   custom connector
Mulesoft kochi meetup 8 custom connector
 

More from Mindfire Solutions (20)

Physician Search and Review
Physician Search and ReviewPhysician Search and Review
Physician Search and Review
 
diet management app
diet management appdiet management app
diet management app
 
Business Technology Solution
Business Technology SolutionBusiness Technology Solution
Business Technology Solution
 
Remote Health Monitoring
Remote Health MonitoringRemote Health Monitoring
Remote Health Monitoring
 
Influencer Marketing Solution
Influencer Marketing SolutionInfluencer Marketing Solution
Influencer Marketing Solution
 
ELMAH
ELMAHELMAH
ELMAH
 
High Availability of Azure Applications
High Availability of Azure ApplicationsHigh Availability of Azure Applications
High Availability of Azure Applications
 
IOT Hands On
IOT Hands OnIOT Hands On
IOT Hands On
 
Glimpse of Loops Vs Set
Glimpse of Loops Vs SetGlimpse of Loops Vs Set
Glimpse of Loops Vs Set
 
Oracle Sql Developer-Getting Started
Oracle Sql Developer-Getting StartedOracle Sql Developer-Getting Started
Oracle Sql Developer-Getting Started
 
Adaptive Layout In iOS 8
Adaptive Layout In iOS 8Adaptive Layout In iOS 8
Adaptive Layout In iOS 8
 
Introduction to Auto-layout : iOS/Mac
Introduction to Auto-layout : iOS/MacIntroduction to Auto-layout : iOS/Mac
Introduction to Auto-layout : iOS/Mac
 
LINQPad - utility Tool
LINQPad - utility ToolLINQPad - utility Tool
LINQPad - utility Tool
 
Get started with watch kit development
Get started with watch kit developmentGet started with watch kit development
Get started with watch kit development
 
Swift vs Objective-C
Swift vs Objective-CSwift vs Objective-C
Swift vs Objective-C
 
Material Design in Android
Material Design in AndroidMaterial Design in Android
Material Design in Android
 
Introduction to OData
Introduction to ODataIntroduction to OData
Introduction to OData
 
Ext js Part 2- MVC
Ext js Part 2- MVCExt js Part 2- MVC
Ext js Part 2- MVC
 
ExtJs Basic Part-1
ExtJs Basic Part-1ExtJs Basic Part-1
ExtJs Basic Part-1
 
Spring Security Introduction
Spring Security IntroductionSpring Security Introduction
Spring Security Introduction
 

Recently uploaded

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Recently uploaded (20)

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 

Setup ColdFusion application using fusebox mvc architecture

  • 1. Setup a ColdFusion Application using Fusebox MVC architecture Presented by Manjeet Kumar Mahto.
  • 2. What will we discuss? ● What Is a Framework and why we need it? ● What is FuseBox ● Installing FuseBox ● MVC In FuseBox ● Setting up CF App using Fusebox
  • 3. Framework ● it makes it easier to work with complex technologies ● it ties together a bunch of discrete objects/components into something more useful ● it forces the team (or just me) to implement code in a way that promotes consistent coding, fewer bugs, and more flexible applications ● everyone can easily test and debug the code, even code that they didn't write
  • 4. What is a FuseBox? ● Fusebox is a framework for building web applications. ● It is meant to make your applications easier to create and maintain. ● It also makes team development easier. ● It does this by helping you structure your application and break things down into discreet pieces.
  • 5. FuseBox Elements ● A Fusebox application is made up of Circuits. ● A Circuit corresponds to a directory in your application. Within each circuit are one or more Fuseactions. ● A Fuseaction is a request handler. And finally, a Fuseaction does its work by executing one or more Fuses. ● Fuses are individual CFML templates such as display files.
  • 6. FuseBox Installation When installing Fusebox, the most important question is where do you want your fusebox core files as well as the supporting files from the skeleton to be placed in your directory structure? ● In a shared directory that several applications can share. (This will require a web site mapping) ● Within an application and inside the web root (Some shared servers only give you the web root). ● Within an application, but above the web root.
  • 7. How to install Fusebox? ● Download the core files from the official Fusebox Website. ● Unzip the core files. ● Put the 'fusebox5' folder in the root of your application. ● Create the folder structure in M-V-C. ● Create Fusebox.xml.cfm file at the root of your folder structure. ● Inside each folder create Circuit.xml.cfm file. ● Add corresponding rest of the files in each of their respective folders of Model or View Or Controller.
  • 8. Fusebox.xml.cfm For configuring your application: setting application parameters and declaring classes, plugins and global fuseactions. <fusebox> <circuits> </circuits> <classes> </classes> </fusebox>
  • 9. Now this file is sort of like the brain of the fusebox. It will house the information that each circuit will do. <circuit access="public"> <fuseaction name="welcome"> <include template="welcome.cfm" /> </fuseaction> </circuit> circuit.xml.cfm
  • 11. Setting up CF App using Fusebox We are going to follow MVC architecture for setting up the ColdFusion App using Fusebox.
  • 12. Are Fusebox and Mach-II or Model-Glue competing frameworks? ● Not really. They represent two different approaches to building an application. Both Mach-II and Model-Glue require an object-oriented approach to development. Fusebox does not require an object-oriented approach, but can support an OO approach if necessary. ● Important - Fusebox does not force the Model-View- Controller (MVC) pattern or Object-Oriented Programming (OOP) on the developer. However, either or both of these development approaches can be used with Fusebox.
  • 13. Development Mode VS Production Mode ● The mode can be set to various development modes or "production". The difference is that in development-full- load mode, the core files reparses the XML files only if they have changed and re-builds all the Fusebox memory structures on every request. Development- circuit-load, does not re-load the fusebox.xml file, doesn't re-build the Fusebox memory structures but does reload any circuit.xml files required by the current request.
  • 14. Development Mode VS Production Mode ● In production mode, after the first request the core files do not reparse or re-build anything. Obviously production mode is many times faster than either of the development modes. However, once production mode has been set, you must tell your application to reparse the XML to incorporate your changes (and this includes changing from production mode back to development mode). Luckily this is pretty easy to do. It's done using a URL with some special variables attached. fusebox.password=&fusebox.parseall=true&fusebox.loa dclean=true&fusebox.execute=true
  • 15. Model-View-Controller w/out XML index.cfm: <cfset FUSEBOX_PARAMETERS.defaultFuseaction = "main.welcome" /> <cfset FUSEBOX_PARAMETERS.allowImplicitFusebox = true /> <cfinclude template= "/fusebox5/fusebox5.cfm" />
  • 16. controller/main.cfc: <cfcomponent> <cffunction name="welcome"> <cfargument name="myFusebox" /> <cfset myFusebox.do("dsp.welcome") /> </cffunction> </cfcomponent> view/dsp/welcome.cfm: Hello World! Model-View-Controller w/out XML