©2003 The Fusebox Corporation Fusebox MX Hal Helms.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

Apache Struts Technology
Chapter 3: Modularization
Chapter 2: Modularization
Introduction To System Analysis and Design
Struts Basics SSE USTC Qing Ding. Agenda What is and Why Struts? Struts architecture – Controller: Focus of this presentation – Model – View Struts tag.
Design Patterns CS is not simply about programming
Object-oriented Programming Concepts
Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz.
Itntroduction to UML, page 1 Introduction to UML.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Apache Struts Technology A MVC Framework for Java Web Applications.
Fusebox Framework Florencio Almirol. Overview What is Fusebox? Concepts Request-Response Process Extending Fusebox.
Course Instructor: Aisha Azeem
Computer Science 240 Principles of Software Design.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
The chapter will address the following questions:
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
Web 2.0: Concepts and Applications 2 Publishing Online.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
Object Oriented Software Development
March 12 & 13, 2007 Fusebox 5.5 Scaffolding Kevin Roche Objective Internet Ltd.
Spring Overview, Application demo -Midhila Paineni 09/23/2011 Spring Overview, Application demo9/8/20151.
Don’t Be Q-less Expanding Fusebox Functionality with FuseQ John Quarto-vonTivadar FutureNow, Inc.
Frameworks: Mach II or Fusebox 4? Sean A Corfield Director of Architecture Macromedia, Inc.
Describing Methodologies PART II Rapid Application Development*
More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
An Introduction to Fusebox 3.0 Fusebox 3.0. An Introduction to Fusebox 3.0 The Fusebox Philosophy There are two ways of constructing a software design:
1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford.
COMP 354 Software Engineering I Section BB Summer 2009 Dr Greg Butler
CS303ELoops1 CS 303E Lecture 8: Loops Self-referentially, short for GNU's not UNIX, a Unix-compatible software system developed by the Free Software Foundation.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
Introduction To System Analysis and Design
©2003 TeraTech, Inc Fusebox 4 Michael Smith, TeraTech, Inc x110 Copyright TeraTech 2003.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
SOFTWARE DESIGN.
CSE 219 Computer Science III Program Design Principles.
Chapter 6 – Architectural Design CSE-411, Dr. Shamim H Ripon.
More on Fusebox at Fusebox 3 Development Methodology : Fusebox 3.0 With thanks to David Laing, Hal.
(c) University of Washington01-1 CSC 143 Java Programming as Modeling Reading: Ch. 1-6.
Created by, Author Name, School Name—State FLUENCY WITH INFORMATION TECNOLOGY Skills, Concepts, and Capabilities.
Frameworks CompSci 230 S Software Construction.
Fusebox 5 vs Model-Glue JaxFusion September 2006.
Model View Controller MVC Web Software Architecture.
Building Fusebox Frameworks Jeff Peters
Chapter 2: Variables, Functions, Objects, and Events JavaScript - Introductory.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
EGOS LLC CCSDS 14/ Question Question; Why a Service Viewpoint? Short Answer; Because a service viewpoint provides a useful additional level.
Advanced Fusebox: Securing a Fusebox Application By Steve Nelson SecretAgents.com.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Mach II at Macromedia Sean Corfield Director, Architecture An introduction to Mach II and its use on macromedia.com.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Next Back MAP MAP F-1 Management Information Systems for the Information Age Second Canadian Edition Copyright 2004 The McGraw-Hill Companies, Inc. All.
Mach-II Primer Ben Edwards An Introduction to Mach-II: An event-based, implicit invocation web-application framework.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Project 2: Windows Logging. UTSA IS 6353 Incident Response Ranum on Forensics “The real value of intrusion detection is diagnosing what is going on…never.
Programming Session 6 LBSC 690 Information Technology.
Flux & React Web Application Development Mark Repka, Rich McNeary, Steve Mueller.
Fusebox Not Just For Breakfast Anymore! An Introduction to Fusebox Author: Fred T. Sanders, Instant Knowledge Some Content unscrupulously taken from Steve.
Apache Struts Technology A MVC Framework for Java Web Applications.
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Brian Kotek INDUS Corporation
Presentation transcript:

©2003 The Fusebox Corporation Fusebox MX Hal Helms

©2003 The Fusebox Corporation Fusebox MX beta.fusebox.org An apprentice carpenter may want only a hammer and saw, but a master craftsman employs many precision tools. Computer programming likewise requires sophisticated tools to cope with the complexity of real applications, and only practice with these tools will build skill in their use. — Robert L. Kruse

