FEAST Application Architecture
FEAST was designed with a classical 3-tier
architecture, using flexible communication between the layers. This
makes it possible to exchange the communication protocol and thus
connect nearly every application to the system.
Interoperability between different software systems
from different manufacturers is a frequent requirement in heterogeneous
enterprise environments.
The communication between the application and
dialog layer of FEAST is therefore accomplished using Web Services
standards. This includes HTTP for transport, XML and SOAP for message
encoding and WSDL for interface description. Thus a FEAST service is
accessible by every client that can communicate using these protocols.
By inserting a proper server for scripting in the middle also a four
layer thin client architecture using PHP, Javascript or ASP.NET can be
implemented.
Relying on Web Services standards and supplemented
by an UDDI service, FEAST can be used as a base for building
applications according to the concepts of a service oriented
architecture (SOA).
The Business Content Adaptor (BCA) makes up the
core of the application layer. To manage the communication between the
layers is only one of its tasks. The BCA also hosts the modules
containing the business logic of the application. Each module operates
independently of each other, thus processing the user input and
updating the application data. Modules can be deployed and updated at
runtime, thus maximum availability is achieved.
The data layer contains the persistent application
data. The most common type of data source used here is a SQL-based
relational database management system (DBMS). However, FEAST is not
limited to SQL data sources. Using a sophisticated data source
abstraction layer every kind of data source can be made accessible by
the application programmer, e.g. SAP/R3, LDAP, local files or other
processes. A common interface is used for all data sources with
individually configurable commands. This way it is very easy to
exchange a data source regardless of its type with a minimum coding
effort or even without changing any source code at all.
Taking it all together FEAST is a good companion for keeping up
with todays manifold and frequently changing system environments.
FEAST Components
FEAST includes the following components:
- WSgen is a generator tool
for creating server and client side communication code taking a WSDL
interface description as input. This way the developer can use web
services without the burden of a deep knowledge of these standards.
Furthermore WSgen is able to create make and project files for e.g.
Visual Studio and even test clients that form a base for creating unit
tests for the service implementation with very low effort. The result
of a generation step is an immediately compilable and deployable module
that only lacks the application specific implementation of the server
side method skeletons.
- Business Content Adaptor (BCA)
is an application server that hosts the modules containing the
implemented business logic and provides easy integration of various
data sources. Also data source access control is provided by means of
configurable authorization and authentication.
- ANCOT - the ANalysis and COnfiguration Tool - is an application for administrating the BCA and deploying or updating service modules.
- libFEAST - the support library
extending the Qt Class Library by various classes for client and server
development. It contains all necessary classes for web service
communication.