Skip to Content

The Paradox of Choice

We have this great grab bag of developer tools to pick from to integrate with Netweaver. In terms of capability or what I like to call the “possibility space” of opportunity, it’s almost unlimited. But therein lies the problem:

How do you choose?

This is a non-trivial problem, especially given the low signal/noise ratio provided by most developers (myself included). ABAPers will tout the great transport controls and ease of coding with ABAP/BSP. Java junkies like myself will extol the flexibility and interoperability of Java/JSP. Microsofties will rightly tell us that .NET development is much faster and cleaner than Java. PHP is now in the mix, and from personal experience it’s a great tool to bash out web pages quickly, especially with MySQL — my home web server has been running this combo with Apache for at least 5-6 years now.

Last time I checked, there’s no official word from SAP about how to choose. So what’s right? I say they all are. Before you architects send me nastygrams about how one shop can’t support them all, let me finish.

If you are modding or extending core R/3 functions and need little else, use ABAP/BSP (WebDynPro when you can). To me, this is the only solution that makes sense. A good ABAPer can bash this code out in a quarter of the time a good Java guy can.

If you have little R/3 integration but high integration with EP or KM, and possibly other back ends like Oracle then Java/JSP is the way to go. Use WebDynPro if you can. Nothing beats the flexibility and integration of Java into EP.

If it’s a straight web app presented in the Portal and doesn’t need extensive integration with R/3 or EP, go .NET with the .NET PDK and Connector from SAP. No question about it, and this is coming from an old-school Java guy. It’s quick, clean, and hands down faster than Java in terms of both development and performance. Benchmark it yourself and see, we did and I was surprised.

So that’s it, near as I can figure. Let me know what you guys think.

You must be Logged on to comment or reply to a post.
  • My experience with clients is that most companies already have a framework setup on what tools need to be used for certain projects, which in a lot of cases also includes naming and development conventions. Some clients are a Microsoft shop and some are strictly not. But your development tools might also be dictated by the skillset of the client resources. If client resources know ABAP/BSP very well then there is no need to add another language to it as the application in many cases is maintained by the client's support staff. And finally in a lot of cases you will always use some kind of ABAP in order to interface with SAP backend e.g. RFC's/BAPI's. I did not have the pleasure yet to work for clients that let you freely choose the developmetn tools and therefor choosing the right tool was not yet an issue for me. It's not always what's right but what procedures, framework setups and company politics dictate.
    • You are very correct. Architecture teams frequently set the standards and the resources you have also dictate the choices used. That being given, often you have some leeway in terms of training budgets, choices for projects where answers aren't clear, etc. Additionally, in most companies that run Netweaver you are kind of stuck with the three skillsets -- .NET (it's pretty pervasive now) Java (it's the core language of EP) and ABAP (with R/3).
      • Bingo!  This is exactly where we are stuck.  We have a strong core of ABAP skills, and the last two years have seen our web apps in a strong .Net environment.  Life was easy.  There was no Java (not that that's good, but it simplifies things for sure).

        Then Web Dynpro came along and we have business packages (ESS) that are Web Dynpro based, we've needed to add to and slightly customize them.  Web Dynpro is highly marketed as THE tool to built custom SAP screens (and applications!). 

        So, we struggle with where to go.  I'm tasked with providing management direction on what gets used when, and why.  As I gain more experience in the various areas, it becomes clear that the why boils down to our own shop's environment.  This is shaky ground though to sell a strategy and direction with strong reasoning solely on "because this is how we do things".

  • It's interesting thoughts you have there but I would have preferred to see your benchmark results in detail. Opinions, well everyone has one but numbers speak louder!
  • Well I would agree with .NET development time being faster than JSP/Java combination , but would need more compelling reason to believe dev time is faster than Java WebDynpro.

    Well to add more confusion in the webdynpro area , we get official support for ABAP webdynpro soon, but then there are standard SAP packages like ESS MSS and CATS based on Java webdynpro. CAF seems to be using Java Webdynpro , there is a JSF Java Webdynpro integration being planned opening up components developed on JSF to be used with Java Webdynpro.

  • Hi

    You've touched on the age-old dilemma indeed, and there's no simple answer. As Harald has already pointed out, a lot of the direction will be dictatated by the customer's tech set and platform standards. Within that context there are bound to be still some choices.

    Benchmarks are mentioned in this discussion. But I think on the whole, benchmarks are less relevant these days than they were five or ten years ago. It used to be that the most expensive resource on an IT project was the hardware. So benchmarks mattered more, and performance had a greater influence in determining the tech set.

    But today, the most expensive resource is .. the developer. So code manageability, architecture and code complexity, and maintainability is a lot more relevant. (Unfortunately there are certain architecture groups and standards that don't reflect that even today - they seem to thrive on complexity).

    And don't forget, the issue isn't even as simple as being cast within the environment of NetWeaver. Sure, there's a portal offering within there - but you don't have to use that one. And so it goes on.


  • Hi Jason,

    I totally agree with you on what you say about the different languages. I have come from a Java background into the ABAP world and also know quite a bit about .NET... and I must say I agree with basically everything you say.

    I think each of the langauges has their strong points and there weakpoints (some of which you mentioned in your intro) things I can say is that ABAP and BSP (and ABAP Webdynpro) will live for years to come...any company running SAP will inevitably have to have ABAP resources so why not use them for the web stuff as well? When stuff gets overly complex on the Web and you need to integrate multiple sytems like Oracle and DB2 etc then sure, use .NET, Java or PHP......whatever gets the job the easiest, cheapest and quickest etc.....

    I think it will all boil down to what skills and resources your company has in place. For example we are very .NET and ABAP / BSP oriented and we see no reason currently to re-skill into Java or PHP as well. I would rather have a team of developers who "specialise" in 2 langauges than being a "jack of all trades" doing PHP for this, Java for that, ABAP for that etc.....

    But what is cool is that with BPEL, SOA, ESB etc becoming so much more popular in a couple years time the "language debate" won't really be the crucial will develop in the best language for the job, webservices will mask all this from the users of the systems.

    Thanks for the discussion and I look forward to seeing the benchmark results...



  • Is it just me or does anyone else sees NetWeaver to be a bandage for SAP’s failing technologies.  I have yet to see SAP deliver a finished product without jumping to the next "Great Idea"; as you are all aware this creates more work because we have to make it all work together.  I would really like to see more effort from SAP on making a stable product with a good tool set.

    I don't know how anyone can think that it is great that ABAPer’s can continue to develop for NetWeaver when SAP most likely plans to gash ABAP as a supported language in future releases.  Some may say that will never happen….are you willing to invest the time now only to find out you have to redo it later.

    The other problem I have is SAP forced yet another Web Server and development platform into our organization instead of working with existing technologies we and other organizations have in place.

    Don't get me wrong, I love SAP, without SAP I may not be making the cash I do 😉

    • Hi Darren,

      What is the best choice in a highly uncertain environment?  You go for them all until a clear winner emerges.  Its called hedging your bets.  Its a way of making sure that you don't bet the farm on a loser. 

      This is exactly what SAP (and other companies who will still be around beyond the next 5 years) are doing.  Netweaver, with all the different technologies it supports, is SAPs way of covering all the bases.

      You might say that this is not a perfect environment for developers to work in.  But who cares?  When you are buying, upgrading, extending (etc.) a multi million (insert currency here) system do you care if your programming staff aren't comletely comfortable that it provides a stable product with a good tool set?  I don't think so.

      You just want something which seems to support the current and emerging technologies, whatever they may be at the time.  Thats what Netweaver brings.