cancel
Showing results for 
Search instead for 
Did you mean: 

Expose RFC as WebService or WebService via MDR

Former Member
0 Kudos

Hello

we need to expose ABAP backend function as webservice for third-party system to consume, the best options is certainly via PI. But my client does not have PI system. There are various options to expose abap function as webservice, popular ones might be:

1) expose RFC as web service

2) Create webservice using MDR (Meta-Data Repository available on NW 7.02 sp8 and up)

I am sure that second one is better, otherwise SAP won't come up with that option, and MDR service is designed in the same way as PI / ESR. My question is what is the advantage using MDR against exposing RFC? I did some search, couldn't find any. Also because MDR is very new, i guess only a few clients have used it so far. So if you are on the same boat, can you please share this information? I need to convince my client to use MDR against exposing RFC.

Thanks

Jayon

Accepted Solutions (0)

Answers (1)

Answers (1)

ttrapp
Active Contributor
0 Kudos

Well, in fact there is a third option: you can use the Service Implementation Workbench to generate Enterprise Services from function modules. But therefore you need some skills and I think it is implementented in NW 7.31: http://help.sap.com/saphelp_nw73ehp1/helpdata/en/52/2646a354d04dda82c0bb7dc610d4a8/content.htm

But to answer your question: do you want to create an Enterprise Service or a quick (and dirty) Web Service with with an interface equivalent to the RFC? Enterprise Services have an overhead -they are much more difficult to develop- but some advantages. Let me mention a few:

  • You can use an idempotency framework to create idempotent services,
  • You can support standards like WS-RM using sequences,
  • You can use defined data types (so called GDTs).

If you want to learn the advantages of enterprise services I recommend to read some slides: http://de.slideshare.net/ttrapp/enterprise-services

When you are planning an SOA project or want to design an SOA layer of you application you should consider Enterprise Services. Without ESR (ESR can be on PI or on a CE system) you should use MDR.

Otherwise exposing RFC as web service is OK and much simpler.

Best Regards,

Tobias

Former Member
0 Kudos

Tobias

we're not developing ES, it's bunch of custom webservices only designed for specific integration, no ES is needed.

Even with MDR, GDT will be used.

There must be some difference between RFC-WS and MDR-WS, otherwise SAP won't develop another tool for webservice, I just need to know what is the difference and what is hte advantage of MDR against RFC-WS.

Thanks

Jayson

Former Member
0 Kudos

no one has better idea?

ttrapp
Active Contributor
0 Kudos

When you don't need the special features of Enterprise Services then don't develop Enterprise Service and expose RFCs as web services - that's my advice,

SAP created MDR because customers want to develop Enterprise Services without any Java system.