Web client support for VPDA was added
- View providers driven applications is pure java framework for building large enterprise applications from view providers - server components. VPDA covers all typical business application tiers. This means after integrating you should be able to build new application without additional effort. VPDA is suitable for large, user interface uniform business applications - ERP,CRM, migration from mainframe systems.
VPDA provided tiers
VPDA covers all typical business application tiers
Now presentation tier is implemented using java swing or web ui with WingS
. Typically u do not need modify this tier , it is implemented like common renderer engine driven from server. Client implements View provider user interface for server components. There is never any concrete application related code, only common handling of commands received from servers. From deployment view, this tier consists from view provider ui located on client and view provider components located on server
Application control is implemented on server side. Each view provider server component provides controller logic for client. It can send back to client commands which drive client application flow. This way we have controller and business logic very close. There are 3 kinds of view providers : Lists which display tabular data,Details for detail view and Processing.
Also menu is defined on server side, client just fetches and renderers menu. Controller tier is using abstraction of client , so u develop application using same code regardless whether presentation is on swing or web.
Business logic tier is provided using business services with transactional support. There are two implementations there : Spring transactions and J2EE. This tier can be very easily called from controller tier.
Persistence tier is application specific, framework provides very good support for Java Persistence API. There is also small library for mapping java classes to database tables. This way we can create DB model using java classes and use it in JPA and also for Controller tier.
VPDA main principles and relation to other similar frameworks
VPDA tries to be complete application development framework. But at the same time it has no target platform. There is abstraction tier between client and server, so we can have more target platforms for client and server both. Main idea is composing application from view providers - components responsible for UI definition, UI control and data providers. This way related code is very close and maintainable also for large applications.
1. ULC - Ultra light client
Idea with canoo is very similar - mapping client ui to server objects, but VPDA builds application from view providers components rather than from small ui components (half objects) like ULC does. Also VPDA provides complete infrastructure and also several services(transactions,data modelling). Also ULC has only one client platform - swing, while VPDA server can view client using abstraction module and there could be other implementations of client, not only swing. Then one application can have more platform clients without additional effort.
2. Naked objects
Naked objects use domain objects to generate all tiers of application. This is absolutely different strategy. I am not going to discuss pros and cons or compare. In VPDA developer can write code for all tiers in java language and code. In one class we can define presentation and controller. Other class defines domain entity and if needed also business service. All of this is server code, it does not depend on target client platform. We think this scenario delegates responsibility to right tiers of application.
3. There are also many web frameworks like JSF,wicket,echo,gwt...
All these web frameworks are only web related frameworks while VPDA is abstract client framework with additional services and rather complete infrastructure
VPDA integration and environment
On server side, VPDA is well integrated with Spring
,JPA, JMX... PicoContainer
is used in whole project as IoC container.
Development environment includes JDK 6.0, Subversion
VPDA has dual licensing. First GPL license is for open source project. Any project which uses GPL can use this framework for building custom applications. If GPL is not convenient, then you can use commerce license. In this phase We are looking for business model of framework, so what now we need is to find some business model or at least hear some idea about its future. So if you want to use VPDA, please contact us and be prepared to answer VPDA business model related questions. You can find contact on VPDA page.
Please visit VPDA
for more details. There you can find also sample application and screenshots.
To try the sample, you just need unzip and run server,swing client,web client. No db or any server installation is needed.