Skip to Content
    A couple of days back I was talking to a colleague who’s been working on stand-alone core java applications for sometime now. The conversation turned to Web Dynpro(Java) Programming. He mentioned that it would be very easy for a core-java programmer to switch to the world of Web Dynpro Programming. He based his claim on the fact that “the pre requisites for Web Dynpro(for Java) programming are a good grasp of core java and experience with the model view controller architecture”. This got me thinking. The perception in many circles is that you get certified as an SCJP, get trained in Web Dynpro and you’re all set to work on the NetWeaver platform and develop Web Dynpro Applications.      I for one, would disagree with this perception. Yes, you do need to know core-java, it is absolutely necessary for WD(Java) Development. However, equipped with core-java skills alone, a Web Dynpro programmer can develop only very simple applications. Infact a basic “Hello World” app can be written in Web Dynpro without even writing a single line of code!(How many lines of java code did i write for a simple Web Dynpro? and another The specified item was not found.)      In practice though, things are very different. For most real world scenarios, you need to be (at least) familiar with a host of other technologies. Moreover, to develop high quality Web Dynpro applications, you need to know many of these(technologies), to a reasonable depth.       In this blog I’m going to try to list out some of the technologies/tool/concepts that in my opinion a WD(Java) programmer will encounter, and thus needs to be familiar with:

  • 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)!

To report this post you need to login first.

9 Comments

You must be Logged on to comment or reply to a post.

  1. Thomas Jung
    >Yes, you do need to know core-java, it is absolutely necessary for WD Development.

    Not at all.  Now that we have Web Dynpro ABAP, you don’t have to know any Java to be a “Web Dynpro Programmer”.

    (0) 
  2. Pankaj Kumar
    Harsh

    Instead of Client/Server I would stress more on MVC arcitecture. Client Server typically brings the images of VB, PowerBuilder, Clipper apps in mind.

    – Pankaj

    (0) 
    1. Thomas Jung
      That’s interesting, because when I read Client/Server I thought it perhaps should have ready HTTP Request/Response.  I think both Request/Response and MVC are key points to Web Dynpro.
      (0) 
        1. Thomas Jung
          No I just mean the basic communication structure of HTTP Request and Response. Understanding the core mechanisms of HTTP and what can go right and wrong with HTTP as a communication channel in general. Even with client abstraction, HTTP remains the core communication mechanism for Web Dynpro.
          (0) 
  3. A Kumar
    Good points. I want to add on it, since I am working in SAP Portal Netweaver Consultant in my Company.
    So as a we Web Dynpro Programmer you should have knowlege of Development, Application, KMC, XI areas.
    (0) 

Leave a Reply