Salesware System Architecture and Specifications : Middleware
 
Middleware
 
Each hardware installation is different; there is not a single generic answer for all hardware installations. This section is intended to give a few basic guidelines.
For twenty salespoints or less, the middleware can be run on the database server. Be sure to include any SysManager or ReportManager stations as salespoints in this calculation. For more than twenty salespoints, a separate middleware server is used. That server adheres to the following requirements. In addition, a common strategy to increase middleware response is to partition middleware components across multiple servers.
 
Example:
SalesEZ application can be deployed on one server while BookEZ application is deployed on another. Using this approach, each server adheres to the following requirements.
 
Module
Component
Requirements
 
 
Pool/SalesEZ or Pool/BookEZ
Operating system
Windows Server 2012 / 2008/ 2003
Processor
Multi-core / 1 core per 20 connections
Memory
4 GByte
Free Disk Space
20 GByte
Display
1024 x 768
Network
100/1000 Mbit Ethernet
Notes
Middleware computers ideally are located on the same very fast network as the SQL Server.
 
Note: If you use ScanMan and/or GateKeeper modules, a separate Pool/SalesEZ application is used for those devices so they do not compete for CPU time with regular salespoints.
 
For larger installations, we feel that having roughly twenty connections per CPU core are the maximum saturation. Some clients have a higher ratio, but to find the magic number requires knowing what kind of transactions a typical. For instance, extensive use of Max4Sale capability forces you to keep a lower ratio. You may be able to increase this number with experimentation, but be aware that the risk is slowing down the response times of your salespoints.
 
Note: for the purpose of calculating the number of connections, you must add SalesEZ and BookEZ connections together. Therefore, a single salespoint with bookings enabled connecting to a single middleware server counts as two connections.
 
Example:
There is an installation of forty-five salespoints and five GateKeeper instances. Eighteen of the salespoints also do bookings. For this install, you have at least three (or better yet four) cores doing the work. One instance of Pool/SalesEZ application using two or three CPU cores for the forty-five salespoints, a second instance of Pool/ SalesEZ application using one CPU core for the five GateKeeper instances and a third instance of Pool Service running BookEZ application using a single CPU core for the fifteen Bookings stations. With these numbers, it works out that you could run all of these on a single Quad-core box. If you were using virtual computers, we suggest having one VM with three cores running the two Pool/SalesEZ application installs and a second VM with a single core running Pool/BookEZ application. If there were ten GateKeeper instances instead of five, we suggest placing Pool/SalesEZ instance on its own computer with its own single core.
 
Example:
Multisite installation: Three sites with ten salespoints each with no bookings. On the surface, it might appear that a single core might be able to handle the load. Thirty per core is above our recommendation, but, plausible in some cases. However, with three sites, we would recommend that each site be given its own Pool/SalesEZ application on its own core. The reasons are for trouble-shooting. If one site is having trouble, but the other two sites are fine, it is easier to isolate issues when the sites are not sharing a single Pool/SalesEZ application installation.
 
Important: Siriusware Inc. recommends that your Middleware server be placed on a battery backup system (UPS) capable of lasting at least forty-five minutes. This ensures that your operation continues to run smoothly when you experience power issues.