Skip to Content

360° View on enterprise SOA: Provide and consume your own enterprise services – Model and define your own Enterprise Services (Part 5)

Reaching the very heart of this blog series – the fifth part – the central question of ‘How can we – as partner and customer – create our own enterprise services’ is thoroughly addressed. It is the first time to learn not only about the methodology itself or the usage of correlated tools themselves – but and especially about the combination of both worlds. See and learn how SAP’s best practices live within SAP’s tools and how they go hand in hand within the process of enterprise service provisioning.


The screencam attached to this blog will hence enable you, as customers or partners, to understand the generic process of using the Enterprise Services Repository or to be more precise the Enterprise Services Builder to provide your own enterprise service (models +) definitions in alignment with SAP’s modeling and development methodology.


Missed out the first part(s) of the series? Start up with 360° View on enterprise SOA : Provide and consume your own enterprise services-  Introduction (Part 1).


Lifecycle Phase 5


This blog series describes how to reengineer “existing offerings into a set of well-governed, harmonized and technology-agnostic enterprise services”, to ultimately consume these. The blog at hand is now the crucial link between your business requirements and your later implementation. You learn how to model and define your enterprise service. It is all about designing your services correct, so that it gets easier to understand, to consume and to govern. Following screencam storyboard depicts the step-by-step guide on how to model and define your enterprise services with all major preparation and finalization steps. Ultimately you’ll be able to generate your design-time WSDL.


Screencam Storyboard: Model and Define your own enterprise services


1. System Landscape Directory

  • Brief Introduction to software components
  • Create your product
  • Create your software component with corresponding version (SWCV)


2. Enterprise Services Builder – Preparation of Enterprise Service Modeling


3. Enterprise Services Builder – Enterprise Service Modeling (Process Component Model)

  • Model Business Objects
  • Model Service Interface
  • Model Service Operations
  • Short Repetition


4. Enterprise Services Builder – Enterprise Service Definition I

  • Create assignments
  • Definition of Service Interface
  • Definition of Service Operation(s)
  • Short Repetition
  • Definition of Message Types
  • Definition of Message Data Types


5. Enterprise Services Builder – Enterprise Service Definition II

  • Create ‘Standard Message Fault’ Message Type
  • Create request- and reply Message Data Types
  • by assigning Global Data Types
  • by creating Provisional Data Type(s)
  • Short Repetition


6. Enterprise Services Builder – Finalize Enterprise Service Definition

  • Activate list of defined objects
  • Look at the WSDL
  • Export WSDL to local file system



… So that you finally have your design time WSDL of your enterprise service (extract):




Remark: Please be aware that the screencam has been created as reference material. Some aspects of the screencam have been simplified for educational purpose, e.g. the use of some Global Data Types, or namespaces, etc..

In a nutshell: From having a running system -> to defining your own enterprise service


Having set the primarily technical foundation and requirements in the previous blogs, you now learned how to use the Enterprise Services Builder in combination with SAP’s design and modeling methodology to define your own (custom-) enterprise service. The screencam made the delivery and the general concept of enterprise service tangible. You have now a solid foundation at hand to start your own enterprise service provisioning journey using SAP’s best practices.

In the next part of the ‘360° view on enterprise SOA series’, Michael Koegel will show you how to install and configure SAP NetWeaver Developer Studio. He therewith steps prepares the system environment for your enterprise service implementation within Java. This implementation is then, of course, based on your currently existing WSDL (read: ‘design time definition’) created within this blog.


Want to learn more about delivering your own enterprise services?


In the following the links to the other blogs from the series:  

1. 360° View on enterprise SOA : Provide and consume your own enterprise services-  Introduction (Part 1)
2. 360° View on enterprise SOA: Provide and consume your own enterprise services – The End-to-End Scenario (Part 2)
3. 360° View on enterprise SOA: Provide and consume your own enterprise services – Obtaining SAP Composition Environment 7.1 with ESR (Part 3)
4. 360° View on enterprise SOA: Provide and consume your own enterprise services – Installing and Configuring SAP Composition Environment 7.1 with ESR (Part 4)
5. 360° View on enterprise SOA: Provide and consume your own enterprise services – Model and define your own Enterprise Services (Part 5) (This blog)
6. 360° View on enterprise SOA: Provide and consume your own enterprise services – NetWeaver Developer Studio Installation and Update (Part 6)
7. 360° View on enterprise SOA: Provide and consume your own enterprise services – Implement the provided Enterprise service within the SAP NetWeaver Developer Studio using Java (Part 7) 
7b. 360° View on enterprise SOA: Provide and consume your own enterprise services – Enterprise Service Provisioning on SAP NetWeaver Using Apache Axis Web Services Framework (Part 7b)
7c. 360° View on enterprise SOA: Provide and consume your own enterprise services – Using the Composite Application Framework (CAF) of SAP NetWeaver CE 7.1 EhP1 to implement the provided Enterprise service (Part 7c) 
8. 360° View on enterprise SOA: Provide and consume your own enterprise Services – Publish, discover and test the Enterprise Services within the Services Registry (Part 8)
9. 360° View on enterprise SOA: Provide and consume you own Enterprise Services – Consume your Enterprise Services within Visual Composer (Part 9)
10. 360° View on enterprise SOA: Provisioning and Consumption Blog Series Summary (Final Part)

