-1

I'm looking for a 'best practice' in the industry for integrating SAP RFC-based software with a .NET application. So far I only need to read data from SAP software, there's no need to update.

The most straightforward way I've found is using SAP .NET Connector and call a BAPI. I am using SAP .NET Connector 3.0. But I'm just wondering whether there's better design out there for retrieval of data? The requirement is - to touch SAP as little as possible and able to transfer data in bulk.

Also, if using this design, other than the SAP login info which I can safeguard via standard encryption etc., is there any other security concern?

Thanks.

Sandra Rossi
  • 11,934
  • 5
  • 22
  • 48
Hyperkittie
  • 15
  • 1
  • 2
  • Please remember that I am looking for alternative design mostly. How about BAPI exposed as web services? How better is it as compared to SAP .Net Connector? – Hyperkittie Jun 14 '11 at 14:40
  • You can easily expose BAPIs as web services, but especially with bulk data transfer the speed will be much more an issue than with rfc calls. I am currently moving away from the .Net connector to web services as i want to use a standard transport that does not rely on a proprietary protocol and some SAP implementation. I don't know the NCo 3, i only used the previous versions. They worked, but without support for current Visual Studio versions proxy generation was a bit of a problem. And as almost every current language understands web services, i went that way. – Dirk Trilsbeek Jun 15 '11 at 13:32

2 Answers2

1

I've written many SAP RFC applications. I believe that the .Net connector sits on top of their RFC protocol as does the Java connector. In my experience, the best practice depends on who you ask at SAP. They do have a web application server (WebAS I think it is called these days....it was renamed a few times) that can probably host a web service, but it depends on what you have installed. I think many people opt for the .Net or Java connector still. (I prefer the C++ library personally since it is quite fast, but that is only for the extremely foolish ;) )

My information may be dated, but if they have been consistent then the RFC communication layer is not encrypted out of the box. There is a third party plugin that is used on SAP GUI and all RFC type connectors (.Net/JCo) to encrypt the data stream. You have to set it up in the rfc .ini file.

Then there are IDOCs, which I don't think you want to play with. It is a flat file format much like EDI but dumber.

  • as far as i know, RFC are not encrypted, but are compressed. – PATRY Guillaume Jun 14 '11 at 10:03
  • Hmm...no, I don't think they are compressed. You can get binary dumps out of the trace and see the raw data stream in Wireshark. –  Jun 14 '11 at 15:20
  • after testing, you're right, i can see the raw data. I had this information from the doc of a previous project where this was spoken of. i'll try to get an answer from the consultant. thanks for the correction. – PATRY Guillaume Jun 15 '11 at 10:09
  • Is it possible to use the SAP .NET Connector to connect to SAP HR and get at the business? Should it 'just work' or will we need OpenHub or anything like that? – Alex Oct 31 '14 at 10:39
1

About the security part, if you're using the equivalent of JCO with .Net, you have a user on the SAP backend to connect with.

This user should be of type "Connection" (so that no-one can use it with the SAPGUI), and should have authorizations that are limited to what is needed (so that no program can use it to perform others operations that you did not thought). While the chance that someone manage to get this user/password are low, you don't take chance with productive datas. Also, password should not be a simple one.

This may sound like basic security, but since i just found the exact opposite on a productive system, i prefer to state it.

Regards

PATRY Guillaume
  • 4,287
  • 1
  • 32
  • 41