DCOMSSSS

Share Embed Donate


Short Description

DCOMS assignment...

Description

CT024-3-3-DCOMS

INDIVIDUAL ASSIGNMENT JACON FOOD DELIVERY SYSTEM HAND IN DATE: 2th FEB 2017

NAME:

CHIN JESS NNY

TP NUMBER:

TP032137

INTAKE CODE:

UC3F1610SE-T1

LECTURER NAME:

MR. UMAPATHY

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

Table of Contents Abstract ..................................................................................................................................... 4 Introduction .............................................................................................................................. 5 Problem Statement................................................................................................................... 5 1.1 Aim ............................................................................................................................................... 6 1.2 Objectives .................................................................................................................................... 6

2.0 Use Case Diagram .............................................................................................................. 7 2.1 Use Case Specification ................................................................................................................ 8 2.1.1 Register account .................................................................................................................. 8 2.1.2 Login account ........................................................................................................................ 9 2.1.3 Place Order ............................................................................................................................ 9 2.1.4 Request list of food menu.................................................................................................... 10 2.1.5 Make Payment ..................................................................................................................... 11 2.1.6 Generate Order Report ........................................................................................................ 11 2.1.7 Manage Food Menu ............................................................................................................ 12 2.1.8 Edit Profile .......................................................................................................................... 13 2.1.9 View Order history .............................................................................................................. 14

3.0 Concept of Distributed Computer System ..................................................................... 15 3.1 Remote Method Invocation (RMI) .......................................................................................... 15 3.1.1 Client Side ........................................................................................................................... 16 3.1.2 Server Side .......................................................................................................................... 17 3.1.3 Remote Implementation Class............................................................................................. 18 3.1.4 RMI Constant Class ............................................................................................................ 19 3.1.5 RMI TestRMI Class ............................................................................................................ 19 3.2 Socket ......................................................................................................................................... 20 3.3 Serialization............................................................................................................................... 21 Stream .......................................................................................................................................... 22 Object Persistence ........................................................................................................................ 22

4.0 Testing ............................................................................................................................... 23 4.1 Register Testing ........................................................................................................................ 23 4.2 Login Testing............................................................................................................................. 24

5.0 Comparison between DCOMS technology .................................................................... 25 5.1 Common Object Request Broker Architecture (CORBA) ................................................... 25 5.2Component Object Model (COM) ........................................................................................... 25

2

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 5.3 Distributed Component Object Model (DCOM) ................................................................... 26 5.4 Justification on selected technology ........................................................................................ 26

6.0 Virtualization & Cloud Computing ............................................................................... 27 7.0 Program User Guide ........................................................................................................ 29 7.1 Main Page .................................................................................................................................. 29 7.2 Customer / Admin login page .................................................................................................. 30 7.3 Registration Page ...................................................................................................................... 31 7.4 Customer Main Menu Page ..................................................................................................... 32 7.5 Select food page......................................................................................................................... 33 7.6 Cart Information Page ............................................................................................................. 34 7.7 Place order and Make payment page...................................................................................... 35 7.8 E-receipt page ........................................................................................................................... 36 7.9 View order history page ........................................................................................................... 37 7.10 Profile Page ............................................................................................................................. 38 7.11 Admin Main Menu Page ........................................................................................................ 39 7.12 Admin Food Menu Page......................................................................................................... 40 7.13 Generate report Page ............................................................................................................. 41 7.14 admin view user profile .......................................................................................................... 42

8.0 Hardware and Software Specification ........................................................................... 43 8.1 Hardware Requirement ........................................................................................................... 43 8.2 Software Requirement ............................................................................................................. 43

9.0 Benefit of Internet Communication Engine (ICE) ........................................................ 44 Secure............................................................................................................................................... 44 Efficient and minimize CPU and bandwidth consumption ........................................................ 44 Flexible............................................................................................................................................. 44

10.0 Future Enhancement ..................................................................................................... 46 11.0 Conclusion ...................................................................................................................... 47 Reference ................................................................................................................................ 48

3

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

