View providers driven applications(vpda) is java based application framework for building applications composed from server components - view providers. View providers are server components which define user interface and user control. Client platform is just presentation engine, there is never any concrete application logic there. VPDA is 4 tier apllication framework with all needed infrastructure. This means communication between client and server, server management, deployment.
VPDA does not require any concrete client. It uses abstract client which can be implemented using concrete client platform. Typically developer does 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. Now there are 2 client platforms : swing for desktop applications and wingS for web applications.
Application workflow 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 bussiness logic very close. Also menu is defined on server side, client just fetches and renderers menu. Controller tier is using abstraction of client , so you develop application using same code regardless whether presentation is on swing or web.
Bussiness logic tier is provided using bussiness 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 with no dependency to DB venndor and use it in JPA and also for Controller tier.
Key features of framework are now finished. There are many technical fetaures planned, but the core is really stable. Too summarize all implemented fetures :