Technology Blog Posts by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
abhradeepbasu
Participant
305,987

Dear All,


While working with Cloud Connector , I faced difficulties to look for some guidance in a single place to refer. Hence, decided to put everything here as a Guide Book for the Beginners which includes the installation steps, post installation configuration and developing a simple application.



1. Overview


SAP HANA Cloud connector connects between on-demand applications in SAP HANA Cloud Platform and existing on-premise systems. The Cloud connector runs as on-premise agent in a secured network and acts as a reverse invoke proxy between the on-premise network and SAP HANA Cloud Platform.


Due to its reverse invoke support, the configuration is not required in the on-premise firewall to allow external access from the cloud to internal systems. The Cloud connector provides control over:


 




  • On-premise systems and resources (HTTP or RFC) that shall be accessible by cloud applications.

  • Cloud applications that shall make use of the Cloud connector.



1.1. Advantages


 


Compared to the approach of opening ports in the firewall and using reverse proxies in the DMZ to establish access to on-premise systems, the Cloud connector has the following advantages:




  • In order to establish connectivity from SAP HANA Cloud Platform to an on-premise system, the firewall of the on-premise network does not require to open an inbound port.

  • The Cloud connector supports HTTP and RFC protocols as of now. For example, the RFC protocol supports native access to ABAP systems by invoking function modules.

  • The Cloud connector can be used to connect on-premise database, or BI tools to SAP HANA databases in the cloud in both direction

  • The Cloud connector is easy to install and configure, that is, it comes with a low TCO and fits well to cloud scenarios. SAP provides standard support for it.


 

2. Step by step process to Install Cloud Connector


This document illustrates the step by step installation process of Cloud connector 2.x on Microsoft Windows OS.

 

2.1. Prerequisites


Below are the prerequisites for successfully installation of Cloud Connector 2.x.

 

2.1.1. Hardware



  • Memory: 1 GB RAM (min.), 4 GB recommended

  • Hard disk space: 1 GB (min.), recommended 20 GB

  • CPU: Single core 3 GHz (min.), dual core 2 GHz recommended, x86-64 architecture compatible

  • 64-bit operating systems: Windows 7, Windows 8.1, Windows Server 2008 R2, Windows Server 2012, or Windows Server 2012 R2.

  • Cloud connector installation archive from SAP Development Tools for Eclipse.

  • Microsoft Visual Studio C++ 2010 runtime libraries.

  • Supported JDKs version : 6,7

  • Environment variable for <JAVA_HOME> has been set to the Java installation directory, so that the bin subfolder can be found.


 

2.1.2. Software



  • 64-bit operating systems: Windows 7, Windows 8.1, Windows Server 2008 R2, Windows Server 2012, or Windows Server 2012 R2.

  • Cloud connector installation archive from SAP Development Tools for Eclipse.

  • Microsoft Visual Studio C++ 2010 runtime libraries.

  • Supported JDKs version : 6,7

  • Environment variable for <JAVA_HOME> has been set to the Java installation directory, so that the bin subfolder can be found.


 

2.2. Setup the Required Software


2.2.1. Downloading Cloud Connector Installation Archive





  • Download the msi file from “SAP HANA Cloud Connector” Section.


                   

 

      



2.2.2. Setup the Environment Variable



  • Create Environment Variable JAVA_HOME and update the directory path


    

2.3. Installation



  • Double click on the <sapcc-<version>-windows-x64.msi> installer file.


  




  • Having downloaded the cloud connector MSI installer to start the installation by double-clicking the MSI. Afterwards it will be welcome by the installer.


 

  • Navigate to the installation directory for the SAP HANA Cloud connector and choose Next>.


  

  • Port can be chosen on which the administration UI is reachable. Either leave the default 8443 or choose a different port if needed. Then choose Next>.


  

  • On this step, decide whether the Cloud connector should be started immediately after finishing the setup. If this is not required now, remove the check from the checkbox. Then choose Next>.


  

  • After all installation options have been fulfilled, to start the install, press again the Next> button.


  

  • In up to a few seconds, the installation has been done. To finish the installer, choose the Close button.


     