Abstract In this project, there are several distributed technologies will be discussed and adapted in the JACON food delivery system. It also utilizes appropriate language and system facilities to develop distributed and fault tolerant application. The project future development will also discuss in the project in distributed system technology and standards. A complete program user guide will be showed in the project to ensure fully understanding of the online food delivery system.

4

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

Introduction JACON is one of the most famous online food delivery system in Malaysia. This food system provides services to the customers by supplying foods in quicker and easier with cheapest rate. JACON has numerous branches all over the Malaysia. The speciality of JACON covers northern, southern and western styles of food. The system has both client and server side. The function of the system is to allow the user to place order by using the food delivery system. Besides, the system also allows the admin to make changes of the food menu and generate order report.

Problem Statement By using the system for JACON, it helps in serving food to customer at any time during business hour. There might be a problem while the shop has insufficient seat for the customer which might not satisfy for their services. By using online delivery system, it eliminates misunderstanding and no frustrations when ordering. While dine in restaurant, there might be chances the waiter has taking the wrong order due to the crowded environment. An online menu is cheaper and easier to create and maintain, in the shop itself, there are a lot of printed menu given to customer to order, therefore while a new food item is released the whole menu needed to be changed but an online order menu is easier to manage the information. Online delivery system is one of the best way to promote JACON as everyone is concern on using mobile every day. For example, Mc Donald’s and Domino pizza serve both walk in customer and online customer which help in increase their sales.

5

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

1.1 Aim The aim of implement of this system is to analyze, design and implement on Food Delivery System for JACON.

1.2 Objectives In this assignment, there are several objectives can be found in this system. The purpose of set objective is to ensure every functionality in the system can be achieved. Therefore, objectives are listed below: 

To allow user to register account with username and password



To allow the system to send acknowledgement email to registered user



To notify user while the entered username existed in system



To allow the user request a list of available food menu



To allow the system to return a list of available food menu to user



To allow user to purchase food from the available list



To ensure secure communication between user and system



To ensure the system able to generate report of ordered list



To ensure the system able to handle multiple users

6

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

2.0 Use Case Diagram

Figure 2.0: JACON food delivery system use case diagram

7

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

2.1 Use Case Specification 2.1.1 Register account Use Case Name

Register account

Description

To determine how user register account to the system

Primary Actor

Customer

Pre-Condition

user should connect to internet

Main scenario

1. New customer access the system 2. Select register button 3. Fill up information 4. Submit information 5. Customer will receive an acknowledgement email

Post condition

User is registered. Appropriate message is displayed

Fail-end condition

Entered a not valid username, used username or incorrect password format

8

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 2.1.2 Login account Use Case Name

Login account

Description

To determine how user login to the system

Primary Actor

Customer and Admin

Pre-Condition

User should registered an account

Main scenario

User required to enter username and password to access the system

Post condition

User is login

Fail-end condition

Entered an invalid username and password

2.1.3 Place Order Use Case Name

Place order

Description

To determine how user place order in the system

Primary Actor

Customer

Pre-Condition

User should registered an account

Main scenario

1. User select food type 2. Choose available food type from available food menu 3. Add item into cart 4. Fill in order details such as name, contact number and delivery address 5. Select payment method 6. Make payment 7. Receive receipt

9

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) Post condition

User is successfully place an order, a receipt will show to user

Fail-end condition

User failed to make payment on the order

2.1.4 Request list of food menu Use Case Name

Request food menu

Description

To determine how user request for available food menu

Primary Actor

Customer

Pre-Condition

User should registered an account

Main scenario

8. User search for desired food type 9. System return the available food menu based on user preference

Post condition

Available food menu will display on the system interface

Fail-end condition

User failed to login the system

10

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 2.1.5 Make Payment Use Case Name

Make payment

Description

To determine how user make payment of the order

Primary Actor

Customer

Pre-Condition

User should registered an account

Main scenario

1. User should check out the item in cart and fill in required information 2. User select payment method 3. User fill in information such as card holder name, card number, expired date, security code to verify payment 4. System will verify payment detail 5. User will received a receipt when the payment has been successful transferred

Post condition

User should select food in cart in order to make payment

Fail-end condition

Payment has been denied

