Skip to main content

Apache Causeway

Apache Causeway is a Java-based framework (application framework) for rapidly developing domain-driven enterprise web applications from domain models.

  • Domain-driven design programming model for Java business applications (application framework)
  • Automatic generation of web UIs and Representational State Transfer (REST) APIs from domain objects (application development)
  • Pluggable persistence, security, and UI extensions via a modular architecture (extensibility)
  • Support for rich domain semantics such as validation, constraints, and business rules (business application framework)
  • Integration with Apache security, configuration, and runtime infrastructure under The Apache Software Foundation (enterprise application platform)

More About Apache Causeway

Apache Causeway is an open-source Java framework (application framework) under The Apache Software Foundation that focuses on building domain-driven enterprise applications by treating the domain model as the primary artifact. It allows developers to define entities, value types, services, and actions in plain Java, from which user interfaces and REST APIs can be generated. The framework targets business and information systems where a rich domain model and consistent behavior across interfaces are required.

The project centers on a programming model (application architecture) where annotations and conventions on Java classes describe domain semantics, including properties, collections, actions, validation, and lifecycle callbacks. From this model, Apache Causeway can render a web UI (presentation layer) and expose a REST Application Programming Interface (API) (web services) without separate UI or controller layers. This supports a model-driven approach, reducing duplication between back-end logic and front-end behavior.

Apache Causeway includes a modular architecture (extensibility) with pluggable components for persistence, security, and user interface renderers. Persistence can be integrated with established Java data stores (data access), while security modules handle authentication and authorization (identity and access management) through configuration and extensions. UI modules provide different renderers for web front ends (web application UI), and add-ons can extend functionality such as auditing, command tracking, or background execution where available in the project distribution.

In enterprise environments, Apache Causeway is used to develop internal line-of-business systems, administrative consoles, and other domain-centric applications (business applications). Organizations can model their business concepts and processes as domain objects and services, and use the generated UI for human interaction while also integrating through REST APIs with other systems (systems integration). Configuration is typically managed via standard Java and Apache conventions, supporting deployment into common Java application environments.

The framework aligns with concepts from domain-driven design (software architecture), building around entities, value objects, repositories, and application services. It operates within the wider Apache ecosystem (open-source infrastructure), benefiting from ASF governance, licensing, and community processes. From a directory and categorization perspective, Apache Causeway fits into enterprise application development frameworks, domain-driven design frameworks, and model-driven web application platforms, serving as a tool for building CRUD-centric and behavior-rich business systems from annotated Java domain models.