You must be Logged on to comment or reply to a post.
  • Hi Joachim,

    Thanks for the blog series.
    Is it possible to elaborate more on
    training: “Partner delivered Enterprise Service”?.

    Best Regards, BJ

    • Hello BJ,

      The “Partner delivered Enterprise Service” trainings are dedicated workshops enabling partners to deliver their own functionality complying with the enterprise SOA methodology and architecture. We are rolling out these workshops with additional 1:1 sessions in Americas, Europe and Asia. Seats are limited at this point of time so that we award the promissing partners scenarios with a workshop invitation.

      Please get back to us via mail, in case you are interested or would like to obtain further information.

      Looking forward hearing from you.

      Best Regards,

  • Hi,
    I just went through the screencam, which is interesting. Having a strong XI/PI background, many of the described actions are no surprise to me, but I do appreciate some of the enhacements brought by this new Repository version (e.g. forward object creation, data type subelements ordering, etc.). Also the new Modeler is really cool (finally something useful in place opf the silly Integration Scenario…).

    What really lets me puzzled is the use of GDTs: do we really have to copy them locally? That sounds weird to me. When I was to provide my own strategy on the use of SAP GDTs on customer developments, I finally thought the best would be to use the standard SAP GDTs SWCV as a basis SWCV for my own custom SWCV (by setting dependency in SLD), so to have them available for use when modeling my own Data Types.

    I would like to have your opinion about this approach: feasibility and pros/cons.

    Thank you.


    • Hey Alex,

      thanks already for your positive feedback. Given your background of XI/PI it is very valubale to see that these enhancements are well embraced.

      In respect to your question. It is true the GDT have to be copied to the local namespace – always. This might look (from an effort perspective) cumbersome, but therefore you achieve self-contained SWCV without dependencies!

      There is even a feature in the newest version of the Enterprise Services Builder to copy GDT’s by reference. You will thus have some additional metadata transfered with each copy, ‘pointing’ back to the origins. This is, for me, a part of a living governance – something very difficult to achieve.

      Best Regards,

  • Activation of the change list canceled

    Check result for Message Type: |

    Object Message Type: CourseByTitleQuery_sync | references the inactive object Data Type: CourseByTitleQueryMessage_sync |

    Hi, Joachim

    When I activated all the changes, It said CourseByTitleQueryResponse_sync cancelled. Which it means like what you have done for CourseByTitleResponse_sync, I have to do modeling for CourseByTitleQuery_sync as well right?

    B. rgds

    Chan JIn

    • Dear Chan Jin,

      general rule is (- with some exceptions)

      If you create the respective assignment for an operation you will have to do the entire definition of the operation down to the data types, in order to be sure to activate successfully.

      so in respect to your question it would be a yes.

    • Dear Pankaj Prasoon,

      our Methodology clearly associates one operation with one business object. There is hence no cross-refernces or operations linking to two operations. This is a core essence of Enterprise Services.

      Best Regards,

  • Hi Joachim,

    The series of blogs demonstrated are really usefull. Have a doubt in Business Object(BO). In the example demonstrated, Course is shown as a BO and the course details are queried from the underlying system. My doubt is, in real implementations, how do you correlate your BO with the system from where you query the course details?


    • Dear Harikumar,

      you raise a very good point here. The core of every Enterprise Service forms it’s BO. The approach that we within SAP have been driving is that we defined and harmonized all our Business Objects on a semantical level, down to even structures. This however does not imply anything of the implementation – as you also pointed out. The idea is to have a common perspective on business semantics independent of the implementation.. in SAP terms this means that BOs are the same in any solution.. eg. customer in CRM or ERP – from a semantical point of view. The implementation then might vary depending on the specific requirements. The idea is hence to specifically decouple BO from its underlying implementation / or to come implementation. It is a very difficult task, specifically because you need to design your service/ operation/ BO in a way that it also suits the requirements of the future. The correlation of the BO and its implementation is then a question of coding. One BO can, for example in ABAP, be realized via multiple function moduls or one single. This also highly depends on the correlation of BOs – as they are linked together. This entire topic is elaborated in details in a training SAP is offering – the SOA 300 course, in case you are intersted.

      Best Regards,