SmartWeb is a framework based on the technologies adopted from open source frameworks Jakarta Struts, Jboss Hibernate, SmartConfig and on good rules for software planning.
The SmartWeb Framework is addressed to all those who wants to realize web-services applications.
As a result of the experience developed on SmartWeb use, we can surely assert that it produce web-centric applications most simple, fast and with best qualitatively result.
See the core's class diagram
SmartWeb can be considered the adhesive between Struts and Hibernate.
SmartWeb introduces various already realized modules (even if several not completely released) easy integrable, through whose composition, even complex applications can be realized in rather simple way. Using Struts comes true the presentation tier of the web application, Struts concurs the production of web-pages and the interaction with the same ones; using Hibernate comes true the interaction with relational database; in all this, between presentation tier and persistence tier, something useful and simple for the business tier was lacked.
Therefore we have realize base-classes that implement the model of business of a web-service application.
Surely the business tier it's different according to what must be introduced but there can be base-modules,common to various problematic that can make adhesive between Struts and Hibernate, adding something that allows to reduce new development.
The developed classes are execution of various models of base-business that can be used like departure points:
In the specific we have realized the DOMAIN that represents the business facade of the entire business domain.
For every sphere of business there is a domain class that inherits from the framework domain class and that hides what there is behind, that is the true Database. Just as an example, wanting to connect various registry, the domain takes care of the search, the coupling, the abstraction and the direct connection. In this way we can avoide that who is assegned to attend to the presentation must also attend to, and/or know, the business problematic ones.
Then we implemented the business object that represents the entities of business. The Business Object is obviously an abstract class that introduces base information: an identifying voice is a Business Object, a group is a Business Object, a customer is a Business Object.....
By default, all the classes are conveyable between layer and tier, they are serializable and available in J2EE because the Business Objects are Data Transfer Objects and therefore they can be conveied.
At last we have performed the Business Objects Factories that are the factories of Business Objects that attend to realize the base-functionalities in order to access the Database, operations that otherwise you would always have to implement for whichever type of application: