The Application Shell

The Application Shell is where all all the individual components of the FBA Framework come together. It is the core for any user-interface built using the FBA Framework. The shell itself contains all the common parts of any application such as the login screen, the splash screen, the main parent window, the security management screen, the reporting screen, the lookup list maintenance screen and it has support for multiple languages.

The shell is very flexible. There are configuration settings to customize the application to suit any needs. The settings allow you to set the name of your application which will show in the application title bar. You can configure the menu structures, the icon for the application, the image to display on the splash screen, and many other customizations.

Lets see how this all comes together.

Starting the application:

When the user starts the application, the splash screen is displayed.

Splash Screen

Here you can see an image that represents the application. This is completely customizable. Simply set he name of the image in the config file and include the image file with the deployment and that's it. The window also displays the FBA Application Updater server name, the FBA DataLayer server name and the name of the Application in the database. On the right side of the window, you can also see the release version being run.

After the splash screen is displayed, the application then connects to the Application Updater server and checks if there is a new release.

Checking for Updates

If there is an update, the Application Updater displays a progress window and downloads only files that have been changed in the new release.

DownloadProgress

After all updated files have been downloaded, the application restarts for the changes to take effect.

Then, the Login window is displayed.

Login Window

Notice on all the windows above, the title bar shows the application name. This is taken from the application configuration file. The login screen also displays the name of the application in the title bar. From this screen the user can enter their login ID and password to authenticate themselves. The application does this by using the FBA DataLayer which maintains a secure communication channel to the application database. This is where the authentication (login) process occurs and where all data is securely and efficiently transfered to and from the database server. To find out more, see the section about the FBA Data Layer

The Login screen offers several security features which are actually part of the embedded FBA Security Module. For example, an application administrator can set the number of failed login attempts before a user account gets locked out. If a user does get locked out, the administrator will have to go the security maintenance screen to reactivate the account. For more information, see the section about the FBA Security Module

Once the user has successfully logged in, the system opens the main application shell. The image below is taken from a demo application developed using the FBA Framework.

Application Shell Window

The Application Shell window is the container for all the application parts. When the shell is started up, a few things happen in the background:

  • The system loads the list of .NET assemblies that should be dynamically loaded. These assemblies contain all the custom objects and screens that makeup the specific application.
  • The system loads the main menu structure.
  • The system loads all the localized UI resources for the user's specified language. The framework is built to support multiple languages within your applications. It can handle multi-language UI's and multi-language data. For more information, see the section on Multi-Language Support.

The application shell screen has the following elements:

The Title Bar

The title bar displays (from left to right) the custom application icon, the name of the application, the release version being run, the name of the logged-in user and the name of the PC on which the application is being run (and the name of the user logged-in the PC as well.)

The Menu

The menu bar at the top of the window is dynamically loaded from the database at startup. This also specifies which objects or screens to launch from the assembly list also loaded at startup. This menu structure is also completely localizable and separate security permissions can be assigned for each menu item.

The base menu starts with menu items used to access all the standard parts of the application such as security for example. The custom menu items loaded from the database are merged into the base menu to create the final menu displayed to the user. For example, in the in the above image, the "demo" menu item and all its sub-menu items are custom menu items loaded at startup. But the "File", "Maintenance", "Window" and "Help" menus are part of the base menu which shows up in all applications built using our framework.

The Base Menus

The following image is an example of the "File" menu.

File Menu

From this menu, the user can save changes made to a screen, access the FBA Reporting Module, close the current screen and exit the application.

For more information on the report module, see the section on the FBA Reporting Engine.

The following image is an example of the "Maintenance" menu.

Maintenance Menu

The "Maintenance" menu contains "Change Password", "Security" and "Application Configuration". You can see in the image above how custom menu items can be merged into the base menu structure such as the "Institution" menu and also how built-in menus can be hidden such as the "Lookup Maintenance" menu.

From the "Maintenance" menu the user can change their password...

Change Password Screen

access the security management screen...

Security Managment Screen

access the lookup maintenance screen.

Lookup Maintenance Screen

access the application configuration screen.

Application Configuration Screen

and access the UI Translation screen.

UI Translation Screen