SoftwareHills Home

SoftwareHills Application Framework

Introduction

An application framework is a piece of software designed to be an application but with a high degree of reusability and extensibility.

A good application framework can provide all the main functionalities of an application and at the same time it allows to easily add other functionalities that become useful later.

With an application framework a software project is greatly simplified since the most complex phase of design and implementation of common structures has already been done.

Of the many alternatives that exist for building software applications for data management, application frameworks are, in our advice, the more convenient.

Description

Our application framework allows to create applications without writing any program code, because the application is defined by a set ot text files with very simple structure.

With the external definitions of the application elements this framework provides applications that show to the user a set of data documents. Each type of document is shown by its own form, and the collection of documents of a given type is shown by a table.

Each type of document may have its own button bar, its own menu bar and other elements of the graphical user interface,

The framework stores the documents in a relational database which structure is bound to that of the document types.

The database can be installed on the local computer in case of single workstation, or it can be installed on a server computer for the shared use from multiple workstations.

In case of local database the framework connects directly to the database.

In case of database on server the framework provides a client part that runs on the user's computer and a server part installed on the server computer. The communication between client and server is based upon the Internet protocol so the use on geographical networks is also possible.

This framework has been implemented both in C++ for Windows platform and in Java, however the current version is based on Java.

Types of documents

In this framework data are grouped by documents. An example of a simple document is a single record of a table of a relational database. The framework contains a general document model that is suitable for the majority of practical cases.

The types of documents are defined in the application definition files. All that is needed to add a document type is to provide the document type definition.

The definition of a document type contains the names of the database tables used, the names of the fields and their logical types for the framework, and the constraints imposed on the single fields.

If the document needs a customized form then the form definition is added.

The framework provides ready functionalities for insertion, modification, deletion and validation of data shown by forms. For the validation rules the framework provides a set of possible constraints for numeric and textual data, and allows to add custom validators.

Users management

This framework is designed for multiple users with different sets of functionalities. Each user receives an application profile. Each profile contains the list of types of documents that the user can see, or edit, and other application options. The user and the profiles are defined by external files. In the client-server case the profiles are stored on the server and the client side loads only the elements required by the profile of the user that logged in the application.

Java implementation

The Java implementation of the SoftwareHills Application Framework can be installed on every computer that has the Java Runtime Environment. The applicaton framework downloads the needed Java libraries from the server.

More details

For more details about this framework see the following pages: