During my PhD, I researched language design and implementation at University of Milan. After three years at UniCredit's R&D dept, I have joined Red Hat's Middleware team, where I work on the Drools rule engine and the jBPM platform.
Many languages “transpile” into other languages, but compilers are still often seen as arcane pieces of software that only a master of the dark arts could write. But at the end of the day, both are programs that translate code from a programming language to another. So what does make a transpiler simple and a compiler hard? What can we learn from these complex pieces of software? And are they really that complex? The lessons we can learn from language implementation design patterns are really within the reach of everyone; not only can they apply to daily programming problems, but they are also key to really understand the basis of exciting new technologies such as the GraalVM project and the Quarkus stack. In our experience on the Drools and jBPM projects, we have come across many opportunities to apply programming language development techniques to a broader context. In this talk, we will see some of these examples.
Java is entering a new era, the cloud native one. Thanks to GraalVM it can be made smaller, lighter and faster, keeping all its power. This innovative way of developing and deploying Java applications has been pushed to the next level by Quarkus that provides a full-stack development experience seamlessly integrating many widely used Java libraries and thus opens the door for next generation of middleware. Business automation is an important players in this context and Kogito, a new Java toolkit based on Drools and jBPM, is made to bring rules and processes to the Quarkus world. After a quick introduction to Kogito we'll show in a live conding session how it can be used to build cloud ready event-driven business applications. Starting from scratch we'll create micorservices implementing the business logic of a complex domain with rules and modelling its workflows through business processes. We will demonstrate how Quarkus hot reload capabilities can be used to design this business logic in an iterative way, how to integrate these services with Kafka to process business events, how to monitor them with Prometheus and Grafana and finally how to deploy everything into the cloud.
|Talks by tracks||Talks by session types||List of Speakers||Schedule|