Product Module - Samgbr/LSMPServiceRS GitHub Wiki
This module primary functionality is to manage service related to all types of products sold. It is organized in to packages. These packages are product (one for service layer and the other for data access layer), service, representation and workflow.
Product Package
One of the package is created for data access layer to connect to a remote DB for CRUD implementation. To state some java classes, BookDAO.java and InventoryDAO.java. The other one is for domain layer to manage product business logic and hold model classes. Some of the java classes are Product.java and Book.java.
Product Service Package
These Package is organized to expose REST services to each product and have service interface and resource classes with a resource path for each product and its inventory. To name a few classes BookResource.java and SmartphoneService.java.
Product Representation Package
Each resource has respective representation and request class declared to be used for GET, PUT, POST and DELETE HTTP methods. These classes converted from java object to XML or vice versa depending on the HTTP method used. To list classes found on the project are BookRequest.java and SmartphoneRepresentation.java.
Product Workflow Package
This package is responsible for communicating with the manager class for CRUD operation and assigns result and request to representation and request classes. For reference see the classes used in the package