Webdynpro for Java or Webdynpro for ABAP?

This seems like the hottest debate in SAP shops these days. There has been a slow and steady build up towards SAP’s move to Java based development in the last few years with Netweaver. And that seemed to be culminating in SAP’s WEBDYNPRO framework which optimizes the MVC paradigm into something most suitable for business application development. Traditional Java developers hitherto using JSPDynpPage or DynPage development for Portal development seem to be smitten by Webdynpro for Java and swear by ease of development of common business applications using Webdynpro for Java. It is apparently robust and high performance. It brings to the Java world the basic tenets of SAP’s traditional dynpro programming where the developer strictly works in a module pool framework for PBO and PAI, does simplified coding, and scaling, performance and best practices are implicit in the framework itself. So far so good.
And then, last year SAP came out with the same framework for ABAP language. Which suddenly seems like natural progression for SAP’s ABAP development community – to develop web based business applications within the familiar SE80 environment which also brings to the table all the goodies associated with the Webdynpro framework.
So as SAP development shops were gearing for significant changes in their skill mix (trying to bring on a mix of Java skills inhouse), suddenly there is a new found hope that afterall, after all the scare and uncertainity of the move towards Java, finally there was a Knight in form of Webdynpro for ABAP that can bring back the glory and stability to ABAP developers career.
But the question is how to fairly decide how to go about preferring one language to another with the Webdynpro paradigm.

Why is WEBDYNPRO good for Java development?
Relatively easy and fast application development as compared to other usual J2EE options via use of visual models/code-editors. Comparable with Java Server Faces (JSF).
Generated applications independent of different UIs – like Web, Rich-clients, Mobile devices.
Scalability, robustness and performance are handled by the framework to a large extend
Code available for reuse and modification

What is SAP’s own take on Webdynpro for Java?
SAP’s is using Webdynpro for Java as a strategic tool to produces robust and highly scalable J2EE architecture applications. SAP is in the process of rewriting Employee Self Service (ESS) and Manager Self Service (MSS) applications using Webdynpro for Java. CRM 5.0 uses this functionality. Important SAP Portal applications like User and Role management transaction, Universal Work List (UWL) use Webdynpro for Java.

What are the downsides of Webdynpro?
Framework proprietary to SAP – as opposed to any standard J2EE framework (like Java Server Faces)
Not complete freedom to design user interface elements as only specific objects and their properties can be manipulated
Not possible to include application data ‘scriplets’ into HTML markup
Cannot use Javascript, DHTML, etc. – so limited freedom to do frontend screen design (as familiar to web developers)
Custom Style-sheet integration

Training implications?
For Webdynpro for Java – there is a learning curve for Java developers, not to mention a very steep one for ABAP developers
For Webdynpro for ABAP – its other way around – easier for ABAP developers (especially if they are experts in Object Oriented (OO) ABAP). A Java developer would be wasting time learning Webdynpro for ABAP.

How about promote to Production?
Webdynpro for Java uses NWDI – which is new in SAP shops, but nevertheless nothing but a version control system. If NWDI is already setup well and working well, its not such a big deal doing sensible promote to production of Webdynpro for Java code.
Webdynpro for ABAP uses SE80 and Promote to Production is integrated with SAP’s transport management system. Which is especially good for projects and organizations which are already familiar with TMS and use it to control project and release builds. Really a big plus on the side of Webdynpro for ABAP!

Performance, scalability and robustness?
While there is no comparison to these parameters when it comes to standard ABAP based development based on Basis kernel, when it comes to handling http based applications, large scale applications are not proven on the web server of the ABAP stack. So there are bound to be issues with that. Some of these weaknesses could be manifesting themselves in SAP’s own decision to use Java application server (using Webdynpro for Java) in products like ESS, MSS, SAP Portal admin apps, CRM, etc.
So while it may be viable to use Webdynpro for ABAP as a platform for low use internal web applications in a company, for truely robust and scalable applications, perhaps Webdynpro for Java is a better choice. In the end, these apps are hosted on a standard J2EE server that is compliant with standards of the J2EE world. It is relatively easy for SAP to leverage or adapt the advancements made to the technology by the likes of companies like SUN, Oracle or IBM for the Java stack, when compared to its own investments that SAP needs to make for any improvements to the ABAP stack (especially the web side of it). And of course, there are not many people who would doubt the J2EE architecture on the parameters of scalability and robustness.

