Enterprise Geeks Podcast – Battle Royale: ABAP vs. Java

The two faces of SAP and its dual platform strategy

EGheads, this one is a keeper. In this episode, Ed and Thomas get down and dirty on the age old debate of ABAP vs. Java in the SAP world. Listen to find out our results of this mighty battle of the languages. This is definitely one episode you don’t want to miss.

If you have questions, suggestions, or topic ideas for future episodes, give us a shout here. Enjoy!

Running Time: 54 minutes

Talking Points

  1. 01:19 – What is your favorite geek energy drink? The eGeeks weapon of choice is Bawls
  2. 04:52 – Battle Royale: ABAP vs. Java – Round 1
    • IBM buying Sun?
    • What would that mean for Java?
    • Future of Java overall and at SAP
    • SAP’s current focus on ABAP
    • SAP as a dual platform company causes ADD & schizophrenia
  3. 27:50 – More thoughts on SOA
  4. 31:20 – Battle Royale: ABAP vs. Java – Round 2
  5. 39:42This week’s iPhone 3.0 announcements
  6. 42:03MIX09
  7. 52:02 – Closing thoughts and ramblings

18 responses to “Enterprise Geeks Podcast – Battle Royale: ABAP vs. Java”

  1. KK Ramamoorthy says :

    Ed and Tom
    Thanks for this podcast. Had fun (or should I say ‘had a bawl’). Have to have some bawls to open up this discussion on ABAP vs Java:-)
    I do agree with your point on Java being a very good utility tool and language of choice for generic programing. I have been a ABAPer myself and here are some of my observations
    1) Non ABAPers don’t want to venture in to the ABAP world for the fear of being too SAP centric. They feel it as restricting their future marketability. This is true with conventional ABAP whereas with the OOP approach in ABAP, part of this alleviated (though some of the core SAP modules are still heavily built on structured programming model)
    2) There are still some pain points using ABAP especially around web based development. I still don’t understand why we have to go through all the pain for making HTTPS client calls from ABAP if the server doesn’t demand a certificate.
    3) I was recently building an integration with Salesforce.com and though ABAP supports webservices, it still doesn’t support some features like changing end point or doing complex transformation from XML to ABAP data types. So, using Java to build that integration was a logical choice.
    4) More importantly, most software vendors have some form of proprietary coding to make the application scalable. Matter of fact NW 7.1 comes with SAP JVM mainly because of this reason (along with Webdynpro framework instead of JSF/Struts as highlighted by Tom). So ABAP(Amish Based Application Programming) will still be logical choice for coding business logic in SAP, I guess.

    Thanks for your time and dedication to put this podcast. Keep it going and waiting for the next podcast sessions.


  2. Thomas Jung says :

    To KK. Good points. I am curious what you meant by “I still don’t understand why we have to go through all the pain for making HTTPS client calls from ABAP if the server doesn’t demand a certificate”. I’ve done HTTP Client programming before and I have never had to use HTTPS unless that is what the server required. Take a look at the ESME API ABAP coding. We use plain HTTP for the client calls.

  3. Jay Russo says :

    Ed –

    I disagree with your stance of CP’s official platform strategy. What I’ve seen/heard from management (Including Jay) is: WD4A unless there is good reason otherwise… and not knowing ABAP does not qualify as a good reason 🙂

    I think that you should code where the data is whenever possible. That being said, there are some reasons why I would choose to write Java over ABAP. It would be good to get more ABAP developers up-skilled in Java so they can take an objective look at the problem and choose the best environment for the solution. Do you agree?

    – Jay Russo

  4. Brian Dennett says :


    As a fellow CP’er I completely agree that a little cross-training in Java would be a healthy move. However, I’d have to say we’d get a much better ROI if we focused on pushing ABAP-OO instead of nurturing our Java skillset. I just don’t think we’re ready as an organization to push Java, especially when there are so many other areas of development that still need improvement.


  5. KK Ramamoorthy says :

    We had to make a HTTPS call to an external website from ABAP and the call kept failing at ICM because the client certificate was not loaded in STRUST. Even though the server didn’t require the client to identify itself using a certificate, we had to upload the certificate in STRUST before making the HTTPS call. This, I understand is because the ICM needs to verify if indeed you are making the call to the correct server.
    I haven’t found a way of sending HTTPS client requests out of ABAP without a valid client certificate uploaded in STRUST, which was never an issue in the java side and hence my remark.

  6. Thomas Jung says :

    @KK – that is different that you originally described. You were making HTTPS calls then. It is true you need to store the Public Key certificate into STRUST for client calls. This is the same thing that an internet browser does. It is just a little more transparent in the browser because well known Certificate Authorities come pre-loaded in your browser. In Firefox you can view them in Advanced -> Encryption ->View Certificates.

    My most recent episode of the ABAP Freak Show talks about how you look up an HTTPS website in your browser, export the certificate from the browser and load it into STRUST. Not too difficult of a process really once you know the step is needed.

    Keep in mind that this certificate is the public key – not a client identification certificate. These are completely different things. So although a server may not require an X.509 certificate for client identification, there is still an exchange of the public key portion of the HTTPS certificate.

    This public key is used by the client to verify that the HTTPS request is from whom they claim to be. On the browser you have a pre-filled listed of certificate authorities that you trust and you can accept HTTPS request based upon those trusting relationships. If you have ever had to deal with HTTPS sites that are signed by a non-CA (Certificate Authority) – like when using signing within a firewall – you probably had to go through the same process as in ABAP to load the HTTPS certificate into your browser even.

    Now it may be the case that Java Application Servers come with a Certificate Store that is already populated with well known CAs – just like browsers. This would be the main difference is that the ABAP Certificate Store is delivered empty.

  7. Thomas Jung says :


    You said “doing complex transformation from XML to ABAP data types”

    You might find it interesting to know that SAP has increased the number of XML Schema Elements supported in the SOAP engine starting with 7.0 SP14 and further enhanced the list in 7.01 and the upcoming 7.02.

    You can find the list of supported elements and more importantly the unsupported ones as an attachment to OSS Note 944029 https://service.sap.com/sap/support/notes/944029

  8. Dagfinn Parnas says :

    Thanks for another great podcast.

    I hope that finally Java starts to settle down and find its natural place within the SAP Jigsaw puzzle. Indeed it seems that we’re closer now than the last few years.

    What you mention Thomas on SAP Java vs Java vs ABAP is very important. One challenge with the Java within the SAP landscape is that:
    1) It’s hard to convert Java developers to SAP Java developers
    2) It’s perhaphs even harder to convert ABAP developers to SAP Java developers

    Java developers are in general quite religious and passionate about their frameworks and this has to some extent collided with the tools and frameworks SAP has recommended for its Java development. This is a tough balance for SAP because you really need to lead the developers some of the way.

    Totally agree that SAP Java should be focused on within the Web technologies and SOA composition is key are of that. IMHO the normal ABAP developer is not as well versed in web technologies as the normal Java developer. Composition environment should expect tough competition on the market and really needs to be polished to a higher degree than earlier SAP Java solutions.

    Keep up the podcasts

  9. Dagfinn Parnas says :

    Btw with regards to Microsoft surface you have to watch the following video:

  10. KK Ramamoorthy says :

    Thanks for your detailed explanation. Correct that the browser comes pre-populated with certificates and probably so were our java app server (got to check this though).
    Thanks for the note on transformation as well. Nice to know that SAP has enhanced XML schema elements support. My testing was on the NW 7.0 Enhp1 evaluation version with sales force.com webservices. I was able to see the response XML payload from salesforce in the log viewer of SOAManager but the ABAP transformation returned empty data in the ABAP table types. Didn’t try to debug the transformation but will do so to see what is missing.

  11. me.yahoo.com/a/abI0B_Anu… says :

    Ok…Here goes my comments -:)

    1.- Haven’t tried “Bawls”…I like “Red Bull” but my favorite is “Burn”…Sweeter and tasty.

    2.- Even when I have write a NetBeans based Java book…I don’t like Java…And I really hate when SAP launched WDJ…Why? ABAP is SAP’s own language…You can’t make ABAPer move to Java…To me WDA was a “back to reality” from SAP…
    I remember when so time ago, I was at a conference about ABAP certification and one guy rise his hand and ask…”Why bother learning ABAP? ABAP is almost dead…SAP is going to be fully programmed in Java”…Would love to what that guy have to say right now…

    3.- You haven’t talked about the new kid on the block…Blue Ruby…Getting the ability to mix Ruby and ABAP would be one of SAP’s best moves! Dying to get my hands dirty with it -;)

    4.- Great podcast as always…Already said it…This is the only Podcast I listen to…It’s sad to have to wait a week to hear it, but it definitely worth a while -;)



  12. Jon Reed says :

    Guys, the “ABAP versus Java” smackdown lived up to its long-awaited potential. Thanks for making it happen. I agreed with a lot of the comments mentioned. While there is not perfect clarity yet on SAP’s Java strategy, it beats the heck out of where we were a few years ago, when folks were bailing out of ABAP right and left without much of a sense of where they were headed. Understanding the strengths of each development approach is, to me, the right way to go about it. But of course, as Ed points out, to do that you can’t be too blindly attached to one or the other. Thomas’ line about “it’s ok to like ABAP again” was a keeper! Plus, “you don’t have to be ashamed to be an ABAPper anymore….” ABAP pride!

    In terms of future topics pertaining to this theme, I would really enjoy picking up the ball on Daginn’s comments about the skills transitions between different languages. For example: what it takes to move from a pure ABAP programmer to someone who can handle some Java connectivity work when needed. I’ve touched on this in a couple of my own podcasts but I know that many are interested in how to be an effective SAP developer in the context of a strategy that is no longer a “dual” strategy in that confusing sense, but is still a heterogenous approach.

    Oh, and as for that “Is SOA Dead” webcast I hosted for ASUG, we’re hoping to have a replay of that available soon. When/if I get my hands on such a link, I will be sure to post it here in the comments for this podcast.

    Keep on rolling guys!

  13. Matt Harding says :

    Late comment sorry (only had chance to download podcast this morning).

    Funny thing about Java and ABAP; I reckon anyone who knows both doesn’t believe there’s should be a dual between them – it’s just what do you use in what scenario and it’s great that SAP give you the option if you need it. For example, in the SOA space; if you didn’t have JAVA, you’d be stuffed as soon as you encounter the requirement for custom adapters or user modules (Note service oriented architecture for most smaller vendors doesn’t mean web service; it just means services, hence the above comment).

    That said, strongly agree with Thomas’ comment about SAP Java. There are some serious JAVA people out there (I’ve even met one with preferences for older JDK versions for development), but they are typically not the ones you want battling the question “where do we do web enablement development for ERP?”.

    So now the dust is kind of settling on what to use when I have one question…When will SAP finally move ESS to ABAP? It’s amazing what SAP expects the SME customers to do to invest in ESS…Very Long tongue in cheek rant following:
    (Customer)I’d like to run ESS with my business suite. Can you help me?
    (SAP)Sure. First, install a JAVA stack (as a dual stack or single – though we don’t recommend dual stack here as we have problems supporting you, though it’s probably better for you in the long run but if we ever remove JAVA from ERP, you’ll have it hanging around dormant forever). Oh – And you’ll need Sol Man Diagnostics too to monitor that JAVA thing, as otherwise JAVA is one big black box. Luckily we do want you to install dual stack there so you get to see what the difference between dual and single stacks are (you lucky devil). You’ll need an SLD strategy too cause if you get that wrong, well…don’t go there. What? You want to change ESS too? Oh, then you’ll need to install NWDI. We recommend another box for this since it’s kind of intense when it actually does something! Did we mention you’ll need JAVA developers too? Not real ones, just ones who understand Web Dynpro and component development. Graduates should do since there aren’t many WDJ people out there. It would be nice if they know ABAP but if they don’t, it just makes debugging ESS twice as hard, so no biggy. Oh, and your Basis people are NetWeaver certified right? Oh, they’re not. Hmm. Well they just have a bit to pick up then. They are going to love JSPM. It hides all the complexities of support packs when it works…Oh, and one last thing, you know that ERP single JAVA stack; well it’s going to have to be patched and upgraded in parallel with the ABAP stack from now on as we don’t support you if they are out of whack but you’ll be good at the upgrades cause you’ll need to upgrade Sol Man first every time which reminds, me; since you;re monitoring all your production systems with Sol Man, you’ll probably want a test Sol Man Dual Stack installed too. Got it?
    (Customer)Oh…Umm….Thanks…We’ll get back to you on that one.

    Anyway, love the rants, and keep up the good work guys,
    ps. I still realize that ADS will be needed in the future, but Portals are good things to install, and unlike the rest, at least ADS doesn’t have a hard dependency on support packs (yet).

    • Thomas Jung says :

      @Matt Harding
      You asked “When will SAP finally move ESS to ABAP?”

      I don’t think I’m giving away any secrets, but the conversion is planned for ERP 6.0 Enhp 5. The development work is being done as we speak. Customers had been asking for this, for many of the reasons you stated.

  14. Matt Harding says :

    I figured it would, but great to know it’s planned now. It’s also inline with the ABAP strategy which TechEd will teach us this year too 😉

    BTW – For clarification, I love working with SAP as a company and technology – but I do think it’s funny all the restrictions and caveats SAP put in place because they have to to support the suite. ESS is/was just the perfect example.

  15. Jon Reed says :

    By they way – I did get the go ahead to feature a replay of the “Is SOA Dead” webcast you mentioned in this edition on JonERP.com. It’s on the home page now, and it will live in the webcasts section as well which is part of the “News” menu. Oh, and correction on mispelling in my last comment: Dagfinn – sorry I botched that up.

  16. Ed Herrmann says :

    @Jon, thanks for the heads up; I updated the show notes to point to the new link.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: