Blink and it’s another month gone. But Oracle has been very very busy as we come around for the latest quarterly updates and the details published. Plus a lot about Oracle Hospitality Integration Hub (OHIP) which builds upon OIC.
Category: General Integration Page 1 of 2
OIC has for some time now provided an FTP adaptor and more recently included a full FTP server capability. But both have limits on the file size and capacity. The file constraints (1GB for a file and 500GB for the FTP server) shouldn’t be an issue for day to day activities. But OIC is often used to support SaaS Financials and other cloud solutions which do have monthly process cycles which can generate significant data volumes, for example, payroll data. The question is how to handle such data with such constraints?
There is a school of thought that points to the possibility when handling such large data volumes we should consider using Data Integration rather than a more event-centric integration tool. Personally, I think there is a lot of validity in the argument, and anyone dealing with such bulky data activities should review and question if it is a better answer.
That said, there are cases where it does stand-up. For example:
- If an organization is transitioning to a more event-driven or at least micro-batch model, you have to start the transition somewhere, but trying to line up changes everywhere can be problematic, so we have to start somewhere. Building an integration process so you have an event model developed, but in the interim, you need to take that bulk mechanism and convert it to a small stream of events.
- You may be working with a bulk data extract and only need a small subset of the data provided, it won’t help if the data is also represented using a verbose notation such as XML.
How to overcome the constraint? Oracle databases aren’t so constrained, and SQLLoader can provide an easy means to ingest the data into a staging table. The benefit of this is:
- if you’re only needing a subset of the data you can pull just those columns from the table.
- the bulk of the use of XML to be self-describing can be shed through using the DB schema as being more prescriptive.
- SQL scripts can handle the checksum records removing that data and overhead from the integration process, leaving you to concentrate more on the business process.
If the data is still substantial once in the database there are a number of strategies to consume the data in more manageable chunks, such as
- Running SQL script on the database that takes each row and calls the OIC as a restful API point. This approach is potentially very interesting as it may then mean if you’re moving towards an event process in the future the API endpoint represents the future state and the database stored procedure is mimicking the future client behaviour.
- Use polling strategies and result set limits to control how much data is processed in a single execution of the integration. This approach does mean the integration needs to tag which records have been processed to avoid re-reading them.
Handling integration between Oracle SaaS applications and modules has been something of an evolutionary journey. A couple of years ago if you wanted to intgrate say HCM and ERP you needed to ICS or OIC to perform the integration.
In many respects this wasn’t such a terrible thing. Technically as it meant that the back end database schema development for each app was not going to be slowed by needing to be mutually dependent with each other. As a result avoiding the complexities of managing a canonical model and ensuring any changes to that model are delivered in a manner that aligns across multiple development teams plans.
Although you can see from a marketing position it might not have seemed so great, as the customer incurs more cost and development effort to realize a process of managing people (HCM) and paying them (ERP) for example.
Things have moved on, and as long as SaaS apps reside in a Global Single Instance (GSI) (i.e. same region, account and deployment) then for the major products (e.g. ERP, CX, HCM, etc) are internally integrated so a person change in HCM will propagate to ERP as necessary. This certainly reduces the need for integration, saving effort (and the cost of needing OIC).
The problem now is understanding which entities in the SaaS apps are integrated out the box if you deploy using the GSI manner. If you have been working from an integration/technology view point with ICS and OIC for a while it is very easy to get sucked into thinking you need to repeat the integration. After all explicitly integrating the apps is how we started out.
Oracle also want to make it very easy for non Oracle products to integrate, so OIC documentation and the many very good blogs from product management and the engineering team focus on external integration which does (for me atleast) lead to thinking about the older way of working.
Look to see if you’re working with GSI deployment or not. If it isn’t a GSI setup then the old way of working is required. If it is, then determine whether the entity or processes are out the box integrated. This is probably best approached from the SaaS documentation today.
A couple of days ago the updates for OIC included a new feature B2B (April 2020 new). Specifically, support for EDI X12. Whilst this doesn’t mean SOA Suite B2B is redundant yet (as that still offers a broad range of other complex exchange protocols HL7, EDIFACT, SAP iDoc – complete list here). I wouldn’t be surprised if Oracle considers leaving behind support for one or two of the more complex file formats such as EDIEL. But with X12 cracked, I wouldn’t be surprised to see EDIFACT follow soon.
SOA CS future?
So where does the leave SOA CS given one of the differentiators to OIC was the existence of the B2B and MFT elements? OIC has not yet fully displaced SOA and SOA CS, there are use cases that OIC can not yet fully address. For example in the MFT space OIC has caps on filesize (whilst MFT does not). MFT also supports Applicability Statement (AS) standards (IETF specification for AS2). Unlike some of the payload formats, particularly the metadata-driven ones we may see fall away more quickly, the AS standards provide the means for communications to be responded with a ‘Message Disposition Notification‘ (MDN) which means the receiver will tell the sender the receiver has safely and fully received the communicated payload – non-repudiation. We have seen banks and other data-sensitive organizations continue to use such standards (after all you want your employer saying they told their bank to pay your salary, and the bank say, nope not got anything or transfers between the bank and the tax man).
How quickly these gaps will be addressed in OIC is not clear, or whether these cases will be addressed, or whether SOA will continue to answer these edge cases until superseding standards and techniques make them redundant.
The bottom line is there are too many customers with legacy estates on-prem for SOA CS to be retired any time soon. However, I would not be surprised if SOA follows the route of ODI when it comes to Oracle Cloud. Oracle has developed ODI on Oracle Cloud Marketplace, which provides an on-prem style deployment configured (and presumably tuned) to run on Oracle Cloud as an IaaS Virtual Machine. This potentially simplifies the BYOL license model leaving the customer responsible for a level of patch maintenance (be that take a new ODI Marketplace instance spin it up and apply the configuration, then drop the old one, or run the traditional patch processes).
We will see SOA continue to be patched and maintained for a long time to come. But I wouldn’t surprised if Oracle makes it more and more attractive for SOA customers to use OIC – possibly combining OIC and their SOA Suite instances with a view that when customers need to update migrations, they consider the port.
Whilst this may sound like Oracle are potentially leaving customers without the infamous paddle. However, our experience in the partner space is that Oracle seeks to enable them and recognize that most partners are very capable. Not to mention, when the heat is on, partners with middleware Aces can usually find their way through the Oracle organization to get what is needed.
I think we’ll continue to see a number of Oracle’s specialist partners file the gap with tooling adapted from on-premise solutions. It is these partners that also have the wealth of expertise on knowing to get the most out of SOA Suite and keep it secure.
So OIC will continue to absorb capabilities that had separated it from SOA suite cementing it as the mainstream offering. But the old warhorse will be around for a long time (remember many older companies still use Cobol successfully) yet. To use a car analogy, those sticking with their trusty vintage Mark 1 Golf that has done 500,000 miles will have to stop looking to the manufacture for service and parts and enlist the support of a passionate specialist.
To be clear, this is only our opinion, and not informed or confirmed by Oracle.
With the recent announcement of working with Automation Anywhere (press release here) adding to the partnership already in place with UiPath, Oracle’s approach to Robotic Process Automation (RPA) is differing to other players such as SAP and Pega Systems for example who have acquired vendors.
It is an interesting question as to whether partnering is the right solution given that RPA vendors can and do challenge the need for an integration platform. After all with the exception of IoT most solutions have an some form of UI or API the robot can connect to. This assertion whilst isn’t wrong it fundamentally overlooks the ability to push transaction volumes through, UIs are vulnerable to change, the ability to apply very robust security. But when discussing integration needs with business rather than technology leaders such factors can be so easily overlooked.
Whilst acquisition is a possibility, unless Oracle acquires one of the big three (Automation Anywhere, UiPath, Blue Prism) they are likely to end up with a less established and/or less feature rich offering, that could very easily be perceived as an expensive OIC adaptor. Where as by having now partnered with two of the three major players, it is easier to sell the story that the technologies can be complimentary.
So how do they compliment rather than compete? The traditional buyer of OIC is an IT team either corporate or departmental. Such teams are often constantly being pushed for new Integrations to and often the most problematic of these are the smaller demands for proof of concepts etc that drive innovation forward, or enables the next new business opportunity or short lived integration need. By introducing support for RPA means several possibilities …
- Reverse the sales story, where an RPA sale has displaced traditional PaaS but the scale up has become too costly then the pitch can be it’s easy to make smooth transition to a PaaS solution by using the adaptor to streamline the use of RPA where it is needed,
- Using RPA against services the have changing and regularly enhancement are likely to suffer from the need to continually maintain the RPA scripts. If this happens a lot then the RPA model will feel very brittle. Whilst this is a plus from an iPaaS perspective, we don’t want the fact that perhaps central IT have suggested RPA as an interim solution and therefore end up being to blame for the effort involved in maintaining brittle scripts,
- RPA can be used by less technical users to effectively develop and prove business needs and thinking before an often over stretched IT team get involved – use RPA fed with appropriately sourced data via Integrations to help determine/prove business idea, before making the larger investment in a scalable robust solution,
- Integrations can be exposed and extended using RPA for tactical short term fixes, if the pilot proves value, and the next step is scale up – then replace RPA with OIC.
The last of these possibilities is very interesting as we’re moving towards what could be described as the citizen adaptor (in the same sense of having citizen developers).
Central IT teams embracing the idea citizen developers and integrators means rather than what is sometimes referred to as Shadow IT being that only a shadow with no visibility of what is happening. By embracing the idea, we create the opportunity to:
- Influence/set the parameters for the tools being used – increasing the chance of ensuring efficiencies in investment (and/or license compliance),
- See if common solutions or problems are occurring across the organization therefore focus efforts of building strategic solutions that deliver the biggest return on investment,
- Potentially leverage efforts from shadow IT teams for the benefit of the wider organisation,
- Most importantly opportunity to monitor what is happening to ensure legal and contractual compliance is assured e.g. if corporate policy prevents the use of cloud storage services from being used to hold certain types of data – it will be easy to see what Integrations exist with such services, and then review the data involved.
In this light working with, rather than trying to compete against the market leading RPA vendors has the distinct potential to present OIC as a strategic enabler.
Whilst OIC is not a traditional development environment, once you get past simple integration development you’re going to want to start implementing some configuration management controls and release promotion mechanisms. We discussed this in the book, and illustrated how this can be achieved in a simple manner using the OIC APIs.
However this can be further simplified, and consolidated so that a configuration management approach doesn’t just work for OIC, but can be applied to other products both in the Oracle cloud and beyond. Flexdeploy from Flexagon, has long provided this kind of tooling around Oracle’s SOA Suite but over the last couple of years has been addressing the same challenges for Oracle’s cloud offerings.
When we have spoken with Flexagon about the tool’s capabilities we found a product that very feature rich and addressed all the use cases we could identify as being needed. However, rather than take our word for it, checkout the following resources:
- Compiled list of Flexdeploy blogs on OIC – https://flexagon.com/2019/01/flexdeploy-loves-oic/
- Flexdeploy at the Oracle Marketplace – https://cloudmarketplace.oracle.com/marketplace/listing/3634874
- Flexdeploy demos as YouTube Videos – https://flexagon.com/resources/videos/
Traditionally integrating with systems that don’t offer APIs or a shared storage mechanism (such as open tables) has been something of a headache often resulting in the ‘last mile’ of the integration process being manual. The manual steps often come because the cost of building and maintaining the means to integrate has not been cost effective or even an option (vendor has end of lifted a product, and not willing to add an integration mechanism).
The idea of ‘screen scraping’ isn’t new, but the cost of implementing such mechanisms has dropped and the new generation of Robotic Process Automation (RPA) tools such those provided by UiPath have made it significantly easier to integrate and automate UI driven processes. Whilst UI based integration isn’t recommended as a first option for integration, it shouldn’t be ruled out particularly as it gets easier and easier to generate and maintain the UI automation. There are several factors that need to be considered as to whether such an approach is appropriate, for example:
- the ability to run a robot to execute the UI interaction,
- the volume of data needing to be moved through the UI – you wont escape the latency issues that may exist with UI steps,
- is the UI being automated changing rapidly (is there enough cost benefit for automating)
Oracle have been working in partnership with one of the leading RPA product vendors – UiPath, which has resulted in an adaptor for Oracle Integration Cloud. The adaptor allows you to pass data to the UiPath Orchestrator component which will run the processes in an unattended mode. In the adaptor configuration you provide information about how many resources you want the Orchestrator to apply to the task, the queuing of the job and so on.
for more information on RPA and the adaptor the following links maybe of help:
- http://amysimpsongrange.com/tag/rpa/ – an introduction to RPA
- https://docs.oracle.com/en/cloud/paas/integration-cloud/uipath-rpa-adapter/using-uipath-robotic-process-automation-adapter-oracle-integration.pdf – documentation on the RPA adaptor
- http://niallcblogs.blogspot.com/2018/12/671-oic-1845-new-features-ui-path-rpa.html – Oracle PM introduction
Whilst Oracle’s roadmap in the RPA space is not entirely clear we have heard indications that Oracle are limiting themselves to just UiPath (this is what UiPath say about the partnership).
Regardless of the approach you’ll see that the adoption of RPA is important in Oracle’s vision, with their Agile Finance making a clear indication of its view (see the paper here).