Java RMI : pizza store

14
JAVA RMI : PIZZA STORE 20149226 Pankamol Srikaew (Aime), Student from Kasetsart University

Transcript of Java RMI : pizza store

JAVA RMI : PIZZA STORE

20149226 Pankamol Srikaew (Aime), Student from Kasetsart University

Contents

- What is my idea?- How I Implement JAVA RMI?- How does it work?- Demonstration!

PIZZA STORE

WHAT’S

MY IDEA

PIZZA STORE

Medium

Large

PIZZA STORE

Toppings....- Cheese- Sweet Pepper- Shrimp- Seafood- Squid- Beef- Pork- Chicken- Pineapple etc.

PIZZA STORE

Crust….- Normal C- Cheese Crust- Sausage Crust- Double Cheese Sausage Crust etc.

SalesPIZZA STORE

HOWI implementJAVA RMI?

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void

<< interface >>Pizza

PizzaImpl

+ count : int+ customerName : String+ memberId : String+ size : String+ topping1 : String+ topping2 : String+ topping3 : String+ crust : String+ sauce : String+ total : double+ sauceMap : Map<String, String>+ crustMap : Map<String, String>

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void + customerOrder() : void+ menuTopping(topping:String) : String+ orderTopping(order:String, toppingNumber:String) : String+ sizeM() : double+ sizeL() : double+ cheeseTopping() : double….

implements

PizzaServer()+ main(args:String[]) : void

PizzaServer

PizzaClient

+ name : String+ p : Pizza+ order : String+ cashier : String+ exitStatus : int+ reorderStatus : int+ scanner : Scanner+ countTopping : int

PizzaServer()+ main(args:String[]) : void+ checkReorderStatus() : boolean+ checkExitStatus() : boolean+ ordering(type:String) : void

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void

<< interface >>Pizza

PizzaImpl

+ count : int+ customerName : String+ memberId : String+ size : String+ topping1 : String+ topping2 : String+ topping3 : String+ crust : String+ sauce : String+ total : double+ sauceMap : Map<String, String>+ crustMap : Map<String, String>

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void + customerOrder() : void+ menuTopping(topping:String) : String+ orderTopping(order:String, toppingNumber:String) : String+ sizeM() : double+ sizeL() : double+ cheeseTopping() : double….

implements

PizzaServer()+ main(args:String[]) : void

PizzaServer

PizzaClient

+ name : String+ p : Pizza+ order : String+ cashier : String+ exitStatus : int+ reorderStatus : int+ scanner : Scanner+ countTopping : int

PizzaServer()+ main(args:String[]) : void+ checkReorderStatus() : boolean+ checkExitStatus() : boolean+ ordering(type:String) : void

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void

<< interface >>Pizza

PizzaImpl

implements

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void

<< interface >>Pizza

PizzaImpl

+ count : int+ customerName : String+ memberId : String+ size : String+ topping1 : String+ topping2 : String+ topping3 : String+ crust : String+ sauce : String+ total : double+ sauceMap : Map<String, String>+ crustMap : Map<String, String>

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void + customerOrder() : void+ menuTopping(topping:String) : String+ orderTopping(order:String, toppingNumber:String) : String+ sizeM() : double+ sizeL() : double+ cheeseTopping() : double….

implements

PizzaServer

PizzaServer()+ main(args:String[]) : void

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void

<< interface >>Pizza

PizzaImpl

+ count : int+ customerName : String+ memberId : String+ size : String+ topping1 : String+ topping2 : String+ topping3 : String+ crust : String+ sauce : String+ total : double+ sauceMap : Map<String, String>+ crustMap : Map<String, String>

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void + customerOrder() : void+ menuTopping(topping:String) : String+ orderTopping(order:String, toppingNumber:String) : String+ sizeM() : double+ sizeL() : double+ cheeseTopping() : double….

implements

PizzaServer()+ main(args:String[]) : void

PizzaServer

PizzaClient

+ name : String+ p : Pizza+ order : String+ cashier : String+ exitStatus : int+ reorderStatus : int+ scanner : Scanner+ countTopping : int

PizzaServer()+ main(args:String[]) : void+ checkReorderStatus() : boolean+checkExitStatus() : boolean+ ordering(type:String) : void

+ countNumber() : void+ minusCount() : void+ welcomeToStore(name:String) : String+ menuForOrder() : String+ orderInfo(order:String, type:String) : String+ member() : String+ isMember(order:String) : String+ yourOrder() : String+ confirmOrder(order:String) : String+ reOrder() : void

<< interface >>Pizza

PizzaImpl

implements

PizzaClient

+ name : String+ p : Pizza+ order : String+ cashier : String+ exitStatus : int+ reorderStatus : int+ scanner : Scanner+ countTopping : int

PizzaServer()+ main(args:String[]) : void+ checkReorderStatus() : boolean+ checkExitStatus() : boolean+ ordering(type:String) : void

How does it works?

1. Compile all .java files> javac *.java

2. Compile RMI to build a Stub Layer> rmic PizzaImpl

3. Start serverfor Window: > start rmiregistry for Linux: > rmiregistry &> java PizzaServer

4. Start client (open new terminal)> java PizzaClient

5. Order Pizza!!!

How to order pizza?

PizzaClient - Order Pizza PizzaServer - Receive Order

Keep calm

order pizzaand