Configure HTML/JavaScript

Tuesday, May 18, 2010

jave project arcteture


Project Architecure means what are the tiers in our project with flow diagram.

supposoe our project contains five tiers like client tier ,presentation tier, Business tier,Integration tier,Data tier. then we draw the all tiers flow.

project approch is different from project architecure. sorry here i can't insert my own project architecure diagram. if any one want project architecure , project approch then mail me.

Client tier:

• IE Browser (default) from which the end user will access the application
• The request from the browser will be submitted to the Application Server using HTTP protocol.
• The Response from the presentation layer (struts framework) will be interpreted into html pages to view on the browsers.
• Presentation Tier:

Struts Framework with Tiles
• On Request from the browser, the appropriate Action Class handles the user request. The Action class then connects to the business tier via Service Business Delegate.
• Tiles have been used to create a set of pages with a consistent user interface (e.g.: the same navigation bar, header, footer, etc.).
• Taglibs are used for displaying tabular data (e.g. search results) in a consistent fashion, with pagination.
Business Delegate layer
• Enable the Struts Action classes to be unaware of underlying Session Beans
• Encapsulates the invocation of Service Locator to locate them.

Advantages of Struts
‘Centralized File-Based Configuration’, i.e. rather than hard-coding information into Java programs, many Struts values are represented in XML or property files.
This loose coupling means that many changes can be made without modifying or recompiling Java code.
Validation of the user entry fields in the jsps to be handled by entries in the validation.xml and defining validation rules in validator-rules.xml.
Internationalization of the static components of the screen as field and button labels, titles, error messages etc.
This approach also lets Java and Web developers to focus on their specific tasks (like implementing business logic, presenting certain values to clients.) without needing to know about the overall system layout.

Business Tier

• The Business Delegate identifies the business service class (the Session EJBs) and delegates client request to the EJBs. Internally, the session beans are shallow, and delegate all business logic requests to business logic POJOs, which in turn implement the actual functionality.
• The Business Logic POJOs encapsulate the server side business logic. They do not use Hibernate directly, but instead call upon Data Access Objects (DAO) to work with the model. Parameters and return values are modeled as Data Transfer Objects (DTO), and hence no Hibernate model classes will ever leave the DAO layer. The business logic is made available in the business service class, which increases maintainability and easy debugging, if necessary.

Hibernate/DB Tier
The DAOs encapsulates the database access. For all practical purposes, we are using Hibernate (v 2.1) as the OR mapping layer. This saves development time to write SQLs for executing insert and update statements, find by primary key etc. For each value object that directly or compositely represent a table in the database, we have Hibernate mapping files.
For some complex data retrieval, however we will be using raw SQLs (independent of database) from the DAOs and populate the Value Object POJOs. In those specific cases, the DAOs will be having direct access to the Databases using the available connection. The connection properties of the ‘DB Manager’, holding the data sources, direct the request to the appropriate database.

Issues that may rise of Hibernate
• Hibernate no longer supports dynamic proxies
• The Hibernate has issues using Microsoft's driver especially when using SqlServer2000. It appears that the failures are due to some strange handling of dates.
• Hibernate has issues with Informix Databases due to the way JDBC implementation is done in Informix.

keeps smiling and mailing


in reference to: Google (view on Google Sidewiki)

1 comment:

  1. thanks for providing this core javascript code ...

    it helped me to complete a task in time.