When you create a connection object, choose the connection type in the Connection Browser. When you configure a session, you can choose the connection type and select a connection to use. You can also override the connection attributes for the session or create a connection. Set the connection type on the mapping tab for each object.
Select an Application connection type to access PowerExchange sources and targets and Teradata FastExport sources. You can also access transformations such as HTTP, Salesforce Lookup, and BAPI/RFC transformations. Connection to source or target application, such as Netezza or SAP NetWeaver.
One potential approach for the direction SAP to SFDC works like this:
Whenever a record is changed in R/3, an IDoc can be triggered which contains the relevant details.
This IDoc is then transferred to a "partner system" (in this case PowerCenter).
On the PowerCenter side, there would be a workflow which uses a so-called IDoc Listener as its source. These workflows can be set to Run Continuously (that's one of the scheduler settings for PowerCenter workflows). So whenever an IDoc arrives, it's forwarded by the IDoc source definition to the mapping; there you can simply process the IDoc record (e.g. using the IDoc Interpreter transformation and some other transformations, depending on the exact logic you need to implement) and forward the result to the SFDC target.
For the other direction I cannot tell for sure, I haven't worked with SFDC yet. I dimly seem to recall that there is some real-time mechanism to source from SFDC as well, but I'm not at all sure about this one.
My apologies, forgot to mention that for the direction from SFDC to SAP you can simply prepare an appropriate IDoc using the IDoc Prepare transformation; this transformation provides a series of strings which are then forwarded to the IDoc Writer target which will immediately send the complete IDoc to R/3.
Hope this helps.