How parasoft/parabank works
ParaBank is a demo online-banking application with REST and SOAP services. A typical workflow enters through the web/API layer, reaches banking operations, and uses DAO-backed persistence; the documented product also includes loan processing, administration, and a separate bookstore example. The sampled evidence supports key manager-to-DAO dependencies and REST/SOAP client access, but not every controller-to-service route or the full loan and bookstore wiring, so those links are omitted or marked unverified.
Main entry points: BankManagerImpl.java Bank operations · dao Bank DAO interfaces · RestServiceProxyController.java REST service proxy · AccessModeController.java Service access modes
Components 18
Web and APIs
- Banking web flows
src/main/java/com/parasoft/parabank/web/controller - REST service proxy
src/main/java/com/parasoft/parabank/web/controller/RestServiceProxyController.java - REST and SOAP contract
src/main/java/com/parasoft/parabank/service/ParaBankService.java - Service access modes
src/main/java/com/parasoft/parabank/util/AccessModeController.java
Banking domain
- Bank operations
src/main/java/com/parasoft/parabank/domain/logic/impl/BankManagerImpl.java - Banking records
src/main/java/com/parasoft/parabank/domain - Transaction search
src/main/java/com/parasoft/parabank/dao/jdbc/JdbcTransactionQueryRestrictor.java - Administration
src/main/java/com/parasoft/parabank/domain/logic/impl/AdminManagerImpl.java - News management
src/main/java/com/parasoft/parabank/domain/logic/impl/NewsManagerImpl.java
Persistence
- Bank DAO interfaces
src/main/java/com/parasoft/parabank/dao - JDBC implementations
src/main/java/com/parasoft/parabank/dao/jdbc - HyperSQL database
Loan processing
- Loan providers
src/main/java/com/parasoft/parabank/messaging - Loan processor service
src/main/java/com/parasoft/parabank/service/LoanProcessorServiceImpl.java
Bookstore example
- Cart management
src/main/java/com/parasoft/bookstore/CartManager.java - Book cart service
src/main/java/com/parasoft/bookstore/CartService.java - Bookstore database
src/main/java/com/parasoft/bookstore/BookStoreDB.java
Other components
- Bank customer
Connections 17
- Bank customer → Banking web flows: uses
- Bank customer → REST service proxy: calls
- REST service proxy → Service access modes: delegates to
src/main/java/com/parasoft/parabank/web/controller/RestServiceProxyController.java - Service access modes → REST and SOAP contract: calls SOAP
src/main/java/com/parasoft/parabank/util/AccessModeController.java - Service access modes → REST and SOAP contract: calls REST
src/main/java/com/parasoft/parabank/util/AccessModeController.java - REST service proxy → Bank operations: uses operations
src/main/java/com/parasoft/parabank/web/controller/RestServiceProxyController.java - Bank operations → Bank DAO interfaces: uses DAOs
src/main/java/com/parasoft/parabank/domain/logic/impl/BankManagerImpl.java - Bank DAO interfaces → JDBC implementations: implemented by
- JDBC implementations → HyperSQL database: persists to
- Bank operations → Banking records: operates on
src/main/java/com/parasoft/parabank/domain/logic/impl/BankManagerImpl.java - Transaction search → Banking records: filters records
src/main/java/com/parasoft/parabank/dao/jdbc/JdbcTransactionQueryRestrictor.java - Administration → Bank DAO interfaces: uses admin DAO
src/main/java/com/parasoft/parabank/domain/logic/impl/AdminManagerImpl.java - News management → Bank DAO interfaces: uses news DAO
src/main/java/com/parasoft/parabank/domain/logic/impl/NewsManagerImpl.java - Bank operations → Loan providers: requests loan
src/main/java/com/parasoft/parabank/domain/logic/impl/BankManagerImpl.java - Loan processor service → Loan providers: dispatches
- Book cart service → Cart management: delegates to
src/main/java/com/parasoft/bookstore/CartService.java - Cart management → Bookstore database: uses storage