Note: As the cloud connector is registered and started as a Windows Service, we can start it later within the Administrative Tools/Services administration tool of Windows (service is named SAP HANA Cloud Connector 2.0), if we decide not to start it immediately. There, we can also do restarts of the service whenever this is needed.


 



3. Post Installation Configuration


3.1. Establish connection to the cloud account


               Now we connect the freshly installed cloud connector to the HCP developer account.


 


Logon to the cloud connector administration UI by invoking the URL https://localhost:8443 in a Web browser. The cloud connector logon screen then is shown in the browser. As user and password, use the pre-defined user Administrator and password manage.


 


As we have installed the Cloud connector on our IDES, the URL would be


https://<ip address>:8443


 





  • As first step, select Master (Primary Installation) as the installation type. The other choice Shadow (Backup Installation) is used for a high availability installation of the cloud connector and not used in this context.


  

  • After the first logon, the initial password needs to be changed.


  




  • As next step, we need to connect the cloud connector with our developer account in the cloud. Make sure to select hanatrial.ondemand.com as Landscape Host, and specify our free developer account as Account Name.

  • In case the cloud connector is located within a fenced corporate network that allows connectivity to internet resources only via a proxy, also specify the HTTPS proxy.





  • Now the main page of the cloud connector administration UI shows up. In case the connection succeeded, we will see the Connector State with a yellow indicator as shown in the following screenshot. Now, we have a persistent SSL connection to our cloud account and are ready to use this connection in our cloud applications.


 

                   

4. Step By Step Guide of a Sample Application Development


4.1. Business Scenario


This will be a simple sum calculator of two numbers. There will be a web url through which user will pass 2 numbers and will get the result as summation of the two given input.


 


The summation logic will be written in a Function Module in IDES system(SAP ECC on-premise) and will be called from HANA Cloud through Cloud Connector. The java web application will be deployed and hosted on the Hana Cloud Platform and call the Function Module via the Cloud Connector.


 



4.2. Function Module in ECC


A sample Function Module – “ZDEMO_CAL_HCC” is written to sum of two numbers which are taking as input and result will be exported as output.




  • Make sure Remote Enabled Function Module is clicked.

  • Make sure to click on Pass Value for both the Import and Export parameters.


         


       


      


      



4.3. Cloud Connector Configuration - Configure the on premise resources


Login to the Cloud Connector and Click on the Account Dashboard. It is observed that the account in Hana trial is already connected with a green status. We can add more accounts using add button.


       




4.3.1. Exposing Intranet  Systems


To allow the on-demand applications to access a certain back-end system on the intranet, this can be managed using the Cloud connector access control management.


 


     1. Go to the Access Control tab page and Choose Add.


     2. Internal Host and Internal Port specify the actual host and port under which the target system can be reached. It needs to be an existing network            address that can be resolved on the intranet and has network visibility for the Cloud connector without any proxy.


     3. Virtual Host specifies the host name exactly as it is specified as the URL property in the HTTP destination configuration in SAP HANA Cloud Platform.           The virtual host can be a fake name and does not need to exist.


     4. The Virtual Port allows distinguishing between different entry points of the back-end system.




4.3.2. Limiting the Accessible Services


In addition to allowing access to a particular host and port, specifying which function modules (Resources) are allowed to be invoked on that host. All other RFC requests are denied by the Cloud connector.


 


     1. To define the permitted function modules (Resources) for a particular back-end system, choose the row corresponding to that back-end system. A                     dialog appears, prompting to enter the specific function module name to allow.



     2. The Cloud connector checks that the function module name of an incoming request is exactly as specified in the configuration. If it is not, the request is               denied.


     3. If selected the Prefix option, the Cloud connector allows all incoming requests, for which the function module name begins with the specified string.


     4. The Enabled checkbox allows to specify whether that resource should be initially enabled or disabled.




