1 Technical Architecture

This chapter describes the overall software architecture, offering a high-level discussion of the general structure of the system.

Overall there is no change in deployment from the previous release period.

There are underlying version updates to the technical stack (DB 19c, Web Logic 12.2.1.4, updated versions of UI libraries, Fusion middle ware libraries and so on.)

Multiple Products

EICS (Enterprise Inventory Cloud Service) and SOCS (Store Operations Cloud Service) are two separately licensed products.

EICS includes:

  • EICS Browser Client

  • EICS Web Services

  • EICS Server Tier

  • EICS Database tier with data access code, batches, reports

SOCS includes:

  • Oracle MAF Client

In order to use SOCS, EICS needs to be deployed.

Logical Model

Figure 1-1 Logical Model

Logical Model

SaaS Deployment

Figure 1-2 SaaS Deployment

SaaS Deployment

Cloud Deployment

EICS Client

Oracle JET based browser application that allows the user to perform a wide range of administrative functions.

SOCS Mobile Client

The mobile client provides all the day-to-day transactional workflows within an Oracle Mobile Application Framework (MAF) platform. MAF is a hybrid-mobile platform that supports both iOS and Android devices. For more details, please see Oracle Retail Store Operations Cloud Service Mobile Guide.

Web Services

There is no GUI for the SOAP web services APIs that are provided by EICS. These APIs allow customers to create or develop applications or add-ons that can replicate some or all of the steps of a transaction workflow.

WTSS / IDCS

WTSS: Web Traffic Security Service

IDCS: Identity Management Cloud Service is used to authenticate users.

EICS Application Server(s)

Server deployed as a J2EE application inside the WebLogic Application Server.

OBIEE Server

OBIEE / BIPublisher is used as reporting engine.

SFTP Server

The Secure File Transfer Protocol server is responsible for the moving of files from outside the internet firewall to within the internet firewall in a secure manner. This is used with File Storage Service.

Oracle DB Server (DBaaS)

Contains EICS schema. Uses JDBC to access data from the database.

WebLogic application server provides a connection pool to use database resources in an efficient fashion.

PL/SQL stored procedures are also used for high volume batch processing.

Client-Server Communication

Client(s) use ReST service calls to access the server.

External systems may use SOAP service calls to access the server.

All transactions are container managed.

Performance is sensitive to network latency (hence compression from client to server).

Integration

Oracle Retail Integration Cloud Server (RICS) is used for integration between multiple systems within the cloud as well as deployment of public web services by EICS and other systems.

Oracle Retail Integration Bus (RIB)

The RIB is a near-real time, message based communication queue. Payloads are delivered in an asynchronous fashion between multiple systems on the enterprise in a non-blocking (fire and forget) manner. This broadcast of notifications is subscribed to by each application interested in an event notification.

SOAP Web Services

Numerous APIs into EICS Server are exposed through operations in a wide-array of SOAP web services available to external applications.

File-Based

EICS receives information through several file-based scenarios in order to receive large volumes of data for more efficient processing. These include sales records, stock counts performed by a third party, and price change from a price management system.

Deployment with Other Products

EICS is deployed in three ways:

  • It is deployed with the rest of Retail assets such as Retail Merchandising Foundation Cloud Service and Retail Integration Cloud Service (RIB/RSB/BDI).

  • It is deployed with POS/Xstore typically with or without RIB.

  • It is deployed as a stand-alone or point deployment.

EICS and SOCS have a distributed deployment model with browser and mobile devices running at stores, connecting with server and database hosted at corporate. The central server deployment allows real-time inventory queries for stock-on-hand positions across the enterprise, but requires a fairly robust network connection between store and corporate environments.

Deployment - Performance: Bandwidth, Scaling

Bandwidth Requirements for Browser Clients

Installations with less than 128 KB bandwidth available between the device containing the browser or the mobile application and the data center are not recommended or supported. Limiting the client to less than 128 KB total available bandwidth causes unpredictable network utilization spikes, and the performance of the client degrades below requirements established for the product.

Network Latency Constraints

EICS is also sensitive to the network latency between the browser or mobile device and the data center. Oracle Retail does not recommend or support installations with more than 100 ms total round-trip network latency between the client device and the data center. Latency beyond the 100 ms limit causes unpredictable network utilization spikes, and the performance of the client degrades below requirements established for the product. The 100 ms limitation provides reasonable, predictable performance and network utilization for transactions.

Application Server Clustering

EICS supports application server clustering with a load balancer for Oracle WebLogic.

The EICS Server can run inside an application server cluster, but the load must be distributed among the nodes in the cluster.

It is also possible to configure a single application server instance with multiple JVMs inside the application server instance. When doing this, an upper limit of 1.5 to 2 JVMs per server CPU is recommended.

Clustering for Oracle WebLogic Server is also supported through a load balancer.

Database Clustering with RAC

EICS supports a RAC-enabled database for performance.