|
|
|
| Soft Architecture |
|
|
|
|
|
ibs
Applications are multi-tier, multi-browser (Microsoft IE,Mozilla
Firefox) web applications based on Model View Controller 2 using Struts as a
framework. The core of their architecture is Spring; a full-stack Java/J2EE
application framework, it delivers significant benefits to our applications and
reduces development effort while improving test coverage and quality. We are
using the iBATIS data mapper framework to map classes to SQL statements using
an XML descriptor. With iBATIS we can map any database to any object
model
ibs Applications are based on in-house
component tag libraries using AJAX techniques. The Web client is either a light
HTML client or a rich client mixing AJAX and Flash
plug-ins.
Client tier Soft Solutions has years of
experience in leveraging all the possible functions offered by browsers like
DOM, XML, JavaScript, XML-HTTP in order to offer to business users rich
interfaces required to complete complex business processes.
|
|
 |
| The notion of "rich
client" supported by the AJAX development paradigm has been used by Soft
Solutions for many years. A rich client provides ergonomic advantages of
client/server applications while avoiding its pitfall in terms of installation
and maintenance and it leverages an abstraction layer to isolate the GUI
application from a specific platform. |
|
| Soft Solutions
provides efficient multi-browser components capable of doing client-side or
server-side rendering. These components are: |
|
| - SoftSolLib.js: this
library is responsible for instantiating objects, loading and caching other
libraries. |
| - Grid: constructs a
grid display and manages all the user interaction (sort, flip, search, column
configuration, exports) |
| - Tree: A hierarchy
representation provides mono- and multi-selection, and flipping for data. |
| - Column menu: For
managing menus/sub-menus related to different applications. |
| - Calendar,
Tabulation, Time, Forms, Drag & Drop etc
|
|
| Note that these
components do not involve the reloading of the page. When an action is needed,
a request is made to the server via XMLHttp Request to retrieve the data, and
is then processed by an encapsulated JS via these components. |
|
| When required, Flash
components are used in order to offer advance user experiences |
|
|
Presentation tier |
|
|
|
 |
|
This tier is based on Apache
Struts; a framework for MVC2 Web Application development, it has becomes part
of our infrastructure software. In order to have a better maintenance facility,
we separate the view (JSP/JavaScript) from the model (Java) by managing these 2
parts with a controller (Mainly Servlet)
All the components are wrapped
in Tag Libraries, allowing programmers to focus on the most productive tasks
and concentrate on business logic. |
|
|
| Business
tier |
|
| This layer uses
POJO's (Plain Old Java Objects). When POJO's are used, the Spring framework
acts as a lightweight container. |
|
|
| Integration
tier |
|
 |
|
This tier
is supported by Ibatis Sql Maps, which provides a very simple and flexible
means of moving data between our Java objects and a relational database. The
Data Mapper framework helps to significantly reduce the amount of Java code
that is normally needed to access a relational database. This framework maps
classes to SQL statements using a very simple XML descriptor. To access this
integration layer, we will use DAO design pattern, for the purpose of having
the application tiers decoupled. We have interfaces for defining methods and
attributes; below these interfaces we have the concrete implementation with
iBatis calls. The interface layer will be the one that links the application
business logic with the integration tier. |
|
|
|