Which skill set is more expensive and how to set up the Netweaver development team?
Easy availability of Java skills is an important reason for SAP to have gone into the Java direction as such. Having said that, there are still a plenty of ABAP developers out there and they are still going to be very relevant to SAP’s development world. Leave aside a handful of the new web based applications, and the core of SAP’s revered ERP app is still based in the ABAP kernel. To elaborate ECC x.0 is still nothing but a R/3 application suite at the core of it (actually a 4.6c based). So, have no mistakes – ABAP is still going to be very very core to any SAP implementation or upgrade (remember, Web apps of any kind typically use RFCs that are still written in ABAP). The jury is out there only for the (so far) perepheral applications – but that is kind of where the actual growth is. At that end of it, its perhaps the low cost of Java skill set that will come to have a role to play at that end.
So if you have an army of ABAP developers, would you rather have them do the core ECC related work, and have a handful of them move into the Webdynpro world with some additional tooling in Webdynpro for ABAP? Or, its move prudent to start injecting in skills in Java and build a parallel but complimentary team that is expert in Webdynpro for Java? Perhaps there is no getting away from latter if ESS, MSS and Portal are in scope of your applications. Given that, it may not be a bad idea to start building the Java skills. Get them from outside or have some of the ABAPers retool themselves (which by the way, is the best place to live in if you are a developer in the SAP world). In fact re-tooling as a Webdynpro for Java developer is easier for an ABAPer than retooling into JSPDynPage or JSP.
Companies would like to dabble with webservices, especially if Duet, xApps or Adobe integration is out there on the horizon. Reality is all this new world is really based on Webservices and SAP’s bet at that point is on the J2EE enabled webservices. So perhaps there is no escape from having Java skills in your backpocket. Given that is the future direction, why take a stand against it – which means its time to be open about Java skills. And that being true, it becomes easier to give a verdict on the side of Webdynpro for Java (as a corollary).

11/29/2007 – SAP’s latest Enhancement Package 2 for ERP 6.0 has ESS 1.2 in which a handful of ESS modules, like Travel and Expense, have been rewritten in Wedynpro for ABAP. Functionality is almost same. But does speak to the direction in which SAP may possibly be going. That is use Wedynpro for ABAP for functions that are only dependent on backend SAP.


You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

AddThis Social Bookmark Button

