So.. you want to be a Web Dynpro(for Java) Programmer?
- Client Server Architecture: Not exactly a technology, more of a concept. I decided to put it here because when I took the SCJP certification I noticed was that there is nothing related to the concepts of Clients & Servers as part of the certification objectives. Web Dynpro Applications are NOT stand-alone, even though most of the coding is abstracted to the level that you need to know only core java programming. An understanding of what part of the code is executed client side and what gets done on the server is critical. It might be hard to believe but most stand-alone programmers are not very comfortable with this.
- ABAP/SAPGUI/RFCs/BAPIs: Yes a WD programmer’s part starts from the time he imports the RFCs/BAPIs as models, but for a good WD programmer the ability to use an SAP GUI to login and step through an RFC is critical. I think it should be the first thing a WD programmer learns after he’s finished with his WD training(infact it should be part of the training). It helps a lot to understand the use of tables and structures in RFCs.
- Netweaver Portal APIs & portal concepts: In a majority of cases the WD applications are deployed and accessed from a Netweaver Portal. The WD application may need to interact with other applications/components on the portal. It may need to use business systems from the portal, search for documents using TREX API’s. A WD programmer would be lost without a resonable knowledge of portal API’s. At the very least he should know what an iView is 🙂 (for that matter what are roles, worksets, pages, groups…)
- Webservices: In most of the current Web Dynpro applications RFC/BAPI comes across as the single most important backend(model). But in the future, this is expected to change. A WD programmer should have a sound understanding of webservices(SOAP,UDDI,WSDL,XML!).
- eXchange Infrastructure & middleware concepts: A reasonably complex WD Application might connect to multiple backends, In such cases, legacy systems connected through XI might come into the picture. A WD programmer should understand what XI is, what are interfaces & adapters. The ability to use xsmb_moni helps a lot. WD-XI connections can happen in different ways, depending on the adapter used the programmer will need to adapt. Here again XML plays a major role.
Some people will argue that knowing or trying to learn all these technologies before starting with WD Development would be an overkill. I would put it this way: Yes you can develop WD applications without knowing all/any of these in depth. It is possible to handle RFC models without knowing what se37 is. A WS model once imported can be handled without know what SOAP or UDDI are. But… anyone whose tried to debug a WD application when the ABAP guy is on leave would know what I’m talking about 🙂 Update: As Craig and Thomas have aptly pointed out, here I’m talking about a Java Programmer moving into the world of Web Dynpro(for Java). Though I’m sure, the knowledge of atleast some of these technologies(EP/XI/Webservices/XML) is necessary for any Web Dynpro programmer(ABAP or Java)!