2.1.6 Generate Order Report Use Case Name

Generate order report

Description

To determine how admin generate order report

Primary Actor

Admin

11

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) Pre-Condition

Admin required to log in to system

Main scenario

1. Admin select generate order report button in main menu 2. Admin select either monthly or weekly report to generate 3. Order report displayed on the user interface

Post condition

admin successfully generate order report

Fail-end condition

Admin unable to login to system

2.1.7 Manage Food Menu Use Case Name

Manage Food Menu

Description

To determine how admin manage information of food menu

Primary Actor

Admin

Pre-Condition

Admin required to log in to system

Main scenario

1. Admin select food menu button 2. Admin select either add new item, edit item detail or delete selected item 3. Confirm changes by clicking done button 4. Information will be updated

Post condition

admin successfully manage food menu information

Fail-end condition

Admin unable to login to system

12

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 2.1.8 Edit Profile Use Case Name

Edit Profile

Description

To determine how customer edit profile

Primary Actor

Customer

Pre-Condition

Customer required to log in the system

Main scenario

1. Customer select profile in main menu 2. Customer fill in old password, new password and retype password 3. Customer select edit button 4. The new password will be updated in database

Post condition

Customer successfully update password

Fail-end condition

Customer key in wrong old password

13

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 2.1.9 View Order history Use Case Name

View order history

Description

To determine how customer able to view order history

Primary Actor

Customer

Pre-Condition

Customer required to log in the system

Main scenario

1. Customer select view order history 2. A list of order information will be showed in a table form

Post condition

A list of order history will displayed

Fail-end condition

Customer did not place any order

14

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

3.0 Concept of Distributed Computer System 3.1 Remote Method Invocation (RMI) Remote Method Invocation is using JAVA programming languages and development environment. Normally it is object oriented programing that able to interact with different machine in distribute network. Therefore, it can be treat as API to allow the object to implement a method on another object in the different address space so it can be use in remote machine or same machine. By using RMI, java virtual machine (JVM) can run an object in the computer which is client side can call a method on an object that present in another machine which is server side. Besides, RMI will create a public remote server object that make the communication between client and server side through calling the object in simple method. There are two important object required to use for communication which are stub object and skeleton object (javapoint, 2017). The stub object on the client machine builds an information block and sends information to the server and skeleton object required to pass the information from stub object to remote object. For example, while user log in to the system a log in request will send to server to get verification of the login details. After verified, the server will return the result to user and allow the user to log in to the food delivery system. During the passing request from skeleton object from stub object to remote object, it performs tasks which called the desired method on the real object present on the server and it forwards the parameters that received from stub object to the method (Geeksforgeek, 2017). The diagram below showed how RMI working.

Figure 3.0: Working of RMI (Geeksforgeek, 2017)

15

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 3.1.1 Client Side package com.client;

import java.rmi.NotBoundException; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry;

import com.interf.test.Constant; import com.interf.test.TestRMI;

public class TestClient { public static void main(String[] args) throws RemoteException, NotBoundException{ Registry registry = LocateRegistry.getRegistry("localhost",Constant.RMI_PORT); TestRMI remote = (TestRMI)registry.lookup(Constant.RMI_ID); System.out.println(remote.isLoginValid("ok")); System.out.println(remote.isLoginValid("test"));

} }

16

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 3.1.2 Server Side package com.test; import java.io.IOException; import java.rmi.AlreadyBoundException; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import com.interf.test.Constant;

public class RMIServer { public static void main(String[] args) throws RemoteException, AlreadyBoundException, IOException{ Runtime.getRuntime().exec("rmiregistry 1099"); RemoteImplementation impl = new RemoteImplementation(); Registry registry = LocateRegistry.createRegistry(Constant.RMI_PORT); registry.bind(Constant.RMI_ID,impl); System.out.println("Server has started"); } }