4.4. Hana Cloud Configuration – Destination


Connectivity destinations are part of SAP HANA Cloud Platform connectivity service and are used for the outbound communication of a cloud application to a remote system. They contain the connection details for the remote communication of an application.


 


Connectivity destinations are represented by symbolic names that are used by on-demand applications to refer to remote connections. The connectivity service resolves the destination at runtime based on the symbolic name provided. The result is an object that contains customer-specific configuration details, such as the URL of the remote system or service, the authentication type, and the relative credentials.


 


The currently supported destination types are HTTP, Mail and RFC.


 




  • HTTP destination- provides data communication via HTTP protocol and is used for both Internet and on-premise connections.

  • Mail destination - specifies an e-mail provider for sending and retrieving e-mails via SMTP, IMAP and POP3 protocols.

  • RFC destination - makes connections to ABAP on-premise systems via RFC protocol using JCo as API.


Here, the steps to create the RFC destination type


 


     5. Open the HANA Cloud Platform Cockpit


     6. Click on Destination.>New Destination


     7. Create the Connection as Dest_Connector




4.5. Develop Application


SAP HANA Cloud Platform applications can be based on the Java EE Web application model and hence can develop applications for SAP HANA Cloud Platform just like for any application server.


 


Next steps are the process to develop the Application which will call the RFC in ECC.


 



4.5.1. Creation of a Dynamic Web Project


     8. Open the Eclipse IDE for Java EE Developers and switch to the Workbench screen.


     9. From the Eclipse IDE main menu, choose File New Dynamic Web Project .


     10. In the Project name field, enter the name of the Project.


     11. In the Target Runtime pane, select the runtime to use to deploy this Project application. Here we are using “SAP HANA Cloud”


     12. In the Configuration pane, use the default configuration.


     13. Choose Finish.




4.5.2. Creation of a Servlet


     1. On the DemoCalculator project node, open the context menu and choose New Servlet . Window Create Servlet opens.


     2. Enter the package and class name.



     3. Choose Finish to generate the servlet. The Java Editor with the ConnectivityRFCDemo opens.


     4. Change the doGet(…) method so that it receives the input from user, call the Function Module using the Destination created in HCP and result back to               the user with the output.


     5. Save the changes.


 


Java Code: Attached in the file named "code.txt"


 


 



4.5.3. Creation of a JSP Page


     1. Explore the DemoCalculator Project node, on the WebContent node, right click and choose New JSP File . Window Create JSP File opens.


     2. Create two JSP File, one for the input of two numbers and another for the output file.


     3. Here the two JSP file named Calculator.jsp and Result.jsp.


 


  4. Code for Calculator.jsp:


 


              


     5. Code for Result.jsp:


 


              



4.6. Deployment


     1.       Open the servlet in the Java editor and from the context menu, choose Run As Run on Server .


     2.      The Run On Server dialog box appears. Make sure that the manually define a new server option is selected.


     3.      As server type, select SAP SAP HANA Cloud Platform .


     4.      For Server's host name, use the landscape host depending on the account type. As we are using Hana Trail account, we are using                hanatraial.ondemand.com



     5.      Choose Next.


     6.      On the New Server wizard page, specify the application name as mycalc (only lowercase Latin letters and digits are allowed).


     7.      From the Runtime dropdown box, select a specific runtime. If the Automatic option is selected, the server will load the target run-time of the application.


     8.     Enter the account name, user name, and password.


     9.      Choose Finish. This triggers the publishing of the application on SAP HANA Cloud Platform.


     10.    After publishing has completed, the Internal Web Browser opens and shows the application.



 


11.   Once it is deployed on the HANA Cloud Platform, it can be monitored from the HCP Cockpit.





4.7. Test


Once the application is deployed in the HANA Cloud Platform, we can get the url from the HCP Cockpit to test it from the Browser.


 


Here for our case, the url is: https://mycalc>account number>trial.hanatrial.ondemand.com/DemoCalculator/Calculator.jsp


 





