Don’t Be Q-less Expanding Fusebox Functionality with FuseQ John Quarto-vonTivadar FutureNow, Inc. www.futurenowinc.com [email protected] FuseQ to the ResQ FuseQ treats fuseactions like a queue A page request.

Download Report

Transcript Don’t Be Q-less Expanding Fusebox Functionality with FuseQ John Quarto-vonTivadar FutureNow, Inc. www.futurenowinc.com [email protected] FuseQ to the ResQ FuseQ treats fuseactions like a queue A page request.

Don’t Be Q-less
Expanding Fusebox Functionality with FuseQ
John Quarto-vonTivadar
FutureNow, Inc.
www.futurenowinc.com
[email protected]
FuseQ to the ResQ
FuseQ treats fuseactions like a queue
A page request can be made up of one *or more*
fuseactions
Analogy: In line at the Bank… if no one’s in front
of you, you get to be the next one handled by the
Teller; if not, you wait your turn. Every once in a
while you’ll let a little old lady skip ahead of you.
FuseQ treats the fuseaction as a list … handled in
successive order
Before leaving the core file, are there any
Fuseactions left in the FuseQ?
Benefits of FuseQ
Fuseactions are more atomic since the page
request is not limited to a single FA
No need for <cfmodule> to access code in other
circuits
no memory thread cost
no passing thru of needed variables
no kludges in scoping out-bound variables
no successive recursion calls
No core file changes are required to handle all of:
layout fuses, error/exception handling, ModelView-Controller, etc. These all flow naturally
from FuseQ’s implementation
Features of FuseQ
Layouts: circuit-wide layouts are handled at the
circuit layer (fbx_layouts) and fuse- or fuseactionspecific layouts are handled at the fuse layer
Layout fuses can be applied from any circuit
(similar to qry file feature)
Because of zero core file dependencies, you can
use “traditional” CF error and exception handling
at the app, circuit, FA, and Fuse level. Nothing
FB-specific!
Call Fusebox
core file
Call
Circuits.cfm
Fusebox 3
Execution Path
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
Call
FBX_Layouts
Call layout
files
Display output
World.hello
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
Call
FBX_Layouts
Call layout
files
Display output
Call Fusebox
core file
World.hello
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
Call
FBX_Layouts
Call layout
files
Display output
Call Fusebox
core file
Call
Circuits.cfm
World.hello
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
Call
FBX_Layouts
Call layout
files
Display output
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
World.hello
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
Call
FBX_Layouts
Call layout
files
Display output
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
World.hello
Call
appropriate
fuses
Call
FBX_Layouts
Call layout
files
Display output
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
World.hello
Call
FBX_Layouts
Call layout
files
Display output
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
Call
FBX_Layouts
World.hello
Call layout
files
Display output
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
Call
FBX_Layouts
Call layout
files
World.hello
Display output
Finished product
Call Fusebox
core file
Techspedition
Fusebox 3-compliant
Execution Path
Call Fusebox
core file
Call
Circuits.cfm
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
appropriate
fuses
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call
target circuit’s
FBX_Switch
Call
FBX_Layouts
Call
appropriate
fuses
Call Fusebox
core file
Call
Circuits.cfm
Call
home circuit’s
FBX_Settings
Call layout
files
Call
target circuit’s
FBX_Switch
Call
FBX_Layouts
Call
appropriate
fuses
Call Fusebox
core file
Call
Circuits.cfm
Display output
Call
home circuit’s
FBX_Settings
Call layout
files
Call
target circuit’s
FBX_Switch
Call
FBX_Layouts
Call
appropriate
fuses
Call Fusebox
core file
Call
Circuits.cfm
If FuseQ not
empty then
loop again
Display output
Call
home circuit’s
FBX_Settings
Call layout
files
Call
target circuit’s
FBX_Switch
Call
FBX_Layouts
Call
appropriate
fuses
World.hello
World.hello
Finished product
World.hello
Company.getStock
User.getInfo
World.hello
Company.getStock
User.getInfo
World.hello
Company.getStock
User.getInfo
User.getInfo
World.hello
Company.getStock
User.getInfo
User.getInfo
World.hello
Company.getStock
User.getInfo
World.hello
Company.getStock
User.getInfo
World.hello
Company.getStock
User.getInfo
World.hello
Company.getStock
User.getInfo
World.hello
Company.getStock
User.getInfo
Finished product
Will I be stuck behind the Q-ball?
Techspedition core file is a full private
implementation of the Fusebox 3 spec
Contains FuseQ and a number of other needed
improvements excluded from the official FB3
implementation
Your Fusebox 3-compliant apps will work out of
the box whether you use FuseQ or not
Topology: C  C++ All legacy C code worked
without a single change
And it’s free, damn it!
That’s Q-ute, but let’s see code!
general use
Layout Fuses
Error/Exception Handling
Short Q&A and lunch
Model-View-Controller (Hal)
Other Techspedition core file API features
Magellan traveled around the world
just to end up where he started.
With our books, he could have really
gone somewhere.
A little knowledge goes a long way.
CodeRutters: “Discovering Fusebox 3”
by Hal Helms and John Quarto-vonTivadar
pre-order now on the web site for $19.99
www.techspedition.com
Finding Your Inner FuseQ
on a techspedition into knowledge
Core files at www.techspedition.com
Series of articles explaining FuseQ
Other regular columns and guest authors speak
about the development cycle, coding, crosstraining your brain
“Exploring the FuseQ” book in development
Open call for authors – we’re anxious to publish
your book