Wednesday, June 21, 2017

#583 HCM integrations - ICS or SOA CS?

As we say in Ireland, there are many ways to skin a cat. The same applies to Oracle HCM.









To quote the docs -

Data Integration tools such as File-Based Loader and HCM Data Loader are primarily intended for loading data in bulk involving hundreds of transactions. Typically, you use these integration tools for an initial upload of large volumes of data and maintain the data in Oracle HCM Cloud thereafter. You can also use these tools to load data after the initial load to perform periodic batch-loading or upload changed data if you are continuing to maintain the source data elsewhere.

REST services and Atom feeds are intended as user-friendly web services involving transactions of smaller volume. REST services enable quick and real-time access to resource data within Oracle HCM Cloud.

Atom Feeds

are essentially notifications of HCM events, e.g. employee name change etc.

So we have many ways in and out of HCM.

Currently, the ICS HCM adapter (17.2.5) supports the HCM REST services.
These services are detailed here   

So currently ICS is a good fit for extension style use cases.
As the majority of HCM integrations are file based, SOA CS is still the integration tool of choice.

Resources:

besides the official ORCL docs

1. Atom feeds subscription via SOA CS
Click here

2. File data loading via SOA CS
Click here





#582 Great article on migrating your BPM apps to PCS

Here is a great article from my colleague Andre -









check it out here

Wednesday, June 7, 2017

#581 ICS 17.2.5 New designer features

17.2.5 has seen some changes to the ICS integration designer, let's have a look at some of them.

1. Orchestration


























Select: lets one select 1 or more activities in the integration -



















As you can see, those selected are highlighted.

I can now drag them to another part of the canvas -

























Reposition: click Reposition,
then select the action or invoke you want to reposition,
then do so via drag and drop.

























Orchestration Actions



Now let's look at the Actions available in 17.2.5 -

























some new ones here -
Function call - call Javascript from your integration.
Logger - enables you to log to the Activity Stream and diagnostic logs.
Scope - allows you to logically structure your actions within a scope. Scopes now have their
own error handlers.

























Raise Error: send failed messages to the Error Hospital.

Let's add some of them to the orchestration.

My orchestration has a REST trigger that has 2 paramenters -
1. OrgName
2. CountryCode

I will call a Javascript function to translate the country code into country name.

I begin by creating a couple of new variables via the ASSIGN action -
v_countryCode
v_countryName











I now add a FUNCTION CALL -





























Now I user the LOGGER action to log the response -













































I then add a SCOPE -





































As you can see, the scope has its own Fault Handler.
I now drop the createOrg invoke etc. into the scope using REPOSITION.

























Click on FaultHandler and you are in, yes, the fault handler -














I activate the integration -

















I test via Postman with country code = IE


















I check the Activity Stream on the Monitoring page -














Excellent stuff!

Tuesday, June 6, 2017

#580 ICS 17.2.5 Management / Monitoring

Many customers, moving from SOA Suite / Service Bus environments to ICS, have questions around management/monitoring etc.

There is, of course, a paradigm change when one moves to the cloud - no install, no management of the underlying infrastructure etc. So what do the sys admins need to know in respect of ICS?

Monitoring -


 If someone just needs to monitor ICS, then all they need is the following role -
















Then can then log in to ICS and do the necessary -




















Integration Health -


Here is the monitoring page from a test instance I am using -














This page is showing the health of the integrations.
Some of this is design time relevant - e,g, you can see that only 39% of the integrations have been activated.

You also see the salient information on the number of messages received, processed - successfully/failures.








You also see the hourly and daily history (last 30 days).

So, for those coming from Service Bus/SOA Suite, this is somewhat akin to Fusion Middleware EM, albeit at a higher level.

You can also download the ICS log files from here -











We will review these later, when I go thru a simple demo.


You can also switch to sub-pages, so to speak, on this page -










System Health

Refers more to the underlying components -
















Again, similar somewhat to what one can glean from EM.
A system is either available - green / unavailable - red / not configured - grey

Database Management

Database changes to orange when 70% of space is used.
Also note, the database is in the state - Unquiesced.
Quiesce is another word for pause.
The database, on reaching 80% of space used, will move into a quiesced state -
so now requests to ICS can be processed.

The database needs to be purged on a regular basis - this will be very familiar to those who
have administered SOA Suite. Just click on the pencil icon -






















The retention period setting supports the following units -







You can also do an immediate purge -



















File System Management

The warning threshold here is 85%
ICS goes into read only state, if this hits 90%.
Read only state means activation of instances, imports/.exports are no longer possible.


Regarding File System Status -

















The name AdminServer is familiar to all weblogic admins, and the above
list gives one a good idea of what is actually running under the ICS hood.

Design Time Metrics




















Here all salient info regarding the state of design time artifacts is displayed.
Note also the Design Time Audit - yes, I have obfuscated some of the data here.
Great source of info - on who did what and when.

I can also drill down as follows -


















































The Monitoring Sidebar allows for easy navigation -




















Here I look at the Integrations -











I can also navigate back -











Let's now look at settings -

Settings 



































Certificates - upload as required.









Notifications - who should get informed and when -














Here is such a Notification -
















Database - the purge settings, already discussed -




















Logging Levels - self explanatory -





















Recommendations - allows you to publish your mapping recommendations to the ICS
community.


API Platform - here you can specific your API Platform instance, allowing you to expose and manage the APIs of your ICS integrations.



Nothing like a simple example...

The above was mostly monitoring, now to a simple demo integration -







Here I have an orchestration, trigger is a REST interface, target is Service Cloud (createOrg).
























Note the menu options, and the new - Manage API with APIP CS.

Anyway, I test the integration in Postman -




















I get an Internal Server Error -

Fault received on invocation of target :https://gsefmwr11.rightnowdemo.com/cgi-bin/integration_test.cfg/services/soap <![CDATA[ \nFault Code : wsse:FailedAuthentication\nFault String : Access Denied\

Now, you could guess this has something to do with the username/password for RightNow.
But let's see how we can debug this -

Back in the Monitoring page -















I check the activity stream - error is -







One can download the stream, if required -













Now to the error itself -





Here I can drill into the individual errored instances -
















Now to the Diagnostic logs -













































I can go thru the diagnostic log and look for my integration - NC_REST_CREATEORG










I can see the payload in the ics-flow.log









I also see the error in the ics_server.out file -








So now I check the RightNow connection in ICS -


















I fix the password and re-test -








































I re-test the request in Postman -



















Now, one area I have not, as yet, discussed is Incidents.

You can see the following link on the Monitoring page of ICS -












So what is an incident?

According to the ICS user guide -
You can report incidents for problematic issues that occur during design time (for
example, being unable to open an integration, the failure of connection testing, or the
failure of artifact regeneration).

How do you do this?






























Once you click Create, you will receive a confirmation message in the format -
Incident report successfully created with ID: "number". You can download it
right now or later from the Monitoring dashboard.

Now you can download the incident - and maybe attach the file to an SR.


Management and Monitoring - Non UI based


So what options are available outside of the console?
What about integration with system management tools such as Nagios?
Many customers are not into having to login to ICS to get alerts etc.

1. Notifications
I have already covered this above.















2. ICS REST API

A good starting point for integration with system management tools such as Nagios
























Check out the REST API here

3. ICS REPL based management utility from the A-Team

Check it out here