Sunday, 22 September 2019

Integration Architecture Layers - Oracle Integration Services

In software  architecture there are always "layers"  to simply the task of understanding. Oracle integration services are based on multiple layers which work cohesively to integrate and communicate message from one system to other.

I have tried to divide entire architecture in few layers to get full understanding of ICS.






Network Layer - Network layer is responsible for communication between end systems and integration layer.  In ICS its very much hidden and been taken care by the Oracle itself. Once your system is exposed to internet then rest is been care of. One component as an architect you can visualize in this area is, "connectivity agent" which provide connectivity between the end systems and ICS. These agents installed on end systems and use ssl port. Other decision point  open for architects is location of the availability domain. It has to be choose based  on the proximate location of the end systems required integration. Example if all the end system or client in Canada then obvious choice for availability  domain is Canada, if not then any other proximate location, to reduce latency between the integration layer and target systems. Current protocol been supported by ICS in this layer is https, ftp, http, sftp.






Interface Layer :- Interface layer is first touch point of the any integration. This is layer from which message enters into integration system's area of work. Be its service call  or message service or  file based integration, in cloud everything start by an connection. Its very important for a cloud architect to have a clear visibility about connections and its type, right now oracle provide no restriction over the number of the connection been created in ICS, but from manageability prospective its important that a cloud architect have a proper inventory of connections and avoid duplicate as much as possible.  Advice to have a Exl or any form of inventory of connections, there message structure and  end points and possible number of message that connection will be sending or receiving on hourly basis.

Under the connections, other important stuff to be decided by architect is technology adapters. These adapters abstract complexity of underlying system and provide almost a uniform way to interact. Right  now there are more then 50+ technology adapters are available to choose.




Instruction or Application Layer :-  Application layer or the orchestration layer in ICS,  is play area of an architect/integration developers. This layer contain set of  instructions been written during design time to integrate two or multiple connections. There are multiple patterns which are been provided by Oracle and as an architect we need to choose best fit for our use-case.

 This layer where architects has to laid down processing of the message and also contain business logic or instructions for message processing, transformation or enrichment. This layer as architect we can think of gluing agent where everything is connected.





Instruction Execution Layer (Oracle Provided and Controlled):-  Instruction or  execution layer as architecture point of view is hidden and managed by Oracle itself.  This layer execute every instruction been configured by us in instruction layer,  What ever logs and information available it looks very much written in java and borrowed from Oracle previous technologies like BPEL, JCA adapters and messaging, but this layer is not having anything for an architect to think or done about. Container to server everything has been hide by Oracle under the ICS platform.d





Logging or monitoring Layer (Oracle Provided, user Controlled):-  This is an extended layer of the execution layer. From top-view both these layers are fused into each other, because for every information this layer log is been provide by the execution layer. This layer expose multiple configurations to increase or decrease the logging level or provide more information during the logging. We can assume these instructions as levers which can be pull or push to give instructions to execution layer to write or not write information about execution.  This layer also include configurations at adapter level also which can be tweak to force execution layer to write more information by adapter code.   

No comments:

Post a Comment

Feature Selection in AI

In artifical intelegance/machine learning, everything start and end with data and in current world everyday by using facebook, insta we all ...