36 Comments
Ulrich_Schmidt
Product and Topic Expert
Product and Topic Expert

Nice summary!

 

Let me just add a few comments:


The Cloud connector can be used to connect on-premise database, or BI tools to SAP HANA databases in the cloud in both direction




Accessing a HANA DB in the Cloud from an on-premise SQL studio is built into the SCC. However, for the other direction (accessing an on-premise database from a Cloud App) more work is required. One way to do it is to install an additional SAP Business Connector next to the database and use it to translate the SQL/JDBC based protocol to HTTP. The details are outlined in the following document: http://scn.sap.com/docs/DOC-28581. (This document describes as an example how to call an RFC module in the backend, but it can be used for all kinds of other scenarios as well, like accessing an on-premise database, or an FTP server, an MQ Series system or an EDI subconverter... Basically every system, that the SAP Business Connector can communicate with, can be accessed that way.)

 

 


2.1.2 Software




I know you are limiting this example to Windows, but I just want to mention that the SCC is also available for Linux and MacOS.

 

 


Environment variable for <JAVA_HOME> has been set to the Java installation directory, so that the bin subfolder can be found.




Additionally, on Windows the SCC is also able to find a Java installation from the Registry, e.g. the Registry Key "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\CurrentVersion". This key is usually created by the Java installation. If it points to an up-to-date Java 6 or 7 installation, the SCC will use it.


By the way, there is one mistake in your screenshot: if you use the environment variable JAVA_HOME, then it should not include the "bin" subdirectory! Otherwise it won't find the required files. The variable should be set to the parent directory, e.g. C:\Program Files\Java\jdk1.6.0_45 in this case. (If the SCC still runs in your example, then it probably uses the JDK found in the Registry... )

 

Also, if you have the choice, I would recommend Java 7. The SCC still works with Java 6, but it is to be expected that in the future it will require Java 7. So it is a good idea to switch to Java 7 already now. (Java 8 still has incompatibilities with the SCC.)

abhradeepbasu
Participant
0 Kudos

Thanks Ulrich

Former Member
0 Kudos

Great Document ...............

abhradeepbasu
Participant
0 Kudos

Thanks Mithun

Former Member
0 Kudos

Hi Abhardeep Basu,

it is a great document for beginners, in this document you had provided the way to connect to SAP system but would please provide me some information if I have to connect to XSOData from hana system to fiori app in web ide where I am using proxy IP address to access my xsodata, fiori app and back end data.

 

Thanks

Bijayant Jha

Former Member
0 Kudos

Hi Abhardeep Basu,

 

i have gone thru the sizing requirement provided by you to connect setup CC,

we are planning to implement CC between HCI and PO.. i would like understand would there be any changes in case if we have huge data (message sizes/ number of messages) that is being transferred between HCI and PO

 

-Madhav

Former Member
0 Kudos

Hi Abhradeep Basu,

 

 

First, I would like to thank you for this document, very beginner friendly But I am having a problem regarding the submit button, after i had click it, it will show this

 

 

HTTP Status 404 - /DCalculator/ConnectivityRFCDemo

 

 

Can you help me? Thank You!

 

 

-Jeka

Ulrich_Schmidt
Product and Topic Expert
Product and Topic Expert

Hi Jeka,

 

the comments to this document should only relate to the document. For support requests and problem reports I suggest that you open your own discussion thread in the Cloud Platform Developer Center forum.

In order to trouble-shoot your problem you will probably have to describe your setup, network & proxy settings etc. in a bit more detail and attach logs & traces of the Cloud Connector and of the HCP app. All this is not related to this document here and would clutter the comments section...

 

Best Regards, Ulrich

abhradeepbasu
Participant
0 Kudos

Hi Madhav,

 

I don't think that will be a fare decision to place CC in between HCI and PO where these (HCI and PO) can be connected without using CC itself.

 

Regards,

D_Streichert
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hey colleagues,

 

thanks for the guide.

 

I've following problem:

 

On step 3.1 (Login into Cloud connector with Administrator and manage) fails.

The message

'User authentication failed' appears.


Could someone help me please?


Thanks.


D_Streichert
Product and Topic Expert
Product and Topic Expert

I've solved my problem 🙂

Vlado
Product and Topic Expert
Product and Topic Expert

In general, this info is mostly useless for the community - unless you also say how

Former Member
0 Kudos

Hi Abhardeep Basu,

 

I followed your step.But i am getting error like" compute quota unit " .thank you

 

Former Member
0 Kudos

Hey experts,

 

Where would sum of two integer data will be stored?In ON-premise System or  where?

 

Thanks

Ulrich_Schmidt
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Biral,

 

in this example: nowhere...

This example does not use any data storage, it's only for illustrating communication.

 

Regards, Ulrich

Former Member
0 Kudos

Hallo Ulrich,

 

Thank you.

 

As I don't have JAVA Quota in HCP,i couldn't execute the above example.I would like to test Cloud connector  on premise System with data storage or some other example.?Any Suggestion please.

 

Regards

Former Member

Hi Abhardeep Basu,

Very useful tutorial. I’have done everything up to the servlet completion. It seems the source code is in a file  Java Code: Attached in the file named “code.txt”  but I’m not able to find the attachment: can you kindly help?.

Regards,

Luigi.

Former Member
0 Kudos
Is there a limit to how many backend SAP / non-sap systems the CC can connect to?
Former Member
0 Kudos
Hi all,

 

where can i finde the code.txt?
Former Member
0 Kudos

Hi all,

I have de code.txt and it´s works 😄  :

 

package com.pwc.demo.calculator;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sap.conn.jco.AbapException;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoDestinationManager;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoParameterList;
import com.sap.conn.jco.JCoRepository;
import java.io.PrintWriter;

/**
* Servlet implementation class ConnectivityFRCDemo
*/
@WebServlet("/ConnectivityRFCDemo")
public class ConnectivityRFCDemo extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public ConnectivityFRCDemo() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter responseWriter = response.getWriter();
try
{
// access the RFC Destination "JCoDemoSystem"
JCoDestination destination=JCoDestinationManager.getDestination("Connector");
int input1 = Integer.parseInt(request.getParameter("input1"));
int input2 = Integer.parseInt(request.getParameter("input2"));
JCoRepository repo=destination.getRepository();
JCoFunction stfcConnection=repo.getFunction("Function_Module");

JCoParameterList imports=stfcConnection.getImportParameterList();
imports.setValue("P_INPUT1", input1);
imports.setValue("P_INPUT2", input2);
stfcConnection.execute(destination);
JCoParameterList exports=stfcConnection.getExportParameterList();
int resptext=exports.getInt("P_RESULT");
request.getSession().setAttribute("Result", (""+resptext));
response.sendRedirect("Result.jsp");
}
catch (AbapException ae)
{
//just for completeness: As this function module does not have an exception
//in its signature, this exception cannot occur. However,you should always
//take care of AbapExceptions
}
catch (JCoException e)
{
response.addHeader("Content-type", "text/html");
responseWriter.println("<html><body>");
responseWriter.println("<h1>Exception occurred while executing STFC_CONNECTION in system JCoDemoSystem</h1>");
responseWriter.println("<pre>");
e.printStackTrace(responseWriter);
responseWriter.println("</pre>");
responseWriter.println("</body></html>");
}

}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}

 

 

 

Former Member
0 Kudos

Hii everyone,

I wanted to add a Mysql datasource instead of ABAP system. Does anybody have an idea how can I it get done?

Thanks

former_member213376
Participant
0 Kudos
Hi Ulrich,

Thanks a lot for the additional info.

In one of our IoT demo we have a scenario to get the sensor values (from a remote weight sensor device) and need to send these values to a remote HANA DB (not the one attached with SAP HCP) .

 

I couldn't resolve this or no lead on how to do this. If you experts could shed some light on how to do this !

 

Warm Regards,

