Java Developer Advocate Billy Korando on JavaOne 2025, Java 24, and so much more
Jan 23, 2025
auto_awesome
Dan Haywood, an independent consultant and key contributor to Apache Causeway, shares fascinating insights on the evolution of the Java ecosystem. He discusses the impressive journey of Apache Causeway from its origins to modern practices in domain-driven design. Expect engaging anecdotes from travel tales and the importance of effective communication in software development. Haywood also dives into integrating spreadsheets into ERP systems for better business logic, while shedding light on UI challenges in Apache projects, emphasizing community collaboration throughout.
Apache Causeway simplifies UI development by automatically generating user interfaces from domain models, allowing developers to focus on business logic.
The framework promotes collaboration between developers and domain experts through domain-driven design, ensuring that applications align with business requirements.
Deep dives
Introduction to Apache Causeway
Apache Causeway is a framework designed to simplify the development of Spring and Spring Boot applications using domain-driven design principles. The project evolved from the Naked Objects Framework, which aimed to generate user interfaces dynamically based on the domain model. This innovative approach allows developers to create applications where the user interface is directly tied to the underlying data model, eliminating the need for extensive front-end coding. As a result, developers can focus on business logic rather than the intricacies of UI design.
Dynamic User Interface Generation
The framework's functionality revolves around generating a user interface that reflects the domain objects defined in the application. This process is akin to how Hibernate creates SQL queries dynamically, utilizing the annotations and metadata provided in the domain model. When an application starts, Causeway scans for these domain classes and automatically generates a corresponding user interface, making it easier for developers to deploy functionalities quickly. This capability streamlines the development process, allowing for rapid prototyping and deployment of applications.
Integration with Existing Technologies
Apache Causeway leverages existing technologies such as Spring Boot, JPA, and even REST and GraphQL APIs. By integrating with these technologies, the framework effectively handles common application needs without reinventing the wheel. It allows developers to extend their applications seamlessly and utilize various user interface components while maintaining a consistent domain model across different channels. This versatility supports the creation of complex applications that can adapt to various user needs and front-end technologies.
Encouraging Domain-Driven Design Practices
The framework promotes domain-driven design principles by facilitating the creation of a ubiquitous language that bridges both business and technical domains. By focusing on the domain model and ensuring that it drives the application’s behavior and user interface, Causeway fosters collaboration between developers and domain experts. It encourages better communication and understanding of business requirements, leading to more effective software solutions. This approach not only enhances the quality of applications but also ensures that they remain aligned with business goals over time.
Hi, Spring fans! in this installment I talk to Java developer advocate Billy Korando about the latest and greatest in the amazing Java ecosystem! #java #JavaOne #Oracle
Get the Snipd podcast app
Unlock the knowledge in podcasts with the podcast player of the future.
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode
Save any moment
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Share & Export
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode