Question: I'm shortly to start on an integration project that will require organisational data (line reporting etc) and starter/leaver events etc. We utilise SAP HCM, but I have no experience of SAP (BizTalk/.NET developer), and I'm still attempting to find the right people to talk to in our organisation about how to interface with SAP.

Sadly (for our organisation anyway!), Stack Overflow is normally quicker :)

So, really I'm looking for an answer to the following;

1. Does SAP HCM expose master employee data "out of the box" via web services. If not, does it require much to expose this on the SAP side?
2. If data is exposed, is it via a pull only model? ie, can SAP be configured to push events?
3. This may be naive, but does a trial version of the SAP stack exist to allow me to explore the options?

Any suggestions would be gratefully received. I know in the past the organisation has had to engage SAP consultants for integration work like this, but (in my naive world I guess) this seems a reasonably simple integration problem?

Regards, Jason

Answer: 
I'm not familiar with the HCM module specifically, but I can provide some general answers:

1. Generally, standard display functionality of the major business objects (like a User or a Job in the HR world) are exposeed via BAPIs. Assuming your Basis team has ICF (Internet Communication Framework) configured, it is pretty simple to expose a BAPI as a web service.
2. SAP can push data based on events happening in SAP. For example, you could have SAP call a web service in your legacy application whenever a new employee record is created in SAP.
3. According to [this post](http://forums.sdn.sap.com/thread.jspa?threadID=1593682) there is no trial version of HCM. However, here's a few things that might be useful. I haven't used them personally but they look to be worth trying out:

	* [SAP Enterprise Services Explorer for Microsoft .NET](http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/10cacdca-b0bb-2a10-77be-d600de4658b7)
	* [SAP NetWeaver 7.01 SR1 SP3 Developer Edition](http://www.sdn.sap.com/irj/scn/downloads?rid=/library/uuid/70b58216-00e7-2c10-f6a9-c59f3a351b63)
The challenge with connecting directly to SAP from another system creates a non scalable architecture - point-to-point interfaces that are affected by changes or issues with both systems. Let's say you try and push out changes to employee data and the target system is not available, well SAP will most likely short dump (throw and error). Now you have to think about a continuous batch job in SAP to try and manage these outages.

SAP have the Netweaver Gateway 2.0, which essentially supercedes a lot of these older style interfaces. The gateway provides an abstraction layer and some form of persistance and recovery mechanism. A golden rule is never hardware systems together directly, rather look at some form of middleware layer in between which provides semanitic and physical abstraction of the systems.