©2003 The Fusebox Corporation beta.fusebox.org Fusebox 3 Core Concepts  Fusebox 3 core concepts –all actions of the software occur as a response to a request made of the fusebox –code is encapsulated in circuits –circuits are made to be as independent of each other as possible (new requests return to the fusebox rather than being routed directly to another circuit) –fuses are based on "pipes and filters" where the output of one file becomes the input of the other, allowing for ease of reuse

©2003 The Fusebox Corporation beta.fusebox.org Fusebox MX  Fusebox MX is radically different from Fusebox 3 or 4  Has a new event-based, implicit invocation architecture  The entire framework is built in CFCs  Fusebox is built on the Model-View-Controller design pattern  Knowledge of object orientation is needed  Think of Fusebox MX as a "concept car"

©2003 The Fusebox Corporation beta.fusebox.org A new architecture  Fusebox has traditionally used a "pipes and filters" architecture  Fusebox MX uses an event-based, implicit invocation architecture –fuseactions cause events to be created –circuits are registered as "listeners" of events –when an event occurs, it notifies all registered listeners –all registration/configuration occurs in a Fusebox.xml file

©2003 The Fusebox Corporation beta.fusebox.org The Fusebox.xml file  Fusebox.xml made up of five sections –properties: application-wide variables –circuits: listeners of events –events: bound to views –fuseactions: bound to events –plugins: ways of extending core functionality

©2003 The Fusebox Corporation beta.fusebox.org Properties

©2003 The Fusebox Corporation beta.fusebox.org Circuits

©2003 The Fusebox Corporation beta.fusebox.org Events name="failure" path="view/users.login.cfm" action="include" />

©2003 The Fusebox Corporation beta.fusebox.org Fuseactions

©2003 The Fusebox Corporation beta.fusebox.org Plugins

©2003 The Fusebox Corporation beta.fusebox.org Fusebox MX lifecycle  The Fusebox MX lifecycle (ignoring plugins)  1. A fuseaction request is typically received by the framework by means of a URL or form variable …

©2003 The Fusebox Corporation beta.fusebox.org Fusebox MX lifecycle  2. Index.cfm calls the Application.fusebox object's handleRequest method  3. A new FuseactionContext object is created, binding that fuseaction to any registered circuits  4. The FuseactionContext creates the Event mapped in Fusebox.xml and places any form and URL variables into that event  5. The FuseactionContext notifies each registered listener, passing the Event to each circuit's specified method

©2003 The Fusebox Corporation beta.fusebox.org Fusebox MX lifecycle  6. The Event has a method, selectView, that returns a string corresponding to the name of a view specified in Fusebox.xml  7. A special, built-in listener, ViewContext, has its display method called after all circuits have been notified  8. ViewContext uses the view element specified in Fusebox.xml to determine which view to use and how to call that view  9. A view may display a page, invoke a CFC, or cause a new event to occur by calling a new fuseaction  More details available at beta.fusebox.org

©2003 The Fusebox Corporation beta.fusebox.org The Fusebox class diagram Larger images and XML files/UML diagrammer link available at beta.fusebox.org

©2003 The Fusebox Corporation beta.fusebox.org Plugins  Plugins provide the ability to expand the core framework in a controlled and modular fashion  There are six plugin points within the execution of the Fusebox MX lifecycle –preProcess –preFuseaction –postFuseaction –preView –postView –postProcess

©2003 The Fusebox Corporation beta.fusebox.org Plugins  Plugin developers write a CFC that extends the abstract CFC, FuseboxMXII.framework.Plugin  The base Plugin class has do-nothing methods for each plugin point  If you want to introduce some functionality at a plugin point, override that method (e.g. postProcess)

©2003 The Fusebox Corporation beta.fusebox.org Building a simple FBMX application  Instructions for this are available under "Getting Started" at beta.fusebox.org

©2003 The Fusebox Corporation beta.fusebox.org Final thoughts  Why use Fusebox? –easier to develop applications –easier to maintain existing code –aids in code repurposing –standard for web application development –supports teams of diverse talents and skills –provides a standardized documentation –exceptionally helpful community of developers –cross-language –helps ordinary developers achieve extraordinary results

©2003 The Fusebox Corporation beta.fusebox.org  Why not use Fusebox? –you're being paid by your competitor to sabotage your company's development efforts –framework? you don't need no stinkin' framework –you have a strong masochistic streak that enjoys the pain of your current software development process –you made a decision against Fusebox early on and haven't bothered to reevaluate it –call you crazy, but you just like to code by the seat of your pants!