A customer ask me: Why should he use a webservice instead of a BAPI or a RFC?
My answer to him was: Basically there is a paradigm change, if you are trying to leverage a SOA and BPM strategy, using webservices is a building block for it.
What would you add to this answer? From a performance point of view, what are the differences when using a webservice instead of a BAPI?
Web services are application functionalities that can be invoked through open internet standards and are vendor-neutral and plat-form independent. RFCs and BAPIs are proprietory technologies and need Adapter (Middle-ware) or Java Connector or .Net connector to invoke them.
For performance point of view, RFCs/BAPIs may be superior theoretically. But practically ,there is not much difference between them.
Keep in mind that if you're using web services, then most likely you're still using BAPI's or RFC-enabled functions. Whether or not you useweb services can depend on the applications being used to call the functions. As I understand it from our .Net development team, direct RFC-enabled function/BAPI calls aren't well supported anymore from the current version of the development platform, and it's far easier to implement web services. We're using both inbound and outbound webservice calls from SAP now on ERP 6.0 and our .Net team is much happier with much less coding required to get the functions implemented.