navigation framework using cf architecture for a client-server application using the open standards...
TRANSCRIPT
![Page 1: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/1.jpg)
Navigation Framework using CF
Architecture for a Client-Server Application using the open standards of the web
Kedar Desai
presented by
![Page 2: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/2.jpg)
Navigation…a new paradigm
Queue based function controlNon URL based navigation
![Page 3: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/3.jpg)
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
![Page 4: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/4.jpg)
What is this“Client Server” Application?
MDI InterfaceThick ClientEXEBuilt using PowerBuilder, Visual Basic,
etc.
![Page 5: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/5.jpg)
Associated Problems
Maintaining a code baseDLL HellDistributing an EXEMaintaining ‘Help’ filesDifficulties in adding new functionality
![Page 6: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/6.jpg)
About the Application
Justice Information SystemApplication Architecture
SybaseDatabase
ColdFusionApplication
Server
Client Browser: HTML, JS, CSS
![Page 7: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/7.jpg)
Application Challenges
Consists of around 500 FunctionsOver 200 database tablesDatabase IntensiveTransaction Intensive
![Page 8: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/8.jpg)
Application Frameworks
Two Main frameworks:
– Navigation Framework• Navigation• Error Handler• Business Rule Engine
– Security FrameworkEach framework is independent
![Page 9: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/9.jpg)
What is so great about this Navigation framework?
Look and feel of a standard windows application
Excellent navigationUses ColdFusion
![Page 10: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/10.jpg)
Navigation Framework: Features
Driven by keys.Works on a queue architecture.Maintains State in Session variables.
![Page 11: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/11.jpg)
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
![Page 12: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/12.jpg)
Demo
![Page 13: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/13.jpg)
Function Architecture
Five ‘.cfm’ files per functionFive hidden fields per function
![Page 14: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/14.jpg)
The Five ‘.cfm’ files
Form Page– Main cfm file– OnError cfm file– CFForm cfm file– Presentation cfm file
Action Page– Action cfm file
![Page 15: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/15.jpg)
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
![Page 16: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/16.jpg)
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
![Page 17: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/17.jpg)
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 queueIf no keys exists, the default function is
opened
![Page 18: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/18.jpg)
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.
![Page 19: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/19.jpg)
How is state maintained?
Using Session variablesEach session has a ‘userid’ associated with
it, thus enabling multiple sessions on the client browser.
![Page 20: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/20.jpg)
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
![Page 21: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/21.jpg)
Navigation Flow
Function List
Action Controller
Errors?Error
Controller
FormController
FunctionDisplayed
On Browser
Yes
No
![Page 22: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/22.jpg)
Error Controller
Builds the error pageAppends the error page to the form page
![Page 23: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/23.jpg)
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.
![Page 24: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/24.jpg)
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
![Page 25: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/25.jpg)
Productivity Metrics
Built in under 3 monthsA function being developed every two
daysA TEAM of five
![Page 26: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by](https://reader035.vdocuments.site/reader035/viewer/2022062720/56649f055503460f94c197ee/html5/thumbnails/26.jpg)