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.
Term | Description |
---|---|
EJB | Enterprise Java Beans |
IOM | The abbreviation for Intershop Order Management |
JMS | Java Message Service |
JNDI | Java Naming and Directory Interface |
OMS | The abbreviation for Order Management System, the technical name of the IOM |
OMT | The abbreviation for Order Management Tool, the graphical management tool of the IOM |
REST | Representational State Transfer |
SMTP | Simple Mail Transfer Protocol |
SOAP | Simple Object Access Protocol |
Spring MVC | A Web Framework implementing the Model-View-Controller Pattern |
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:
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.
As application server, the open source project Wildfly is used.
For further information please see https://docs.jboss.org/author/display/WFLY9/Documentation.
The following table gives an overview about the given directory structure of the IOM.
Major Path | Directory | Description |
---|---|---|
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/oms | Symlink to configuration | |
var -> /var/opt/oms | Symlink 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 | |
customization | XML, ear, war files of current project |
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.
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.
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.
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)
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:
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.
The application Control is responsible for all processes that should be triggered periodically (scheduled).
Scheduled processes are for example:
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.
The IOM requires one database which stores all data of the application.
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.
All data of the application spread across several database schemas, according to the purpose of data.
This contains data for:
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.
Internal mails are sent, e.g., in case of not handleable exceptions within the business processing.
External mails are for example mails to customers regarding orders, delivery or return confirmation.
The PDF Host is used to transfer documents like delivery notes, return labels, invoices, credit notes, and so on.
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.
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.