How sap-samples/cloud-cap-samples-java works
This is a CAP Java bookshop sample: shoppers browse books, inspect details, submit orders and reviews; administrators manage catalog data and orders. Fiori-oriented app modules cover book browsing, administration, orders, reviews, notes, addresses, and genre navigation. Backend event handlers add catalog and order logic, persist changes, and integrate address and notes data with a business-partner service. The README documents further capabilities such as authentication, drafts, messaging, and multitenancy; their implementation paths are not present in the supplied tree, so they are not mapped here.
Main entry points: AdminServiceHandler.java Admin service logic · CatalogServiceHandler.java Catalog service logic · AdminServiceAddressHandler.java Address integration logic · NotesServiceHandler.java Notes integration logic
Components 19
User interfaces
- Browse books
app/vue/app.js - Book administration
app/admin/webapp/Component.js - Book CSV upload
app/admin/webapp/extension/Upload.js - Order management
app/orders/webapp/Component.js - Review management
app/reviews/webapp/Component.js - Notes
app/notes/webapp/Component.js - Addresses
app/addresses/webapp/Component.js - Genre browsing
app/browse-genres/webapp/Component.js
CAP business logic
- Catalog service logic
srv/src/main/java/my/bookshop/handlers/CatalogServiceHandler.java - Admin service logic
srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java - Address integration logic
srv/src/main/java/my/bookshop/handlers/AdminServiceAddressHandler.java - Notes integration logic
srv/src/main/java/my/bookshop/handlers/NotesServiceHandler.java - Order audit logic
srv/src/main/java/my/bookshop/handlers/AdminServiceAuditHandler.java - Genre hierarchy logic
srv/src/main/java/my/bookshop/handlers/HierarchySiblingActionHandler.java - Review service
Persistence
- Bookshop data
External integration
- S/4 business partner
Other components
- Shopper
- Administrator
Connections 25
- Shopper → Browse books: uses
- Administrator → Book administration: manages books
- Administrator → Book CSV upload: uploads CSV
- Administrator → Order management: manages orders
- Shopper → Review management: manages reviews
- Shopper → Notes: uses
- Shopper → Addresses: selects addresses
- Shopper → Genre browsing: browses genres
- Browse books → Catalog service logic: OData requests
- Book administration → Admin service logic: admin requests
- Book CSV upload → Admin service logic: uploads data
- Order management → Admin service logic: order requests
- Review management → Review service: review requests
- Notes → Notes integration logic: notes requests
- Addresses → Address integration logic: address requests
- Genre browsing → Genre hierarchy logic: hierarchy actions
- Catalog service logic → Bookshop data: reads and updates
- Catalog service logic → Review service: creates reviews
- Admin service logic → Bookshop data: reads and writes
- Address integration logic → S/4 business partner: reads and replicates
- Address integration logic → Bookshop data: reads and writes replicas
- Notes integration logic → S/4 business partner: reads addresses
- Notes integration logic → Bookshop data: reads notes
- Genre hierarchy logic → Bookshop data: reads and updates
- Order audit logic → Bookshop data: reads orders