Go to primary content
Oracle® Retail Enterprise Inventory Cloud Service Administration Guide
Release 18.0
F13732-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

1 Technical Architecture

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

Technology Stack

This product has an n-tier architecture consisting of a Client Tier, a Server Tier, and a Data Tier.

Figure 1-1 n-Tiered Implementation

n-Tiered Implementation

Client Tier

Supports multiple clients.

Browser

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

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 MAF 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.

Server Tier

The server tier contains the server deployed as a J2EE application inside the WebLogic Application Server.

Client-Server Communication

Server is deployed as JavaEE application.

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).

Data Tier

The data tier consists of an Oracle database, Oracle Internet Directory (OID)/LDAP.

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.

Cloud Deployment and Server Integration

The following diagram describes a broad overview of a cloud deployment of EICS in conjunction with a suite of support server deployments as well as the basic communication pattern between each.

Figure 1-2 Cloud Deployment

Cloud Deployment

EICS is deployed with several other servers that are used in conjunction with EICS, some of which are required for EICS to function.

  • 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.

  • NFS Server: The Network File System server is used to store and manage files during bulk imports or extracts.

  • IDM Server: The Identity Management server is used by EICS to authenticate users.

  • Retail Integration Cloud Server: The Retail Integration Cloud Server supplies integration between multiple systems within the cloud as well as deployment of public web services by EICS and other systems.

  • BI Server: Oracle Business Intelligence server is an application designed to manage and deliver reports and documents. It is used by EICS to generate reports.

  • Oracle DB Server: The Oracle database server contains the database deployment inside which EICS creates its schema or data structure and may be shared with other applications or servers.

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.

Integration

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

EICS is deployed in three ways:

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

  • It is deployed with only 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.