Download presentation
Presentation is loading. Please wait.
Published byMelinda Shaw Modified over 9 years ago
1
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by
2
Navigation…a new paradigm Queue based function control Non URL based navigation
3
What is Navigation? User’s perspective: –Ability to use the system in the most efficient manner Designer’s perspective: –Ability to manage or direct the course of the user using the system
4
What is this“Client Server” Application? MDI Interface Thick Client EXE Built using PowerBuilder, Visual Basic, etc.
5
Associated Problems Maintaining a code base DLL Hell Distributing an EXE Maintaining ‘Help’ files Difficulties in adding new functionality
6
About the Application Justice Information System Application Architecture Sybase Database ColdFusion Application Server Client Browser: HTML, JS, CSS
7
Application Challenges Consists of around 500 Functions Over 200 database tables Database Intensive Transaction Intensive
8
Application Frameworks Two Main frameworks: –Navigation Framework Navigation Error Handler Business Rule Engine –Security Framework Each framework is independent
9
What is so great about this Navigation framework? Look and feel of a standard windows application Excellent navigation Uses ColdFusion
10
Navigation Framework: Features Driven by keys. Works on a queue architecture. Maintains State in Session variables.
11
Message Module Provides ability to maintain messages in the database Functions include: –Message Search and List, Message Modify, Message Delete, Message New, Message Text Modify, Message Details
12
Demo
13
Function Architecture Five ‘.cfm’ files per function Five hidden fields per function
14
The Five ‘.cfm’ files Form Page –Main cfm file –OnError cfm file –CFForm cfm file –Presentation cfm file Action Page –Action cfm file
15
The Hidden Fields Each function has five hidden fields –Function id –Page id –Main cfm file name –OnError cfm file name –Action cfm file name –Target Function id
16
Navigation Controllers Form Controller –Opens the function Action Controller –Triggers the action of the function OnError Controller –Controls display of errors Key Controller –Controls ‘key’ and ‘queue’ maintenance
17
What are keys? Every function has a set of input and/or output keys A key is a value that fetches data to be displayed on the function Keys are kept in a queue If no keys exists, the default function is opened
18
What is a queue? Maintains information about the activities that the user wants to perform in a sequence. Function queue and keys queue are the major queues.
19
How is state maintained? Using Session variables Each session has a ‘userid’ associated with it, thus enabling multiple sessions on the client browser.
20
How does a function open? Form Controller controls the opening of the form. The file opening sequence is: –Main cfm –OnError cfm –CFForm cfm –Presentation cfm
21
Navigation Flow Function List Action Controller Errors? Error Controller Form Controller Function Displayed On Browser Yes No
22
Error Controller Builds the error page Appends the error page to the form page
23
Features Secure Access. Centralized action and form pages. Centralized error handling. Everything is a custom tag. Logic and presentation isolated. F5 or Refresh works as in a browser.
24
Points to ponder Browser back and forward buttons unusable. Even though everything is a custom tag, ‘Custom Tag’ directory is not helpful Not much use for Application.cfm
25
Productivity Metrics Built in under 3 months A function being developed every two days A TEAM of five
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.