View providers driven applications(vpda) is java based application framework for building applications composed from server components - view providers. You can use framework for effective building large enterprise applications. It is all tier applications framework, you just provide your custom view providers, all common services, communication is provided to you. VPDA has no concrete client neither server platform. There is comumunication and abstraction layer between client and server. This means we can have more client platforms for same application. Now swing client and web client using wingS are provided. Server side can run as plain jvm with Spring or JEE application without any application code change. Just write once, deploy anywhere.
2009-03-09. New version 1.2 was released.
2009-01-30. New version 1.1 was released.
2008-08-13. New version 1.0 was released.
Using VPDA we develop application regardless of user interface or server platform. Developer is concentrated only to application domain, not to infrastructure. Developer just creates new view provider and framework will handle provider presentation. Also business logic services could be wrapped by Spring Transaction or be EJB 3.0 session beans running on JEE 5.0 application server. Such abstraction forces developer to concentrate to application code and not to technology. Also for user each client platform has its advantages. Swing can be more integrated with user computer and be more user friendly, while web client can be used by other group of users , no deployemnet is neccesary.
VPDA is pure java framework. It is based on server representation of client ui. VPDA is suitable for large systems, which are uniform in their UI. Any big ERP,CRM applications are good candidates for using this framework. Also migrating some old mainframe solution to new UI is good example. VPDA is not suitable for common web based presentation applications.
VPDA relates also to other similar frameworks. This includes
Idea with canoo is very similar - mapping client ui to server objects, but vpda builds application from view providers components radher than from small ui components like ULC does. Also VPDA provides complete infrastructure and also several services(transactions,data modeling). 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 2 platform clients without application code change.
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 can be very closed and coupled. In one class we can define presentation and controller. Other class defines domain entity and if needed also bussiness 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.
All this web frameworks are only web related frameworks while vpda is abstract client framework with additional services and rather complete infrastructure
VPDA use LGPL 3.0 license