SlideShare a Scribd company logo
1 of 82
Download to read offline
Athens Information Technology


Thesis: Implementation of Warehouse
         Management System


     Student: Anwar Al Bayali


  Supervisor: Prof. John Soldatos
 Co-supervisor: Nikolaos Kefalakis




                  1
Index

1. Introduction

   1.1. Warehouse Management System…………………………………… 4
   1.2. Warehouse’s Processes……………………………………………... 5
   1.3. Importance of Warehouse Management System………………….... 6
   1.4. Objective of Thesis……………………………………………......... 9

2. State of the Art

   2.1. WarehouseNet……………………………………………………..... 9
   2.2. Sales & Inventory Control System...………………………………. 10
   2.3. Enterprise 21 ERP…………………………………………………. 11
   2.4. EasyWMS…………………………………………………………. 12
   2.5. KIMATRA WMS…………………………………………………. 13

3. System Design

   3.1. Database Design

      3.1.1. WareHouse Manager – ERR Diagram……………………… 15
      3.1.2. WareHouse Manager’s Tables………………………………. 16

   3.2. Classes Design…………………………………………………….. 17

4. Implementation

   4.1. Technology

      4.1.1. MSQL Workbench…………………………………………... 22
      4.1.2. Adobe Dreamweaver………………………………………... 23
      4.1.3. JavaServer Pages (JSP)……………………………………… 25

   4.2. SQL Scripts………………………………………………………... 26
   4.3. Deploying WareHouse Application……………………………...... 30
   4.4. WareHouse Manager – System’s GUI

      4.4.1. Login………………………………………………………… 31


                              2
4.4.2. Crud Users…………………………………………………... 32

    4.4.3. Crud Warehouses……………………………………………. 35
    4.4.4. Crud Items Category………………………………………… 40
    4.4.5. Crud Units…………………………………………………… 45
    4.4.6. Crud Items…………………………………………………... 50
    4.4.7. Crud Suppliers………………………………………………. 55
    4.4.8. Crud Customers……………………………………………... 60
    4.4.9. Crud Receivables……………………………………………. 65
    4.4.10. Crud Deliverables………………………………………….. 70
    4.4.11. Crud Movables……………………………………………... 75
    4.4.12. Crud Shipments…………………………………………….. 76

5. Evaluation of WareHouse Manager………………………………… 80

6. Conclusion…………………………………………………………….. 81

7. References…………………………………………………………….. 82




                        3
1. Introduction
  1.1. Warehouse Management System:

  A warehouse management system (WMS) is a software application that
  supports the day-to-day operations in a warehouse. WMS programs
  enable centralized management of tasks such as tracking inventory levels
  and stock locations. WMS systems may be standalone applications or
  part of an Enterprise Resource Planning (ERP) system.

  Early warehouse management systems could only provide simple storage
  location functionality. Current WMS applications can be so complex and
  data intensive that they require a dedicated staff to run them. High-end
  systems may include tracking and routing technologies such as Radio
  Frequency Identification (RFID) and voice recognition.

  No matter how simple or complex the application is, the goal of a
  warehouse management system remains the same -- to provide
  management with the information it needs to efficiently control the
  movement of materials within a warehouse.

  The main activities in any warehouse management system need to be
  able to do the following:

     • Record receipt of inventory
     • Record shipment of inventory
     • Stock locator (inbound: where can a piece of inventory be stored
       and outbound: where can I go to pick an inventory item a customer
       ordered)
     • Main Features:

              Receiving
              Cycle Count
              Put Away
              Location Tracking
              Picking
              Packing
              Consolidation
              Space Capacity

                                    4
Shipping
           Replenishment (replenish prime bins from safety stock and
           replenish safety stock from supplier)
           Vendor and Carrier quality compliance
           Trailer Manifesting
           Returns
           Labor Management
           Advanced Slotting


1.2. Warehouse’s Processes

  • Receiving: at the receiving operation, it allows the warehouse to
    schedule receipt and unloading within the warehouse. Product will
    be inspected and any noted exceptions, such as damage, incorrect
    counts, wrong description, and so on.

  • Put-away: The put-away operation physically moves the items
    from receiving location to the storage area of the warehouse. When
    product is put-away, the storage location should also be scanned to
    record where the product has been placed. This information will
    subsequently be used to construct efficient pick-lists to guide the
    order-pickers in retrieving the product for customers.

  • Order-picking: This process requires warehouse personnel to
    select the items ordered by the customer or manufacturing
    operation in the storage area. The order information is given to the
    warehouse personnel on a pick slip. The AS/R process is
    automated storage while retrieval materials –handling system
    would run the picking process, when the order arrives at the
    shipping preparation area, the items would be placed in an exterior
    (shipping) package or on pallet. Then, a shipping label indicating
    the ship-to person/firm and address is attached to the package.
    Finally, the complete customer order is staged for loading into
    transport vehicle.


  • Shipping: The final movement process occurs at the shipping
    operation. Product is likely to be staged if it must be loaded in


                                  5
reverse order of delivery or if shipping long distances. When one
      must work due to the staged freight it must be double handled. The
      trailer is likely to be scanned her to register its departure from the
      warehouse.


1.3. Importance of Warehouse Management System:

WMS is an invaluable tool for improving your organization's
productivity and customer focus. Here is a list of some of the benefits
that you can expect to get.

Customer Service:

   Improved Customer Relationship - WMS aids in providing a
     comprehensive database of customers and their preferences in
     terms of product demand. This information can be effectively
     utilized by Customer Care and Business Development departments
     for Customer Relationship Management.

   Accurate Shipping of Material - The system keeps an intensive
     check of the goods or stock units meant for different customers and
     flash an alarm/warning if the goods meant for one customer are
     mistakenly placed in cartons meant for other.


Productivity:

   • Optimum Utilization of Resources - Automation and
     streamlining of processes ensures that operational bottlenecks are
     eliminated and productivity increases. As a result all resources -
     man, machine, and money are utilized to their optimum level.
     Apart from the system no additional manpower or special
     machinery is required in order to automate the process for an
     efficient and proper handling of the goods.

   • Better Efficiencies - Intensive checks are kept at each and every
     stage which safeguards against possibilities of errors in inventory
     records. As the items are systematically stored and retrieved, no
     time is wasted in searching for items not in stock and more than

                                   6
one order can be processed at any given time. This results in the
     increase of efficiencies, eliminating wastage of time due to errors.

  • Better Productivity Monitoring - By keeping track of the
    operator's and staffs' activities, their productivity can be monitored.
    This aspect is of particular importance in case of productivity
    based remuneration schemes.

  • Multiple Order Processing - More than one order can be
    processed at any given time helping in better resource utilization.


Costs:

  • Low inventory carrying Cost - The main goal of WMS is
    controlling and streamlining the flow of inventory in a profitable
    and productive manner thus optimizing all resources.

  • Short Payback Period - Payback period of WMS project will be
    very short because we are addressing the warehousing area where
    at-least 60% of organization's working capital is tied. The results
    of such savings are immediate and apparent.

  • Optimal Level of Inventory - In an average business around 60%
    of the working capital is tied down in the inventory; the percentage
    is even higher in trading business. In an ideal situation warehouse
    should maintain optimal level of inventory at any given time
    avoiding both under and over stocking. If the Warehouses are
    overstocked that means excess working capital is tied in inventory
    which is dead money. Under stocking leads to delay in customer
    orders and even cancellation of orders at times. Thus actual picture
    about the inventory status in the Warehouse have valuable
    financial and strategic implications. WMS not only streamlines the
    flow of inventory but also tracks the inventory at various levels of
    processing thereby enabling decision makers to view actual picture
    of inventory at any given time and take appropriate steps.

  • No Extra Skills Required - When deciding for automation, one of
    the major concern of management is that they have to hire


                                  7
technical people at all levels and retrain the existing workforce.
      But in WMS the programs are so designed that no special skills are
      required to operate the system even at lower level. Programs for
      shop floor are specifically designed to run on hand held radio
      frequency terminals and emphasis is on scanner based data
      inputs. Therefore same workforce can very effectively be used for
      implementing WMS.

   • Better Revenue Realization - Companies often loose considerable
     amount of revenue due to:

          excessive / under stocking as explained above
          incorrect tendering due to inaccurate knowledge of available
          stock
          Over / under shipping to customers.
          Wrong consignments.
          Inaccurate billing.
          Delay in order processing leading to order cancellation.

WMS helps in controlling these losses to a large extent.


Transparency & Security:

Improved Transparency - WMS provides diversified all-embracing
reports for almost any plausible aspects of activities and substantiates the
fact that working of Warehouse is made 100% transparent. Each and
every activity can be tracked, reported, monitored and consequently
controlled. These reports are web based and are platform independent
applications. Therefore reports are visible to any one who is willing and
authorized to see. This feature is especially beneficial for multi location
Warehouses and sales offices.

Higher Security - WMS incorporates distinct features for functions to be
performed by Manager or Operators thereby eliminating the chances of
wrong data entry. WMS makes information readily available to only
those who have permission to see it. For example the operators are not
entitled to view the important MIS reports.




                                    8
1.4. Objective of Thesis:

  The main objectives of thesis are:

     • Create a simple WMS (e.g. constructions tools etc.)

     • Create a reliable and secure system.

     • Develop a user friendly Graphical User Interface (GUI).



2. State of the Art

  This section covers state of the art in the filed of Warehouse
  Management Systems.

  2.1. WarehouseNet:

  WarehouseNet is a inventory software for inventory, logistic and
  distribution operation. It is extremely suitable for warehouse operation,
  distribution center, MRP for manufacturer, logistic services and storage
  operation.

  WarehouseNet delivers leftover reports with different grouping, by
  article no, item, brand name, description, supplier and specification,
  FIFO, storage breakdown, storage charges calculation, low level alert and
  stock checking by location.

  WarehouseNet provide export closing stock report for accounting audit
  at the year end to save manpower and time to re-type by excel, expiry
  date alert avoid expires and waste of day limited items. The storage days
  report is reduced the storage day and hence minimizes depreciation
  percent.

  Reports on all stock-in and stock-out movement grouping by item,
  customer, brand name, supplier, delivery order, recipient and job order.
  This is used to act as an audit checking against supplier deliveries and
  customer invoice amount or quantity.


                                       9
Figure 1 - WarehouseNet



2.2. Sales & Inventory Control System:

Inventory Control System is personal WMS software designed by Mr.
Mohammad Turkey which is suitable for small warehousing businesses,
this system has three main transactions editing items, receiving and
selling items.




               Figure 1 - Sales & Inventory Control System




                                   10
2.3. Enterprise 21 ERP:

Enterprise 21 includes complete, state-of-the-art warehouse management
functionality that supports standard processes such as receiving, putaway,
picking, replenishment, and shipping. The warehouse management
functionality manages both single and multi-warehouse operations with
transactions being performed both by keyboard and handheld and
forklift-mounted RF-enabled barcode scanning devices. The warehouse
management functionality is fully-integrated with the complete
Enterprise 21 ERP suite, including purchasing, manufacturing, inventory,
and financial management to provide a complete end-to-end solution for
manufacturing and distribution organizations.

While optimized picking can be performed with traditional paper-based
processes, greater productivity can be derived through Enterprise 21’s
directed picking and paperless task-interleaving processes. Enterprise 21
manages and tracks the complete flow of material through the entire
organization, from receipt and putaway of material, through production
and kitting, and eventual picking, packing, and shipping to customers
with complete lot traceability and serialization tracking. Enterprise 21
also automates the management of other warehouse operations such as
physical and cycle counts, vendor returns, license plating, and labor
allocation and optimization.

Enterprise 21 ERP software provides the tools necessary for efficient and
productive manufacturing and distribution operations. With Enterprise
21, organizations can improve their inventory accuracy, inventory turns,
and customer service.




                    Figure 1 – Enterprise 21 ERP Logo




                                   11
2.4. EasyWMS

A key part of the supply chain, Easy WMS is warehouse management
software designed to provide control of the movement and storage of
goods in a warehouse. With the ability to process transactions including
shipping, receiving, stocking and picking, Easy WMS is a real solution
for any company, large or small.




                         Figure 1 – EasyWMS Logo

Improve ROI, increase productivity and save on expenses by
implementing the warehouse management software that has the
demonstrated ability to provide total location management. Complete
control over order preparation and operator productivity saves time,
improves the quality of service provided and reduces shipping errors.

Advantages

   • Increased Technical support and remote assistance available 24
     hours a day, 7 days a week, 365 days a year.
   • Full Drastic reduction in costs incurred due to expiration or
     unknown losses.
   • Real time warehouse status provided through graphic imaging.

The Interlake Mecalux Easy WMS has different levels of functionality
which allows the software to adapt to the specific needs of each
installation depending on the degree of complexity and automation of the
warehouse. Due to this flexibility, it can also adapt easily to business
growth or new processes and volumes.




                                  12
2.5.   KIMATRA WMS

KIMATRA WMS is a powerful, easy-to-use, web-based Warehouse
Management System designed to increase the productivity and inventory
accuracy of warehouses and distribution centers. It supports real-time
data collection and validation ensuring invetory information is always
accurate and up-to-date. It operates well as a stand-alone system or it can
work in conjunction with existing enterprise systems.




                        Figure 1 – KIMATRA Technologies

The KIMATRA WMS enables you to see where inventory is or will be
available, optimize fulfillment and distribution processes to ensure that
products are delivered on time and in full, consistently. The result:
improved supply chain management with end-to-end fulfillment from
order inception to delivery.

It gives managers robust planning, execution and measurement tools and
brings operational discipline to complex operations. By leveraging the
SOA architecture it enables a multi-enterprise collaboration strategy, and
provides improved visibility and communications between business
partners.

KIMATRA WMS is cost-effective software solutions that helps automate
the entire warehousing process and offers a systematic approach of
receive, put away, storage and shipping processes.

       •   Reduce inventory 5 to 20%
       •   Increase labor productivity 15 to 40%
       •   Improve shipping accuracy 2 to 5%
       •   Increase inventory accuracy 99+% at location level
       •   Boost perfect order rates

                                      13
• Reduce direct operating costs and increase overall revenue

Designed specifically to serve the changing needs of today’s
business,KIMATRA WMS provides the same benefits as much larger
and more expensive software systems but remains much easier to
use,faster to deploy and a easy to maintain.

KIMATRA WMS possesses the tools, the technology and the
functionality to help you streamline your operational processes, control
inventory, reduce paperwork while complying with audit regulations. It is
an advanced WMS software solution for manufacturing, distribution, and
retail enterprises and third-party logistics providers (3PLs) that can be
used by enterprising organizations of all sizes. It helps companies
maximize product placement strategies, prioritize tasks, implement fair
productivity standards, and increase logistics efficiency.

KIMATRA WMS also provides capability to cater to an integrated multi-
site operating environment; the system offers support of multi-warehouse
stock management through simplified processes and allows the various
operations to be viewed as a single consolidated operating entity to
external entities.




                                 14
3. System Design
  3.1. Database Design:

  This section covers the design of the database including EER Diagram & a brief description about the Tables that used in the system.

      3.1.1.   Warehouse Manager – EER Diagram:




                                                                    15
Figure 1 – EER Diagram of WareHouse Manager


3.1.2. Tables:

• Users:
  Users table is responsible for storing the information about
  Administrators and Users of the system.

• Warehouses:
  Warehouses table is responsible for storing the information about
  Warehouses.

• Items:
  Items table is responsible for storing the information about Items.

• Items Category:
  Items Category table is responsible for storing the information
  about the Categories that classifies Items (e.g. TV, Computer etc)

• Units:
  Units table is responsible for storing the measurement units of
  Items.

• Receivables:
  Receivables table is responsible for storing the information about
  Receiving Invoices.

• Deliverables:
  Deliverables table is responsible for storing the information about
  Selling Invoices.

• Suppliers:
  Suppliers table is responsible for the storing the information about
  Suppliers.

• Customers:
  Customers table is responsible for the storing the information
  about Customers.



                               16
• Transactions:
     Transactions table is responsible for storing all transactions of
     Receiving, Selling and Moving Items.

   • Shipments:
     Shipments table is responsible for storing the information about
     Shipments Orders.


3.2. Classes Design:

This section covers the design of system’s Classes that used in
programming the system; all the Classes are stored in Package
(warehouse).

Classes are the communication link between business logic & database.

• Class dbcon: establishes database connection.
• Class loginUser: checks of a user have privilege to access the
  system.
• Class validation_manager: checks for valid numeric values & email
  addresses.
• Class CryptoUtil: encrypts & decrypts user’s password.

• Class user: returns a user object.
• Class user_manager: this class has the following methods:

   InserUser ( ): creates a new user.
      GetAllUsers ( ): returns arraylist of user object.
      GetUser ( ): returns a specific user according to a given ID.
      UpdateUser ( ): updates the information about existing user.
      DeleteUser ( ): deletes the information of existing user.

• Class warehouse: returns a warehouse object.
• Class warehouse_manager: this class has the following methods:

      InserWarehosue ( ): creates a new warehouse.
      GetAllWarehouses ( ): returns arraylist of warehouse object.



                                  17
GetAllWarehousesByName ( ): returns arraylist of warehouse
     object according to a given name.
     GetWarehouse ( ): returns a specific warehouse according to a
     given ID.
     GetWarehouseName ( ): returns the name of specific warehouse
     according to a given ID.
     UpdateWarehouse ( ): updates the information about existing
     warehouse.
     DeleteWarehouse ( ): deletes the information of existing
     warehouse.

• Class item_category: returns an item category object.
• Class item_category_manager: this class has the following
  methods:

     InserItemCategory ( ): creates a new item category.
     GetAllItemsCategory ( ): returns arraylist of items category
     object.
     GetAllItemsCategoryByName ( ): returns arraylist of items
     category object according to a given name.
     GetItemCategory ( ): returns a specific item category according
     to a given ID.
     GetItemCategoryName ( ): returns the name of specific item
     category according to a given ID.
     UpdateItemCategory ( ): updates the information about existing
     item category.
     DeleteItemCategory ( ): deletes the information of existing item
     category.

• Class unit: returns a unit object.
• Class unit_manager: this class has the following methods:

     InserUnit ( ): creates a new unit.
     GetAllUnits ( ): returns arraylist of unit object.
     GetAllUnitsByName ( ): returns arraylist of unit object according
     to a given name.
     GetUnit ( ): returns a specific unit according to a given ID.
     GetUnitName ( ): returns the name of specific unit according to a
     given ID.
     UpdateUnit ( ): updates the information about existing unit.

                                18
DeleteUnit ( ): deletes the information of existing unit.

  • Class item: returns an item object.
  • Class item_manager: this class has the following methods:

        inserItem ( ): creates a new item.
        GetAllItems ( ): returns arraylist of item object.
        GetAllItemsByName ( ): returns arraylist of item object
        according to a given name.
        GetItem ( ): returns a specific item according to a given ID.
        GetItemName ( ): returns the name of specific item according to
        a given ID.
        UpdateItem ( ): updates the information about existing item.
        DeleteItem ( ): deletes the information of existing item.

  • Class supplier: this class has the following methods:
  • Class supplier_manager: this class has the following methods:

        InsertSupplier ( ): creates a new supplier.
        GetAllSuppliers ( ): returns arraylist of supplier object.
        GetAllSuppliersByName ( ): returns arraylist of supplier object
        according to a given name.
        GetSupplier ( ): returns a specific supplier according to a given
        ID.
        GetSupplierName ( ): returns the name of specific supplier
        according to a given ID.
        UpdateSupplier ( ): updates the information about existing
        supplier.
        DeleteSupplier ( ): deletes the information of existing supplier.

• Class customer: returns a customer object.
• Class customer_manager: this class has the following methods:

        InsertCustomer ( ): creates a new customer.
        GetAllCustomers ( ): returns arraylist of customer object.
        GetAllCustomersByName ( ): returns arraylist of customer
        object according to a given name.
        GetCustomer ( ): returns a specific customer according to a given
        ID.


                                    19
GetCustomerName ( ): returns the name of specific customer
     according to a given ID.
     UpdateCustomer ( ): updates the information about existing
     customer.
     DeleteCustomer ( ): deletes the information of existing customer.

• Class receivable: returns a receivable invoice object.
• Class receivable_manager: this class has the following methods:

     InsertReceivableInvoice ( ): creates a new receivable invoice.
     GetAllReceivableInvoices ( ): returns arraylist of receivable
     invoice object.
     GetReceivableInvoice ( ): returns a specific receivable invoice
     according to a given invoice no.
     UpdateReceivableInvoice ( ): updates the information about
     existing receivable invoice.
     DeleteReceivableInvoice ( ): deletes the information of existing
     receivable invoice.

• Class deliverable: returns a deliverable invoice object.
• Class deliverable_manager: this class has the following methods:

  InsertDeliverableInvoice ( ): creates a new deliverable invoice.
  GetAllDeliverableInvoices ( ): returns arraylist of deliverable
     invoice object.
  GetDeliverableInvoice ( ): returns a specific deliverable invoice
     according to a given invoice no.
  UpdateDeliverableInvoice ( ): updates the information about
     existing deliverable invoice.
  DeleteDeliverableInvoice ( ): deletes the information of existing
     deliverable invoice.

• Class transaction: returns a transaction object.
• Class transaction_manager: this class has the following methods:

     InsertTransaction ( ): adds items on a specific receivable
     invoice.
     GetAllTransactions ( ): returns the items that belong to a specific
     receivable invoice according to a given invoice no.


                                20
CheckBeforeDeleteTransaction (): checks if the selected item
     belongs to a deliverable invoice or not.
     DeleteTransaction ( ): deletes the selected item from a specific
     receivable invoice.
     CheckBeforeDelTransaction ( ): checks if the number of
     required items is available in a specific warehouse.
     CheckBeforeMoveTransaction ( ): checks if the number of
     required items is available in a specific warehouse.
     UpdateDelTransaction ( ): adds items on a specific deliverable
     invoice.
     UpdateMoveTransaction ( ): moves number of items from one
     warehouse to another.
     GetAllDelTransactions ( ): returns the items that belong to a
     specific deliverable invoice according to a given invoice no.
     DeleteDelTransaction ( ): deletes the selected item from a
     specific deliverable invoice.
     GetAllAviItem ( ): returns all the available items in the
     warehouses.
     GetAllAviItemByItem ( ): returns all the available items in the
     warehouses according to a given item.
     GetAllAviItemByWarehouse ( ): returns all the available items
     according to a given warehouse.

• Class shipment: returns a shipment object.
• Class shipment_manager: this class has the following methods:

     InsertShipment ( ): creates a new shipment order.
     GetAllShipments ( ): returns arraylist of shipment object.
     IsExist ( ): checks if a delivering invoice is valid or not.
     GetShipmentDetails ( ): returns the details of a specific shipment
     order.
     GetShipment ( ): returns the information about existing shipment
     order according to a given shipment no.
     UpdateShipment ( ): updates the information about existing
     shipment order.
     DeleteShipment ( ): deletes the information of existing shipment
     order.




                                21
4. Implementation
 4.1. Technology

   4.1.1. MySQL Workbench

   MySQL Workbench is a visual database design tool that integrates
   SQL development, administration, database design, creation and
   maintenance into a single, seamless environment for the MySQL
   database system.




                    Figure 1 – MySQL Workbench Logo

   Features

   Prominent features of MySQL Workbench 5.2 are:

      • General

              Database Connection & Instance Management
              Wizard driven action items
              Fully scriptable with Python and Lua
              Support for custom plugins

      • SQL Editor

              Schema Object browsing
              SQL Syntax Highlighter and Statement Parser
              Multiple-, editable Result Sets
              SQL Snippets Collections
              SSH Connection Tunneling

                                  22
Unicode Support

   • Data Modeling

           ER Diagramming
           Drag'n'Drop visual modeling
           Reverse Engineering from SQL Scripts and Live Database
           Forward Engineering to SQL Scripts and Live Database
           Schema Synchronization
           Printing of Models
           Import from fabFORCE.net DBDesigner4

   • Database Administration

      1.   Start & Stop of Database Instances
      2.   Instance Configuration
      3.   Database Account Management
      4.   Instance Variables Browsing
      5.   Log File Browsing
      6.   Data Dump Export/Import


4.1.2. Adobe Dreamweaver

Adobe Dreamweaver (formerly Macromedia Dreamweaver) is a web
development application originally created by Macromedia, and is
now developed by Adobe Systems, which acquired Macromedia in
2005.

Dreamweaver is available for both Mac and Windows operating
systems. Recent versions have incorporated support for web
technologies such as CSS, JavaScript, and various server-side
scripting languages and frameworks including ASP, ColdFusion, and
PHP.




                               23
Figure 1 – Dreamweaver Logo

Features

Dreamweaver allows users to preview websites in locally installed
web browsers. It provides transfer and synchronization features, the
ability to find and replace lines of text or code by search terms and
regular expressions across the entire site, and a templating feature that
allows single-source update of shared code and layout across entire
sites without server-side includes or scripting. The behaviours panel
also enables use of basic JavaScript without any coding knowledge,
and integration with Adobe's Spry AJAX framework offers easy
access to dynamically-generated content and interfaces.

Dreamweaver can use third-party "Extensions" to extend core
functionality of the application, which any web developer can write
(largely in HTML and JavaScript). Dreamweaver is supported by a
large community of extension developers who make extensions
available (both commercial and free) for most web development tasks
from simple rollover effects to full-featured shopping carts.

Dreamweaver, like other HTML editors, edits files locally then
uploads them to the remote web server using FTP, SFTP, or
WebDAV.




                                24
4.1.3. JavaServer Pages (JSP)

JavaServer Pages (JSP) technology provides a simplified, fast way to
create web pages that display dynamically-generated content. The JSP
specification, developed through an industry-wide initiative led by
Sun Microsystems, defines the interaction between the server and the
JSP page, and describes the format and syntax of the page.




                 Figure 1 – Microsystems Sun Logo

JSP pages use XML tags and scriptlets written in the Java
programming language to encapsulate the logic that generates the
content for the page. It passes any formatting (HTML or XML) tags
directly back to the response page. In this way, JSP pages separate the
page logic from its design and display.

JSP technology is part of the Java technology family. JSP pages are
compiled into servlets and may call JavaBeans components (beans) or
Enterprise JavaBeans components (enterprise beans) to perform
processing on the server. As such, JSP technology is a key component
in a highly scalable architecture for web-based applications.




                     Figure 2 – JSP Mechanism




                               25
JSP pages are not restricted to any specific platform or web server. The JSP
specification represents a broad spectrum of industry input.


   4.2. SQL Scripts

      • Database Schema:

      CREATE DATABASE `warehouse_management_system`


      Notification:

      To be able to use WareHouse Manager System the Username & Password of
      the Database must be the following:

             Database Username: root
             Database Password: root



      • Database Tables:

         Users Table :

      Notification:

      WareHouse Manager has a default Admin when you run runme.sql script with
      the following Username & Password:

             Username: admin
             Password: 123

      CREATE TABLE `users` (
        `user_id` int(11) NOT NULL AUTO_INCREMENT,
        `user_firstname` varchar(45) DEFAULT NULL,
        `user_lastname` varchar(45) DEFAULT NULL,
        `user_username` varchar(45) DEFAULT NULL,
        `user_password` varchar(200) DEFAULT NULL,
        `user_email` varchar(60) DEFAULT NULL,
        `user_type` int(1) DEFAULT NULL,
        PRIMARY KEY (`user_id`)
      )




                                       26
Warehouses Table :

CREATE TABLE `warehouses` (
  `warehouse_id` int(11) NOT NULL AUTO_INCREMENT,
  `warehouse_name` varchar(100) DEFAULT NULL,
  `warehouse_location` text,
  `warehouse_owner` varchar(100) DEFAULT NULL,
  `warehouse_description` text,
  PRIMARY KEY (`warehouse_id`)
)



   Items Table :

