One of the main reasons why I planned to come up with this blog is because most of our customers and partners are not fully aware of the features of Web Dynpro Java and hence completely overlook its benefits. The other reason is that there seem to be a lot of myth surrounding this tool, customers and partners often think it has a steep learning curve or that it’s just like any other Java technology, this results in poor implementation and the blame falls on the technology! As a result most of them tend to stay away from Web Dynpro Java.
The aim of this blog is not to give the readers a technical picture or a know how of the actual development, instead it aims to bring out some of the unique features which will enable you position the tool better.
What is WD4J?
Web Dynpro for Java is a UI Programming model for building Web Applications. The orange colored boxes below are the objectives, and the boxes on the right hand side show how WDJ achieves these objectives.
The four key points here are
- Model Driven
- Client Abstraction
- Component concept
- Model Abstraction
WD4J follows the MVC Programming Model (SAP has its own implementation of the MVC) for developing transactional and business applications. It provides graphical tools, it is highly intuitive. Its model driven and declarative, hence supports the principal that fewer the handwritten code, the better. The 80 – 20 principal fits well here, only 20 percent of the total code is handwritten (this is only if customization is required).
The declarative approach ensures that all applications have the standard look and feel.
The User Interfaces remain the same irrespective of the client you are connected to. Web Dynpro also relieves the application developer of the difficult task of adapting the user interface to the different clients; you can run the same application on different client devices and browsers without code modification. Device and browser recognition with server side rendering is all done by the Web Dynpro Java Runtime.
This is achieved through an interface element description (such as properties and events) that is abstract and separate from specific client technologies and even from certain end devices (such as desktop PCs or mobile devices). This technique is also known as client agnostic UI. This means that the application developer constructs the user interfaces without knowledge or presumption of the client technology to be used at runtime. Closely connected with client abstraction is the well-stocked library of more than 90 Web Dynpro UI elements that you can use to develop Web user interfaces that appear consistent and include a significant level of user interaction. There are Generic UI services for recurring application parts, thus making application development easy.
Components are reusable task oriented building blocks. The component concept allows reuse. Following are some of the component benefits:
- Loose Component coupling
A Web Dynpro Model is a special Web Dynpro entity which includes an aggregation of model classes needed to connect a Web Dynpro component to the back end or business logic. Depending on the concrete backend technology used (whether it be RFC, Web service, or EJB 3.0) the Web Dynpro developer imports an Adaptive Remote Function Call (RFC) model (based on an RFC module), an EJB 3.0 model (based on stateless EJB 3.0 session beans) or an Adaptive Web service model (based on a Web service or Enterprise service definition).
So Why WDJ?
It’s relatively easy and fast application development as compared to other usual J2ee options via use of visual models/code editors. The generated applications are independent of the clients or the backend technology. Web Dynpro applications are scalable and robust. The best part is the learning curve is not steep J. The Web Dynpro applications help achieve independence. The tool improves User Experience and provides an Enterprise Quality Web Development Environment.