The RA framework provides a Java-based n-tier architecture for quickly developing web applications. It includes presentation, middleware, business, and data interface layers. The presentation layer generates user interfaces from middleware data. Middleware uses XML configuration instead of Java beans. Business logic is implemented as services. The data interface layer integrates with databases using Oracle or Hibernate frameworks. The framework aims to reduce development time through reusable and configurable components while ensuring reliability, reusability, maintainability and portability.
2. Overview
• Developing Quick and Easy JAVA based Web
Applications.
• Proven N-Tier Architecture Model
Tiers are loosely coupled.
• Abridges the Developer’s endeavor, evades redundancy,
implements the hassle-free plug and play solutions.
Reduces Time and effort
• Certainty of a high probability bug-free solution.
• Enhances the Support’s competency, provides a risk free
solution, easy means of debugging in case of any issues.
• Easy Integration with the existing Legacy systems if any.
3. Web Application
• What’s a Web application?
Provides a dynamic response based on the User request.
Interacts with databases, file system, other applications
and can have business logic engines that can be Customized
as per the requirements.
• JAVA Web application as the names refers to uses the
JAVA libraries, utilities, APIs…
• Advantages of Java Based Framework .
Open Source with many API Libraries
Portability
4. Necessity…
• Even though the JAVA related APIs, libraries etc are
Open Source, unless they are utilized in a proper
manner, managing the ‘ability’ of any application will be
a challenge.
• For the easy management of any application, N-Tier
architecture was developed where in the code is
segregated into different tiers.
For e.g.: Presentation tier, Business tier, Controller tier etc.,
• Avoid the difficulty during the customization of the
open source architecture framework to the User
requirements.
• Avoid the dependency on the Technical Domain
expertise (which can be avoided).
5. N-Tier Components
• A Typical N-Tier has the following
Presentation Layer – Client Apps like the various Browsers
Middle Tier – Business Rules incorporation
Data Tier – Data Layer and the DB used.
6. Ra Framework….
• All the issues of ‘…..ability’ related to software is
successfully handled here.
Reliability – As the tiers are loosely coupled and
independent.
Reusability – All the technical Components can be reused.
Only the functionalities change based on the Application
requirements.
Maintainability – Enhancement, Up-gradation is much
simpler because of Plug and Play.
Portability – Being a pure JAVA Component it can run in
any Platform.
Applicability – can be easily Customized based on the
requirements.
7. Ra Framework … – contd..
• Apart from the above mentioned qualities, there are
other unique and extensive features.
Database interface - Provides seamless integration with all
database that has JDBC drivers.
File system based data store – Under development.
Reporting engine – Based on JASPER.
Interface to Accounting Systems (Tally) – Under
development.
Service Oriented Architecture for Business Logic. – Under
development.
Supports Smart Browser Mobile Applications– Under
development.
8. Overview of RA
Framework
• There are mainly four layers in multi-tier architecture.
These are as follows
Presentation Layer
Middleware
Business Layer
Data Interface Layer
Document Store Interface Layer
Database Interface
XSQL Interface
Hibernate Interface
Mailing Server
Reporting Engine
Accounting Interface
10. Presentation Layer
• As seen by the User. It may be Browsers (PC/Mobile).
• It accesses the data from the Middleware and generates
the corresponding User Interface (UI).
• It has the following components:
View
The View is typically implemented using JSP and Custom
Tags to format the data.
Supports theme based UI using CSS framework
Using Tiles & Layout framework, different layouts can be
designed to suit different requirements.
Controller
Controller decides which Middleware service to be used for
the View.
Controller is set of XML files that can be configured to control
the mapping between view and the middleware
11. Presentation Layer – contd..
• Advantages:
The JSPs, Struts XML files and the Tiles XML files
templates are the same for all the applications. Only the
fields and functionality differ.
Template is available for these files using which the developer
need to fill in the necessary parameters.
The files enables easy modification or addition of the
functionalities.
Both Client side & Server side validations are done using
XML configuration. JavaScript is used for Client Side
validations & Java is used for Server side validations.
12. Presentation Layer – contd..
• Advantages:
The developer need not write any JavaScript or Java files.
RA Framework has rich collection of pre-defined
validations.
The CSS files that control the UI look and feel is also
configurable based on the needs.
Supports all the major Browsers like IE, Firefox, Opera, Safari,
Chrome.
The setup reduces the development time of the JSP, Struts
and Tiles as the user just needs to plug in the needed form
fields required on the Template.
13. Presentation Layer – contd..
• Advantages:
Theme based UI. The CSS can be configured to support
multiple colored themes.
Multi lingual support for the labels in all the Unicode
supported Languages.
14. Middleware
• The data extracted from the business logic layer which
has to be presented to the user, and after processing
passed back to the business logic layer, is contained here.
The data can be represented in any form - JavaBeans, files,
Network or even memory
• Typically JavaBeans are used to implement the
Middleware object because JavaBeans easily can
represent any type of data store, be it Tables, files etc.
15. Middleware – contd..
• In RA framework, XML replaces the Java Bean.
• The XML configuration files will be used to create Java
Beans by the framework.
• The defining the set of middleware to be used by the
presentation layer is also defined in the XML files.
16. Middleware – contd..
• Advantages:
Developers need not have Java knowledge to implement the
Middleware. Knowledge in XML is sufficient to configure
and manage the middleware.
XML configuration files will be transformed into
middleware objects by the framework.
In short, this is a Configurable XML based middleware.
17. Business Layer
• This layer uses Service Oriented Architecture. Business
logic can be implemented as service and can be plugged
into the middleware using configuration files.
18. Documents Store
• This layer provides integration to the file system data
store.
For e.g.: storage of images or documents or for
implementing doc store. This layer uses JCR and provides
integration to the data store.
19. Other Services
• Mailing Server - Java mail is used for implementation of
mailing server. The application will be able to send /
receive mails using this layer. This layer is a future
enhancement.
• Reporting Engine - Jasper Report is used for
implementation of the Reporting engine. Supported
formats include PDF & Excel.
• Accounting Interfaces - Accounting Interfaces provides
integration to accounting software. Using this layer
application will be able to access data from Tally. This
layer is a future enhancement.
20. Data Interface Layer
• This is the interface between the middleware and the
database. Data interface layer provides the data to the
middleware which will then processed and provided to
presentation layer.
• It has the following components:
Database Interface
Oracle Framework
Generic DB Interface
21. Database Interface
• This layer provides seamless integration between
different database frameworks.
Switching from one DB to another DB for an existing
application is hassle- free. It needs only the development
and configuration of the DB Tier only.
22. Oracle DB Framework
• This layer provides interface to oracle database. It uses
Oracle’s native XSQL framework and hence it’s faster.
• This tier consists of the FXSQL, XSQL and XSL. FXSQL
consists of the DB SQL Queries; XSQL/XSL consists of
the DB Transaction Oriented Functions.
• The FXSQL, XSQL and XSL files vary for the different
applications and they can be plugged in or modified
based on the requirements to add a new functionality or
modify the existing one.
23. Oracle DB Framework –
contd..
• The Data format from the Business Logic Tier to the
Database Interface Tier is in the XML format.
• Oracle framework interacts with Oracle data store. This
contains the DB Objects like View, Type, Sequences,
Stored Procedures, and Functions etc. The Stored
Procedures also can contain the Business Logic
24. Generic DB Framework
• It uses hibernate framework and hence it supports
different databases like Oracle, MS SQL server, My SQL
etc.,
• The Hibernate DB XML files vary for the different
Applications and they can be plugged in or modified
based on the requirements to add a new Functionality or
modify the existing one.
• The Data format from the Business Logic Tier to the
Database Interface Tier is in the XML format.