Chapter 6. Enterprise Messaging and File Backbone pattern 235
Customers using FTP list the following problems:
FTP-based designs do not generally handle network or other errors well. Large file
transfers that are interrupted often cannot be resumed. FTP is not transactional, so
sending a set of files in an all-or-nothing way is not done easily.
Because FTP deals in basic file units, it cannot know easily that a file transfer is
incomplete and cannot recover and restart the transfer.
FTP often requires user IDs and passwords, which are typically sent in clear-text form over
Limited audit control
Typically, an FTP-based transfer cannot be monitored, logged, or audited easily.
FTP in the past has generally been used by existing applications, which were not engineered
to meet the demands of today’s businesses. Automation, security, administration, compliance,
and adaptability were never concerns with FTP in the past. Organizations today strive to keep
up with their day-to-day business requirements and meet their service-level agreements
6.1.2 Problem scenario
ITSO Enterprise was introduced as a fictional organization in Chapter 1, “Introduction” on
page 1. ITSO Enterprise has been a centennial organization and has multiple stores
throughout the country. For demonstration purposes, we limit the number of stores to three.
Store and warehouse location for ITSO Enterprise
ITSO Enterprise stores are located in three cities in the US:
Store in Atlanta (Store ID = ITSOATL)
Store in Chicago (Store ID = ITSOCHI)
Store in NewYork (Store ID = ITSONEW)
Apart from these stores, ITSO Enterprise also has a warehouse, which is located in a
centrally accessible location from all the stores. Figure 6-1 on page 236 maps the stores and
236 Smart SOA Connectivity Patterns: Unleash the power of WebSphere Connectivity Portfolio
Figure 6-1 ITSO Enterprise warehouse and stores
Inventory application in the stores and the warehouse
At end of each business day, the ITSO Enterprise stores evaluate their sales and current
inventory. It is the responsibility of the warehouse to fulfill the requirements of the stores,
based on the current inventory and the forecasted sales. To handle the inventory, the ITSO
Enterprise stores send their actual inventory counts everyday to the warehouse.
Eventually, the ITSO Enterprise warehouse determines how much inventory to send to the
stores and creates new orders for the external suppliers. The ITSO Enterprise stores use
native FTP applications for sending files from the stores to the warehouse, as shown in
Figure 6-2 on page 237.
Chapter 6. Enterprise Messaging and File Backbone pattern 237
Figure 6-2 ITSO Enterprise traditional file transfer implementation
What happens at the stores
After an ITSO Enterprise store closes for business, the store operator runs a back-end
process to evaluate the sales and generates a daily inventory report. The generated inventory
reports must be sent before 12:00 a.m. everyday. After the report is generated, the store
operator uses an FTP client to send the files to the ITSO Enterprise warehouse FTP server.
What happens at the warehouse
The ITSO Enterprise warehouse receives inventory reports from all of the ITSO Enterprise
stores, at a common location in the FTP server. Each day after midnight, the warehouse
operator collects all the reports and runs a concatenation program to generate an all-store
inventory report. Later, the warehouse operator archives a copy of the same report and also
moves the original report to another location on the file system, so that it can be used by
another application to make decisions about new orders, fulfillment requirements at the
stores, and scheduling the deliveries.
Problems faced by ITSO Enterprise
The ITSO Enterprise stores and warehouse face various problems with the current setup of
The FTP application in the stores is unable to determine whether the transferred reports
were successful or still in progress. There is not a way for ITSO Enterprise to monitor the
The file transfer logs are not maintained for audit.
In the case of a problem during file transfer, the application does not restart the transfer.