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);
}
}
}
Comments
Post a Comment