26
Navigation Framework using CF Architecture for a Client- Server Application using the open standards of the web Kedar Desai presented by

Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by

Embed Size (px)

Citation preview

Page 1: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by

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

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

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

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

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

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

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

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

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

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

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

Demo

Page 13: Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by

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

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

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

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

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

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

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

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

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

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

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

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

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