Skip to Content

SAP Co-Innovation Lab Logo 

The first parts of this series on Partner-delivered Enterprise Services focused on modeling and defining services using the Enterprise Services Builder, a tool which is part of the Enterprise Services Repository toolset. The last two parts explained how to implement a service interface defined during this process using SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Services – Implementing Services in Java (Part 6), respectively SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Services – Implementing Services in .NET (Part 7 – provided by Nakisa).

This part of the series will show you the steps necessary to implement a service interface in ABAP. The service interface defined in SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Services – Defining services (Part 4) serves as an example. As technology platform, a SAP Netweaver 7.0 EhP1 ABAP system is used, which includes the required development toolset ABAP workbench.
If you an SAP Netweaver ABAP system with release 7.0 SPS13 or lower, you can essentially follow the same steps, although some screens may look slighty different, with the exception of how to release the service.

To see how to implement a service an ABAP and thus continue your PdES journey, have a look at the following screencam (33’49”):

ScreenCam

The detailed storyboard is outlined in the following:

  1. Configure the connection from your ABAP development system to the Enterprise Services Repository. An easy way is to create an RFC destination SAP_PROXY_ESR that points to the Enterprise Services Repository.
  2. Start the ABAP workbench. Switch to the Transport Organizer view and create a workbench request.
  3. Switch to the Repository Browser view and create an ABAP package to contain your service implementation.
  4. Switch to the Enterprise Services Browser view, and generate “proxies” for your service definition.
    Make sure to enter a reasonable name prefix for the ABAP repository objects (classes, interfaces and data types) to avoid name clashes with existing ABAP objects. Adjust the proposed names such that your ABAP code stays readable.
  5. Implement the service interface by adding the appropriate code to the generated proxy class.
  6. Perform an easy test directly out of the ABAP development workbench.
  7. Release the service using transaction soamanager, i.e. create a service endpoint.
  8. Test your service implementation. A convenient way is to use the Web Services Navigator (requires JEE installation).

For more details on providing stateless web services using ABAP, see the SAP Help Portal. For a more comprehensive introduction into Enterprise Services implementation using ABAP, you can also check the upcoming SAP-Press book Developing Enterprise Services for SAP (the German edition Entwicklung von Enterprise Services für SAP is available since April).

Below you find the sample code used in the service implementation implementing the proxy class’ skeleton method:

Note that when service-enabling existing functionality, you would usually

  • First convert the input message into the importing parameters of the existing functionality’s API
    Best practice is to use a dedicated method for this purpose
  • Then call the existing functionality’s API
  • Then convert the exporting parameters of the existing functionality’s API into the service’s output message
    Again, best practice is to use a dedicated method for this purpose

To keep this example simple and close to the Java sample or part 6, the above code snippet directly creates a sample order, though.

Ride in the tube of SOA and learn how to deliver your services based on SAP’s modeling and definition methodology. Stay tuned for more information and a wrap-up of this series with the next blog “Summarizing the PdES Architecture Series”.

In the following the links to all blogs and screencams from the PdES Architecture Series:
1.      SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Service – Introduction (Part 1)Screencam
2.      SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Service – Outlining the ‘way to deliver’ services (Part 2)
3.      SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Service – Modeling Services (Part 3)Screencam
4.      SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Services – Defining services (Part 4)  – Screencam
5.      SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Services – Leveraging a wizard to automate Service Creation (Part 5)Screencam + Wizard
6.      SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Services – Implementing Services in Java (Part 6)Screencam
7.      SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Services – Implementing Services in .NET (Part 7 – provided by Nakisa)Screencam
8.      Implementing Services in ABAP (This Blog) – Screencam
9.      SAP Co-Innovation Lab Architecture Series: Custom Development delivered Custom Enterprise Services (Part 9)Screencam
10.    The specified item was not found.Certification

To report this post you need to login first.

2 Comments

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

  1. Gloria Elvira Abondano Micán
    Peter Markus Good afternoon,

    My name is Gloria Abondano and I am admirer of your work.

    I visited your blog and it seems to me very interesting your experience in the SAP topic. Particularly found interesting the topic “SAP Co-Innovation Lab Architecture Series: Partner-delivered Enterprise Services – Basic services in ABAP (Part 8).

    Please indicate how I can access all your publications on this topic because quieri somewhat more extensive than what I find on the Internet.

    My email is gloriaabondano@yahoo.com

    (0) 
    1. Markus Peter Post author
      Hello Gloria,

      many thanks for the compliment.

      In fact, you won’t find many publications of mine on the internet yet, since I started publishing on SOA topics only recently.

      What’s already available in addition to this blog are:

      – a few contributions of mine to the SOA forum of this SAP Community Network (see Service-Oriented Architecture (SOA) and SAP). To find all my contributions to SCN forums now or in the future, simply go via my profile (https://forums.sdn.sap.com/profile.jspa?userID=933669).
      – a real book I co-authored. It’s mentioned in the blog above, so I guess you aren’t really looking for books, though.

      The plan is to publish more in the future, though.
      I am currently preparing a session for TechEd 2009 (session ID is SOA215), which most probably will be published on SCN after the event. If time permits, I will publish smaller excerpts before-hand as SCN blogs.

      If you could indicate which kinds of topics you would like to see publications on, I could think about creating them.
      I have a rather long list of topics I personally consider worth-while in mind, so you could help me figure out where to start 😉

      Kind regards,
      Markus

      (0) 

Leave a Reply