ABAP OO is a powerfull, business oriented programming language, great for developing business applications. Yet, programming in ABAP OO poses a challenge in areas like application architecture, testability, adaptability to changing business requirements as well as overall transparency of the application. In modern software development world, where know-how about specific application is likely to be lost with frequent changes of resources, tests must be dynamically written as the software evolves, software documentation is out of date even before the software is released and the application itself must adapt to changing business requirements even before go-live date, the need for application framework that addresses those problems becomes imminent. In Java world these areas have been long adressed by a de-facto application development standard: Spring Framework. Now, with the advent of Vesna Framework also ABAP OO world can benefit from proven application development principles, provided to you in a simple and easy to use form.
Vesna Framework allows you to build applications from encapsulated entities, so called beans. Each bean is a fully configured runtime object, meaningful in business as well as technical terms. The application is declared rather than programmed, in the form of an XML configuration file in a simple and easy to use format. Thus, building an application becomes as intuitive as putting together simple jigsaw puzzle picture.
Usage of Vesna Framework alone implies structuring the application in an intuitive and transparent way, without imposing any restrictions on application design or implementation. Since Vesna Framework configuration format is identical with the one known from widespread Spring Framework Java, there is no additional learning curve for most programmers. More importantly, run-in period for new programmers coming to the project will be significantly shorter as they will only have to deal with a known application definition format.
Advanced Vesna Framework capabilities like AOP (aspect-oriented proramming) allow for fine-tuned enhancing of any chosen point in the application, easy mock testing of selected application features, targetted runtime capturng of chosen functional areas (e.g. in the form of logging plug-ins) or even swapping entire layers of application logic (e.g. persistence layer).