17

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 3.1.3 Remote Implementation Class package com.test; import java.rmi.*; import java.rmi.server.UnicastRemoteObject; import com.interf.test.TestRMI; public class RemoteImplementation extends UnicastRemoteObject implements TestRMI{ private static final long serialVersionUID = 1L; protected RemoteImplementation() throws RemoteException { super(); // TODO Auto-generated constructor stub } @Override public boolean isLoginValid(String username) throws RemoteException { if(username.equals("test")){ return true; } else{return false;} }

}

18

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) 3.1.4 RMI Constant Class package com.interf.test; public class Constant { public static final String RMI_ID ="TestRMI"; public static final int RMI_PORT=1099; } 3.1.5 RMI TestRMI Class package com.interf.test; import java.rmi.*; public interface TestRMI extends Remote{ public boolean isLoginValid(String username) throws RemoteException; }

19

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

3.2 Socket Socket is one endpoint of two ways communication link between programs. Socket is a programming abstraction which used to implement low level IPC. Socket is used to exchange information to other process with a specific condition where both processes must have socket to perform the transference of information. Socket is divided into two different type which is client side socket and server side socket. Client side act as the end point of the conversation which it performs send request and receive response. After the process has completed, the socket will be destroyed and not activated unless the sending request process are created again (Badgerati, 2009). In order to setting up the socket in client side, TCPIP must be set for a socket to connect server on the port and corresponding to the appropriate protocol. If the connection has been successful connected with no error, the whole process of setting up in client side is completed and ready to send request to a specific webpage though socket. In the system, one of the example is new customer able to register by sending request to system and wait for response, when response is being processed the socket will receive from system and display the registration page. After completed, the socket will be discard. On the other side, server side socket will listen the instruction from host to perform task given by the client side which only wait for command to perform actions. The food delivery act as server side to wait any command from user to execute specific process. Usually, the new socket works to exchange information with the client side. After complete a process, the socket from server will simply goes back to listen for more connections. To set up a server socket, TCPIP is required and bind the server socket to the host address and a port. When setting has completed, the server socket will ready to listen connection and set the maximum number that could be waiting. While the connection is connected by the server side, two block of information can be gather and ready to process. Lastly, when the process is finished, client connected socket must be shut down and close and when the handler has completed and return to the parents (Badgerati, 2009).

20

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

3.3 Serialization Serialization is a process of converting the state form of information into binary or textual form in order to transport over network. It able to transform a single or group of object into array of bytes or stream of bits for storing and sending over the network whereas array of bytes and stream of bits can transform back to the original state of information (docs.oracle.com, 2017). The process will perform automatically when ObjectInputStream and ObjectOutputStream classes is used in the system (stackoverflow, 2017). Therefore, the programmer able to decide to choose implement in the function by implementing the serializable interface. The process of serialization consists of marshalling and deflating of the object whereas the process of deserialization is inflating and un-marshalling. There are several benefits of using serialization which is it is easy to use and it is customizable. Besides, the serialized stream can be encrypted, authenticated and compressed, supporting the needs of secure Java computing. (Seshadri, 2012). By using serialization, it helps to improve secureness of the file to prevent information leaked. Lastly, serialization can be used to exchange object between different programming language such as C++ and java library with third part vendor library (Seshadri, 2012).

21

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) Stream Stream is one of the channel to allow every program to store data and ensure every program read data from the channel. Every stream has the ability to write data with different method and read from the source which is read method. When the channel is created, all methods need to be called to execute the process (MrBool, 2017). The diagram below showed how the stream work on a program.

Figure3.1: Stream representation (MrBool, 2017) Object Persistence Object Persistence is the ability to determine how the object are surviving when the application runs. The collected object will be collected by the JVM garbage collection during runtime when the object is no longer active. If the object did not collect and the API of persistence is used, it allowed to access to the application for the following time during the running process. Another benefit of implement persistence is able to store object in database which able to retrieve data at any time.

22

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

4.0 Testing 4.1 Register Testing No. Test ID

Test

Description

Expected

Function 1

Register

Register01

TP01

Actual Result

Status

Result Enter

registration Registration Registration

detail

such

as successful

Pass

successful

username, password, confirm password,

name,

BOD,

contact

number correctly Register02

Password confirm

and Registration Registration password failed

failed

failed

not match Register03

Enter

username Registration Registration

which existed Register04

enter

failed

failed

blank Registration Registration

information

23

failed

failed

failed

failed

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

4.2 Login Testing No. Test ID

1

Login TP02

Test

Description

Expected

Actual Result

Status

Pass

Function

Result

Login01

Enter username and Login

Login

password correctly

successful

Login02

successful

Enter wrong user Login failed Login failed

failed

name and correct password Login03

Enter

wrong Login failed Login failed

password

failed

and

correct username Login04

Enter

wrong Login failed Login failed

username password

24

and

failed

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

5.0 Comparison between DCOMS technology 5.1 Common Object Request Broker Architecture (CORBA) COBRA is an open distributed object computing infrastructure standardized by Object Management Group (OMG) and specification based on technologies proposed by software industry. CORBA provide independence platform as it using internal naming service for services client requests by providing middle layer between both client and server to determine server object. After that, it exposes method to client via it’s object adapter (POA). CORBA consist of potential maintainability as the server object able to make changes. The benefit of using CORBA is because it related to Object Request Broker (ORB) which support client and server network on separate machine to execute process whereas request service also need to be done from server program. Basically, it did not request to define where is the server and what interface used. During the execution of both request and return service required General InterORB protocol (GIOP) and Internet Inter-ORB protocol (IIOP). Both protocols must use together which enable to get request and replies to the Internet’s Transmission Control Protocol (TCP).

5.2Component Object Model (COM) COM is a binary-interface standard for software components which introduced by Microsoft in year 1993. COM is used to create re-usable software component and link components to build applications and take advantages of window service. The programming language used to create COM object is C++ to provide mechanism that help in simplify the implementation of COM object (Rouse, 2017). Microsoft Object Linking and Embedding provide service for user to display compound document, interface negotiation and life cycle management. The object is made up of set of data and its functionality is to manipulate data to perform task therefore COM object required to be accessed to the object data in order to execute more than one function. Hence, COM able to define how objects work together in distributed system and improving the security of the system (Microsoft, 2017).

25

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

5.3 Distributed Component Object Model (DCOM) DCOM supports remote object by running on protocol name object Remote Procedure Call (ORPC). DCOM is the concept of Microsoft and the program interface in client side to request the service from the server side with another machine which connect network. DCOM is based on COM which provide set of interface to help client and server to communicate in one machine. By using DCOM interface, the client object able to forward Remote Procedure Call (RPC) to request service from server object. At the same time server object required to process and return result to client object. In other way, DCOM can work through network by using TCP/IP and HTTP method to execute the process. DCOM is similar with CORBA as it also provides distributed services. While the differences of DCOM and COBRA is DCOM is approach with network environment for program and data object whereas COBRA is sponsored by information technology industry which under Object Management Group (OMG) (TechTarget, 2017).

5.4 Justification on selected technology Based on several technologies, CORBA is selected as it able to implement in several programming languages such as C++, JAVA, C and others. In this system, Java programming language is more suitable for the food delivery system. CORBA is implement in the system as it is more efficiency technology compare to DCOM and COM. CORBA offer better performance and it is easier to link object and system together. CORBA protocol infrastructure ensure the transmission of message between client and server program in a compact representation therefore client and server able to receive information faster instead of wasting time while performing execution.

26

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

6.0 Virtualization & Cloud Computing Virtualization is the software to control the hardware to create various dedicated resources which is the fundamental technology to power cloud computing. It enables the computer to run multiple operating system and application at the same time. It helps to increase the computer hardware efficiency and flexibility. While the virtualization has several advantages, the purpose of using it is to avoid wasting costly processing power in the system. There are several virtualization areas in information technology area which are network, server and storage. First, network virtualization is to enable combination of available resource in network and separate the available bandwidth into channel which explain how the complexity of network is separated into manageable parts to handle which has the similar concept with manage files into different hard drive. Second, server virtualization is to enable hidden server resource from server users. The server resources including processor, operating system and identity of physical servers. The important of using server virtualization is to allow user have more resource sharing and utilization and maintain the capacity of the server. Lastly, storage virtualization is collecting physical storage from different network storage device to one network storage device. Basically storage virtualization will use in storage area networks (SANs) (Rouse, 2017). In general, virtualization is used to centralize task and help in improving the scalability of work at the same time (Angeles, 2017). In the food delivery system, virtualization concept can be implement in the system in order to improve the efficiency of the system as well as to help system admin to manage the order. Virtualization consist of several benefits which should be implement to improve the system.

