1 / 26

Navigation Framework using CF

Navigation Framework using CF. Architecture for a Client-Server Application using the open standards of the web. presented by. Kedar Desai. Navigation…a new paradigm. Queue based function control Non URL based navigation. What is Navigation?. User’s perspective:

jesus
Download Presentation

Navigation Framework using CF

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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 ColdFusion Application Server Sybase Database 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 Yes No Function Displayed On Browser Form Controller

  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

  26. ThankYou

More Related