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.
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
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).
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.
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.
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.
Overview of RAFramework• 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
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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.