There are differences between both virtualization and cloud computing. Virtualization is different with cloud computing as virtualization is software that manipulate hardware whereas cloud computing refers to a service that result from manipulation (Angeles, 2014). Besides, Virtualization can exist without the cloud, but cloud computing cannot exist without virtualization. The cloud computing is defined as able to share computing resources and deliver data as a service through internet. In this situation, cloud computing can be implement in the food delivery system in order to allow user to check the available food menu. System admin only required to select available food menu to the cloud and cloud are storing the data to display out to the user. Cloud computing consist of several benefits to for users such as capital expenditure free, able to work from anywhere without restriction and document control. While cloud computing able to save cost of hardware, user can just pay and enjoy subscription based 27

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) model without setup the computer hardware. Setting up a server could be a difficult task for user if user did not have any knowledge about it. Therefore, using cloud computing admin able to work anywhere with internet connection which convenience to work and able to store data. Cloud computing helps in manage document and store it centrally to avoid document messed up cause of conflict of file content and format. Besides, it helps to show the document more visible and user able to work better in the industry environment.

28

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.0 Program User Guide 7.1 Main Page

Figure 7.1 Main Page User need to choose either login with a customer account or admin account by selecting the button below the logo. After that, it will navigate to the login page.

29

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.2 Customer / Admin login page

Figure 7.2: Customer & Admin Login Page User need to login to the system by entering username and password. Customer and admin are sharing the same user interface to login to the system. Every user required an account only has the permission to log in to the system. If the user do not have an account, user should click the register button which placed below the login panel.

30

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.3 Registration Page

figure 7.3 registration page User can make registration in this page by entering username and password. If the entered username already existed in the system, it will prompt the error messages to user and alert user enter the new username that doesn’t exist in the system. After user are done the entering the information, user can click the register button. After registration successful, user will receive an acknowledgement email as a confirmation of the registration.

31

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.4 Customer Main Menu Page

Figure 7.4 Customer Main Menu In this page, the user able to choose which action to perform such as select food for purchase, checking cart, view order history and also profile page. This is the main menu of the system which after performed an action will redirect to this page. User also able to logout the system by clicking the button locate top right of the page.

32

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.5 Select food page

Figure 7.5 Select food Page User will select their preference food in this page and add into cart waiting for placing order. User able to filter the selection by selecting the food type and the selection food menu will be listed at this page. In this case, a user has selected burger choice and the beef, chicken and fish burger will be showing on this page. The information of the item such as ingredient and price will be showing at this page as well. By selecting add button beside the food choice is to ensure the item is added into cart waiting for purchasing. While user able to check the cart information by clicking the cart button placed on the top right.

33

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.6 Cart Information Page

Figure 7.6: Cart Information In this page, the selected items has been list down and the information such as quantity and price also will showed on this page. The cart information page allows the user to have the second confirmation chance to select which items is being purchase by checked the check box beside the item. After confirmed the order, user will need to click the checkout button to proceed to next page.

34

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.7 Place order and Make payment page

Figure 7.7: Place order and make payment page After checkout the selected items, the system will navigate to this page which is place order and make payment page. In this page which is the final step of placing order, where the order detail will show and user required to fill in personal detail and delivery address in order to allow JACON worker to deliver the food to their doorstep. Besides, the user must select either 1 payment method. User has to fill in credit card details to proceed payment.

35

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.8 E-receipt page

Figure 7.8: receipt page Lastly, while the order has been successfully placed, a e-receipt will show and customer able to keep it when they need to use it to show the JACON staff as a confirmation of the order during delivery.

36

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.9 View order history page

Figure 7.9: View Order History Page User also able to check the order history by clicking the order history button in the main menu and it will navigate to this page. Customer able to review order placed in this system. The details include when the user placed the order, what items has been purchased, and the prices of the order.

37

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.10 Profile Page

