How apache/tomee works
TomEE is a Jakarta EE/MicroProfile application server built on Tomcat. Its principal workflow is deploying an application, assembling its deployment metadata and components, then serving application requests through container and web-service runtimes. The graph also reflects persistence, CDI, transaction, and security capabilities visible in the tree. Several connections are documented only at the product level; the sampled excerpts establish specific REST, web-service, persistence, and security behaviors but do not expose the full deployment wiring.
Main entry points: Container.java EJB container · Assembler.java Deployment assembler · RESTService.java REST deployment · WsService.java Web services
Components 15
Application deployment
- Deployment assembler
container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java - Deployment metadata
container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
Enterprise runtime
- EJB container
container/openejb-core/src/main/java/org/apache/openejb/Container.java - CDI contexts
container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java - JPA persistence
container/openejb-core/src/main/java/org/apache/openejb/core/cmp/jpa/JpaCmpEngine.java - Transactions
container/openejb-core/src/main/java/org/apache/openejb/ri/sp/PseudoTransactionService.java - Security service
container/openejb-core/src/main/java/org/apache/openejb/core/security/AbstractSecurityService.java
Web services
- REST deployment
server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java - Web services
server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java - Endpoint registry
Platform integrations
- Tomcat realm auth
tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatSecurityService.java - HSQL service
server/openejb-hsql/src/main/java/org/apache/openejb/server/hsql/HsqlService.java - OpenID session storage
tomee/tomee-security/src/main/java/org/apache/tomee/security/cdi/openid/storage/impl/SessionBasedOpenIdStorageHandler.java
Other components
- Application deployer
- Jakarta EE app
Connections 15
- Application deployer → Jakarta EE app: provides
- Jakarta EE app → Deployment assembler: deploys to
- Deployment assembler → Deployment metadata: assembles
- Deployment assembler → EJB container: deploys components
- Deployment assembler → REST deployment: deploys REST
- Deployment assembler → Web services: deploys endpoints
- REST deployment → EJB container: deploys EJB resources
- Web services → Endpoint registry: registers endpoints
- EJB container → JPA persistence: uses persistence
- EJB container → Transactions: uses transactions
- EJB container → Security service: uses security
- CDI contexts → Jakarta EE app: fires lifecycle events
- Tomcat realm auth → Security service: authenticates identities
- HSQL service → EJB container: hosts configured databases
- OpenID session storage → Tomcat realm auth: stores session state