Skip to main content

Oracle ICS On-Premise Agent End to End Configuration

Hi,

In my last blog over Oracle ICS, we see what is oracle ICS and how ICS came over with oracle SOA. When we need to use ICS and when SOA. if you missed it, you can read it here Oracle SOA & ICS.

What is Oracle ICS On-Premise Agent:

The Oracle On-Premises Agent (aka, Connectivity Agent) is necessary for Oracle ICS to communicate to on-premise resources without the need for firewall configurations or VPN. 

You must download the agent installer from Oracle Integration Cloud Service and run the installer to install the on-premises agent in your local environment. During installation, you associate the agent with the agent group identifier you generated when creating an agent group in Oracle Integration Cloud Service.

System Requirements and Restrictions:
You must satisfy the following prerequisites on your on-premises host before running the agent installer in a production environment:
  • Do not make any custom configuration changes to the agent installed in your environment using the Oracle WebLogic Server Administration Console. These changes may cause issues during agent upgrade and are not supported. Oracle is not responsible for any custom changes that you may make.
  • Do not have two on-premises agents running on the same host.
  • If you have other Oracle WebLogic Server domains running on the host, they must not interfere with the Derby database used by the on-premises agent.
  • You cannot copy the agent directory hierarchy that is installed on one host to another host. You must directly install the connectivity agent on your host using the connectivity agent installer described in this section.
  • Ensure that you have created the agent group. You must specify the agent group identifier when installing the on-premises agent.
  • Install only Oracle JDK version 1.7 or 1.8. Other JDKs such as Open JDK are not supported.
  • Set the JAVA_HOME property to the location of the JDK installation. For example:JAVA_HOME=/usr/java/jdk1.7.0_79
  • Set the PATH property. For example:PATH=/usr/java/jdk1.7.0_79/bin:$PATH
  • Install the on-premises agent on one of the following supported operating systems:
    • Linux OEL version 6 or 7
    • Red Hat Enterprise Linux Server release 6.x (where x is release 6.6 and higher) (Santiago)
    • SUSE Linux Enterprise Server 12 SP1
  • Provide a minimum of 8 GB memory with 4 GB of heap size dedicated for the agent JVM. If you want to include any other processes on that host besides the on-premises agent, it is strongly recommended that you increase physical memory to a value greater than 8 GB.
  • Ensure that a Derby database is not running. See the Troubleshooting section below for details.
Now we see how we will create & configure Oracle ICS agent from ICS cloud console and how it will be installed on Linux, Remember it is not supported on windows plateform.


Create an Agent Group:

  1. Login to the production ICS console and view landing page.
  2. Verify that the ICS version is 17.3.3 or greater.
  3. Scroll down on ICS Home page and select Create Agents OR use the menu in the upper left-hand corner of the window and navigate to Agents. 
  4. On the Agents page click on Create New Agent Group.
  5. Provide a name for your agent group (EX.Any_GROUP).
  6. Review the Agent page containing new group.
  7. Click on the Download drop down on the Agents page, select Connectivity Agent, and save file to an on-premise Linux machine where the agent will be installed/running. This Linux machine needs to be able to establish a non-proxied TCP/IP connection to the on-premises resource(s) it will be communicating with.
  8. Download the file and save it to any location.
  9. Extract the contents of the zip file for the cloud-connectivity-agent-installer.bsx. This .bsx is the installation script that will be executed in the on-premise machine where the agent will reside. A .bsx is a self extracting Linux bash script:
  10. Make sure the cloud-connectivity-agent-installer.bsx file is executable (e.g., chmod +x cloud-connectivity-agent-installer.bsx) and execute the shell script. NOTE: It is important to specify the SSL port (443) as part of the host URL. Also, there are optional properties for the proxy details if a proxy is required for your network. For example
    1. ./cloud-connectivity-agent-installer.bsx -h=https://<ICS_HOST>:443 -u=[username] -p=[password] -au=weblogic -ap=welcome1 -ad=AGENT_GROUP -ph=<PROXY_HOST> -pp=<PROXY_PORT> -pu=<PROXY_USERNAME> -ppw=<PROXY_PASSWORD>
    2. Special Characters: At times you may have special characters in user names and/or passwords.  If you use any of the following, it’s best to escape the character with a backslash (\) on the command-line: ;'”`#$&*?[]<>{}\ including white space and sometimes !^%
    3. Proxy Authentication: When proxy authentication is required, it is important to understand that the WebLogic http client only supports BASIC authentication for the proxy.  If there is an “Auth scheme NEGOTIATE is not supported!” error in the agent logs during startup, then the proxy is not setup for BASIC authentication.  When this happens there are three options available:
      1. Allow the agent server to be pre-authorized/trusted for the proxy.
      2. Add the two URLs located in the $AGENT_HOME/user_projects/domains/agent-domain/agent/config/CpiAgent.properties on the do not authenticate list.
      3. Configure the proxy to allow BASIC authentication.
    4. 16.1.5+: A new property was added (-aport) that allows an option to change the default 7001 port at the time of running .bsx file. If not specified, it will default to the out-of-the-box value of 7001. The format for using this optional property is: -aport=[port number], for example -aport=7101
    5. 16.2.1+: Two new REQUIRED properties were introduced (-au & -ap) that allow control over the administrator user name and password.  Prior to these new properties the default was weblogic/welcome1. Now it is up to the installer what the administrator name and password will be.
    6. 16.3.3+: A new property was introduced (profile) that allows you to change the number of worker threads for the agent process.  The values for this property are DEMO (3 threads) or PROD (40 threads). This will change the default value of agentWorkerThreads= in the $AGENT_HOME/user_projects/domains/agent-domain/agent/config/CpiAgent.properties file.
  11. Return to the ICS console and the Agents configuration page. Notice that the number of Agent(s) has changed from 0 to 1:
  12. Navigate to the Monitoring page via the menu in the upper left-hand corner and select the Agents.
  13. Review the Agent monitoring landing page. Notice there is now a green icon indicating the agent is up and running:
  14. Review the directory structure for the agent installation.
  15. As you can see this is a standard WLS installation. The agent server is a single-server configuration where everything is targeted to the Admin server and is listening on port 7001 (if the default has not been overridden). Notice that the installer included scripts for starting and stopping the agent located in the same directory as the agenthome. It is very important to always use the startAgent.sh script for starting the server, because includes environment settings specific to the agent:

