Skip to Content

The programming language Ruby has gotten a lot of attention lately. Developers love Ruby for its elegance and efficiency – especially in conjunction with the popular Web Application Framework Ruby on Rails. Analysts love Ruby: Gartner predicts a significant growth of the Ruby developers community during the next years, Forrester Research simply calls dynamic languages “hot”. And the software industry loves Ruby as can be seen by the efforts Sun and Microsoft are making with their JRuby respective IronRuby projects.

At SAP Research Labs in Palo Alto and Shanghai, we wanted to find out if and how the use of dynamic programming languages could complement SAP’s traditional ABAP development and our existing enterprise application codebase. Discussions quickly converged towards these ‘adaptation & composition’ scenarios, where developers use a scripting language to pull data out of the backend, using and freely combining the existing APIs, and turning the – usually quite broad and complicated – interfaces into something lean and simple. And so we came up with Blue Ruby

A Virtual Machine (VM) that runs Ruby inside the SAP NetWeaver Application Server ABAP.

Blue Ruby understands Ruby code – well, at least some of it, we are still quite far from being 100% compatible – and can run it inside a normal ABAP work process. ABAP programs can invoke Ruby code and Ruby programs can access ABAP code – all locally, on the same call stack. For example, the Internet Communications Manager (ICM) of the ABAP backend could route an HTTP request to a Ruby program. The Ruby program calls a BAPI (or several BAPIs) to read some data. The ABAP code in that BAPI invokes a customer extension contained in a Business AddIn (BAdI), which in turn is implemented in Ruby. All the communication between Ruby and ABAP happens locally, within the same user session, same transactional context, etc.

Sounds interesting? On our SDN Wiki page, we share some information on Blue Ruby, the status of our implementation and ongoing activities. If you want to learn more about what’s possible with Blue Ruby today, a SDN article provides more detailed information on the technical approach of our research project and briefly describes the various libraries we built for Ruby <-> ABAP integration. And if you want to explore Blue Ruby on your own, stay tuned: We are in the process of setting up a trial system and hope to have it available by mid of April.

To report this post you need to login first.

6 Comments

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

  1. David Hull
    As someone that has spent a lot of time over the years writing perl scripts to interact with SAP Systems (thanks to Piers Harding!), I can visualize a lot of potential for having a Ruby VM in the Netweaver stack.  I look forward to coding with this very soon!

    Cheers,
    David.

    (0) 
  2. Santosh Raghavan
    Juergen,

    Kudos on the amazing work. 🙂 When will this be available for a test drive? Also what are the chances of the source code of the VM being published?

    The implementation looks fantastic.

    santy

    (0) 
  3. Alvaro Tejada Galindo
    I love Ruby…I had wrote a book on Ruby (Spanish and English) and had played with Ruby and SAP integrations thanks to Pier’s connector (Have write plenty of blogs here on SCN).
    Having the ability to mix Ruby and ABAP on the same environment would be one of the greatest things ever! I’m really looking forward for the Test IDE -:D

    Greetings,
    Blag.

    (0) 
  4. Juergen Schmerder Post author
    Hi

    Thanks for your feedback!

    Our trial system is installed and we are doing some configuration. I think the system will be available for you by mid of April.

    I’ll let you knwo when you can start trying Blue Ruby

    –Juergen

    (0) 
  5. Anonymous
    Access to the trial system will be supplied upon request, or it will be widely available?

    Thanks,

    Edson

    (0) 
    1. Juergen Schmerder Post author
      Hi Edson

      Access to the trial system is available upon request only, as we have to ask you to sign a NDA.
      If you’re interested, please send an email with your company & contact information to blue.ruby@sap.com

      –Juergen

      (0) 

Leave a Reply