14 Responses to “Webdynpro for Java or Webdynpro for ABAP?”

  1. Well put. What people talked too at teched was how if you speak to someone from Palo Alto labs, they say use WDJ and people from Germany say use WDA. SAP should have given better guidelines.

  2. Both sucks including SAP itself. I’ve done some client projects and because of limitation of not able to use javascript we could not fulfill simple client requirements. In WDJ the model is still ABAP RFC calls and so if there is need to change something important, you need ABAPERS.

    They have complicated things so much by including both Enterprise scale language Java and ABAP that as a developer I get frustrated to do what and where ! UI in Java and model in ABAP.
    Sucks big time :(

  3. As a SAP Basis Admin ( > 10 years experience ) its still a mistery to me why SAP ever launched the Java initiative. I mean, the SAP JRE, requires huge maintenance efforts, is hard to configure and tune, and the performance is rediculously slow as compared to an ABAP stack. The Java Development Framework is a study in complexity. Was that perhaps the real reason for Shai Agassi’s resignation ? The failure to deliver a fast, scalable and cheap JAVA platform ?
    Allthough in the ABAP context, the Webdynpro framework doesn’t have the freedom that BSP have, it enforces a kind of uniformity in the code and GUI look & feel. The only drawbacks are the cumbersome explicit coding required for the value transport of the screenvariables to/from the context and the fact that you cannot use page frame’s as with BSP’s.

  4. I am a developer and desing iviews between abap and java i developer in java webdynpro and make de rfc in abap and is not very dificult. Only just as we’re eager and you can achieve good results.

  5. Hi Friendz

    I have an interst to learn the SAPFrontend designing. I know that there r two technologies to desing the screens.i.e Webdynpro for java nad abap.In these two technologies which is the best to learn and which one have the more craze in job wise.

  6. Hi rj,
    If you want to build HTML user-interfaces which uses JavaScript then you should look at SAP BSP instead. In Webdynpro you cannot use JavaScripts because it should be possible to render the UI to other clients than ‘just’ a browser. E.g – with NetWeaver 7.1 you can render your webdynpro application unchanged to RIA client like SAP Business client – which uses Adobe Flex as a presentation layer…

    br,
    Mogens (www.dev-trend.com)

  7. Hi, goog article.
    Found a blog which gives some more point on the same topic.
    http://www.sapnxt.co.nr/2008/11/difference-between-webdynpro-abap-and.html

  8. yse you could run java script via iframe component in abap web dynpro

  9. Hi
    I am working in java and J2ee for last 10 years, I would like to move to Java Web Dynpro. Since I am not having any experience with SAP, hwo easy it will to find a job in Java Web Dynpro as Fresh starter.
    Please give some idea
    Regards
    Philip

  10. ITSIACDCOMBCBSPWDJWDA Says:

    What ever happened to ITS, IAC, DCOM, Business Connector, BSP? They all have gone with ever changing SAP’s direction in application design technology and technical landscape changes. Only things is we’ve spent years learning these then all of sudden it’s obsolete. Would WDJ face the same fate with the introduction of WDA? It’s certainly a possiblility so therees doubts about spending time and money learning WDJ.

    If we can do the full J2EE like the CRM ECommerce then why WDJ? With WDJ’s limitations of using the RFC ABAP in the backend and NWDI requirements, WDA will soon over come WDJ. If there’s application requirement for web enabled application then I would suggest full J2EE/MVC2 CRM or R/3 ECommerce or .net.

    For thin client, intranet development, I would suggest WDA.

    Hope this help.

  11. I do web dynpro for abap development, so I am a bit biased.
    Earlier – 2007 – we had some problems with it, but now the system got faster and more stable and thus development easier.
    Web Dynpro for Abap is fully integrated into the SAP development system (transport, activation, …), so you can deliver in about 50% of the time compared to external – even Web Dynpro for Java – solutions. That decides the question, doesn’t it?

  12. Hello,

    In latest presentations about EHP4 and ESS/MSS, I came to know that SAP will prefer WDA for writing business applications. Especially with FPM for WDA this seems catching up very fast. If ESS/MSS is re-written in WDA (Labs are too fast at this!), will the WDJ still be having same importance or preference?
    Also if we take typical implementaion scenario – we always have a abap pool developing custom applications using abap workbench, will there be a chance of seeing such java pool developing custom applications using NWDI/CE?
    I have seen NWDI as a pain point in many implementations (not even it is costly the installation and configuration also requires considerable time and effort), is there any chance SAP will ship it free with CE similar to ABAP workbench?
    I dont know if this is right place to put these questions but i found the discussion here very interesting and i think experts in ui area have contributed here…hoping to see a reply. :-)

  13. Systems Applications and Products. Java comes in Applications phase , soon after the Application gets successful,Products will Take control. ABAP is in between Application and Product, Its half a product,half a language with a lot of limitations. java on the other side has not limitations, you can virutally do anything you like, can keep changing to the Technology.In an ABAP world ,one should wait for the new enhancements to be released by SAP,but in a java world there is no tomorrow which you can do it today.Its a question of Go or No Go in a Running Race.

  14. I am planning to get ECC6 preinstalled HDD – the vendor is also offering me Netweaver 2004s, 7.0, EP7 and Web Application Server 6.20
    I am developing some Web Dynpro apps for Java Application in NetWeaver Developer Studio – I have not idea how to deploy and run those apps – to be specific what is required among the products mentioned above to get my applications up and running.