cancel
Showing results for 
Search instead for 
Did you mean: 

advantages and Disadvantages between RFC , WEB SERVICES and FTP ?

Former Member
0 Kudos

Dear Sap Experts,

Can you please tell me what are the clear cut advantages and disadvantages of

1.RFC ( Remote Function Call)

2.Web services

3. FTP ( File Transfer Protocol)

and

Please suggest me which option is better to integrate a third party software ( Mac Pac) with SAP R/3.

Waiting for Answers.

Thanks & Regards,

Nagaraju Adhikari

Accepted Solutions (1)

Accepted Solutions (1)

weberpat
Contributor

I'm not familiar with "Macpac" but here's my 2 cents on the integration methods you asked for.

The only reasons why you would ever want to use FTP is that everybody and their dog knows this protocol to a certain extent and an FTP server is very easy to set up. Also file-based integration seems to be very popular with core-ABAP developers as creating a file is very easy and you can focus on the logic of handling your data. From an integration architect's perspective, file based integration has to be considered as a last resort option when nothing else can be supported with reasonable effort. Of all file transfer protocols, FTP is the least desirable.. I'm not going to go into the why here - just google "drawbacks of FTP" or "drawbacks of file based integration" if you're interested.

RFC is an SAP proprietary protocol to enable communication between two SAP systems or an SAP system and a third party system that supports the protocol (by using the SAP RFC libraries). RFC comes in three flavours

  • sRFC: A synchronous remote function call that invokes a function module on a remote system and waits for a response
  • tRFC: a transactional, asynchronous call to the remote system delivering a certain payload that the target system can work with. This is most commonly used to transport IDocs
  • qRFC: like tRFC but with a named queue to guarantee the processing sequence

RFC is most useful for intra-company integration in cases where standard SAP assets exist that you can re-use; like a standard BAPI that you can call or an IDoc that can be generated from a standard business documents. Especially with IDocs, you get a robust monitoring and error handling framework off the shelf that many people are already very familiar with. You can use middleware like SAP PI to expose BAPIs as Web services or translate IDocs into B2B formats and deliver them via popular B2B protocols to external partners.

Web services are by far the most universal tool for integrating with your SAP system. They are supported by most web enabled systems come in synchronous and asynchronous flavors, can easily be proxied for external exposure, monitored and metered, just to name a few benefits. SAP offers quite a nice set of Enterprise Services off the shelf already - in fact most of the available BAPIs are also available as services and there are even services that go beyond the available BAPI scope. Moving forward "services" will play an even bigger role, as interfacing with S/4HANA backends will more and more mean accessing ODATA resources.

Now to determine what's the right approach for your particular scenarios, try to understand the business process first and ask some basic questions around the integration requirement.

  • What data needs to be exchanged between the two systems?
  • Any specific security requirements for the data types exchanged?
  • What triggers the data exchange?
  • Can messaging be used for all exchanges or do we rely on bulk extracts, too?
  • What are the volume metrics? # messages avg and peak / message size avg and peak
  • What communication protocols are supported on either side of the exchange?
  • Is message translation required so that the receiver system can process the sender system's messages?
  • Are both systems located on the same network?
  • Is a middleware system such as SAP PI, IBM WebSphere, TIBCO BusinessWorks or similar available to facilitate the integration between the two systems?

The answer to these questions will help you select the best approach for your specific scenario.

Former Member
0 Kudos

Dear Patrick,

Thanks for information.

Thanks & Regards,

Nagaraju Adhikari

Answers (1)

Answers (1)

anil_lahori2
Explorer
0 Kudos

To Patrick Weber , could u please elaborate points mentioned to facilitate a correct integration approach ?

When you say the following:

1 What data needs to be exchanged between the two systems

Pls elaborate above the data exchange type

2. Any specific security requirements for the data types exchanged?

Pls cite examples to clairfy security part

3.What triggers the data exchange

Pls elaborate with few examples /scenerios

4 What are the volume metrics? # messages avg and peak / message size avg and peak

pls tell us what do you mean by message load avg/peak ??? do they matter too ?

5 What communication protocols are supported on either side of the exchange?

Give some exaamples of protocols being used in real time projects

6.Is message translation required so that the receiver system can process the sender system's messages?

What does the above point mean ?

7. Are both systems located on the same network?

What if the both the systems on Outside LAN or thru internet ?

I am new to the interface and i need to understand above for my own understanding and knowldge .

Thanks,

Ani