Order Management System

                        

                            RMI - BASED E-COMMERCE ORDER MANAGEMENT SYSTEM


1.Remote Interface – OrderService

import java.rmi.Remote;

import java.rmi.RemoteException;


public interface OrderService extends Remote {

    String placeOrder(String productName, int quantity) throws RemoteException;

    String trackOrder(int orderId) throws RemoteException;

}

2.Server Implementation – OrderServiceImpl 

import java.rmi.server.UnicastRemoteObject;

import java.rmi.RemoteException;

import java.util.HashMap;

import java.util.Map;


public class OrderServiceImpl extends UnicastRemoteObject implements OrderService {

    private static final long serialVersionUID = 1L;

    private int orderCounter = 1000;

    private Map<Integer, String> orderDB = new HashMap<>();


    protected OrderServiceImpl() throws RemoteException {

        super();

    }


    public String placeOrder(String productName, int quantity) throws RemoteException {

        int orderId = orderCounter++;

        String orderDetails = "Product: " + productName + ", Quantity: " + quantity;

        orderDB.put(orderId, orderDetails);

        return "Order Placed Successfully! Order ID: " + orderId;

    }


    public String trackOrder(int orderId) throws RemoteException {

        String details = orderDB.get(orderId);

        if (details != null) {

            return "Order ID: " + orderId + ", Details: " + details + ", Status: Shipped";

        } else {

            return "Order ID not found!";

        }

    }

}

3.Server Program – OrderServer

import java.rmi.Naming;

import java.rmi.registry.LocateRegistry;


public class OrderServer {

    public static void main(String[] args) {

        try {

            LocateRegistry.createRegistry(1099); 

            OrderService service = new OrderServiceImpl();

            Naming.rebind("OrderService", service);

            System.out.println("OrderService is running...");

        } catch (Exception e) {

            System.out.println("Server Exception: " + e);

        }

    }

}

4.Client Program – OrderClient

import java.rmi.Naming;


public class OrderClient {

    public static void main(String[] args) {

        try {

            OrderService service = (OrderService) Naming.lookup("rmi://localhost/OrderService");


            String response1 = service.placeOrder("Laptop", 2);

            System.out.println(response1);


            String response2 = service.trackOrder(1000);

            System.out.println(response2);


            String response3 = service.trackOrder(9999); 

            System.out.println(response3);

        } catch (Exception e) {

            System.out.println("Client Exception: " + e);

        }

    }

}

5.Expected Output

Server 














Client









Comments

Popular posts from this blog

Real Estate Managing Website

Matrix Division

Password Manager