Oracle® Retail Warehouse Management System Implementation Guide Release 15.0 E68108-01 |
|
![]() Previous |
![]() Next |
RWMS is an N-tier, web-architected warehouse management system consisting of a client tier, a middle tier, and a data tier. The client tier contains a PC client browser (for example, Internet Explorer) and handheld devices. The server tier contains WebLogic Server (RWMS is Oracle forms based application deployed as a J2EE application inside the WebLogic Server). The data tier consists of an Oracle database.
The N-tier architecture allows for the encapsulation of business logic, shielding the client from the complexity of the back-end system. Any given tier need not be concerned with the internal functional tasks of any other tier.
Table 3-1 lists a summary of the advantages of an N-tier architectural design.
Table 3-1 Advantages of an N-tier Architectural Design
Design Advantage | Description |
---|---|
Scalability |
Hardware and software can be added to meet retailer requirements for each of the tiers. |
Maintainability |
The separation of presentation, business logic, and data makes the software cleaner, more maintainable, and easier to modify. |
Cost effectiveness |
Open source market-proven technology is utilized, while object-oriented design increases reusability for faster development and deployment. |
Ease of integration |
The reuse of business objects and function allows for faster integration to enterprise subsystems. N-tier architecture has become an industry standard. |
High availability |
Middleware is designed to run in a clustered environment or on a low-cost blade server. |
Endurance |
Multi-tiered physically distributed architecture extends the life of the system. |
Flexibility |
The system allocates resources dynamically based on the workload. |
In order to support some features, components are added to the RWMS technology stack from the Oracle Fusion and Application Development Framework (ADF).
These are positioned with the existing component infrastructure (such as Oracle Forms) in the context of N tiered software architectures that incorporates the concerns of integration as part of a bigger co-operating process architecture implemented across a retail enterprise.
N-tiered architecture diagrams typically illustrate layers of components positioned by the functionality they support based on user interactions, process logic, or data persistence. The following diagram illustrates the logical architecture of the RWMS solution and positions key infrastructure components against the layered software stack.
The main characteristics of the solution can be summarized from a layer by layer perspective as follows:
Desktop User Interaction
The top most layer of the stack illustrates the main access points of the application by users of the system. All application specific access is provided through certified browsers with appropriate JRE (for applets) and JavaScript capabilities. The JRE is required to support Forms Applets within the browser pages.
RWMS provides a Java Server Faces container for desktop browsers. This container embeds Forms Applets, ADF visual components (including HTML5 markup) and BI Publisher web pages as additional components. The embedded components communicate in the container through the use of JavaScript events and code with the exception that BI publisher launches in a separate web page tab or window within the browser.
The use of ADF/JSF for the web tier enables the use of server beans that can be bound to UI controls and have enabled the implementation of a shared memory model based operational Dashboard for warehouses to show the state of tasks in facilities.
RF Screen User Interaction
Given that RF and other industrial wireless devices do not generally support Java VMs and only provide basic HTML browser capabilities, the RWMS adopts the use of Microsoft Terminal Server configurations to host RF user Forms sessions.
These sessions are presented to the devices through the use of Remote Desktop Protocol (RDP) clients that are installed locally together with the virtual desktop sessions by the Terminal Servers.
The application server tier of the solution uses Oracle WebLogic servers to host the processing components of the solution. Individual domains (which may optionally support clustered server nodes) support the following components:
ADF Server Components (Including Dashboard Polling Engine)
The ADF components support an enhanced navigation browser experience that integrates the different web technologies (HTML, JSF, Form Applets and ADF graphing components) to co-exist and co-operate in a single seamless user interface.
The ADF components are installed as a Web Application in WebLogic's servlet container and provide the following capabilities:
Server side beans to support authentication, session management and Dashboard processing logic.
Localization for specific user languages.
ADF View Objects that provide access to the Dashboard when users drill down into the graphs presented in the application.
Business Intelligence Publisher (BIP)
RWMS uses Oracle Business Intelligence Publisher (BIP) to meet customers printing and reporting needs. BIP is a reporting and publishing application that enables you to extract data from multiple data sources, create a template to lay out the data in a report, and publish the report to numerous output formats. BI Publisher also enables you to schedule reports and deliver the reports to any delivery channel required by your business.
The BIP components are installed in WebLogic servers within their own domain.
Oracle Forms Components
Oracle Forms Runtime and Listener components are installed in a separate WebLogic domain to support the main RWMS screens as applets as in previous releases.
Scheduled Batch Scripts
The RWMS application supports scheduled batch jobs that are implemented as shell scripts under the control of a Unix CRON daemon. These are typically hosted by the WebLogic server's host OS environment.
Apart from the database objects, schemas and libraries required by RWMS, the persistence tier (implemented with Oracle 11g R2) also supports a Java based Shortest Path engine that is able to calculate and cache optimum paths through the facility from one location to another through Reference Point rules defined in the schema. This feature is extensively used by the task management capabilities of the solution and is placed in the persistence layer to minimize latency.
The RWMS application supports two main external integration points. External systems invoke and transfer data to staging tables through an FTP service running within the DB instance or use the Retail Information Bus (RIB) to dispatch JMS messages.
RWMS supports service enabling at either a database level (where the DB side logic can be exposed as Web Service endpoints) or through the Oracle Retail Service Bus (RSB - not illustrated). RSB has an internal routing and transformation mechanism that bridges it with RIB.
The Oracle Retail Warehouse Management System is validated to support clustered implementations of servers. The clustering can be implemented at any of the three tiers of the solution:
Terminal Server nodes to scale RF user requirements.
WebLogic clusters to support more desktop users and business processing capacity.
Database clusters using RAC and Clusterware to improve availability.
These requirements vary according to the needs of the customer based on where they would like to position hosts and data persistence components but generally uses a scaling approach that is common for N-Tiered web applications.
Most current RWMS implementations place all the hosts within a warehouse and only support remote access connections across WAN links. However, the rapidly increasing availability of bandwidth allows more flexibility in the physical deployments and makes it possible to position hosts more centrally in data centers based on operational and management requirements.
Figure 3-3 illustrates a 3D perspective of a typical production deployment of WebLogic and database clusters in the context of public facing Web traffic. While this may not strictly apply to RWMS (given it is not public facing), the implementation pattern still applies.
The blue substrates show LANs as planes on which hosts (grey boxes) are connected. The LANs are interconnected by layer 2 and 3 switching and routing components together with more specific placements of firewalls and load balancers to scale incoming web traffic.
The components on these hosts are illustrated as cubes or cylinders dependent on their functional capability in terms of a three tiered architecture. The colors have meaning in this perspective; red for presentation tiers, pink for business components and green for persistence.
Web traffic is typically scaled using a load balancing configuration that manages web session specific paths to application or web server clusters depending on the security level of the overall configuration.
In this case, a separate tier of web servers is implemented with proxies to the WebLogic servers. In most deployments of RWMS, this additional tier of web servers is not a requirement but the terminal servers play a similar functional role in the physical architecture.
The database and application server infrastructure is typically implemented on the same high speed LAN infrastructure as illustrated.
RWMS makes exclusive use of BIP for reporting and printing. The product uses BIP as the first stage of a print rendering pipeline that outputs XML documents to consuming devices or applications.
The BIP tools are therefore the focus of queries to the RWMS schema and it is recommended that third party printing solutions consuming BIP XML outputs avoid making direct queries to the DB themselves as this results in un-manageable complexity in the solution.
The following block diagram outlines the high level sequence of operations for a print request in RWMS.
The main characteristics of the sequences can be summarized as follows:
The user presses a print button, function key, or performs some other action through the Forms user interface in either a mobile or desktop screen. RWMS then acquires some standard parameters such as the logical name of the report, selected printer name, warehouse ID and the print label group number.
Using these request parameters, RWMS constructs a report request and routes the request using an HTTP request to the pre-configured Reporting Tool URL (which points to the BI Publisher installation URL).
BI Publisher identifies the report and queries the database accordingly. It then formats the data and sends the report to a destination (in this case, a logical name of a printer that is pre-configured on BI Publisher). The internal BIP scheduler may also be configured to automatically invoke reports based on timed schedules that are configurable by the user.
BI Publisher then populates the output XML and applies filters before forwarding the output to the appropriate destination. Any print failures are reported on BI Publisher's scheduler log.
The XML output from BIP serves as a clear point of demarcation between RWMS and third party printing solutions. RWMS ships with predefined BI report templates that may be modified by customers to meet their own specific needs. Modifications to these templates will result in different XML output documents that the third party printing solution must also adapt.
The RWMS printing solution may be used in conjunction with Zebra Technologies barcode printing software and hardware offerings. The ZebraLink Enterprise Connector Printing Solution enables convenient, accurate barcode and radio frequency identification label printing.
It is important to note that ZEC is a third-party software component that does not come packaged with RWMS. It is also important to note that upon installation and licensing of ZEC, the label templates required for base functionality are already available for download from Zebra Technologies.
When using the ZebraLink Enterprise Connector, RWMS's BIP component forwards report requests to Zebra label and LAN/Shared barcode printers that support ZPL. The ZebraLink Enterprise Connector has the ability to parse and interpret the XML passed to it by BIP. Label formats supporting various applications can be loaded into the Zebra Enterprise Connector's ZPL repository, facilitating XML printing from Oracle BI Publisher.
The rendering pipeline between RWMS's BIP components and ZEC is illustrated below and shows the relationship between the BIP and RWMS templates.
The main characteristics of the pipeline can be summarized as follows:
The BIP are responsible for invoking the appropriate SQL or RWMS stored procedures according to the report being requested.
The XML output from the BIP component is a clear demarcation point between Zebra components and RWMS.
The output XML document is consumed by the ZEC which applies the corresponding ZPL template to the XML to render the final output for the printer
The output is spooled to the standard operating systems print spooler.