Figure 7.10: Profile Page User also able to check their profile information in the profile page which navigate from the main menu. In this page, user’s photo will be show and other information such as name, last login, and last order placed time and date will be showing. User also able to edit profile information such as password. By editing the password required to enter the old password and twice for the new password. After filling all the information, clicking the edit profile will update the system about the new password.

38

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.11 Admin Main Menu Page

Figure 7.11: Admin Main Menu Page For the admin main menu, it is slightly different with the customer main menu page. Admin main menu did not have the cart information as admin will be managing information but not placing order. Admin main menu only has 4 option to perform action.

39

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.12 Admin Food Menu Page

Figure 7.12: Admin Food Menu Page By selecting the food menu button in admin main menu, system will navigate to this page where admin able to add new item, edit item and delete item. Admin able to filter the food type before perform managing the information. Admin able to checked the selected item to perform the action. After done, a confirm button must be clicked to ensure the process is ended.

40

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.13 Generate report Page

Figure 7.13 Generate report page The order report generate page only able to access by admin. In this page admin will click either monthly or weekly button to generate order report based on admin preference. The order report will show below the button and the date range and report generate date also will be showing. The information of the order report include food type, quantity and price.

41

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

7.14 admin view user profile

Figure 7.14: Admin view user profile In order to navigate this page is to click the view user profile button in the main menu. In this page, admin able to check the user’s information by searching customer name and able to help them retrieve their password as well as update their information such as contact number and address.

42

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

8.0 Hardware and Software Specification 8.1 Hardware Requirement 

Computer Processor: Core i5



Internet Connection: Wireless Connection, Router



Storage: minimum of 2GB hard-disk space



Processor: Intel



Processor speed: 4GB RAM

8.2 Software Requirement 

Operating System: Mac OS Sierra



Netbean IDE 8.0 or above



MySQL database

43

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

9.0 Benefit of Internet Communication Engine (ICE) ICE is a modern object oriented toolkit which enables to build distributed application with minimal effort. By using ICE, it allows to focus efforts on application logic as well as take care of interactions with low level network programming interfaces. ICE able to provide a better network infrastructure for demand technical applications which able to use in many ways such as C++, Java, highly efficient protocol, TCP/IP, SSL- based security, firewall solution and others. ICE is a comprehensive of Remote Procedure Call (RPC) which support multiple programming languages (Zeroc, 2017). Besides, it also supports several operating systems such as Window, android, Linux and others. ICE also provide several complementary service for network application such as Ice Grid, Ice Storm and IcePatch2 which consist of different functionality to enhance system such as monitoring, file distribution and event publish. There are several benefits of using ICE which are secure, efficient and minimize CPU and bandwidth consumption and flexible.

Secure Ice has good security and suitable to use over insecure public networks because it offers a powerful and easy manipulation in security feature. It can work with existing firewalls which a single port is enough to provide secure access for unlimited clients to unlimited servers. The IceSSL plug in use the operating system to encrypt data and authenticate connection which is an easy way to use as it just required few line of code to execute (Zeroc, 2017).

Efficient and minimize CPU and bandwidth consumption ICE use an efficient protocol to minimize the consumption of CPU and bandwidth. It used small amount of CPU with a highly efficient protocol which allows the application to scale up to ten thousand of client (Zeroc, 2017). The compression allows to disable and enable during runtime and without code to modify. The ICE also can receive and forward request to new destination as it not required to unmarshal and remarshal payload when forwarding.

Flexible ICE has a great flexibility as it supports both synchronous and asynchronous invocations. While using Synchronous invocation, caller thread able to blocks until the RPS has completed whereas asynchronous invocations allow caller to continue using the thread while RPC is

44

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) undergoing process and waiting to be notify. ICE can support both synchronous and asynchronous on the service side which server side able to read the request and locate it to execute with synchronous dispatch whereas asynchronous dispatch need callback for implementation and additional request. ICE is flexible to accommodate even though the most demanding and mission- critical application (Zeroc, 2017).

There are several alternatives for ICE include Delphi, Java and Python. While Python mapping is intuitive and client-side Slice-to-Python mapping will define how Slice data type will be translated to Python type and how clients pass parameter and handle errors