Prasana Ravichandran

 

 
anton_levin
Product and Topic Expert
Product and Topic Expert
0 Kudos
Please, familiarise yourself with the Community Rules of Engagement https://www.sap.com/community/about/rules-of-engagement.html and especially #9 - do not cross post. You have already asked opened a new thread here https://answers.sap.com/questions/164953/sap-hcp-iot-service-connecting-sensor-device-and-s.html

Regards, Anton (Moderator)
Former Member
0 Kudos
Good afternoon!

 

One question: is there any minimum version for the SAP ERP to be so we can use the Cloud Connector?

Appreciate the support.

 

Best regards
Former Member
0 Kudos
Hi Abhradeep,

Could you please help me in how to establish the connectivity from Hana Cloud to On Premise BOBJ.

I think we need to use cloud connector and rest part I am not sure.

 

Thank you !!!
Former Member
0 Kudos
Hi Abhradeep,

Thanks for the detailed document. we have followed as mentioned but I have we are getting http 404 error. It would be very helpful if you can sort below clarifications:

  1. I was wondering if we need to anything more for X.509 certificate. Do we need upload any certificate

  2. Also we are not very clear on Virtual Host - your document mentions Virtual Host specifies the host name exactly as it is specified as the URL property in the HTTP destination configuration in SAP HANA Cloud Platform - BUT - it doesn't mention how to set up the URL property and what should be the basis of it.


I hope you can help on this.
manpreet2305
Discoverer
0 Kudos
Hi Abhradeep,

Thanks for the document.

I have installed the cloud connector in my system.

The service is running (checked in services.msc)

But when I open the https://localhost:8443/ I am getting an certificate issue.

 

Can you help in resolving?

 

Regards

Manpreet
Former Member
0 Kudos
Thanks for a good tutorial!

One very basic question, when we order the server for the Cloud Connector (deployed in our DMZ) do we have to have a public IP address?

Best Regards,

/Anders
navya_shree2
Explorer
0 Kudos
when i am trying to add my account a getting the below error,

Could you please help me to resolve this

Former Member
0 Kudos
Hello guys!!

Please, could you help me to clarify where I need to install de SCC? I need another server in the same Customer Private Network? Or I can install it in SAP ERP?

 

Thanks.
durgaprasanth_vemula
Participant
0 Kudos
In SAP Cloud Connectors ,how i can connect "on-premise SAP System to cloud" through cloud connectors.

Requirement is i had to send the Data from SAP System to SAP HANA Data Base in SAP Cloud Platform(NEO) and we have an option in Cloud Connector "on-premise SAP System to cloud" and can i use this option where i want to push the data from SAP System to SAP Hana Data Base in SAP Cloud Platform(NEO) and is it possible and could you please help me on this.

All the blogs are talking about the option "cloud to On-Premise" but my requirement is there any chance if i use the option "On Premise to Cloud" where i can push the Data from SAP System(On-Premise) to SAP Hana Data Base in SAP Cloud Platform(NEO)
0 Kudos
Hello Guys

 

what happens to cloud connector when you migration your ERP to AWS cloud , how would SaaS application like Ariba.Concur would connect to S/4 ?
former_member723932
Discoverer
0 Kudos
The document I have read about sap cloud connector for beginners was great but I have not seen anything related to guideline for access and role management. Anyone can elaborate on this as well?

 

Like

 

who is allowed to access SAP Cloud Connector UI?

 

defining roles for users allowed to acces SAP Cloud Connector, e.g. user who defines/configures routes in CPI should get read-access to SAP Cloud Connector UI

 

Also maybe I believe SSO is possible, anyone has any steps on how to do the SSO connection?

 

Thank you in advance,

 

Daniel
damon_huang
Employee
Employee
A well explainatory example!
kenjasonraj
Explorer
Hi All,

 

Is there virtual memory need setup in cloud connector ?
PCarbonel
Participant

Great Document

Thanks a lot, is very clear and easy to follow 

Br

Labels in this area