41
Don’t Be Q-less Expanding Fusebox Functionality with FuseQ John Quarto-vonTivadar FutureNow, Inc. www.futurenowinc.com [email protected]

Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

  • Upload
    akamu

  • View
    21

  • Download
    1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Don’t Be Q-lessExpanding Fusebox Functionality with FuseQ

John Quarto-vonTivadar

FutureNow, Inc.

www.futurenowinc.com

[email protected]

Page 2: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

FuseQ to the ResQFuseQ treats fuseactions like a queueA page request can be made up of one *or more* fuseactionsAnalogy: 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 orderBefore leaving the core file, are there any Fuseactions left in the FuseQ?

Page 3: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Benefits of FuseQFuseactions are more atomic since the page request is not limited to a single FANo need for <cfmodule> to access code in other circuits

no memory thread costno passing thru of needed variablesno kludges in scoping out-bound variablesno successive recursion calls

No core file changes are required to handle all of: layout fuses, error/exception handling, Model-View-Controller, etc. These all flow naturally from FuseQ’s implementation

Page 4: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Features of FuseQ

Layouts: circuit-wide layouts are handled at the circuit layer (fbx_layouts) and fuse- or fuseaction-specific 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!

Page 5: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

Call FBX_Layouts

Call layoutfiles

Display output

Fusebox 3Execution Path

Page 6: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

World.hello

Call FBX_Layouts

Call layoutfiles

Display output

Page 7: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

World.hello

Call FBX_Layouts

Call layoutfiles

Display output

Page 8: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

World.hello

Call FBX_Layouts

Call layoutfiles

Display output

Page 9: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

World.hello

Call FBX_Layouts

Call layoutfiles

Display output

Page 10: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fusesWorld.hello

Call FBX_Layouts

Call layoutfiles

Display output

Page 11: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

World.helloCall

FBX_Layouts

Call layoutfiles

Display output

Page 12: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

World.hello

Call FBX_Layouts

Call layoutfiles

Display output

Page 13: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

World.hello

Call FBX_Layouts

Call layoutfiles

Display output

Page 14: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Finished product

Page 15: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

TechspeditionFusebox 3-compliantExecution Path

Page 16: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Page 17: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Page 18: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Page 19: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

Page 20: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

Call FBX_Layouts

Page 21: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

Call FBX_Layouts

Call layoutfiles

Page 22: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

Call FBX_Layouts

Display output

Call layoutfiles

Page 23: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Call Fusebox core file

Call Circuits.cfm

Call home circuit’sFBX_Settings

Call target circuit’sFBX_Switch

Call appropriate

fuses

Call FBX_Layouts

Display output

Call layoutfiles

If FuseQ not empty then loop again

Page 24: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

World.hello

Page 25: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

World.hello

Page 26: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Finished product

Page 27: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfo

Company.getStock

World.hello

Page 28: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfo

Company.getStock

World.hello

Page 29: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfoCompany.getStock

World.hello

User.getInfo

Page 30: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfoCompany.getStock

World.hello

User.getInfo

Page 31: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfo

Company.getStock

World.hello

Page 32: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfo

Company.getStock

World.hello

Page 33: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfo

Company.getStock

World.hello

Page 34: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfo

World.hello

Company.getStock

Page 35: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

User.getInfo

Company.getStock

World.hello

Page 36: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Finished product

Page 37: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

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 implementationYour Fusebox 3-compliant apps will work out of the box whether you use FuseQ or notTopology: C C++ All legacy C code worked without a single changeAnd it’s free, damn it!

Page 38: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

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

Page 39: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

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.

Page 40: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

CodeRutters: “Discovering Fusebox 3” by Hal Helms and John Quarto-vonTivadar pre-order now on the web site for $19.99

www.techspedition.com

Page 41: Don’t Be Q-less Expanding Fusebox Functionality with FuseQ

Finding Your Inner FuseQon 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, cross-training your brain

“Exploring the FuseQ” book in development

Open call for authors – we’re anxious to publish your book