Two years ago I attended the #ofmSummerCamps for the first time. And I was impressed with the organization, the food, the SOA 12c course with all the new features and the experts attending the course. Last year I did not go to Lisbon, but learned a few things from Twitter. In 2016 I was able to attend the renamed #PaaSsummerCamps again. The next few blogs are about my 5 days in Lisbon.

After Robert and Niall introduced themselves, we quickly went on with ICS general talk.

A prerequisite for attending the Enterprise Connectivity course was to have your pre-sales ICS and SOA 12c certification. Therefore a large part of the ICS training (slides) was obsolete. We already had this covered in learning about the product to be able to pass the pre-sales exam.

Naill did however share some extra about the difference between Inbound or Outbound connection for example. And explaned ‘Trigger and Invoke’: Trigger (on the left side) or Invoke (on the right side, calling). You can trigger Twitter, but Twitter can’t trigger you. So for a Twitter connection you can only use Trigger, not Invoke.

A big desception this morning was that we did not get to play in the Cloud. Everything we do this week is in VM’s. After the memory sticks with the VM went through the room, we all fired up the ICS environment to see if we were able to get it up and running.

First we made a connection.

With different connections, you have different connection requirements. For Eloqua connections you only need company information and no WSDL for example.

The WSDL you see after making a connection, is used for Error Handling Framework as well. Username and password is hardcoded in security section. You can do a test, but Niall mentioned something like “if the password is changed if you do a test and it is expired / wrong, you’ll be in trouble”. So I didn’t dare to test it.

After you made two connections, you create the integration. Give it a name and if needed a version number. It is not automatically versioned yet. Soon it will integrate with Developer Cloud and then you will have automatic versioning.

In the Designer screen you can easily switch from Connections to Integrations or to other options like Lookups.

When you start building your Integration, you drag and drop a connection in the screen and then you can select a Business Object to use in the integration. Then you select the request Business object. Then you select the Business object you want to receive back (response). Select immediate (sync), delayed (async) or none (Fire & Forget). DONE!


Now specify a target (RightNow) and walk through the same steps of the Source.

You can select basic CRUD or ROQL (RightNow Object Query Language). Different adapters support different things. Select Single object or Batch. Off course old Rockstar Naill had to wikipedia Rockwell (artist) as you pronounce it the same way.

Voila, you can start doing a mapping. It’s MAGIC! I’m sure a Citizen Developer can do this easily.


XSTL can be imported into the mapper. You cannot type in the mapper because of wel… errors.. You can run a test to see if your mapper is doing the things you expect it to do. Cool stuff!

When your mapping request and response are done, your integration is only 87% complete. You still need to add a tracking field. trackingDrag and drop and type in a help tekst (reminder).

DONE. You have a pending activation. Switch the slide. You get a confirmation message. This is developer tracking (tracing is not recommended in a prod environment) active

After you get a WSDL to give to the customer to talk to ICS. In our case testing can be done with SOAPui. In our testcase we had to add authorisation (Username and password).

Something Oracle needs to work on and add in ICS is the ability to view logs in the browser. Currently you need to download the logs to be able to do tracing in the logs. Also currently you cannot specify what to log. Oracle promissed they are working on it. So for now ICS loggin is On or Off. Without specification whatsoever.

The error messages will freak out the ‘Citizen Developer’ anyway. You need to be a tech savy to understand those.


In the next blog, covering Day 2 I will show you more from ICS. For now some last notes of Day1:

  • A nice feature in Monitoring is to see which integrations are being used. So you can kill / delete the others you don’t use or need.
  • Orchestration Patterns are new in ICS.
  • Difference with SOA CS is that there are no patches and updates are taken care of in ICS, not in SOA CS. SOA CS is develop locally, deploy to the cloud.
  • When an ICS integration is active, you can’t edit it. That’s a good thing. Deactivate it, so you can edit it. Deactivating means ICS will undeploy it.
  • You can clone an Integration and this way you can version integrations.
  • Get it from Test to Production you can do Export, then you can Import it in Production.
  • When you export an Integration with Export, you have a .jar. Unpack this and you will find all artifacts like xsl mappings etc.
  • Roadmap stuff: to have two versions of the same integrations live. For now they are two seperate integrations with two separate contracts.
  • Roadmap stuff: ICS funcitonalities are getting more and more complete. Taking over SOA Suite functionalities.
  • Auto / preferred mapping was present in a previous versions of ICS, but was not working. This will be back in newer version and will work. As Oracle promisses…
  • ICS is limited to 100k messages per day. Not many Saas to Saas connections will use more than 1000 messages a day.
  • Roadmap stuff: Error Handling – Richer Fault paths. Like the error hospital in SOA and OSB.