45

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

10.0 Future Enhancement Based on the scenario, I had analyzed several suggestions to improve the system. Based on my opinion, the system should allow guest login by linking social media account such as Facebook, google+ or Twitter instead of blindly register account through the system. System admin should have more authority to view the system instead of just handing generating report. Besides, both customer and admin are using different sign in page which might need more memory. It should be combined into 1 page for both login and the system itself decide the authority of both users. A notification should be given to the customer while the food order has been placed and during the delivery stage system should send notification to customer to inform them the order has been delivering to their footstep. The food delivery system should extend to mobile application which people nowadays are more preferred to use mobile application to perform action such as Foodpanda, Mcdonald’s, and Domino.

46

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

11.0 Conclusion After implement the Food delivery system, JACON able to provide online supplying food to customer in a quicker and easier way with a cheapest rate. The implementation with efficiency technologies, the system process will become more convenient and efficiency to use for the user and admin which enhance the performance of the system. Besides, there are several obstacles I met while researching on the technologies concept. The technology concept was confusing therefore I need to spend more time on understanding the knowledge of implemented technologies. There are several journal and ebooks helps me to have better understanding on the theories and also understand how it applied into the food delivery system.

47

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny)

References Angeles, S (2014). Virtualization vs. Cloud Computing: What's the Difference?.[online] Business News Daily. Available at: http://www.businessnewsdaily.com/5791-virtualizationvs-cloud-computing.html [Accessed 6 Feb. 2017]. Badgerati, (2009). Distributed Systems – Socket Level Servers. [Online] Available at: https://computersciencesource.wordpress.com/2009/09/10/year1-distributed- systems-socketlevel-servers/ [Accessed 3 Feb 2017]. Docs.oracle.com. (2017). Serializable Objects (The Java™ Tutorials > Java Naming and Directory Interface > Java Objects in the Directory). [online] Available at: https://docs.oracle.com/javase/tutorial/jndi/objects/serial.html [Accessed 5 Feb. 2017]. GeeksforGeeks, (2017). Remote Method Invocation in Java. [Online] Available at: http://www.geeksforgeeks.org/remote-method-invocation-in-java/ [Accessed 3 Feb 2017]. javapoint,

(2017).

RMI

(Remote

Method

Invocation).

[Online]

Available

at:

Available

at:

http://www.javatpoint.com/RMI [Accessed 2 Feb 2017]. Microsoft,

(2017).

The

Component

Object

Model.

[Online]

https://msdn.microsoft.com/enus/en-%20us/library/windows/desktop/ms694363(v=vs.85).aspx [Accessed 2 Feb 2017]. MrBool,

(2017).

How

serialization

works

in

Java.

[Online]

Available

at:

http://mrbool.com/how-serialization-works-in-java/28129 [Accessed 3 Feb 2017]. Rouse,

M.,

(2017).

Component

Object

Model

(COM).

[Online]

Available

at:

http://searchwindowsserver.techtarget.com/definition/Component-Object-Model-COM [Accessed 3 Feb 2017]. rouse,

m.,

(2017).

virtualization.

[Online]

http://searchservervirtualization.techtarget.com/definition/virtualization

Available

at:

[Accessed 3 Feb

2017]. Seshadri, G., (2012). What are the advantages and disadvantags of serialization?. [Online] Available at: http://www.jguru.com/faq/view.jsp?EID=5068 [Accessed 2 Feb 2017]. 48

CT024-3-3-DCOMS Individual Assignment (TP032137- Chin Jess Nny) stackoverflow,

(2017).

Java

serialization

over

network.

[Online]

Available

at:

http://stackoverflow.com/questions/707987/java-serialization-over-network [Accessed 3 Feb 2017]. TechTarget, (2017). DCOM (Distributed Component Object Model). [Online] Available at: http://whatis.techtarget.com/definition/DCOM-Distributed-Component-Object-Model [Accessed 1 Feb 2017]. Zeroc, (2017). What is Ice?. [Online] Available at: https://zeroc.com/products/ice [Accessed 6 Feb 2017].

49

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF