The FBA Application Framework

The FBA Sentinel software suite is built using the FBA Application Framework which we have been developing and evolving over the past few years. The framework is a full infrastructure for software applications. Over the years as a consulting company, we have found ourselves rebuilding the same common components that exist in every application. We have used this experience to build our own set of standards and components and incorporated them into a comprehensive framework which we now use as a foundation for every application we build.

The FBA Framework is more than just copying code from one project to the next. It is the launch pad for any enterprise class application.

Here is a summary of the features of our framework:

Application Shell
A full shell for kick-starting any application
Login screen / customizable splash screen
Main application window with fully customizable menu structure
Full Security Engine and Administrative Screens
Screen for running reports
Maintenance screens for common data (i.e. lookup lists)
Generic screen layouts for integration with application specific screens – saves much coding and keeps the User Interface standard across the entire application
Multi-Language Support
Completely User Configurable – dynamically add any number of languages to your application without further programming. This can be done by an end-user with appropriate security permissions
Provides multi-language capability for the user interface and application data
Built-in generic maintenance screens for translating data in batch and for translating user interface components
Completely integrated into the Auditing module (below)
Reporting Engine
includes full end-user reporting capabilities
Fully integrated with the security engine to control which reports can be run or edited
End-users can modify any “canned” reports and create new reports – assuming the user is granted security permissions to do so
Lookup Maintenance
Screen used to maintain simple data lists whether they reside in the lookup table or any other simple table.
The screen adjusts the number and type of columns for each list. For example, a "Customer Type" list could have two text columns such as Code and Description, whereas an "Order Status" list could have a text Description column and a true/false Completed column. In both examples, the Description column could also be multi-lingual (i.e. English, French and Spanish).
Fully integrated with the security engine to control which lists can be edited.
End-users can insert, update and delete records from common lists – assuming the user is granted security permissions to do so and the list item is not already in use.
The screen user interface supports multiple languages and tables/lists with multi-language columns.
Data Layer
Used to communicate data between the client application and the server(s)
All data is fully encrypted and compressed for maximum performance
High Performance + Scalable
Integrated Security and Auditing
Supports WAN environment and communication over the internet (securely)
Auditing
Automatic auditing of all new data, modified data and deleted data. There is no extra programming to achieve this. The data layer automatically generates the audit records when data is saved.
Generic user interface to display audit logs. All search forms automatically inherit an Audit tab which displays audit records of all deleted items and the entire history of the record prior to deletion. Also, all detail editing forms automatically inherit an Audit tab which displays the entire history of the currently selected record from its creation.
Auto–Update of client application
When the application is started, the application shell automatically searches for published updates on secure corporate servers.
When updates are available, they are automatically downloaded and applied when the application is restarted.
Integrated Security Module
The application shell has a management screen to completely manage all users and security permissions.
The framework contains integrated security objects to allow developers to easily check if the current user has permission to application functions.
FBA Deployment Management Studio (DMS)
Complete management application allowing system administrators to easily deploy new versions of any application based on the FBA Application Framework.
The administrator, at the click of a button, can deploy database change scripts, a new version of the client application, an updated back-end Windows service, and all FBA framework services.
The FBA DMS application allows the administrator to setup any number of environments and to deploy new versions independently to any environment (i.e. Test environment, UAT environment, and Production environment)
FBA Search Box
The FBA Search Box is a smart drop down style control that automatically suggests matching records based on flexible criteria.
For example find customers by typing in any combination of phone number, postal code, first name, last name, address, e-mail address, customer number or any other field.
Custom Fields
This is a plug-and-play component which provides custom fields and values for any data element in an application.
The developer simply adds it to a screen and sets some information about linking the custom fields and that’s it.
For example, you may want extra fields related to an employee. The custom field component on the employee management screen would let you add a “nick name” field for example, or any other field you wish – no extra programming required.
For each custom field, you can specify a data type, a display format, or even a dropdown list.
Customizable Grid Layout
Each user can customize the layout of any grid in the application and save as many of the layouts as they want.
File upload/download
This is another plug-and-play component that can be dropped on any screen to provide instant file attachments to any data element in an application.
It makes it very simple for the user to add file attachments to a customer order or to service orders or even to an employee record. For example, you can add a scanned document of an employee’s application or reference letter to the employee record.
File upload/download activity is automatically audited and subject to the user’s security permissions
Notes
Again, this is a plug-and-play component that can be dropped on any screen to provide the ability to add multiple notes to any database entity.
For example, the notes component could allow a user to enter interview notes associated to an employee record. The record will have a date and time stamp and the name of the user who entered the note.
Of course, all these note records also automatically get audited and are subject to the user’s security permissions.