With this, we are ready to connect our any oracle Data base, ERP that is behind the firewall without exposing it to public.

If you have existing On-Premise agent and want to upgrade it, just follow below link:

Upgrade ICS Agent

Comments

Post a Comment

Popular posts from this blog

Oracle SOA 12C rest adapter with Custom HTTP headers

Most existing web applications are connected through web services, which are commonly known as SOAP services. More and more users are relying on mobile devices for communication, and they’re looking for lighter ways to access enterprise information on the go. REST services are the answer for the mobile device platform, because they get rapid responses and fast access to data. Oracle SOA Suite 12 c  provides a complete set of service infrastructure components for designing, deploying, and managing composite applications. Oracle SOA Suite 12 c  enables services to be created, managed, and orchestrated into composite applications and business processes. Some time we have need to send HTTP headers in REST service, In OSB we use header component and add what ever is needed but in oracle SOA 12C it's little bit different. Let see how we can do it. Create one SOA Application. Create one SOA Sample project inside SOA Application. Go to composite and drag drop REST adapt

Dynamic Routing in OSB 12C

Dynamic Routing in OSB cab be used when the BusinessService endpoint required to be determine at runtime in message flow. Consider a scenario where OSB has to route the incoming requests to 2 different services based on the CustomerType element value sent in the payload. So create a XQuery resource with the following contents. Observe that we are using the absolute path of business service in configuration as required by dynamic routing. Following is the XML schema that we use:>>  Customer.xsd <?xml version="1.0" encoding="windows-1252" ?> <xsd:schema targetNamespace="http://xmlns.oracle.com/schema/Customer" xmlns:xsd="http://www.w3.org/2001/XMLSchema"             xmlns:ns1="http://xmlns.oracle.com/schema/Customer">   <xsd:complexType name="Customer">     <xsd:sequence>       <xsd:element name="CustomerId" type="xsd:string"/>       <xsd:elemen

Swagger API document from Any WADL & Schema in Oracle SOA

Hi everyone, Hope everyone is doing well these days, Recently i started a project work over how to generate swagger API document for your any REST API, In case if you don't know what is swagger please go and check " https://swagger.io/tools/swagger-editor/ ". It's a great and easy to use tool which will help to create user friendly, human readable form API documentation with extension for generating API client in different languages with capability of testing your API from same. What is swagger editor, Design, describe, and document your API on the first open source editor fully dedicated to OpenAPI-based APIs. The Swagger Editor is great for quickly getting started with the OpenAPI (formerly known as the Swagger Specification) specification, with support for Swagger 2.0 and OpenAPI 3.0.  What benefits you will get by using swagger, Runs Anywhere, The Editor works in any development environment, be it locally or in the web. Smart Feedback, Validate you