Guide - Intershop Order Management - Technical Overview (2.0 - 2.1)

1 Introduction

The Intershop Order Management System (IOM) as a middle-ware for e-commerce combines the order processes used in all various channels. It takes incoming orders from all available channels and connects them with selected order fulfillment processes. Depending on configurations, these processes are individually managed for each combination of channels. In addition, it provides the customers with greater transparency on product availability, order status, and returns. Thus, it supports call center employees, warehouse employees, and business managers in their respective work-field.

This guide gives a technical overview about the Intershop Order Management System as well as the applied technical concepts and latest technology updates.

The main target group of this document are system administrators.

1.1 Glossary

Term
Description
EJBEnterprise Java Beans
IOMThe abbreviation for Intershop Order Management
JMS

Java Message Service

JNDIJava Naming and Directory Interface
OMSThe abbreviation for Order Management System, the technical name of the IOM
OMTThe abbreviation for Order Management Tool, the graphical management tool of the IOM
RESTRepresentational State Transfer
SMTPSimple Mail Transfer Protocol
SOAPSimple Object Access Protocol
Spring MVCA Web Framework implementing the Model-View-Controller Pattern

1.2 References

2 Architecture Overview

The Intershop Order Management System basically consists of applications running on one or more application servers. If preferred, applications can be distributed over frontend and backend servers.

Additional components are:

  • One database to store all data of the application
  • FTP-hosts to manage import/ export, media files e.g product images, and document files, e.g., customer invoice documents
  • a SMTP mail server to send emails

The following image showing an exemplary architecture of the Intershop Order Management System excluding external applications.

The cloud as external applications represents shops and suppliers as well as payment service providers or accounting systems and more.

OMS system

2.1 Further Notes

  • XSLT files are required by the backend-app-server to generate documents on-the-fly
  • Frontend-servers need access to PdfHost to show PDF-documents within OMT (e.g., invoice)
  • Backend-server needs access to PdfHost to store PDF-documents on it (e.g., invoices)
  • Backend-server needs access to PdfHost to push PDF-documents to stores/ suppliers via sftp

3 Application Server

As application server, the open source project Wildfly is used.

For further information please see https://docs.jboss.org/author/display/WFLY9/Documentation.

3.1 Directory Structure

The following table gives an overview about the given directory structure of the IOM.

Major PathDirectoryDescription
opt/oms/application/XML, ear, war files of IOM standard product

bin/Programs and scripts to run and operate IOM

doc/Documentation

lib/Additional libraries required to run IOM (currently jdbc driver only)

data/Initial data

wildfly -> wildfly-<version>Symlink to wildfly. Symlink is used in installation.properties to define the wildfly location.

wildfly-<version>/Wildfly installation. Since we do not require a specific version (only major version is fixed), the wildfly version may differ in different installations.

etc -> /etc/opt/omsSymlink to configuration

var -> /var/opt/omsSymlink to variable data
etc/opt/oms/
Configurations
var/opt/oms/log/Location for log-files

xslt/Xsl templates to generate documents and customer mails on-the-fly (backend-server)

importarticle/Import/ export of all kind of data (products, stocks, dispatches, returns)

communication/Exchange of data, e.g., for orders.xml

mediahost/Media data, e.g., product images

pdfhost/PDF documents created by the backend-server, e.g., invoices, credit notes, delivery notes

jobs/Reserved for projects, working files and archived files for scheduled jobs for projects

customizationXML, ear, war files of current project

4 Applications

There are several applications running on the application server. Task to be taken by the applications include, among others basic functionality, processing of defined business processes, communication with external applications as well as the graphical user interaction. All applications are implemented in Java.

The following list gives an overview about all applications of the IOM.

4.1 Messaging of Applications

Messaging ensures loosely coupling of components. It allows the communication between different components of a distributed application to be loosely-coupled , reliable, and asynchronous.

For this purpose JMS messaging is used across various applications and it allows the IOM to be deployed on several distributed application servers, as mentioned in Architecture Overview.

4.2 Application Base

The application Base contains the essential (and crucial) functionality of the IOM and it provides several functionalities used by the other applications.

It must be deployed on every application server where one of the other applications are deployed.

4.3 Frontend Applications

4.3.1 Order Management Tool (OMT)

The application OMT is the standard graphical user interface of the Intershop Order Management System.

It can be used to manage the IOM in a more comfortable way using a common internet browser. This tool provides functionality to manage customers, items, and orders. Due to the sensible data, a login is needed. For this purpose, the OMT comes with a user and role management.

It will be deployed on the front end application server.

For frontend functionality, the application uses several frameworks e.g., Bootstrap, jQuery, and further more.

The backend of the OMT is based on frameworks such as Spring, Spring MVC, and Hibernate.

OMT exclusively communicates with the application Base which must be running in the same application server. (Therefore EJB and JNDI is used to link OMT with Base)

4.3.2 Communication

The application Communication is responsible to handle communication with external applications. Intended external applications are mostly shops and suppliers. Offered services include a general order handling, return management, stock reservation, and more. Services are offered as SOAP and REST.

For further information see:

4.4 Backend Applications

4.4.1 Process

The application Process contains message-driven beans and it is the starting point of the business processes of the IOM.

Typical business processes are the announcement of an order, routing of ordered articles to one or more suppliers, creation of invoice documents, or creation of payment notifications.

4.4.2 Control

The application Control is responsible for all processes that should be triggered periodically (scheduled).

Scheduled processes are for example:

  • continue processing of business objects in abnormal state
  • import and export

4.4.3 Impex

The application Impex is responsible for the import and export of selected business objects.

Impex can be used to exchange data with the connected actors as required. Possible business objects can be orders, customers, or products, for example.

5 Database

The IOM requires one database which stores all data of the application.

5.1 PostgresSQL

The open source project PostgresSQL is used as the database management system for the IOM.

For further information please refer http://www.postgresql.org/docs/9.5.

5.2 Data

All data of the application spread across several database schemas, according to the purpose of data.

This contains data for:

  • Business objects such as orders, customers, products, and channels
  • Configurations of business processes
  • Graphical user interface
  • Testing

6 Mail Server

A SMTP server needs to be configured on each application server to send different kinds of mail types.

General mail properties can be configured in cluster.properties.

6.1 Internal Mails

Internal mails are sent, e.g., in case of not handleable exceptions within the business processing.

6.2 External Mails

External mails are for example mails to customers regarding orders, delivery or return confirmation.

7 FTP Server

7.1 PDF Host

The PDF Host is used to transfer documents like delivery notes, return labels, invoices, credit notes, and so on.

7.2 Media Host

The Media Host is used to transfer article media data like images. Also it will be used to import and export of article data in general.

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets