DEVELOP JAVA WEB APPLICATION FOR SUPPLY CHAIN
MANAGEMENT
SVTH: Nguyễn Thị Ngọc Anh, Nguyễn Thị Hoa,
Hoàng Thanh Nga, Lê Minh Phương, Nguyễn Thu Trang
GVHD: ThS Trần Nguyễn Khánh
Tóm tắt – Quản lý chuỗi cung ứng là một tính năng cần thiết để tiến hành bất kỳ hoạt động kinh
doanh nào. Hệ thống này quản lý một mạng lưới các công ty được kết nối với nhau chịu trách nhiệm
cung cấp cho người dùng cuối các gói sản phẩm và dịch vụ. Nó bao gồm tất cả nguyên liệu thô, tồn
kho trong quá trình sản xuất, và việc vận chuyển và lưu kho hàng hóa thành phẩm từ điểm xuất xứ
đến điểm tiêu thụ. Nó chủ yếu dành cho ngành cơng nghiệp sản xuất và nó cung cấp kiến thức về
việc phát hành sản phẩm cho khách hàng và nhà phân phối của công ty.
Abstract - Supply chain management is an essential feature of conducting any business
operations. This system manages a network of interconnected companies that are responsible for
providing end users with product and service bundles. It includes all raw material, work-in-process
inventory, and finished goods movement and storage from point of origin to point of consumption. It is
primarily intended for the manufacturing industry, and it provides knowledge about product releases to
the company's clients and distributors.
Keywords: Java Servlet, Model-View-Controller, Web Applications
A. INTRODUCTION
Ten years ago, the word “Supply chain” or “Supply chain management” rarely
appeared in the work of managers. They just use the terms “logistic” or “load” to describe the
flow of goods. However, in recent years, this term has become popular, even becoming a
major that attracts many students from a myriad of Universities. So, what is supply chain
management? We can find various definitions in google but by common definition, Supply
chain management is the coordination of production, inventory, location and transportation
among departments in the supply chain to quickly and efficiently respond to the market need.
To gain a specific understanding about the huge roles of supply chain management, our group
decided to create a website “Supply chain management system”. The system's primary goal is
to streamline contact between the organization's administrators, customers, and suppliers.
This project keeps track of details about the company's clients and distributors in relation to
its product launch. This will also keep track of sales and suppliers. The website includes five
main functions: Inventory management, Inventory management, Logistics and shipping
status, Forecasting, Return management. This report will provide the outline of the
requirement, overview of the characteristics and constraints of the system.
146
B. MAIN CONTENT
This application is designed to run on any computer. Java software must be installed on
the client side computer. The person who registers for the application has the ability to apply
his registration form and then determine the conditions based on his classification. This
document plays a vital role in businesses that are the priorities of the Supply Chain
Management Tool. As a result, it is anticipated that the firm will communicate specifically
with each of its clients when it comes to product details. It satisfies a variety of customer
specifications. The system's primary goal is to automate coordination between the
organization's management (Admin), customers, and dealers.
Figure 1 - SCM Structure
Pictorial View of the system:
Figure 2 - SCM View
147
I. DEVELOPMENT
1. Model View Controller ( MVC)
In the project, to build the website, we follow MVC design pattern, Model DAO
resource, JSP (Java Server Pages) works as View and Servlet works as Controller. Frontend
we use React, Backend is Servlet and MySql to design databases. Additionally, we use Data
Transfer Object Pattern (Entity, DTO, DAO) to transfer data between Client and Server.
2. Analysis
Database is absolutely an integral part of software systems. To fully utilize ER Diagram
in database engineering guarantees you to produce high-quality database design to use in
database creation, management, and maintenance. An ER model also provides a means for
communication.
A description of the persistent data storage perspective of Supply Chain Management
System
Figure 3 - SCM Entity-Relationship Diagram
3. Design
4.1. Database design & Design Pattern
Database design : Layered Architecture Style
In this setup, you have the presentation or GUI tier, the data layer, and the
logic tier.
148
application
● The application logic tier. The application logic tier is where all of the "thinking"
takes place, and it knows what the application allows and what it can do, as well as making
other decisions. This logic tier also writes and reads data to and from the data tier.
● The data tier. All of the data used in your application is stored in the data tier. This tier
allows you to safely store data, perform transactions, and even browse through massive
amounts of data in a matter of seconds.In data tier, the database is MySQL database.
● The presentation tier. The user interface is the presentation tier. This is the interface
through which the app user communicates. This is where they input the necessary data. This
tier also serves as a conduit between the data and the user, relaying the user's various
behaviors to the logic tier. The presentation tier is the Web application that you see. It's
shown in a Web browser on your computer, and it includes CSS, JavaScript, and HTML
codes that help you understand the Web application. The presentation tier will show you
boxes for username, password, and a submit button if you need to log in. All of this will be
passed on to the logic tier after you fill out and apply the form
● The logic tier will have the JSP, Java Servlets The logic tier would be run on a Web
server.
Design Pattern: Mediator Design Pattern.
Mediator is a behavioral design pattern that allows you to reduce the chaos of object
dependencies. The pattern prevents the objects from communicating directly with each other,
forcing them to collaborate only via a mediator entity.
This project follows the Agile model and each module is independent to avoid tons of
code repeats. In the code base, the database layer should be reusable, models should be
reusable.
According to the Mediator pattern, you can stop all direct contact between the
components you want to be independent of one another. Instead, these components must work
together via a specific mediator object, which guides calls to the relevant components. As a
result, instead of being linked to hundreds of colleagues, the components are only reliant on a
single mediator class. I create an auto table link class in code that is supported by the model
classes. To get the data from the table I, all I have to do is define the model class when doing
database interaction.
4.2. Backend Design
JDBC is a set of specifications that defines how a program written in java can
communicate and interact with a database. It provides a vehicle for the exchange of SQL
149
between java applications and databases. Programs developed with Java and the JDBC are
platform independent and vendor independent.
Servlets and Java Server Pages are complementary APIs, both providing a means for
generating dynamic Web content. A servlet is a Java class implementing the
javax.servlet.Servlet interface that runs within a Web or application server's servlet engine,
servicing client requests forwarded to it through the server. A Java Server Page is a slightly
more complicated beast. JSP pages contain a mixture of HTML, Java scripts (not to be
confused with JavaScript), JSP elements, and JSP directives. The elements in a Java Server
Page will generally be compiled by the JSP engine into a servlet, but the JSP specification
only requires that the JSP page execution entity follows the Servlet Protocol.
Figure 4 - SCM Controller
4.3. Frontend Design and Customer Interface
The frontend server uses React for flexibility and maintenance due to its modular
structure.
JSP (Java Server Pages) technology allows designers to easily create Web content that
has both static and dynamic components. JSP technology projects all the dynamic capabilities
of Java Servlet technology but provides a more natural approach to creating static content.
CSS, HTML and Bootstrap libraries for responsive design were also used to improve user
experience.
JavaScript enables Web authors to write small scripts that execute on the users’
browsers rather than on the server. An application that collects data from a form and then
posts it to the server can validate the data for completeness and correctness, for example,
150
before sending it to the server. This can greatly improve the performance of the browsing
session because users don’t have to send data to the server until it has been verified as correct.
To access the web application, we access http://localhost:5000/. While the page is being
loaded, the presentation server makes requests to the application server by fetching
localhost:8080 using the node-fetch library to get data from MySQL database.
Figure 5 – Login Form for the system and error login (backend)
Figure 6 - Supply Chain Management System Homepage
access the web application by http://localhost:5000/
It is the management of flow of products and services with other functions
151
Figure 7 - Roles Management
Figure 8 - Add new Role
Figure 9 - Display error when update/add duplicate name
Figure 10 – Transporting Units Management
152
Figure 11 – Labors Management
Figure 12 – Warehouse Management
Figure 13 – Order Management
In this view the administrator can: Add a new product, Update or delete existing products,
manage data for inventories, manage data, and Automatically get latest data.
153
Figure 14 - Inventory Management
Some errors in product cause “FAILED” status. The manager can change status from
PENDING to SHIPPING so the order displayed in order management once upon.
Figure 15 – Return Management
154
Figure 16 – Change Status in Return Management
5. Implementation
In this module Administrator can check the availability of the product, the new
launched product information. It also checks the delivery of product to the clients request and
filters the products which are not being ordered by the clients.
Whenever the Admin login into the system, it first checks the client requirements and
then contacts the various dealers depending upon the requirements specified by the client.
II. Evaluation
1. Advantages
It will be easy for the user to become familiar with and competent in using the user
interface on the first contact with because the website have friendly customer interface as
well as view the web clearly. Coupled with 5 main functions( Inventory management; order
management, logistics and shopping status; forecasting; return management) , users will
quickly achieve their objective through using the website.
2. Limitations
Topic Supply chain management is a broad topic so we just focus on some main
aspects. Coupled with, this topic is hard to study, so it is time-consuming to plan, discuss,
assign tasks and build this web.
3. Future Improvement
Our project’s delivery dates and times are not stated, but they can be added as a future
improvement. We will complete this web for the manager in charge of all functions. At any
given time, only one report is produced. We will make improvements to make it possible to
generate more reports and maintain the daily schedule as part of the project's potential
improvements. Furthermore the authentications may also be obtained by the vendor during
future expansion.
155
C. Conclusion
We have created this site with great potential and it can be easily integrated in the
future. The website will help customers save time and travel expenses, customers can easily
order at home with just a few clicks. Furthermore, our project is created with the aim of
meeting the needs of the general consumer to the greatest extent possible. We hope that you
will see all the features and benefits that this website has to offer.
REFERENCE
[1] Oracle | Integrated Cloud Applications and Platform Services. What is Supply Chain
Management? Available at:
/>[2] IntechOpen - Open Science Open Minds | IntechOpen. Using Web Technologies for
Supply Chain Management. Available at:
/>APPENDIX
[1] Project repository: our source code with the link attached in github below
/>
156