CREATE TABLE `items` (
  `item_id` int(11) NOT NULL AUTO_INCREMENT,
  `item_name` varchar(100) DEFAULT NULL,
  `item_unit` int(11) DEFAULT NULL,
  `item_unit_price` int(11) DEFAULT NULL,
  `item_category_id` int(11) DEFAULT NULL,
  `item_brand` varchar(100) DEFAULT NULL,
  `item_description` text,
  `item_barcode` int(11) unsigned NOT NULL,
  PRIMARY KEY (`item_id`),
  KEY `Item_Category_ID_FK` (`item_category_id`),
  KEY `Item_Unit_ID_FK` (`item_unit`),
  CONSTRAINT `Item_Category_ID_FK` FOREIGN KEY
(`Item_Category_ID`) REFERENCES `items_category`
(`Item_Category_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `Item_Unit_ID_FK` FOREIGN KEY (`item_unit`)
REFERENCES `units` (`unit_id`) ON DELETE NO ACTION ON UPDATE NO
ACTION
)



   Items Category Table :

CREATE TABLE `items_category` (
  `item_category_id` int(11) NOT NULL AUTO_INCREMENT,
  `item_category_name` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`item_category_id`)
)



   Units Table :

CREATE TABLE `units` (
  `unit_id` int(11) NOT NULL AUTO_INCREMENT,
  `unit_name` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`unit_id`)
)




                             27
Suppliers Table :

CREATE TABLE `suppliers` (
  `supplier_id` int(11) NOT NULL AUTO_INCREMENT,
  `supplier_name` varchar(100) DEFAULT NULL,
  `supplier_contact_name` varchar(100) DEFAULT NULL,
  `supplier_address` text,
  `supplier_phone` decimal(15,0) DEFAULT NULL,
  `supplier_fax` decimal(15,0) DEFAULT NULL,
  `supplier_email` varchar(60) DEFAULT NULL,
  PRIMARY KEY (`supplier_id`)
)



   Customers Table :

CREATE TABLE `customers` (
  `customer_id` int(11) NOT NULL AUTO_INCREMENT,
  `customer_name` varchar(100) DEFAULT NULL,
  `customer_contact_name` varchar(100) DEFAULT NULL,
  `customer_address` text,
  `customer_phone` decimal(15,0) DEFAULT NULL,
  `customer_fax` decimal(15,0) DEFAULT NULL,
  `customer_email` varchar(60) DEFAULT NULL,
  PRIMARY KEY (`customer_id`)
)



   Receivables Table :

CREATE TABLE `receivables` (
  `re_invoice` int(11) NOT NULL AUTO_INCREMENT,
  `re_date` varchar(75) DEFAULT NULL,
  `re_supplier` int(11) DEFAULT NULL,
  `re_payment` varchar(75) DEFAULT NULL,
  `re_kind_of_trans` varchar(75) DEFAULT NULL,
  `re_remarke` text,
  PRIMARY KEY (`re_invoice`),
  KEY `Re_Supplier_FK` (`re_supplier`),
  CONSTRAINT `Re_Supplier_FK` FOREIGN KEY (`re_supplier`)
REFERENCES `suppliers` (`supplier_id`) ON DELETE NO ACTION ON
UPDATE NO ACTION
)



   Deliverables Table :

CREATE TABLE `deliverables` (
  `de_invoice` int(11) NOT NULL AUTO_INCREMENT,
  `de_date` varchar(75) DEFAULT NULL,
  `de_customer` int(11) DEFAULT NULL,
  `de_payment` varchar(75) DEFAULT NULL,
  `de_kind_of_trans` varchar(75) DEFAULT NULL,



                             28
`de_remarke` text,
  PRIMARY KEY (`de_invoice`),
  KEY `De_Customer_FK` (`de_customer`),
  CONSTRAINT `De_Customer_FK` FOREIGN KEY (`de_customer`)
REFERENCES `customers` (`customer_id`) ON DELETE NO ACTION ON
UPDATE NO ACTION
)



   Transactions Table :

CREATE TABLE `transactions` (
  `trans_item_barcode` int(11) NOT NULL,
  `trans_item_serial` int(11) NOT NULL AUTO_INCREMENT,
  `trans_item_exist` int(11) DEFAULT NULL,
  `trans_warehouse_id` int(11) DEFAULT NULL,
  `trans_item_id` int(11) DEFAULT NULL,
  `trans_re_invoice` int(11) DEFAULT NULL,
  `trans_item_info` text,
  `trans_re_item_price` int(11) DEFAULT NULL,
  `trans_re_item_discount` int(11) DEFAULT NULL,
  `trans_de_invoice` int(11) DEFAULT NULL,
  `trans_de_item_price` int(11) DEFAULT NULL,
  `trans_de_item_discount` int(11) DEFAULT NULL,
  PRIMARY KEY (`trans_item_serial`,`trans_item_barcode`),
  KEY `Trans_Item_ID_FK` (`trans_item_id`),
  KEY `Trans_Re_Invoice_FK` (`trans_re_invoice`),
  KEY `Trans_Warehouse_ID_FK` (`trans_warehouse_id`),
  KEY `Trans_De_Invoice_FK` (`trans_de_invoice`),
  CONSTRAINT `Trans_De_Invoice_FK` FOREIGN KEY
(`trans_de_invoice`) REFERENCES `deliverables` (`de_invoice`) ON
DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `Trans_Item_ID_FK` FOREIGN KEY (`trans_item_id`)
REFERENCES `items` (`item_id`) ON DELETE NO ACTION ON UPDATE NO
ACTION,
  CONSTRAINT `Trans_Re_Invoice_FK` FOREIGN KEY
(`trans_re_invoice`) REFERENCES `receivables` (`re_invoice`) ON
DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `Trans_Warehouse_ID_FK` FOREIGN KEY
(`trans_warehouse_id`) REFERENCES `warehouses` (`warehouse_id`)
ON DELETE NO ACTION ON UPDATE NO ACTION
)



   Shipments Table :

CREATE TABLE `shipments` (
  `shi_id` int(11) NOT NULL AUTO_INCREMENT,
  `shi_de_invoice` int(11) DEFAULT NULL,
  PRIMARY KEY (`shi_id`),
  KEY `Ship_De_Invoice_FK` (`shi_de_invoice`),
  CONSTRAINT `Ship_De_Invoice_FK` FOREIGN KEY (`shi_de_invoice`)
REFERENCES `deliverables` (`de_invoice`) ON DELETE NO ACTION ON
UPDATE NO ACTION



                             29
)



4.3. Deploying WareHouse Manager Application

To deploy WareHouse Manager Application you have first to install
GlassFish Enterprise Server 2.1 on your system and do the following
steps:

   1. Run SQL Script "runme.sql"

   2. Copy the war file "WareHouseManager.war" to "server
      pathdomainsdomain nameautodeploy" folder.

   3. Start your web server.

   4. Open "http://localhost:8081/WareHouseManager/" in your browser
      (port number according to the server's configuration).




                  Figure 1 – URL of WareHouse Manager




                                  30
4.4. WareHouse Manager – System’s GUI

  4.4.1. Login




  Pre-Condition:

  o System on.
  o User must have an account (Administrator or User) to be able to access the
    system.

  Post-Condition:

  o User is logged in and redirected to the Main Page.

  Exceptions:

  o If a user enters a not valid Username or Password he/she will get an error
    message.




                                     31
4.4.2. Crud Users
Create Admin/User:




Pre-Condition:

o System on.
o User is logged in as Administrator.

Post-Condition:

o A new Administrator or User will be created.

Exceptions:

o If a user leaves any blank field he/she will get an error message.
o If a user enters a not valid Email Address he/she will get an error message.



                                   32
Delete Admin/User:

Pre-Condition:

o System on.
o User is logged in as Administrator.
o The system must have at least one Administrator or one User.

Post-Condition:

o The selected Administrator or User will be deleted.


Update Admin/User:




Pre-Condition:

o System on.
o User is logged in as Administrator.
o The system must have at least one Administrator or one User.




                                 33
Post-Condition:

o The selected Administrator or User will be updated.

Exceptions:

o If a user leaves any blank field he/she will get an error message.
o If a user enters a not valid Email Address he/she will get an error message.


Search Admin/User:




Pre-Condition:

System on.
User is logged in as Administrator.
The system must have at least one Administrator or one User.

Post-Condition:

The required Administrator or User will be retrieved from the database.

Exceptions:

o If a user does not enter the ID filed he/she will get an error message.



                                    34
o If a user enters a non numeric value in the ID field he/she will get an error
  message.
o If a user enters a not valid ID he/she will get an error message.


4.4.3. Crud Warehouses

Create Warehouse:




Pre-Condition:

o System on.
o User is logged in as Administrator or User.

Post-Condition:

o A new Warehouse will be created.

Exceptions:

o If a user leaves any blank field he/she will get an error message.




                                    35
Update Warehouse:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Warehouse.

Post-Condition:

   o The selected Warehouse will be updated.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.




                                   36
Delete Warehouse:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Warehouse.

Post-Condition:

   o The selected Warehouse will be deleted.

Exceptions:

   o If the selected Warehouse has Foreign Key Dependency in another table
     the user will get an error message.




                                37
Search for a Warehouse by ID:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Warehouse.

Post-Condition:

   o The required Warehouse will be retrieved from the database.

Exceptions:

   o If a user does not enter the ID filed he/she will get an error message.
   o If a user enters a non numeric value in the ID field he/she will get an
     error message.
   o If a user enters a not valid ID he/she will get an error message.




                                   38
Search for a Warehouse by Name:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Warehouse.

Post-Condition:

   o The required Warehouse will be retrieved from the database.

Exceptions:

   o If a user does not enter the Name filed he/she will get an error message.
   o If a user enters a not valid Warehouse he/she will get an error message.




                                   39
4.4.4. Crud Items Category

Create Item Category:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.

Post-Condition:

   o A new Item Category will be created.

Exceptions:

   o If a user leaves the Name field empty he/she will get an error message.




                                  40
Update Item Category:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Item Category.

Post-Condition:

   o The selected Item Category will be updated.

Exceptions:

   o If a user leaves the Name field empty he/she will get an error message.




                                  41
Delete Item Category:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Item Category.

Post-Condition:

   o The selected Item Category will be deleted.

Exceptions:

   o If the selected Item Category has Foreign Key Dependency in another
     table the user will get an error message.




                                 42
Search for an Item Category by ID:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Item Category.

Post-Condition:

   o The required Item Category will be retrieved from the database.

Exceptions:

   o If a user does not enter the ID filed he/she will get an error message.
   o If a user enters a non numeric value in the ID field he/she will get an
     error message.
   o If a user enters a not valid ID he/she will get an error message.




                                   43
Search for an Item Category by Name:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Item Category.

Post-Condition:

   o The required Item Category will be retrieved from the database.

Exceptions:

   o If a user does not enter the Name filed he/she will get an error message.
   o If a user enters a not valid Item Category he/she will get an error
     message.




                                   44
4.4.5. Crud Units

Create Unit:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.

Post-Condition:

   o A new Unit will be created.

Exceptions:

   o If a user leaves the Name field empty he/she will get an error message.




                                   45
Update Unit:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Unit.

Post-Condition:

   o The selected Unit will be updated.

Exceptions:

   o If a user leaves the Name field empty he/she will get an error message.




                                  46
Delete Unit:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Unit.

Post-Condition:

   o The selected Unit will be deleted.

Exceptions:

   o If the selected Unit has Foreign Key Dependency in another table the
     user will get an error message.




                                  47
Search for a Unit by ID:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Unit.

Post-Condition:

   o The required Unit will be retrieved from the database.

Exceptions:

   o If a user does not enter the ID filed he/she will get an error message.
   o If a user enters a non numeric value in the ID field he/she will get an
     error message.
   o If a user enters a not valid ID he/she will get an error message.




                                   48
Search for a Unit by Name:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Unit.

Post-Condition:

   o The required Unit will be retrieved from the database.

Exceptions:

   o If a user does not enter the Name filed he/she will get an error message.
   o If a user enters a not valid Unit he/she will get an error message.




                                   49
4.4.6. Crud Items

Create Item:




Pre-Condition:

   o   System on.
   o   User is logged in as Administrator or User.
   o   The system must have at least one Item Category.
   o   The system must have at least one Unit.

Post-Condition:

   o A new Item will be created.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Barcode & Price fields he/she
     will get an error message.




                                   50
Update Item:




Pre-Condition:

   o   System on.
   o   User is logged in as Administrator or User.
   o   The system must have at least one Item.
   o   The system must have at least one Item Category.
   o   The system must have at least one Unit.

Post-Condition:

   o The selected Item will be updated.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Barcode & Price fields he/she
     will get an error message.




                                  51
Delete Item:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Item.

Post-Condition:

   o The selected Item will be deleted.

Exceptions:

   o If the selected Item has Foreign Key Dependency in another table the
     user will get an error message.




                                 52
Search for an Item by ID:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Item.

Post-Condition:

   o The required Item will be retrieved from the database.

Exceptions:

   o If a user does not enter the ID filed he/she will get an error message.
   o If a user enters a non numeric value in the ID field he/she will get an
     error message.
   o If a user enters a not valid ID he/she will get an error message.




                                   53
Search for an Item by Name:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Item.

Post-Condition:

   o The required Item will be retrieved from the database.

Exceptions:

   o If a user does not enter the Name filed he/she will get an error message.
   o If a user enters a not valid Item he/she will get an error message.




                                   54
4.4.7. Crud Suppliers

Create Supplier:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.

Post-Condition:

   o A new Supplier will be created.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Phone or Fax fields he/she
     will get an error message.
   o If a user enters a not valid Email Address he/she will get an error
     message.




                                  55
Update Supplier:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Supplier.

Post-Condition:

   o The selected Supplier will be updated.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Phone or Fax fields he/she
     will get an error message.
   o If a user enters a not valid Email Address he/she will get an error
     message.




                                  56
Delete Supplier:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Supplier.

Post-Condition:

   o The selected Supplier will be deleted.

Exceptions:

   o If the selected Supplier has Foreign Key Dependency in another table
     the user will get an error message.




                                 57
Search for a Supplier by ID:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Supplier.

Post-Condition:

   o The required Supplier will be retrieved from the database.

Exceptions:

   o If a user does not enter the ID filed he/she will get an error message.
   o If a user enters a non numeric value in the ID field he/she will get an
     error message.
   o If a user enters a not valid ID he/she will get an error message.




                                   58
Search for a Supplier by Name:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Supplier.

Post-Condition:

   o The required Supplier will be retrieved from the database.

Exceptions:

   o If a user does not enter the Name filed he/she will get an error message.
   o If a user enters a not valid Supplier he/she will get an error message.




                                   59
4.4.8. Crud Customers

Create Customer:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.

Post-Condition:

   o A new Customer will be created.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Phone or Fax fields he/she
     will get an error message.
   o If a user enters a not valid Email Address he/she will get an error
     message.




                                  60
Update Customer:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Customer.

Post-Condition:

   o The selected Customer will be updated.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Phone or Fax fields he/she
     will get an error message.
   o If a user enters a not valid Email Address he/she will get an error
     message.




                                  61
Delete Customer:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Customer.

Post-Condition:

   o The selected Customer will be deleted.

Exceptions:

   o If the selected Customer has Foreign Key Dependency in another table
     the user will get an error message.




                                62
Search for a Customer by ID:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Customer.

Post-Condition:

   o The required Customer will be retrieved from the database.

Exceptions:

   o If a user does not enter the ID filed he/she will get an error message.
   o If a user enters a non numeric value in the ID field he/she will get an
     error message.
   o If a user enters a not valid ID he/she will get an error message.




                                   63
Search for a Customer by Name:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Customer.

Post-Condition:

   o The required Customer will be retrieved from the database.

Exceptions:

   o If a user does not enter the Name filed he/she will get an error message.
   o If a user enters a not valid Customer he/she will get an error message.




                                   64
4.4.9. Crud Receivables

Create a Receivable Invoice:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Supplier.

Post-Condition:

   o A new Receivable Invoice will be created.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.




                                   65
Adding Items on Receivable Invoice:




Pre-Condition:

   o   System on.
   o   User is logged in as Administrator or User.
   o   The system must have at least one Receivable Invoice.
   o   The system must have at least one Warehouse.
   o   The system must have at least one Item defined in the database.

Post-Condition:

   o Items will be added on the Receivable Invoice (Buying from Supplier).
   o Items will be removed from the Receivable Invoice (Cancel buying from
     Supplier).



                                   66
Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Price, Quantity or Discount
     fields he/she will get an error message.
   o If a user tries to remove Items that have been sold to a specific
     Customer, then he/she will get an error message.


Update a Receivable Invoice:




Pre-Condition:

   o   System on.
   o   User is logged in as Administrator or User.
   o   The system must have at least one Receivable Invoice.
   o   The system must have at least one Supplier.

Post-Condition:

   o The selected Receivable Invoice will be updated.




                                  67
Exceptions:

   o If a user leaves any blank field he/she will get an error message.


Delete a Receivable Invoice:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Receivable Invoice.

Post-Condition:

   o The selected Receivable Invoice will be deleted.

Exceptions:

   o If the selected Receivable Invoice has Foreign Key Dependency in
     another table the user will get an error message.




                                   68
Search for a Receivable Invoice:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Receivable Invoice.

Post-Condition:

   o The required Receivable Invoice will be retrieved from the database.

Exceptions:

   o If a user does not enter the Receivable Invoice No he/she will get an error
     message.
   o If a user enters a non numeric value in the Receivable Invoice No field
     he/she will get an error message.
   o If a user enters a not valid Receivable Invoice No he/she will get an error
     message.




                                   69
4.4.10. Crud Deliverables

Create a Deliverable Invoice:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Customer.

Post-Condition:

   o A new Deliverable Invoice will be created.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.




                                   70
Adding Items on Deliverable Invoice:




Pre-Condition:

   o   System on.
   o   User is logged in as Administrator or User.
   o   The system must have at least one Deliverable Invoice.
   o   The system must have at least one available Item stored in a Warehouse.

Post-Condition:

   o Items will be added on the Deliverable Invoice (Selling to Customer).
   o Items will be removed from the Deliverable Invoice (Cancel selling to
     Customer).

Exceptions:


                                  71
o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Price, Quantity or Discount
     fields he/she will get an error message.
   o If a user tries to add number of Items that are not available in a
     Warehouse he/she will get an error message.


Update a Deliverable Invoice:




Pre-Condition:

   o   System on.
   o   User is logged in as Administrator or User.
   o   The system must have at least one Deliverable Invoice.
   o   The system must have at least one Customer.

Post-Condition:

   o The selected Deliverable Invoice will be updated.

Exceptions:




                                  72
o If a user leaves any blank field he/she will get an error message.


Delete a Deliverable Invoice:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Deliverable Invoice.

Post-Condition:

   o The selected Deliverable Invoice will be deleted.

Exceptions:

   o If the selected Deliverable Invoice has Foreign Key Dependency in
     another table the user will get an error message.




                                   73
Search for a Deliverable Invoice:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Deceivable Invoice.

Post-Condition:

   o The required Deliverable Invoice will be retrieved from the database.

Exceptions:

   o If a user does not enter the Deliverable Invoice No he/she will get an
     error message.
   o If a user enters a non numeric value in the Deliverable Invoice No field
     he/she will get an error message.
   o If a user enters a not valid Deliverable Invoice No he/she will get an error
     message.




                                    74
4.4.11. Crud Movables




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one available Item stored in a Warehouse
     beside to another Warehouse.

Post-Condition:

   o Items will be moved from one Warehouse to another one.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Quantity fields he/she will get
     an error message.
   o If a user tries to move number of Items that are not available in a
     Warehouse he/she will get an error message.




                                  75
4.4.12. Crud Shipments

Create Shipment Order:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Deliverable Invoice.

Post-Condition:

   o A new Shipment Order will be created.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Deliverable Invoice No fields
     he/she will get an error message.
   o If a user enters a not valid Deliverable Invoice No he/she will get an error
     message.




                                   76
Update Shipment Order:




Pre-Condition:

   o   System on.
   o   User is logged in as Administrator or User.
   o   The system must have at least one Shipment Order.
   o   The system must have at least one Deliverable Invoice.

Post-Condition:

   o The selected Shipment Order will be updated.

Exceptions:

   o If a user leaves any blank field he/she will get an error message.
   o If a user enters a non numeric value in the Deliverable Invoice No fields
     he/she will get an error message.
   o If a user enters a not valid Deliverable Invoice No he/she will get an error
     message.




                                   77
Delete Shipment Order:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Shipment Order.

Post-Condition:

   o The selected Shipment Order will be deleted.




                                78
Search for a Shipment Order:




Pre-Condition:

   o System on.
   o User is logged in as Administrator or User.
   o The system must have at least one Shipment Order.

Post-Condition:

   o The required Shipment Order will be retrieved from the database.

Exceptions:

   o If a user does not enter the Shipment No he/she will get an error message.
   o If a user enters a non numeric value in the Shipment No field he/she will
     get an error message.
   o If a user enters a not valid Shipment No he/she will get an error message.




                                  79
Shipment Order - Details:

This Page gives details about a specific Shipment Order.




5. Evaluation of WareHouse Manager
   This section covers the strength points of WareHouse Manager.

   • WareHouse Manager is a simple WMS that has strong capabilities.
   • Warehouse Manager is most user friendly WMS.
   • Controls various kind of transactions:

              Managing Warehouses
              Managing Items
              Managing Items Category
              Managing Units
              Managing Suppliers
              Managing Customers
              Managing Receiving Items


                                          80
Managing Delivering Items
            Managing Shipping Items
            Managing Moving Items
            Managing Administrators & Users of the system

   • Warehouse Manager is very secure & reliable system.

6. Conclusion
WareHouse Manager can be used in small warehousing businesses, it has
eleven different transactions like receiving, selling, moving and shipping
items, and it uses different technologies MySQL Workbench, Adobe
Dreamweaver and Java Serever Pages (JSP).

WareHouse Manager can be extended in the future to support Radio -
Frequency Identification (RFID) technology that can be used for purpose
of identification and tracking materials within a warehouse.




                                    81
7. References
Warehouse management system
http://en.wikipedia.org/wiki/Warehouse_management_system

What is a Warehouse Management System?
http://www.shmula.com/5487/what-is-a-warehouse-management-system

WarehouseNet
http://www.ibuyer.hk/ProductsWhnt.html

Enterprise 21 ERP
http://www.tgiltd.com/erp-software/warehouse-management-systems-
software.html

EasyWMS
http://www.interlakemecalux.com/

KIMARTA WMS
http://www.thewarehousemanagementsystems.com/

MySQL Workbench
http://en.wikipedia.org/wiki/MySQL_Workbench

Adobe Dreamweaver
http://en.wikipedia.org/wiki/Adobe_Dreamweaver

JavaServer Pages – Technology
http://java.sun.com/products/jsp/faq.html#2

How the JSP page works
http://www.java-tips.org/java-ee-tips/javaserver-pages/how-the-jsp-page-
works.html




                                    82

More Related Content

What's hot

WMS (Warehouse Management System)
WMS  (Warehouse Management System)WMS  (Warehouse Management System)
WMS (Warehouse Management System)shamroz khan
 
Haier Pakistan warehousing(Site Selection ,Process Flow)
Haier Pakistan warehousing(Site Selection ,Process Flow)Haier Pakistan warehousing(Site Selection ,Process Flow)
Haier Pakistan warehousing(Site Selection ,Process Flow)shamroz khan
 
Project we like welinkar by sayali mahajan
Project we like welinkar by sayali mahajanProject we like welinkar by sayali mahajan
Project we like welinkar by sayali mahajanSayaMahajan
 
Warehouse management system presentation
Warehouse management system presentationWarehouse management system presentation
Warehouse management system presentationNimish Arora
 
Warehouse Operations and Inventory Management
Warehouse Operations and Inventory Management Warehouse Operations and Inventory Management
Warehouse Operations and Inventory Management Thomas Tanel
 
SmartWMS Warehouse Management System 070212 by TK
SmartWMS Warehouse Management System 070212 by TKSmartWMS Warehouse Management System 070212 by TK
SmartWMS Warehouse Management System 070212 by TKJustin Soltani
 
Lean logistics and warehousing final
Lean logistics and warehousing finalLean logistics and warehousing final
Lean logistics and warehousing finalCody White
 
Inventory management
Inventory managementInventory management
Inventory managementFahad Ali
 
Retail Inventory management & Control
Retail Inventory management & ControlRetail Inventory management & Control
Retail Inventory management & ControlAshfaq Umar
 
Retail warehouse mgmt
Retail warehouse mgmtRetail warehouse mgmt
Retail warehouse mgmtFerry Man
 
Dynamics NAV Warehouse Management System (WMS)
Dynamics NAV Warehouse Management System (WMS)Dynamics NAV Warehouse Management System (WMS)
Dynamics NAV Warehouse Management System (WMS)Roberto Stefanetti
 
Inventory and warehouse management
Inventory and warehouse managementInventory and warehouse management
Inventory and warehouse managementMuhammad Amir Sohail
 
Procurement & Inventory Management
Procurement & Inventory ManagementProcurement & Inventory Management
Procurement & Inventory ManagementTahir Aleem
 
5 Ways To Improve Warehouse
5 Ways To Improve Warehouse5 Ways To Improve Warehouse
5 Ways To Improve WarehouseDrew Forte
 
Supply Chain Management Basics: Inventory Picking Strategies
Supply Chain Management Basics: Inventory Picking StrategiesSupply Chain Management Basics: Inventory Picking Strategies
Supply Chain Management Basics: Inventory Picking StrategiesAngela Carver
 

What's hot (20)

WMS (Warehouse Management System)
WMS  (Warehouse Management System)WMS  (Warehouse Management System)
WMS (Warehouse Management System)
 
Haier Pakistan warehousing(Site Selection ,Process Flow)
Haier Pakistan warehousing(Site Selection ,Process Flow)Haier Pakistan warehousing(Site Selection ,Process Flow)
Haier Pakistan warehousing(Site Selection ,Process Flow)
 
Project we like welinkar by sayali mahajan
Project we like welinkar by sayali mahajanProject we like welinkar by sayali mahajan
Project we like welinkar by sayali mahajan
 
Warehouse management system presentation
Warehouse management system presentationWarehouse management system presentation
Warehouse management system presentation
 
Warehouse Operations and Inventory Management
Warehouse Operations and Inventory Management Warehouse Operations and Inventory Management
Warehouse Operations and Inventory Management
 
SmartWMS Warehouse Management System 070212 by TK
SmartWMS Warehouse Management System 070212 by TKSmartWMS Warehouse Management System 070212 by TK
SmartWMS Warehouse Management System 070212 by TK
 
Lean logistics and warehousing final
Lean logistics and warehousing finalLean logistics and warehousing final
Lean logistics and warehousing final
 
Inventory management
Inventory managementInventory management
Inventory management
 
How to improve order picking efficiency
How to improve order picking efficiencyHow to improve order picking efficiency
How to improve order picking efficiency
 
Lean logistics
Lean logisticsLean logistics
Lean logistics
 
Retail Inventory management & Control
Retail Inventory management & ControlRetail Inventory management & Control
Retail Inventory management & Control
 
Retail warehouse mgmt
Retail warehouse mgmtRetail warehouse mgmt
Retail warehouse mgmt
 
Warehouse management
Warehouse managementWarehouse management
Warehouse management
 
Dynamics NAV Warehouse Management System (WMS)
Dynamics NAV Warehouse Management System (WMS)Dynamics NAV Warehouse Management System (WMS)
Dynamics NAV Warehouse Management System (WMS)
 
Warehouse management
Warehouse managementWarehouse management
Warehouse management
 
Week 4 inventory fassam
Week 4 inventory   fassamWeek 4 inventory   fassam
Week 4 inventory fassam
 
Inventory and warehouse management
Inventory and warehouse managementInventory and warehouse management
Inventory and warehouse management
 
Procurement & Inventory Management
Procurement & Inventory ManagementProcurement & Inventory Management
Procurement & Inventory Management
 
5 Ways To Improve Warehouse
5 Ways To Improve Warehouse5 Ways To Improve Warehouse
5 Ways To Improve Warehouse
 
Supply Chain Management Basics: Inventory Picking Strategies
Supply Chain Management Basics: Inventory Picking StrategiesSupply Chain Management Basics: Inventory Picking Strategies
Supply Chain Management Basics: Inventory Picking Strategies
 

Viewers also liked

Encumbrance accounting in oracle ebs r12
Encumbrance accounting in oracle ebs r12Encumbrance accounting in oracle ebs r12
Encumbrance accounting in oracle ebs r12Sam Elrashedy
 
Oracle Advanced Pricing (Creating a discount modifier using qualifiers)
Oracle Advanced Pricing (Creating a discount modifier using qualifiers)Oracle Advanced Pricing (Creating a discount modifier using qualifiers)
Oracle Advanced Pricing (Creating a discount modifier using qualifiers)Ahmed Elshayeb
 
Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...Ahmed Elshayeb
 
Oracle R12 – Multiple Organization Setup Steps
Oracle R12 – Multiple Organization Setup StepsOracle R12 – Multiple Organization Setup Steps
Oracle R12 – Multiple Organization Setup StepsBoopathy CS
 
Oracle unified-method
Oracle unified-methodOracle unified-method
Oracle unified-methodSam Elrashedy
 
Validate maximum expiration date for items lots
Validate maximum expiration date for items lotsValidate maximum expiration date for items lots
Validate maximum expiration date for items lotsAhmed Elshayeb
 
Oracle Purchasing – Purchase Order Types & Difference between Standard & Plan...
Oracle Purchasing – Purchase Order Types & Difference between Standard & Plan...Oracle Purchasing – Purchase Order Types & Difference between Standard & Plan...
Oracle Purchasing – Purchase Order Types & Difference between Standard & Plan...Boopathy CS
 
Restrict user from use account aliases incompatible with transaction action
Restrict user from use account aliases incompatible with transaction actionRestrict user from use account aliases incompatible with transaction action
Restrict user from use account aliases incompatible with transaction actionAhmed Elshayeb
 
Oracle Web Adi For upload item master
Oracle Web Adi For upload item masterOracle Web Adi For upload item master
Oracle Web Adi For upload item masterAhmed Elshayeb
 
Oracle Fusion Applications Security - Designing Roles
Oracle Fusion Applications Security - Designing RolesOracle Fusion Applications Security - Designing Roles
Oracle Fusion Applications Security - Designing Roleskmundy
 
Oracle Inventory Restrict user from update item attribute personalization
Oracle Inventory Restrict user from update item attribute personalizationOracle Inventory Restrict user from update item attribute personalization
Oracle Inventory Restrict user from update item attribute personalizationAhmed Elshayeb
 
Personalization Validate Po Quantity With PR
Personalization Validate Po Quantity With PRPersonalization Validate Po Quantity With PR
Personalization Validate Po Quantity With PRAhmed Elshayeb
 
P2p life cycle end to end
P2p life cycle end to endP2p life cycle end to end
P2p life cycle end to endAli Ibrahim
 
Inventory aging report using oracle discoverer desktop
Inventory aging report using oracle discoverer desktopInventory aging report using oracle discoverer desktop
Inventory aging report using oracle discoverer desktopAhmed Elshayeb
 
How to remove disable and cancel shipment functionality in enter purchase or...
How to remove  disable and cancel shipment functionality in enter purchase or...How to remove  disable and cancel shipment functionality in enter purchase or...
How to remove disable and cancel shipment functionality in enter purchase or...Ahmed Elshayeb
 
Send mail with attached report layout
Send mail with attached report layoutSend mail with attached report layout
Send mail with attached report layoutAhmed Elshayeb
 

Viewers also liked (20)

eCertificate
eCertificateeCertificate
eCertificate
 
Encumbrance accounting in oracle ebs r12
Encumbrance accounting in oracle ebs r12Encumbrance accounting in oracle ebs r12
Encumbrance accounting in oracle ebs r12
 
Oracle Advanced Pricing (Creating a discount modifier using qualifiers)
Oracle Advanced Pricing (Creating a discount modifier using qualifiers)Oracle Advanced Pricing (Creating a discount modifier using qualifiers)
Oracle Advanced Pricing (Creating a discount modifier using qualifiers)
 
Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...
 
eCertificate
eCertificateeCertificate
eCertificate
 
ELSayed Fouda
ELSayed FoudaELSayed Fouda
ELSayed Fouda
 
Oracle R12 – Multiple Organization Setup Steps
Oracle R12 – Multiple Organization Setup StepsOracle R12 – Multiple Organization Setup Steps
Oracle R12 – Multiple Organization Setup Steps
 
Oracle unified-method
Oracle unified-methodOracle unified-method
Oracle unified-method
 
Abap training material
Abap training material Abap training material
Abap training material
 
Validate maximum expiration date for items lots
Validate maximum expiration date for items lotsValidate maximum expiration date for items lots
Validate maximum expiration date for items lots
 
Oracle Purchasing – Purchase Order Types & Difference between Standard & Plan...
Oracle Purchasing – Purchase Order Types & Difference between Standard & Plan...Oracle Purchasing – Purchase Order Types & Difference between Standard & Plan...
Oracle Purchasing – Purchase Order Types & Difference between Standard & Plan...
 
Restrict user from use account aliases incompatible with transaction action
Restrict user from use account aliases incompatible with transaction actionRestrict user from use account aliases incompatible with transaction action
Restrict user from use account aliases incompatible with transaction action
 
Oracle Web Adi For upload item master
Oracle Web Adi For upload item masterOracle Web Adi For upload item master
Oracle Web Adi For upload item master
 
Oracle Fusion Applications Security - Designing Roles
Oracle Fusion Applications Security - Designing RolesOracle Fusion Applications Security - Designing Roles
Oracle Fusion Applications Security - Designing Roles
 
Oracle Inventory Restrict user from update item attribute personalization
Oracle Inventory Restrict user from update item attribute personalizationOracle Inventory Restrict user from update item attribute personalization
Oracle Inventory Restrict user from update item attribute personalization
 
Personalization Validate Po Quantity With PR
Personalization Validate Po Quantity With PRPersonalization Validate Po Quantity With PR
Personalization Validate Po Quantity With PR
 
P2p life cycle end to end
P2p life cycle end to endP2p life cycle end to end
P2p life cycle end to end
 
Inventory aging report using oracle discoverer desktop
Inventory aging report using oracle discoverer desktopInventory aging report using oracle discoverer desktop
Inventory aging report using oracle discoverer desktop
 
How to remove disable and cancel shipment functionality in enter purchase or...
How to remove  disable and cancel shipment functionality in enter purchase or...How to remove  disable and cancel shipment functionality in enter purchase or...
How to remove disable and cancel shipment functionality in enter purchase or...
 
Send mail with attached report layout
Send mail with attached report layoutSend mail with attached report layout
Send mail with attached report layout
 

Similar to Anwar bayali report

AAYUSH SRIVASTAVA-2123-SCM-001.pdf
AAYUSH SRIVASTAVA-2123-SCM-001.pdfAAYUSH SRIVASTAVA-2123-SCM-001.pdf
AAYUSH SRIVASTAVA-2123-SCM-001.pdfAayushSrivastava70
 
Warehouse Operations and WMS
Warehouse Operations and WMSWarehouse Operations and WMS
Warehouse Operations and WMSMaeverickMatibag
 
WMS on Warehouse Operations.pptx
WMS on Warehouse Operations.pptxWMS on Warehouse Operations.pptx
WMS on Warehouse Operations.pptxKarthigeyanCII
 
Overview of Warehouse Management System
Overview of Warehouse Management System Overview of Warehouse Management System
Overview of Warehouse Management System Tigernix Pte Ltd
 
Goods issue procedure, control and documentation
Goods issue procedure, control and documentationGoods issue procedure, control and documentation
Goods issue procedure, control and documentationNavindu Munidasa
 
21-Inventory Management-2.pdf
21-Inventory Management-2.pdf21-Inventory Management-2.pdf
21-Inventory Management-2.pdfMunaza21
 
Warehouse and Logistics Sessions 1 - 2 (Day 1)
Warehouse and Logistics Sessions 1 - 2 (Day 1)Warehouse and Logistics Sessions 1 - 2 (Day 1)
Warehouse and Logistics Sessions 1 - 2 (Day 1)Abdullah AlGhamdi (CSCP)
 
Cquential Brochure
Cquential  Brochure Cquential  Brochure
Cquential Brochure Rachel Bates
 
PROCUREMENT & INVENTORY MANAGEMENT
PROCUREMENT & INVENTORY MANAGEMENTPROCUREMENT & INVENTORY MANAGEMENT
PROCUREMENT & INVENTORY MANAGEMENTZohaib Ansari
 
Customer oriented logistics management
Customer oriented logistics managementCustomer oriented logistics management
Customer oriented logistics managementAruzmahajan
 
Inventory & Inventory Management ( By BU AIS 2nd Batch)
Inventory & Inventory Management ( By BU AIS 2nd Batch)Inventory & Inventory Management ( By BU AIS 2nd Batch)
Inventory & Inventory Management ( By BU AIS 2nd Batch)Jessic Sharif
 
Five Ways a Warehouse Management System Helps When Your Warehouse is Choc Full
Five Ways a Warehouse Management System Helps  When Your Warehouse is Choc FullFive Ways a Warehouse Management System Helps  When Your Warehouse is Choc Full
Five Ways a Warehouse Management System Helps When Your Warehouse is Choc FullIndigo Software
 
Inventory management system
Inventory management systemInventory management system
Inventory management systemHamzakhan803
 
Walmart Supply Chain Management Practices
Walmart Supply Chain Management PracticesWalmart Supply Chain Management Practices
Walmart Supply Chain Management PracticesJatin Mendiratta
 
Management 106
Management 106Management 106
Management 106chrejine
 

Similar to Anwar bayali report (20)

RFID
RFIDRFID
RFID
 
AAYUSH SRIVASTAVA-2123-SCM-001.pdf
AAYUSH SRIVASTAVA-2123-SCM-001.pdfAAYUSH SRIVASTAVA-2123-SCM-001.pdf
AAYUSH SRIVASTAVA-2123-SCM-001.pdf
 
WAREHOUSE .pptx
WAREHOUSE .pptxWAREHOUSE .pptx
WAREHOUSE .pptx
 
Warehouse Operations and WMS
Warehouse Operations and WMSWarehouse Operations and WMS
Warehouse Operations and WMS
 
WMS on Warehouse Operations.pptx
WMS on Warehouse Operations.pptxWMS on Warehouse Operations.pptx
WMS on Warehouse Operations.pptx
 
Overview of Warehouse Management System
Overview of Warehouse Management System Overview of Warehouse Management System
Overview of Warehouse Management System
 
Goods issue procedure, control and documentation
Goods issue procedure, control and documentationGoods issue procedure, control and documentation
Goods issue procedure, control and documentation
 
21-Inventory Management-2.pdf
21-Inventory Management-2.pdf21-Inventory Management-2.pdf
21-Inventory Management-2.pdf
 
Warehouse and Logistics Sessions 1 - 2 (Day 1)
Warehouse and Logistics Sessions 1 - 2 (Day 1)Warehouse and Logistics Sessions 1 - 2 (Day 1)
Warehouse and Logistics Sessions 1 - 2 (Day 1)
 
Cquential Brochure
Cquential  Brochure Cquential  Brochure
Cquential Brochure
 
Cquential brochure
Cquential  brochureCquential  brochure
Cquential brochure
 
PROCUREMENT & INVENTORY MANAGEMENT
PROCUREMENT & INVENTORY MANAGEMENTPROCUREMENT & INVENTORY MANAGEMENT
PROCUREMENT & INVENTORY MANAGEMENT
 
Customer oriented logistics management
Customer oriented logistics managementCustomer oriented logistics management
Customer oriented logistics management
 
Lean management
Lean managementLean management
Lean management
 
Inventory & Inventory Management ( By BU AIS 2nd Batch)
Inventory & Inventory Management ( By BU AIS 2nd Batch)Inventory & Inventory Management ( By BU AIS 2nd Batch)
Inventory & Inventory Management ( By BU AIS 2nd Batch)
 
WAREHOUSE MANAGEMENT SYSTEM
WAREHOUSE MANAGEMENT SYSTEMWAREHOUSE MANAGEMENT SYSTEM
WAREHOUSE MANAGEMENT SYSTEM
 
Five Ways a Warehouse Management System Helps When Your Warehouse is Choc Full
Five Ways a Warehouse Management System Helps  When Your Warehouse is Choc FullFive Ways a Warehouse Management System Helps  When Your Warehouse is Choc Full
Five Ways a Warehouse Management System Helps When Your Warehouse is Choc Full
 
Inventory management system
Inventory management systemInventory management system
Inventory management system
 
Walmart Supply Chain Management Practices
Walmart Supply Chain Management PracticesWalmart Supply Chain Management Practices
Walmart Supply Chain Management Practices
 
Management 106
Management 106Management 106
Management 106
 

Anwar bayali report

  • 1. Athens Information Technology Thesis: Implementation of Warehouse Management System Student: Anwar Al Bayali Supervisor: Prof. John Soldatos Co-supervisor: Nikolaos Kefalakis 1
  • 2. Index 1. Introduction 1.1. Warehouse Management System…………………………………… 4 1.2. Warehouse’s Processes……………………………………………... 5 1.3. Importance of Warehouse Management System………………….... 6 1.4. Objective of Thesis……………………………………………......... 9 2. State of the Art 2.1. WarehouseNet……………………………………………………..... 9 2.2. Sales & Inventory Control System...………………………………. 10 2.3. Enterprise 21 ERP…………………………………………………. 11 2.4. EasyWMS…………………………………………………………. 12 2.5. KIMATRA WMS…………………………………………………. 13 3. System Design 3.1. Database Design 3.1.1. WareHouse Manager – ERR Diagram……………………… 15 3.1.2. WareHouse Manager’s Tables………………………………. 16 3.2. Classes Design…………………………………………………….. 17 4. Implementation 4.1. Technology 4.1.1. MSQL Workbench…………………………………………... 22 4.1.2. Adobe Dreamweaver………………………………………... 23 4.1.3. JavaServer Pages (JSP)……………………………………… 25 4.2. SQL Scripts………………………………………………………... 26 4.3. Deploying WareHouse Application……………………………...... 30 4.4. WareHouse Manager – System’s GUI 4.4.1. Login………………………………………………………… 31 2
  • 3. 4.4.2. Crud Users…………………………………………………... 32 4.4.3. Crud Warehouses……………………………………………. 35 4.4.4. Crud Items Category………………………………………… 40 4.4.5. Crud Units…………………………………………………… 45 4.4.6. Crud Items…………………………………………………... 50 4.4.7. Crud Suppliers………………………………………………. 55 4.4.8. Crud Customers……………………………………………... 60 4.4.9. Crud Receivables……………………………………………. 65 4.4.10. Crud Deliverables………………………………………….. 70 4.4.11. Crud Movables……………………………………………... 75 4.4.12. Crud Shipments…………………………………………….. 76 5. Evaluation of WareHouse Manager………………………………… 80 6. Conclusion…………………………………………………………….. 81 7. References…………………………………………………………….. 82 3
  • 4. 1. Introduction 1.1. Warehouse Management System: A warehouse management system (WMS) is a software application that supports the day-to-day operations in a warehouse. WMS programs enable centralized management of tasks such as tracking inventory levels and stock locations. WMS systems may be standalone applications or part of an Enterprise Resource Planning (ERP) system. Early warehouse management systems could only provide simple storage location functionality. Current WMS applications can be so complex and data intensive that they require a dedicated staff to run them. High-end systems may include tracking and routing technologies such as Radio Frequency Identification (RFID) and voice recognition. No matter how simple or complex the application is, the goal of a warehouse management system remains the same -- to provide management with the information it needs to efficiently control the movement of materials within a warehouse. The main activities in any warehouse management system need to be able to do the following: • Record receipt of inventory • Record shipment of inventory • Stock locator (inbound: where can a piece of inventory be stored and outbound: where can I go to pick an inventory item a customer ordered) • Main Features: Receiving Cycle Count Put Away Location Tracking Picking Packing Consolidation Space Capacity 4
  • 5. Shipping Replenishment (replenish prime bins from safety stock and replenish safety stock from supplier) Vendor and Carrier quality compliance Trailer Manifesting Returns Labor Management Advanced Slotting 1.2. Warehouse’s Processes • Receiving: at the receiving operation, it allows the warehouse to schedule receipt and unloading within the warehouse. Product will be inspected and any noted exceptions, such as damage, incorrect counts, wrong description, and so on. • Put-away: The put-away operation physically moves the items from receiving location to the storage area of the warehouse. When product is put-away, the storage location should also be scanned to record where the product has been placed. This information will subsequently be used to construct efficient pick-lists to guide the order-pickers in retrieving the product for customers. • Order-picking: This process requires warehouse personnel to select the items ordered by the customer or manufacturing operation in the storage area. The order information is given to the warehouse personnel on a pick slip. The AS/R process is automated storage while retrieval materials –handling system would run the picking process, when the order arrives at the shipping preparation area, the items would be placed in an exterior (shipping) package or on pallet. Then, a shipping label indicating the ship-to person/firm and address is attached to the package. Finally, the complete customer order is staged for loading into transport vehicle. • Shipping: The final movement process occurs at the shipping operation. Product is likely to be staged if it must be loaded in 5
  • 6. reverse order of delivery or if shipping long distances. When one must work due to the staged freight it must be double handled. The trailer is likely to be scanned her to register its departure from the warehouse. 1.3. Importance of Warehouse Management System: WMS is an invaluable tool for improving your organization's productivity and customer focus. Here is a list of some of the benefits that you can expect to get. Customer Service: Improved Customer Relationship - WMS aids in providing a comprehensive database of customers and their preferences in terms of product demand. This information can be effectively utilized by Customer Care and Business Development departments for Customer Relationship Management. Accurate Shipping of Material - The system keeps an intensive check of the goods or stock units meant for different customers and flash an alarm/warning if the goods meant for one customer are mistakenly placed in cartons meant for other. Productivity: • Optimum Utilization of Resources - Automation and streamlining of processes ensures that operational bottlenecks are eliminated and productivity increases. As a result all resources - man, machine, and money are utilized to their optimum level. Apart from the system no additional manpower or special machinery is required in order to automate the process for an efficient and proper handling of the goods. • Better Efficiencies - Intensive checks are kept at each and every stage which safeguards against possibilities of errors in inventory records. As the items are systematically stored and retrieved, no time is wasted in searching for items not in stock and more than 6
  • 7. one order can be processed at any given time. This results in the increase of efficiencies, eliminating wastage of time due to errors. • Better Productivity Monitoring - By keeping track of the operator's and staffs' activities, their productivity can be monitored. This aspect is of particular importance in case of productivity based remuneration schemes. • Multiple Order Processing - More than one order can be processed at any given time helping in better resource utilization. Costs: • Low inventory carrying Cost - The main goal of WMS is controlling and streamlining the flow of inventory in a profitable and productive manner thus optimizing all resources. • Short Payback Period - Payback period of WMS project will be very short because we are addressing the warehousing area where at-least 60% of organization's working capital is tied. The results of such savings are immediate and apparent. • Optimal Level of Inventory - In an average business around 60% of the working capital is tied down in the inventory; the percentage is even higher in trading business. In an ideal situation warehouse should maintain optimal level of inventory at any given time avoiding both under and over stocking. If the Warehouses are overstocked that means excess working capital is tied in inventory which is dead money. Under stocking leads to delay in customer orders and even cancellation of orders at times. Thus actual picture about the inventory status in the Warehouse have valuable financial and strategic implications. WMS not only streamlines the flow of inventory but also tracks the inventory at various levels of processing thereby enabling decision makers to view actual picture of inventory at any given time and take appropriate steps. • No Extra Skills Required - When deciding for automation, one of the major concern of management is that they have to hire 7
  • 8. technical people at all levels and retrain the existing workforce. But in WMS the programs are so designed that no special skills are required to operate the system even at lower level. Programs for shop floor are specifically designed to run on hand held radio frequency terminals and emphasis is on scanner based data inputs. Therefore same workforce can very effectively be used for implementing WMS. • Better Revenue Realization - Companies often loose considerable amount of revenue due to: excessive / under stocking as explained above incorrect tendering due to inaccurate knowledge of available stock Over / under shipping to customers. Wrong consignments. Inaccurate billing. Delay in order processing leading to order cancellation. WMS helps in controlling these losses to a large extent. Transparency & Security: Improved Transparency - WMS provides diversified all-embracing reports for almost any plausible aspects of activities and substantiates the fact that working of Warehouse is made 100% transparent. Each and every activity can be tracked, reported, monitored and consequently controlled. These reports are web based and are platform independent applications. Therefore reports are visible to any one who is willing and authorized to see. This feature is especially beneficial for multi location Warehouses and sales offices. Higher Security - WMS incorporates distinct features for functions to be performed by Manager or Operators thereby eliminating the chances of wrong data entry. WMS makes information readily available to only those who have permission to see it. For example the operators are not entitled to view the important MIS reports. 8
  • 9. 1.4. Objective of Thesis: The main objectives of thesis are: • Create a simple WMS (e.g. constructions tools etc.) • Create a reliable and secure system. • Develop a user friendly Graphical User Interface (GUI). 2. State of the Art This section covers state of the art in the filed of Warehouse Management Systems. 2.1. WarehouseNet: WarehouseNet is a inventory software for inventory, logistic and distribution operation. It is extremely suitable for warehouse operation, distribution center, MRP for manufacturer, logistic services and storage operation. WarehouseNet delivers leftover reports with different grouping, by article no, item, brand name, description, supplier and specification, FIFO, storage breakdown, storage charges calculation, low level alert and stock checking by location. WarehouseNet provide export closing stock report for accounting audit at the year end to save manpower and time to re-type by excel, expiry date alert avoid expires and waste of day limited items. The storage days report is reduced the storage day and hence minimizes depreciation percent. Reports on all stock-in and stock-out movement grouping by item, customer, brand name, supplier, delivery order, recipient and job order. This is used to act as an audit checking against supplier deliveries and customer invoice amount or quantity. 9
  • 10. Figure 1 - WarehouseNet 2.2. Sales & Inventory Control System: Inventory Control System is personal WMS software designed by Mr. Mohammad Turkey which is suitable for small warehousing businesses, this system has three main transactions editing items, receiving and selling items. Figure 1 - Sales & Inventory Control System 10
  • 11. 2.3. Enterprise 21 ERP: Enterprise 21 includes complete, state-of-the-art warehouse management functionality that supports standard processes such as receiving, putaway, picking, replenishment, and shipping. The warehouse management functionality manages both single and multi-warehouse operations with transactions being performed both by keyboard and handheld and forklift-mounted RF-enabled barcode scanning devices. The warehouse management functionality is fully-integrated with the complete Enterprise 21 ERP suite, including purchasing, manufacturing, inventory, and financial management to provide a complete end-to-end solution for manufacturing and distribution organizations. While optimized picking can be performed with traditional paper-based processes, greater productivity can be derived through Enterprise 21’s directed picking and paperless task-interleaving processes. Enterprise 21 manages and tracks the complete flow of material through the entire organization, from receipt and putaway of material, through production and kitting, and eventual picking, packing, and shipping to customers with complete lot traceability and serialization tracking. Enterprise 21 also automates the management of other warehouse operations such as physical and cycle counts, vendor returns, license plating, and labor allocation and optimization. Enterprise 21 ERP software provides the tools necessary for efficient and productive manufacturing and distribution operations. With Enterprise 21, organizations can improve their inventory accuracy, inventory turns, and customer service. Figure 1 – Enterprise 21 ERP Logo 11
  • 12. 2.4. EasyWMS A key part of the supply chain, Easy WMS is warehouse management software designed to provide control of the movement and storage of goods in a warehouse. With the ability to process transactions including shipping, receiving, stocking and picking, Easy WMS is a real solution for any company, large or small. Figure 1 – EasyWMS Logo Improve ROI, increase productivity and save on expenses by implementing the warehouse management software that has the demonstrated ability to provide total location management. Complete control over order preparation and operator productivity saves time, improves the quality of service provided and reduces shipping errors. Advantages • Increased Technical support and remote assistance available 24 hours a day, 7 days a week, 365 days a year. • Full Drastic reduction in costs incurred due to expiration or unknown losses. • Real time warehouse status provided through graphic imaging. The Interlake Mecalux Easy WMS has different levels of functionality which allows the software to adapt to the specific needs of each installation depending on the degree of complexity and automation of the warehouse. Due to this flexibility, it can also adapt easily to business growth or new processes and volumes. 12
  • 13. 2.5. KIMATRA WMS KIMATRA WMS is a powerful, easy-to-use, web-based Warehouse Management System designed to increase the productivity and inventory accuracy of warehouses and distribution centers. It supports real-time data collection and validation ensuring invetory information is always accurate and up-to-date. It operates well as a stand-alone system or it can work in conjunction with existing enterprise systems. Figure 1 – KIMATRA Technologies The KIMATRA WMS enables you to see where inventory is or will be available, optimize fulfillment and distribution processes to ensure that products are delivered on time and in full, consistently. The result: improved supply chain management with end-to-end fulfillment from order inception to delivery. It gives managers robust planning, execution and measurement tools and brings operational discipline to complex operations. By leveraging the SOA architecture it enables a multi-enterprise collaboration strategy, and provides improved visibility and communications between business partners. KIMATRA WMS is cost-effective software solutions that helps automate the entire warehousing process and offers a systematic approach of receive, put away, storage and shipping processes. • Reduce inventory 5 to 20% • Increase labor productivity 15 to 40% • Improve shipping accuracy 2 to 5% • Increase inventory accuracy 99+% at location level • Boost perfect order rates 13
  • 14. • Reduce direct operating costs and increase overall revenue Designed specifically to serve the changing needs of today’s business,KIMATRA WMS provides the same benefits as much larger and more expensive software systems but remains much easier to use,faster to deploy and a easy to maintain. KIMATRA WMS possesses the tools, the technology and the functionality to help you streamline your operational processes, control inventory, reduce paperwork while complying with audit regulations. It is an advanced WMS software solution for manufacturing, distribution, and retail enterprises and third-party logistics providers (3PLs) that can be used by enterprising organizations of all sizes. It helps companies maximize product placement strategies, prioritize tasks, implement fair productivity standards, and increase logistics efficiency. KIMATRA WMS also provides capability to cater to an integrated multi- site operating environment; the system offers support of multi-warehouse stock management through simplified processes and allows the various operations to be viewed as a single consolidated operating entity to external entities. 14
  • 15. 3. System Design 3.1. Database Design: This section covers the design of the database including EER Diagram & a brief description about the Tables that used in the system. 3.1.1. Warehouse Manager – EER Diagram: 15
  • 16. Figure 1 – EER Diagram of WareHouse Manager 3.1.2. Tables: • Users: Users table is responsible for storing the information about Administrators and Users of the system. • Warehouses: Warehouses table is responsible for storing the information about Warehouses. • Items: Items table is responsible for storing the information about Items. • Items Category: Items Category table is responsible for storing the information about the Categories that classifies Items (e.g. TV, Computer etc) • Units: Units table is responsible for storing the measurement units of Items. • Receivables: Receivables table is responsible for storing the information about Receiving Invoices. • Deliverables: Deliverables table is responsible for storing the information about Selling Invoices. • Suppliers: Suppliers table is responsible for the storing the information about Suppliers. • Customers: Customers table is responsible for the storing the information about Customers. 16
  • 17. • Transactions: Transactions table is responsible for storing all transactions of Receiving, Selling and Moving Items. • Shipments: Shipments table is responsible for storing the information about Shipments Orders. 3.2. Classes Design: This section covers the design of system’s Classes that used in programming the system; all the Classes are stored in Package (warehouse). Classes are the communication link between business logic & database. • Class dbcon: establishes database connection. • Class loginUser: checks of a user have privilege to access the system. • Class validation_manager: checks for valid numeric values & email addresses. • Class CryptoUtil: encrypts & decrypts user’s password. • Class user: returns a user object. • Class user_manager: this class has the following methods: InserUser ( ): creates a new user. GetAllUsers ( ): returns arraylist of user object. GetUser ( ): returns a specific user according to a given ID. UpdateUser ( ): updates the information about existing user. DeleteUser ( ): deletes the information of existing user. • Class warehouse: returns a warehouse object. • Class warehouse_manager: this class has the following methods: InserWarehosue ( ): creates a new warehouse. GetAllWarehouses ( ): returns arraylist of warehouse object. 17
  • 18. GetAllWarehousesByName ( ): returns arraylist of warehouse object according to a given name. GetWarehouse ( ): returns a specific warehouse according to a given ID. GetWarehouseName ( ): returns the name of specific warehouse according to a given ID. UpdateWarehouse ( ): updates the information about existing warehouse. DeleteWarehouse ( ): deletes the information of existing warehouse. • Class item_category: returns an item category object. • Class item_category_manager: this class has the following methods: InserItemCategory ( ): creates a new item category. GetAllItemsCategory ( ): returns arraylist of items category object. GetAllItemsCategoryByName ( ): returns arraylist of items category object according to a given name. GetItemCategory ( ): returns a specific item category according to a given ID. GetItemCategoryName ( ): returns the name of specific item category according to a given ID. UpdateItemCategory ( ): updates the information about existing item category. DeleteItemCategory ( ): deletes the information of existing item category. • Class unit: returns a unit object. • Class unit_manager: this class has the following methods: InserUnit ( ): creates a new unit. GetAllUnits ( ): returns arraylist of unit object. GetAllUnitsByName ( ): returns arraylist of unit object according to a given name. GetUnit ( ): returns a specific unit according to a given ID. GetUnitName ( ): returns the name of specific unit according to a given ID. UpdateUnit ( ): updates the information about existing unit. 18
  • 19. DeleteUnit ( ): deletes the information of existing unit. • Class item: returns an item object. • Class item_manager: this class has the following methods: inserItem ( ): creates a new item. GetAllItems ( ): returns arraylist of item object. GetAllItemsByName ( ): returns arraylist of item object according to a given name. GetItem ( ): returns a specific item according to a given ID. GetItemName ( ): returns the name of specific item according to a given ID. UpdateItem ( ): updates the information about existing item. DeleteItem ( ): deletes the information of existing item. • Class supplier: this class has the following methods: • Class supplier_manager: this class has the following methods: InsertSupplier ( ): creates a new supplier. GetAllSuppliers ( ): returns arraylist of supplier object. GetAllSuppliersByName ( ): returns arraylist of supplier object according to a given name. GetSupplier ( ): returns a specific supplier according to a given ID. GetSupplierName ( ): returns the name of specific supplier according to a given ID. UpdateSupplier ( ): updates the information about existing supplier. DeleteSupplier ( ): deletes the information of existing supplier. • Class customer: returns a customer object. • Class customer_manager: this class has the following methods: InsertCustomer ( ): creates a new customer. GetAllCustomers ( ): returns arraylist of customer object. GetAllCustomersByName ( ): returns arraylist of customer object according to a given name. GetCustomer ( ): returns a specific customer according to a given ID. 19
  • 20. GetCustomerName ( ): returns the name of specific customer according to a given ID. UpdateCustomer ( ): updates the information about existing customer. DeleteCustomer ( ): deletes the information of existing customer. • Class receivable: returns a receivable invoice object. • Class receivable_manager: this class has the following methods: InsertReceivableInvoice ( ): creates a new receivable invoice. GetAllReceivableInvoices ( ): returns arraylist of receivable invoice object. GetReceivableInvoice ( ): returns a specific receivable invoice according to a given invoice no. UpdateReceivableInvoice ( ): updates the information about existing receivable invoice. DeleteReceivableInvoice ( ): deletes the information of existing receivable invoice. • Class deliverable: returns a deliverable invoice object. • Class deliverable_manager: this class has the following methods: InsertDeliverableInvoice ( ): creates a new deliverable invoice. GetAllDeliverableInvoices ( ): returns arraylist of deliverable invoice object. GetDeliverableInvoice ( ): returns a specific deliverable invoice according to a given invoice no. UpdateDeliverableInvoice ( ): updates the information about existing deliverable invoice. DeleteDeliverableInvoice ( ): deletes the information of existing deliverable invoice. • Class transaction: returns a transaction object. • Class transaction_manager: this class has the following methods: InsertTransaction ( ): adds items on a specific receivable invoice. GetAllTransactions ( ): returns the items that belong to a specific receivable invoice according to a given invoice no. 20
  • 21. CheckBeforeDeleteTransaction (): checks if the selected item belongs to a deliverable invoice or not. DeleteTransaction ( ): deletes the selected item from a specific receivable invoice. CheckBeforeDelTransaction ( ): checks if the number of required items is available in a specific warehouse. CheckBeforeMoveTransaction ( ): checks if the number of required items is available in a specific warehouse. UpdateDelTransaction ( ): adds items on a specific deliverable invoice. UpdateMoveTransaction ( ): moves number of items from one warehouse to another. GetAllDelTransactions ( ): returns the items that belong to a specific deliverable invoice according to a given invoice no. DeleteDelTransaction ( ): deletes the selected item from a specific deliverable invoice. GetAllAviItem ( ): returns all the available items in the warehouses. GetAllAviItemByItem ( ): returns all the available items in the warehouses according to a given item. GetAllAviItemByWarehouse ( ): returns all the available items according to a given warehouse. • Class shipment: returns a shipment object. • Class shipment_manager: this class has the following methods: InsertShipment ( ): creates a new shipment order. GetAllShipments ( ): returns arraylist of shipment object. IsExist ( ): checks if a delivering invoice is valid or not. GetShipmentDetails ( ): returns the details of a specific shipment order. GetShipment ( ): returns the information about existing shipment order according to a given shipment no. UpdateShipment ( ): updates the information about existing shipment order. DeleteShipment ( ): deletes the information of existing shipment order. 21
  • 22. 4. Implementation 4.1. Technology 4.1.1. MySQL Workbench MySQL Workbench is a visual database design tool that integrates SQL development, administration, database design, creation and maintenance into a single, seamless environment for the MySQL database system. Figure 1 – MySQL Workbench Logo Features Prominent features of MySQL Workbench 5.2 are: • General Database Connection & Instance Management Wizard driven action items Fully scriptable with Python and Lua Support for custom plugins • SQL Editor Schema Object browsing SQL Syntax Highlighter and Statement Parser Multiple-, editable Result Sets SQL Snippets Collections SSH Connection Tunneling 22
  • 23. Unicode Support • Data Modeling ER Diagramming Drag'n'Drop visual modeling Reverse Engineering from SQL Scripts and Live Database Forward Engineering to SQL Scripts and Live Database Schema Synchronization Printing of Models Import from fabFORCE.net DBDesigner4 • Database Administration 1. Start & Stop of Database Instances 2. Instance Configuration 3. Database Account Management 4. Instance Variables Browsing 5. Log File Browsing 6. Data Dump Export/Import 4.1.2. Adobe Dreamweaver Adobe Dreamweaver (formerly Macromedia Dreamweaver) is a web development application originally created by Macromedia, and is now developed by Adobe Systems, which acquired Macromedia in 2005. Dreamweaver is available for both Mac and Windows operating systems. Recent versions have incorporated support for web technologies such as CSS, JavaScript, and various server-side scripting languages and frameworks including ASP, ColdFusion, and PHP. 23
  • 24. Figure 1 – Dreamweaver Logo Features Dreamweaver allows users to preview websites in locally installed web browsers. It provides transfer and synchronization features, the ability to find and replace lines of text or code by search terms and regular expressions across the entire site, and a templating feature that allows single-source update of shared code and layout across entire sites without server-side includes or scripting. The behaviours panel also enables use of basic JavaScript without any coding knowledge, and integration with Adobe's Spry AJAX framework offers easy access to dynamically-generated content and interfaces. Dreamweaver can use third-party "Extensions" to extend core functionality of the application, which any web developer can write (largely in HTML and JavaScript). Dreamweaver is supported by a large community of extension developers who make extensions available (both commercial and free) for most web development tasks from simple rollover effects to full-featured shopping carts. Dreamweaver, like other HTML editors, edits files locally then uploads them to the remote web server using FTP, SFTP, or WebDAV. 24
  • 25. 4.1.3. JavaServer Pages (JSP) JavaServer Pages (JSP) technology provides a simplified, fast way to create web pages that display dynamically-generated content. The JSP specification, developed through an industry-wide initiative led by Sun Microsystems, defines the interaction between the server and the JSP page, and describes the format and syntax of the page. Figure 1 – Microsystems Sun Logo JSP pages use XML tags and scriptlets written in the Java programming language to encapsulate the logic that generates the content for the page. It passes any formatting (HTML or XML) tags directly back to the response page. In this way, JSP pages separate the page logic from its design and display. JSP technology is part of the Java technology family. JSP pages are compiled into servlets and may call JavaBeans components (beans) or Enterprise JavaBeans components (enterprise beans) to perform processing on the server. As such, JSP technology is a key component in a highly scalable architecture for web-based applications. Figure 2 – JSP Mechanism 25
  • 26. JSP pages are not restricted to any specific platform or web server. The JSP specification represents a broad spectrum of industry input. 4.2. SQL Scripts • Database Schema: CREATE DATABASE `warehouse_management_system` Notification: To be able to use WareHouse Manager System the Username & Password of the Database must be the following: Database Username: root Database Password: root • Database Tables: Users Table : Notification: WareHouse Manager has a default Admin when you run runme.sql script with the following Username & Password: Username: admin Password: 123 CREATE TABLE `users` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `user_firstname` varchar(45) DEFAULT NULL, `user_lastname` varchar(45) DEFAULT NULL, `user_username` varchar(45) DEFAULT NULL, `user_password` varchar(200) DEFAULT NULL, `user_email` varchar(60) DEFAULT NULL, `user_type` int(1) DEFAULT NULL, PRIMARY KEY (`user_id`) ) 26
  • 27. Warehouses Table : CREATE TABLE `warehouses` ( `warehouse_id` int(11) NOT NULL AUTO_INCREMENT, `warehouse_name` varchar(100) DEFAULT NULL, `warehouse_location` text, `warehouse_owner` varchar(100) DEFAULT NULL, `warehouse_description` text, PRIMARY KEY (`warehouse_id`) ) Items Table : CREATE TABLE `items` ( `item_id` int(11) NOT NULL AUTO_INCREMENT, `item_name` varchar(100) DEFAULT NULL, `item_unit` int(11) DEFAULT NULL, `item_unit_price` int(11) DEFAULT NULL, `item_category_id` int(11) DEFAULT NULL, `item_brand` varchar(100) DEFAULT NULL, `item_description` text, `item_barcode` int(11) unsigned NOT NULL, PRIMARY KEY (`item_id`), KEY `Item_Category_ID_FK` (`item_category_id`), KEY `Item_Unit_ID_FK` (`item_unit`), CONSTRAINT `Item_Category_ID_FK` FOREIGN KEY (`Item_Category_ID`) REFERENCES `items_category` (`Item_Category_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `Item_Unit_ID_FK` FOREIGN KEY (`item_unit`) REFERENCES `units` (`unit_id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) Items Category Table : CREATE TABLE `items_category` ( `item_category_id` int(11) NOT NULL AUTO_INCREMENT, `item_category_name` varchar(100) DEFAULT NULL, PRIMARY KEY (`item_category_id`) ) Units Table : CREATE TABLE `units` ( `unit_id` int(11) NOT NULL AUTO_INCREMENT, `unit_name` varchar(100) DEFAULT NULL, PRIMARY KEY (`unit_id`) ) 27
  • 28. Suppliers Table : CREATE TABLE `suppliers` ( `supplier_id` int(11) NOT NULL AUTO_INCREMENT, `supplier_name` varchar(100) DEFAULT NULL, `supplier_contact_name` varchar(100) DEFAULT NULL, `supplier_address` text, `supplier_phone` decimal(15,0) DEFAULT NULL, `supplier_fax` decimal(15,0) DEFAULT NULL, `supplier_email` varchar(60) DEFAULT NULL, PRIMARY KEY (`supplier_id`) ) Customers Table : CREATE TABLE `customers` ( `customer_id` int(11) NOT NULL AUTO_INCREMENT, `customer_name` varchar(100) DEFAULT NULL, `customer_contact_name` varchar(100) DEFAULT NULL, `customer_address` text, `customer_phone` decimal(15,0) DEFAULT NULL, `customer_fax` decimal(15,0) DEFAULT NULL, `customer_email` varchar(60) DEFAULT NULL, PRIMARY KEY (`customer_id`) ) Receivables Table : CREATE TABLE `receivables` ( `re_invoice` int(11) NOT NULL AUTO_INCREMENT, `re_date` varchar(75) DEFAULT NULL, `re_supplier` int(11) DEFAULT NULL, `re_payment` varchar(75) DEFAULT NULL, `re_kind_of_trans` varchar(75) DEFAULT NULL, `re_remarke` text, PRIMARY KEY (`re_invoice`), KEY `Re_Supplier_FK` (`re_supplier`), CONSTRAINT `Re_Supplier_FK` FOREIGN KEY (`re_supplier`) REFERENCES `suppliers` (`supplier_id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) Deliverables Table : CREATE TABLE `deliverables` ( `de_invoice` int(11) NOT NULL AUTO_INCREMENT, `de_date` varchar(75) DEFAULT NULL, `de_customer` int(11) DEFAULT NULL, `de_payment` varchar(75) DEFAULT NULL, `de_kind_of_trans` varchar(75) DEFAULT NULL, 28
  • 29. `de_remarke` text, PRIMARY KEY (`de_invoice`), KEY `De_Customer_FK` (`de_customer`), CONSTRAINT `De_Customer_FK` FOREIGN KEY (`de_customer`) REFERENCES `customers` (`customer_id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) Transactions Table : CREATE TABLE `transactions` ( `trans_item_barcode` int(11) NOT NULL, `trans_item_serial` int(11) NOT NULL AUTO_INCREMENT, `trans_item_exist` int(11) DEFAULT NULL, `trans_warehouse_id` int(11) DEFAULT NULL, `trans_item_id` int(11) DEFAULT NULL, `trans_re_invoice` int(11) DEFAULT NULL, `trans_item_info` text, `trans_re_item_price` int(11) DEFAULT NULL, `trans_re_item_discount` int(11) DEFAULT NULL, `trans_de_invoice` int(11) DEFAULT NULL, `trans_de_item_price` int(11) DEFAULT NULL, `trans_de_item_discount` int(11) DEFAULT NULL, PRIMARY KEY (`trans_item_serial`,`trans_item_barcode`), KEY `Trans_Item_ID_FK` (`trans_item_id`), KEY `Trans_Re_Invoice_FK` (`trans_re_invoice`), KEY `Trans_Warehouse_ID_FK` (`trans_warehouse_id`), KEY `Trans_De_Invoice_FK` (`trans_de_invoice`), CONSTRAINT `Trans_De_Invoice_FK` FOREIGN KEY (`trans_de_invoice`) REFERENCES `deliverables` (`de_invoice`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `Trans_Item_ID_FK` FOREIGN KEY (`trans_item_id`) REFERENCES `items` (`item_id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `Trans_Re_Invoice_FK` FOREIGN KEY (`trans_re_invoice`) REFERENCES `receivables` (`re_invoice`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `Trans_Warehouse_ID_FK` FOREIGN KEY (`trans_warehouse_id`) REFERENCES `warehouses` (`warehouse_id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) Shipments Table : CREATE TABLE `shipments` ( `shi_id` int(11) NOT NULL AUTO_INCREMENT, `shi_de_invoice` int(11) DEFAULT NULL, PRIMARY KEY (`shi_id`), KEY `Ship_De_Invoice_FK` (`shi_de_invoice`), CONSTRAINT `Ship_De_Invoice_FK` FOREIGN KEY (`shi_de_invoice`) REFERENCES `deliverables` (`de_invoice`) ON DELETE NO ACTION ON UPDATE NO ACTION 29
  • 30. ) 4.3. Deploying WareHouse Manager Application To deploy WareHouse Manager Application you have first to install GlassFish Enterprise Server 2.1 on your system and do the following steps: 1. Run SQL Script "runme.sql" 2. Copy the war file "WareHouseManager.war" to "server pathdomainsdomain nameautodeploy" folder. 3. Start your web server. 4. Open "http://localhost:8081/WareHouseManager/" in your browser (port number according to the server's configuration). Figure 1 – URL of WareHouse Manager 30
  • 31. 4.4. WareHouse Manager – System’s GUI 4.4.1. Login Pre-Condition: o System on. o User must have an account (Administrator or User) to be able to access the system. Post-Condition: o User is logged in and redirected to the Main Page. Exceptions: o If a user enters a not valid Username or Password he/she will get an error message. 31
  • 32. 4.4.2. Crud Users Create Admin/User: Pre-Condition: o System on. o User is logged in as Administrator. Post-Condition: o A new Administrator or User will be created. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a not valid Email Address he/she will get an error message. 32
  • 33. Delete Admin/User: Pre-Condition: o System on. o User is logged in as Administrator. o The system must have at least one Administrator or one User. Post-Condition: o The selected Administrator or User will be deleted. Update Admin/User: Pre-Condition: o System on. o User is logged in as Administrator. o The system must have at least one Administrator or one User. 33
  • 34. Post-Condition: o The selected Administrator or User will be updated. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a not valid Email Address he/she will get an error message. Search Admin/User: Pre-Condition: System on. User is logged in as Administrator. The system must have at least one Administrator or one User. Post-Condition: The required Administrator or User will be retrieved from the database. Exceptions: o If a user does not enter the ID filed he/she will get an error message. 34
  • 35. o If a user enters a non numeric value in the ID field he/she will get an error message. o If a user enters a not valid ID he/she will get an error message. 4.4.3. Crud Warehouses Create Warehouse: Pre-Condition: o System on. o User is logged in as Administrator or User. Post-Condition: o A new Warehouse will be created. Exceptions: o If a user leaves any blank field he/she will get an error message. 35
  • 36. Update Warehouse: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Warehouse. Post-Condition: o The selected Warehouse will be updated. Exceptions: o If a user leaves any blank field he/she will get an error message. 36
  • 37. Delete Warehouse: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Warehouse. Post-Condition: o The selected Warehouse will be deleted. Exceptions: o If the selected Warehouse has Foreign Key Dependency in another table the user will get an error message. 37
  • 38. Search for a Warehouse by ID: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Warehouse. Post-Condition: o The required Warehouse will be retrieved from the database. Exceptions: o If a user does not enter the ID filed he/she will get an error message. o If a user enters a non numeric value in the ID field he/she will get an error message. o If a user enters a not valid ID he/she will get an error message. 38
  • 39. Search for a Warehouse by Name: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Warehouse. Post-Condition: o The required Warehouse will be retrieved from the database. Exceptions: o If a user does not enter the Name filed he/she will get an error message. o If a user enters a not valid Warehouse he/she will get an error message. 39
  • 40. 4.4.4. Crud Items Category Create Item Category: Pre-Condition: o System on. o User is logged in as Administrator or User. Post-Condition: o A new Item Category will be created. Exceptions: o If a user leaves the Name field empty he/she will get an error message. 40
  • 41. Update Item Category: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item Category. Post-Condition: o The selected Item Category will be updated. Exceptions: o If a user leaves the Name field empty he/she will get an error message. 41
  • 42. Delete Item Category: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item Category. Post-Condition: o The selected Item Category will be deleted. Exceptions: o If the selected Item Category has Foreign Key Dependency in another table the user will get an error message. 42
  • 43. Search for an Item Category by ID: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item Category. Post-Condition: o The required Item Category will be retrieved from the database. Exceptions: o If a user does not enter the ID filed he/she will get an error message. o If a user enters a non numeric value in the ID field he/she will get an error message. o If a user enters a not valid ID he/she will get an error message. 43
  • 44. Search for an Item Category by Name: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item Category. Post-Condition: o The required Item Category will be retrieved from the database. Exceptions: o If a user does not enter the Name filed he/she will get an error message. o If a user enters a not valid Item Category he/she will get an error message. 44
  • 45. 4.4.5. Crud Units Create Unit: Pre-Condition: o System on. o User is logged in as Administrator or User. Post-Condition: o A new Unit will be created. Exceptions: o If a user leaves the Name field empty he/she will get an error message. 45
  • 46. Update Unit: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Unit. Post-Condition: o The selected Unit will be updated. Exceptions: o If a user leaves the Name field empty he/she will get an error message. 46
  • 47. Delete Unit: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Unit. Post-Condition: o The selected Unit will be deleted. Exceptions: o If the selected Unit has Foreign Key Dependency in another table the user will get an error message. 47
  • 48. Search for a Unit by ID: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Unit. Post-Condition: o The required Unit will be retrieved from the database. Exceptions: o If a user does not enter the ID filed he/she will get an error message. o If a user enters a non numeric value in the ID field he/she will get an error message. o If a user enters a not valid ID he/she will get an error message. 48
  • 49. Search for a Unit by Name: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Unit. Post-Condition: o The required Unit will be retrieved from the database. Exceptions: o If a user does not enter the Name filed he/she will get an error message. o If a user enters a not valid Unit he/she will get an error message. 49
  • 50. 4.4.6. Crud Items Create Item: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item Category. o The system must have at least one Unit. Post-Condition: o A new Item will be created. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Barcode & Price fields he/she will get an error message. 50
  • 51. Update Item: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item. o The system must have at least one Item Category. o The system must have at least one Unit. Post-Condition: o The selected Item will be updated. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Barcode & Price fields he/she will get an error message. 51
  • 52. Delete Item: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item. Post-Condition: o The selected Item will be deleted. Exceptions: o If the selected Item has Foreign Key Dependency in another table the user will get an error message. 52
  • 53. Search for an Item by ID: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item. Post-Condition: o The required Item will be retrieved from the database. Exceptions: o If a user does not enter the ID filed he/she will get an error message. o If a user enters a non numeric value in the ID field he/she will get an error message. o If a user enters a not valid ID he/she will get an error message. 53
  • 54. Search for an Item by Name: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Item. Post-Condition: o The required Item will be retrieved from the database. Exceptions: o If a user does not enter the Name filed he/she will get an error message. o If a user enters a not valid Item he/she will get an error message. 54
  • 55. 4.4.7. Crud Suppliers Create Supplier: Pre-Condition: o System on. o User is logged in as Administrator or User. Post-Condition: o A new Supplier will be created. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Phone or Fax fields he/she will get an error message. o If a user enters a not valid Email Address he/she will get an error message. 55
  • 56. Update Supplier: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Supplier. Post-Condition: o The selected Supplier will be updated. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Phone or Fax fields he/she will get an error message. o If a user enters a not valid Email Address he/she will get an error message. 56
  • 57. Delete Supplier: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Supplier. Post-Condition: o The selected Supplier will be deleted. Exceptions: o If the selected Supplier has Foreign Key Dependency in another table the user will get an error message. 57
  • 58. Search for a Supplier by ID: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Supplier. Post-Condition: o The required Supplier will be retrieved from the database. Exceptions: o If a user does not enter the ID filed he/she will get an error message. o If a user enters a non numeric value in the ID field he/she will get an error message. o If a user enters a not valid ID he/she will get an error message. 58
  • 59. Search for a Supplier by Name: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Supplier. Post-Condition: o The required Supplier will be retrieved from the database. Exceptions: o If a user does not enter the Name filed he/she will get an error message. o If a user enters a not valid Supplier he/she will get an error message. 59
  • 60. 4.4.8. Crud Customers Create Customer: Pre-Condition: o System on. o User is logged in as Administrator or User. Post-Condition: o A new Customer will be created. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Phone or Fax fields he/she will get an error message. o If a user enters a not valid Email Address he/she will get an error message. 60
  • 61. Update Customer: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Customer. Post-Condition: o The selected Customer will be updated. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Phone or Fax fields he/she will get an error message. o If a user enters a not valid Email Address he/she will get an error message. 61
  • 62. Delete Customer: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Customer. Post-Condition: o The selected Customer will be deleted. Exceptions: o If the selected Customer has Foreign Key Dependency in another table the user will get an error message. 62
  • 63. Search for a Customer by ID: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Customer. Post-Condition: o The required Customer will be retrieved from the database. Exceptions: o If a user does not enter the ID filed he/she will get an error message. o If a user enters a non numeric value in the ID field he/she will get an error message. o If a user enters a not valid ID he/she will get an error message. 63
  • 64. Search for a Customer by Name: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Customer. Post-Condition: o The required Customer will be retrieved from the database. Exceptions: o If a user does not enter the Name filed he/she will get an error message. o If a user enters a not valid Customer he/she will get an error message. 64
  • 65. 4.4.9. Crud Receivables Create a Receivable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Supplier. Post-Condition: o A new Receivable Invoice will be created. Exceptions: o If a user leaves any blank field he/she will get an error message. 65
  • 66. Adding Items on Receivable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Receivable Invoice. o The system must have at least one Warehouse. o The system must have at least one Item defined in the database. Post-Condition: o Items will be added on the Receivable Invoice (Buying from Supplier). o Items will be removed from the Receivable Invoice (Cancel buying from Supplier). 66
  • 67. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Price, Quantity or Discount fields he/she will get an error message. o If a user tries to remove Items that have been sold to a specific Customer, then he/she will get an error message. Update a Receivable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Receivable Invoice. o The system must have at least one Supplier. Post-Condition: o The selected Receivable Invoice will be updated. 67
  • 68. Exceptions: o If a user leaves any blank field he/she will get an error message. Delete a Receivable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Receivable Invoice. Post-Condition: o The selected Receivable Invoice will be deleted. Exceptions: o If the selected Receivable Invoice has Foreign Key Dependency in another table the user will get an error message. 68
  • 69. Search for a Receivable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Receivable Invoice. Post-Condition: o The required Receivable Invoice will be retrieved from the database. Exceptions: o If a user does not enter the Receivable Invoice No he/she will get an error message. o If a user enters a non numeric value in the Receivable Invoice No field he/she will get an error message. o If a user enters a not valid Receivable Invoice No he/she will get an error message. 69
  • 70. 4.4.10. Crud Deliverables Create a Deliverable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Customer. Post-Condition: o A new Deliverable Invoice will be created. Exceptions: o If a user leaves any blank field he/she will get an error message. 70
  • 71. Adding Items on Deliverable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Deliverable Invoice. o The system must have at least one available Item stored in a Warehouse. Post-Condition: o Items will be added on the Deliverable Invoice (Selling to Customer). o Items will be removed from the Deliverable Invoice (Cancel selling to Customer). Exceptions: 71
  • 72. o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Price, Quantity or Discount fields he/she will get an error message. o If a user tries to add number of Items that are not available in a Warehouse he/she will get an error message. Update a Deliverable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Deliverable Invoice. o The system must have at least one Customer. Post-Condition: o The selected Deliverable Invoice will be updated. Exceptions: 72
  • 73. o If a user leaves any blank field he/she will get an error message. Delete a Deliverable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Deliverable Invoice. Post-Condition: o The selected Deliverable Invoice will be deleted. Exceptions: o If the selected Deliverable Invoice has Foreign Key Dependency in another table the user will get an error message. 73
  • 74. Search for a Deliverable Invoice: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Deceivable Invoice. Post-Condition: o The required Deliverable Invoice will be retrieved from the database. Exceptions: o If a user does not enter the Deliverable Invoice No he/she will get an error message. o If a user enters a non numeric value in the Deliverable Invoice No field he/she will get an error message. o If a user enters a not valid Deliverable Invoice No he/she will get an error message. 74
  • 75. 4.4.11. Crud Movables Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one available Item stored in a Warehouse beside to another Warehouse. Post-Condition: o Items will be moved from one Warehouse to another one. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Quantity fields he/she will get an error message. o If a user tries to move number of Items that are not available in a Warehouse he/she will get an error message. 75
  • 76. 4.4.12. Crud Shipments Create Shipment Order: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Deliverable Invoice. Post-Condition: o A new Shipment Order will be created. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Deliverable Invoice No fields he/she will get an error message. o If a user enters a not valid Deliverable Invoice No he/she will get an error message. 76
  • 77. Update Shipment Order: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Shipment Order. o The system must have at least one Deliverable Invoice. Post-Condition: o The selected Shipment Order will be updated. Exceptions: o If a user leaves any blank field he/she will get an error message. o If a user enters a non numeric value in the Deliverable Invoice No fields he/she will get an error message. o If a user enters a not valid Deliverable Invoice No he/she will get an error message. 77
  • 78. Delete Shipment Order: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Shipment Order. Post-Condition: o The selected Shipment Order will be deleted. 78
  • 79. Search for a Shipment Order: Pre-Condition: o System on. o User is logged in as Administrator or User. o The system must have at least one Shipment Order. Post-Condition: o The required Shipment Order will be retrieved from the database. Exceptions: o If a user does not enter the Shipment No he/she will get an error message. o If a user enters a non numeric value in the Shipment No field he/she will get an error message. o If a user enters a not valid Shipment No he/she will get an error message. 79
  • 80. Shipment Order - Details: This Page gives details about a specific Shipment Order. 5. Evaluation of WareHouse Manager This section covers the strength points of WareHouse Manager. • WareHouse Manager is a simple WMS that has strong capabilities. • Warehouse Manager is most user friendly WMS. • Controls various kind of transactions: Managing Warehouses Managing Items Managing Items Category Managing Units Managing Suppliers Managing Customers Managing Receiving Items 80
  • 81. Managing Delivering Items Managing Shipping Items Managing Moving Items Managing Administrators & Users of the system • Warehouse Manager is very secure & reliable system. 6. Conclusion WareHouse Manager can be used in small warehousing businesses, it has eleven different transactions like receiving, selling, moving and shipping items, and it uses different technologies MySQL Workbench, Adobe Dreamweaver and Java Serever Pages (JSP). WareHouse Manager can be extended in the future to support Radio - Frequency Identification (RFID) technology that can be used for purpose of identification and tracking materials within a warehouse. 81
  • 82. 7. References Warehouse management system http://en.wikipedia.org/wiki/Warehouse_management_system What is a Warehouse Management System? http://www.shmula.com/5487/what-is-a-warehouse-management-system WarehouseNet http://www.ibuyer.hk/ProductsWhnt.html Enterprise 21 ERP http://www.tgiltd.com/erp-software/warehouse-management-systems- software.html EasyWMS http://www.interlakemecalux.com/ KIMARTA WMS http://www.thewarehousemanagementsystems.com/ MySQL Workbench http://en.wikipedia.org/wiki/MySQL_Workbench Adobe Dreamweaver http://en.wikipedia.org/wiki/Adobe_Dreamweaver JavaServer Pages – Technology http://java.sun.com/products/jsp/faq.html#2 How the JSP page works http://www.java-tips.org/java-ee-tips/javaserver-pages/how-the-jsp-page- works.html 82