SlideShare a Scribd company logo
Unleash the power of your
applications with Micronaut®
,GraalVM and the Oracle DB
Juarez Álvares Barbosa Junior
Senior Principal Java Developer Evangelist
Oracle
@juarezjunior
Juarez Álvares Barbosa Junior
Senior Principal Java Developer Evangelist
• Coming from Dublin, Ireland
• Developer since 1995 (Java ☕️ 1997)
• 28 years of experience in SW Engineering & DevRel
• Microsoft, Oracle, IBM, Nokia, Unisys, Accenture, startups
• Microsoft Azure Developer Relations Lead
• IBM Watson Tech Evangelist & Cloud Rockstar
• IBM Mobile Tech Evangelist & Global Thought Leader
• Nokia Developers Global Champion
• Java, Python, Cloud, DevOps, SRE, Cloud-native, IoT, AI,
Blockchain, Rust
• Speaker at conferences
• Oracle CloudWorld, Oracle Code, Microsoft Ignite, Microsoft
TechX, jPrime, GeeCon, JCON, DevConf.cz, DevOpsDays,
DeveloperWeek, DevOps Institute, CloudLand, DWX, The
Developer’s Conference (TDC), Sec4Dev, JSNation, NodeConf,
Conf42, Shift Conf, Global Azure, Open-Source Lisbon,
CodeFrenzy, Mêlée Numérique, React Summit, Test.js Summit,
Pyjamas, JUGs, meetups, etc.
@juarezjunior
@juarezjunior
Slides available on slideshare
3 Copyright © 2022, Oracle and/or its affiliates
Copyright © 2022, Oracle and/or its affiliates.
Micronaut® is a registered trademark of Object Computing, Inc. Use is for referential purposes and does not imply any endorsement or affiliation with any third-party product.
4
Introduction to Micronaut
Copyright © 2022, Oracle and/or its affiliates
5
Micronaut is a complete
solution for any type of
application: microservices,
message-driven producers or
consumers, command-line
apps, serverless functions,
etc.
All application types
Micronaut leverages Java
annotation processors and
other optimisations to
compute the framework
infrastructure at compile-
time, drastically reducing
startup time and memory
consumption.
Highly optimised
Modern Java Framework
Micronaut has been designed
from scratch in 2017, focused
on modern architectures like
microservices and serverless,
and with the cloud in mind.
Micronaut computes at build time:
• All dependency and configuration injection.
• Annotation metadata (meta annotations)
• AOP proxies.
• Bean introspections.
• All other framework infrastructure.
At runtime:
• No reflection.
• No proxy generation.
• No dynamic classloading.
• No classpath scanning.
AOT: Ahead Of Time
Copyright © 2022, Oracle and/or its affiliates
6
7
Any language, build tool, test framework, reactive library, cloud, …
Copyright © 2022, Oracle and/or its affiliates
Micronaut features
1. Dependency injection.
• Can use JSR-330 (@Inject) or Spring (@Autowired) annotations.
2. Configuration.
• Properties, YAML, TOML, Groovy, Config4K.
3. Validation support.
• Built-in: reflection-free, faster startup, smaller JAR, reduced memory.
• Hibernate Validation: full Bean Validation API compliance.
4. AOP: Aspect-Oriented Programming.
• Compile-time, reflection-free.
8 Copyright © 2022, Oracle and/or its affiliates
Micronaut features: HTTP Server
9 Copyright © 2022, Oracle and/or its affiliates
Micronaut features: HTTP Client
10 Copyright © 2022, Oracle and/or its affiliates
Implemented at compile time
Micronaut features: message-driven applications
Kafka
• Producers.
• Consumers.
• Kafka Streams.
RabbitMQ
• Producers.
• Consumers.
• RPC.
MQTT
• Publishers.
• Subscribers.
NATS
• Producers.
• Consumers.
Copyright © 2022, Oracle and/or its affiliates
11
Micronaut features: data access
12 Copyright © 2022, Oracle and/or its affiliates
Micronaut features: data access
13 Copyright © 2022, Oracle and/or its affiliates
Interface implemented at compile time
Query generated from the
method name, compile-
time validated
Can have custom queries,
inserts, etc
Micronaut: Java App Dev with Oracle Database
14 Copyright © 2022, Oracle and/or its affiliates
Micronaut + Oracle DB: Supporting all Java DB Connectivity types
15 Copyright © 2022, Oracle and/or its affiliates
Micronaut features: security
1. Authentication providers.
• Bult-in support for LDAP and OAuth 2.0 password grant flow.
2. Security rules.
• Configuration or annotation-based.
3. Authorization strategies.
• Basic auth, session, JWT (JWKS, JWS), X.509.
4. OAuth 2.0.
• Authorization code, client credentials and password grants.
• OpenID Connect.
• Ease of integration with providers such as Okta, Auth0, AWS Cognito, Keycloak and more.
16 Copyright © 2022, Oracle and/or its affiliates
Micronaut features: misc
1. Distributed Tracing.
• Zipkin, Jaegger.
2. Service Discovery and Distributed
Configuration.
• Consul, Eureka, Kubernetes.
3. Monitoring.
• Micrometer, JMX, Elasticsearch.
4. API development.
• GraphQL, GRPC, Open API.
5. Containers.
• Docker, Kubernetes, Testcontainers.
6. Cache.
• Jcache, Redis, Ehcache, Hazelcast, Infinispan,
Oracle Coherence.
7. Email.
8. Error handling.
17 Copyright © 2022, Oracle and/or its affiliates
Getting Started: Micronaut Launch
18 Copyright © 2022, Oracle and/or its affiliates
https://launch.micronaut.io
Getting Started: Micronaut CLI
19 Copyright © 2022, Oracle and/or its affiliates
Getting started: Intellij IDEA
20 Copyright © 2022, Oracle and/or its affiliates
Getting started: Visual Studio Code
21 Copyright © 2022, Oracle and/or its affiliates
Micronaut 4
1. Java 17 required
• Virtual threads support (Project Loom).
• New HTTP Virtual threads support (Project Loom).
• @Client implementation based on java.net.http.HttpClient (JEP 321)
• For older versions of Java use Micronaut 3.x.
• Other languages
• Kotlin 1.8, KSP support.
• Apache Groovy 4.
2. Micronaut Data v4
• Hibernate 6.
22 Copyright © 2022, Oracle and/or its affiliates
Micronaut 4
3. Smaller, lighter runtime.
• Performance closer to raw Netty (~200ms startup).
• Some modules spun off core: Service Discovery, Retry, Session, Validation, Websocket.
• Some dependencies now optional: Jackson, SnakeYAML.
4. Other features:
• HTTP client/server filter methods: annotation-based and without reactive APIs.
• Annotation-based CORS configuration.
• HTTP/3 support.
• Use of GraalVM metadata repository.
• Prefer Micronaut Serialization over Jackson.
• Disabled cloud environment deduction by default.
23 Copyright © 2022, Oracle and/or its affiliates
Micronaut 4
5. Compile-time expression language
24 Copyright © 2022, Oracle and/or its affiliates
Checked at compile time
Checked at compile time
Micronaut 4
5. Compile-time expression language
25 Copyright © 2022, Oracle and/or its affiliates
Micronaut 4 Control Panel
26 Copyright © 2022, Oracle and/or its affiliates
Copyright © 2022, Oracle and/or its affiliates
27
Graal Cloud Native (GCN)
What is Graal Cloud Native?
Copyright © 2023, Oracle and/or its affiliates
28
BUILT FOR GRAALVM NATIVE IMAGE
Easily compile ahead-of-time with GraalVM Native Image into small
executables that start instantly, and use less memory/CPU.
CLOUD-AGNOSTIC MODULES
A curated set of Micronaut modules that provide platform-independent
support for core cloud services – object store, secrets, streaming, and more.
DEV TOOLS AND VS CODE EXTENSIONS
Dev tools to generate multicloud application starter templates. VS Code
extensions for local development and cloud deployment.
SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM and the Oracle DB
Copyright © 2022, Oracle and/or its affiliates
30
What is GraalVM
31 Copyright © 2022, Oracle and/or its affiliates
Native Image Goals
Low Resource
Usage
Start Fast
Compact
Packaging
Minimize
Vulnerability
Copyright © 2023, Oracle and/or its affiliates
32
Micronaut
and
GraalVM
6ms
As low as
startup time
18MB
Consuming
memory footprint
>30%
Increased throughput up to
and reduced latency
Micronaut and GraalVM
1. The best integration possibly, supported by teams working together at Oracle Labs.
• GraalVM EE includes optimisations for Micronaut for increased performance and throughput.
• GraalVM EE license included in Oracle Cloud.
2. Micronaut is ready for GraalVM Native Image since day 1.
• No reflection, no runtime proxies, no bytecode generation, no dynamic classloading.
3. GraalVM Extenstion Pack for Visual Studio Code.
34 Copyright © 2022, Oracle and/or its affiliates
Micronaut is the fastest to startup
35 Copyright © 2022, Oracle and/or its affiliates | Confidential: Internal/Restricted/HighlyRestricted [Date]
Source: https://speakerdeck.com/mraible/comparing-native-java-rest-api-frameworks-jcon-2023
Micronaut is the fastest to startup
36 Copyright © 2022, Oracle and/or its affiliates | Confidential: Internal/Restricted/HighlyRestricted [Date]
Source: https://speakerdeck.com/mraible/comparing-native-java-rest-api-frameworks-jcon-2023
Micronaut consumes the less memory
37 Copyright © 2022, Oracle and/or its affiliates | Confidential: Internal/Restricted/HighlyRestricted [Date]
Source: https://speakerdeck.com/mraible/comparing-native-java-rest-api-frameworks-jcon-2023
Micronaut and GraalVM powering Disney+
38 Copyright © 2022, Oracle and/or its affiliates
https://aws.amazon.com/blogs/opensource/improving-developer-productivity-at-disney-with-serverless-and-open-source/
Micronaut and GraalVM powering Disney+
39 Copyright © 2022, Oracle and/or its affiliates
Copyright © 2022, Oracle and/or its affiliates
40
Demo
Micronaut, Micronaut Data, GraalVM, Oracle DB
Copyright © 2022, Oracle and/or its affiliates
References
• Micronaut
• Guide - https://docs.micronaut.io/latest/guide/
• Config Reference - https://docs.micronaut.io/4.1.9/guide/configurationreference.html
• Javadocs - https://docs.micronaut.io/latest/api/
• Micronaut 4 - https://rb.gy/8236b
• GraalVM
• Overview - https://www.graalvm.org/latest/docs/introduction/
• Getting Started - https://www.graalvm.org/latest/docs/getting-started/
• Guides - https://www.graalvm.org/latest/guides/
• GraalVM for JDK 21 - https://medium.com/graalvm/graalvm-for-jdk-21-is-here-ee01177dd12d
• GCN - Graal Cloud Native
• GCN - Graal Cloud Native - https://www.graal.cloud/gcn/
• Graal Cloud Native Extensions Pack - https://rb.gy/ab105
• Micronaut Tools - Micronaut Tools - Visual Studio Marketplace
• Develop Java applications with Oracle Database
• JDBC, R2DBC, RSI - https://www.oracle.com/database/technologies/appdev/jdbc.html
Juarez Junior
@juarezjunior
SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM and the Oracle DB
Ad

More Related Content

Similar to SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM and the Oracle DB (20)

Native Cloud-Native: Building Agile Microservices with the Micronaut Framework
Native Cloud-Native: Building Agile Microservices with the Micronaut FrameworkNative Cloud-Native: Building Agile Microservices with the Micronaut Framework
Native Cloud-Native: Building Agile Microservices with the Micronaut Framework
Zachary Klein
 
GraalVM Overview Compact version
GraalVM Overview Compact versionGraalVM Overview Compact version
GraalVM Overview Compact version
scalaconfjp
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for Databases
Juarez Junior
 
Cloud Conference Day - A High-Speed Data Ingestion Service in Java Using MQTT...
Cloud Conference Day - A High-Speed Data Ingestion Service in Java Using MQTT...Cloud Conference Day - A High-Speed Data Ingestion Service in Java Using MQTT...
Cloud Conference Day - A High-Speed Data Ingestion Service in Java Using MQTT...
Juarez Junior
 
Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019
graemerocher
 
Oracle SOA Suite Everywhere
Oracle SOA Suite EverywhereOracle SOA Suite Everywhere
Oracle SOA Suite Everywhere
Rupesh Das
 
OSN-Blazingly Fast GenAI App Development With Java and Spring AI
OSN-Blazingly Fast GenAI App Development With Java and Spring AIOSN-Blazingly Fast GenAI App Development With Java and Spring AI
OSN-Blazingly Fast GenAI App Development With Java and Spring AI
Juarez Junior
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
Ted Wennmark
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus Introduction
John Archer
 
oci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdfoci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdf
NandiniSinghal16
 
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
VMware Tanzu
 
Creating GenAI Apps in Java with SD4J and the ONNX Runtime - MiTechCon - Mic...
Creating GenAI Apps in Java with SD4J and  the ONNX Runtime - MiTechCon - Mic...Creating GenAI Apps in Java with SD4J and  the ONNX Runtime - MiTechCon - Mic...
Creating GenAI Apps in Java with SD4J and the ONNX Runtime - MiTechCon - Mic...
Juarez Junior
 
2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing
Ed Burns
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)
Mee Nam Lee
 
Java Forum Nord - Hannover - The Trinity in GenAI - Spring AI, LangChain4J a...
Java Forum Nord - Hannover  - The Trinity in GenAI - Spring AI, LangChain4J a...Java Forum Nord - Hannover  - The Trinity in GenAI - Spring AI, LangChain4J a...
Java Forum Nord - Hannover - The Trinity in GenAI - Spring AI, LangChain4J a...
Juarez Junior
 
DSS_A Solid Foundation for GenAI Apps - Exploring Architectural Blueprints fo...
DSS_A Solid Foundation for GenAI Apps - Exploring Architectural Blueprints fo...DSS_A Solid Foundation for GenAI Apps - Exploring Architectural Blueprints fo...
DSS_A Solid Foundation for GenAI Apps - Exploring Architectural Blueprints fo...
Juarez Junior
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
Clarence Ho
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
ssuser5faa791
 
56k.cloud intro and pitch deck
56k.cloud intro and pitch deck56k.cloud intro and pitch deck
56k.cloud intro and pitch deck
Brian Christner
 
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureRunning Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Oracle Developers
 
Native Cloud-Native: Building Agile Microservices with the Micronaut Framework
Native Cloud-Native: Building Agile Microservices with the Micronaut FrameworkNative Cloud-Native: Building Agile Microservices with the Micronaut Framework
Native Cloud-Native: Building Agile Microservices with the Micronaut Framework
Zachary Klein
 
GraalVM Overview Compact version
GraalVM Overview Compact versionGraalVM Overview Compact version
GraalVM Overview Compact version
scalaconfjp
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for Databases
Juarez Junior
 
Cloud Conference Day - A High-Speed Data Ingestion Service in Java Using MQTT...
Cloud Conference Day - A High-Speed Data Ingestion Service in Java Using MQTT...Cloud Conference Day - A High-Speed Data Ingestion Service in Java Using MQTT...
Cloud Conference Day - A High-Speed Data Ingestion Service in Java Using MQTT...
Juarez Junior
 
Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019
graemerocher
 
Oracle SOA Suite Everywhere
Oracle SOA Suite EverywhereOracle SOA Suite Everywhere
Oracle SOA Suite Everywhere
Rupesh Das
 
OSN-Blazingly Fast GenAI App Development With Java and Spring AI
OSN-Blazingly Fast GenAI App Development With Java and Spring AIOSN-Blazingly Fast GenAI App Development With Java and Spring AI
OSN-Blazingly Fast GenAI App Development With Java and Spring AI
Juarez Junior
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
Ted Wennmark
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus Introduction
John Archer
 
oci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdfoci-container-engine-oke-100.pdf
oci-container-engine-oke-100.pdf
NandiniSinghal16
 
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
VMware Tanzu
 
Creating GenAI Apps in Java with SD4J and the ONNX Runtime - MiTechCon - Mic...
Creating GenAI Apps in Java with SD4J and  the ONNX Runtime - MiTechCon - Mic...Creating GenAI Apps in Java with SD4J and  the ONNX Runtime - MiTechCon - Mic...
Creating GenAI Apps in Java with SD4J and the ONNX Runtime - MiTechCon - Mic...
Juarez Junior
 
2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing
Ed Burns
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)
Mee Nam Lee
 
Java Forum Nord - Hannover - The Trinity in GenAI - Spring AI, LangChain4J a...
Java Forum Nord - Hannover  - The Trinity in GenAI - Spring AI, LangChain4J a...Java Forum Nord - Hannover  - The Trinity in GenAI - Spring AI, LangChain4J a...
Java Forum Nord - Hannover - The Trinity in GenAI - Spring AI, LangChain4J a...
Juarez Junior
 
DSS_A Solid Foundation for GenAI Apps - Exploring Architectural Blueprints fo...
DSS_A Solid Foundation for GenAI Apps - Exploring Architectural Blueprints fo...DSS_A Solid Foundation for GenAI Apps - Exploring Architectural Blueprints fo...
DSS_A Solid Foundation for GenAI Apps - Exploring Architectural Blueprints fo...
Juarez Junior
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
Clarence Ho
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
ssuser5faa791
 
56k.cloud intro and pitch deck
56k.cloud intro and pitch deck56k.cloud intro and pitch deck
56k.cloud intro and pitch deck
Brian Christner
 
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureRunning Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Oracle Developers
 

More from Juarez Junior (20)

WeAreDevelopers Berlin - Blazingly Fast GenAI App Development With Java and S...
WeAreDevelopers Berlin - Blazingly Fast GenAI App Development With Java and S...WeAreDevelopers Berlin - Blazingly Fast GenAI App Development With Java and S...
WeAreDevelopers Berlin - Blazingly Fast GenAI App Development With Java and S...
Juarez Junior
 
WeAreDevelopers Berlin - LangChain4J - A Guide for Impatient Developers
WeAreDevelopers Berlin - LangChain4J - A Guide for Impatient DevelopersWeAreDevelopers Berlin - LangChain4J - A Guide for Impatient Developers
WeAreDevelopers Berlin - LangChain4J - A Guide for Impatient Developers
Juarez Junior
 
Build Stuff Lithuania - Blazingly Fast GenAI App Development With Java and Sp...
Build Stuff Lithuania - Blazingly Fast GenAI App Development With Java and Sp...Build Stuff Lithuania - Blazingly Fast GenAI App Development With Java and Sp...
Build Stuff Lithuania - Blazingly Fast GenAI App Development With Java and Sp...
Juarez Junior
 
DUBJUG-Simplifying Data Access with Jakarta Data for Domain-Driven Design
DUBJUG-Simplifying Data Access with Jakarta Data for Domain-Driven DesignDUBJUG-Simplifying Data Access with Jakarta Data for Domain-Driven Design
DUBJUG-Simplifying Data Access with Jakarta Data for Domain-Driven Design
Juarez Junior
 
Cloud Lunch and Learn -Microsoft Semantic Kernel for Java
Cloud Lunch and Learn -Microsoft Semantic Kernel for JavaCloud Lunch and Learn -Microsoft Semantic Kernel for Java
Cloud Lunch and Learn -Microsoft Semantic Kernel for Java
Juarez Junior
 
Compass AI Budapest -The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
Compass AI Budapest -The Trinity in GenAI - Spring AI, LangChain4J and OpenAICompass AI Budapest -The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
Compass AI Budapest -The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
Juarez Junior
 
GSAS - Global Software Architecture Summit - GenAI-Architectural-Blueprints
GSAS - Global Software Architecture Summit - GenAI-Architectural-BlueprintsGSAS - Global Software Architecture Summit - GenAI-Architectural-Blueprints
GSAS - Global Software Architecture Summit - GenAI-Architectural-Blueprints
Juarez Junior
 
BaselOne_Langchain4J - A Guide for Impatient Developers
BaselOne_Langchain4J - A Guide for Impatient DevelopersBaselOne_Langchain4J - A Guide for Impatient Developers
BaselOne_Langchain4J - A Guide for Impatient Developers
Juarez Junior
 
DeveloperWeek USA - A Solid Foundation for GenAI Apps - Exploring Architectur...
DeveloperWeek USA - A Solid Foundation for GenAI Apps - Exploring Architectur...DeveloperWeek USA - A Solid Foundation for GenAI Apps - Exploring Architectur...
DeveloperWeek USA - A Solid Foundation for GenAI Apps - Exploring Architectur...
Juarez Junior
 
I Love Tech Romania - Blazingly Fast GenAI App Development With Java and Spri...
I Love Tech Romania - Blazingly Fast GenAI App Development With Java and Spri...I Love Tech Romania - Blazingly Fast GenAI App Development With Java and Spri...
I Love Tech Romania - Blazingly Fast GenAI App Development With Java and Spri...
Juarez Junior
 
I Love Tech Romania - The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
I Love Tech Romania - The Trinity in GenAI - Spring AI, LangChain4J and OpenAII Love Tech Romania - The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
I Love Tech Romania - The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
Juarez Junior
 
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdfDUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
Juarez Junior
 
DUBJUG_Creating GenAI Apps in Java with SD4J and the ONNX Runtime
DUBJUG_Creating GenAI Apps in Java with SD4J and the ONNX RuntimeDUBJUG_Creating GenAI Apps in Java with SD4J and the ONNX Runtime
DUBJUG_Creating GenAI Apps in Java with SD4J and the ONNX Runtime
Juarez Junior
 
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
Juarez Junior
 
DevTalks Cluj Romania - A Solid Foundation for GenAI Apps.pdf
DevTalks Cluj Romania - A Solid Foundation for GenAI Apps.pdfDevTalks Cluj Romania - A Solid Foundation for GenAI Apps.pdf
DevTalks Cluj Romania - A Solid Foundation for GenAI Apps.pdf
Juarez Junior
 
Quarkus Club_Java Virtual Threads & Pipelined Database Operations
Quarkus Club_Java Virtual Threads & Pipelined Database OperationsQuarkus Club_Java Virtual Threads & Pipelined Database Operations
Quarkus Club_Java Virtual Threads & Pipelined Database Operations
Juarez Junior
 
Quarkus Club_Revolutionize Java Database App Development with Reactive Stream...
Quarkus Club_Revolutionize Java Database App Development with Reactive Stream...Quarkus Club_Revolutionize Java Database App Development with Reactive Stream...
Quarkus Club_Revolutionize Java Database App Development with Reactive Stream...
Juarez Junior
 
TDC - The Developers Conference - The Trinity in GenAI - Spring AI, LangChain...
TDC - The Developers Conference - The Trinity in GenAI - Spring AI, LangChain...TDC - The Developers Conference - The Trinity in GenAI - Spring AI, LangChain...
TDC - The Developers Conference - The Trinity in GenAI - Spring AI, LangChain...
Juarez Junior
 
TDC - The Developers Conference - An Introduction to Machine Learning in Java...
TDC - The Developers Conference - An Introduction to Machine Learning in Java...TDC - The Developers Conference - An Introduction to Machine Learning in Java...
TDC - The Developers Conference - An Introduction to Machine Learning in Java...
Juarez Junior
 
SouJava - Blazingly Fast GenAI App Development With Java and Spring AI
SouJava - Blazingly Fast GenAI App Development With Java and Spring AISouJava - Blazingly Fast GenAI App Development With Java and Spring AI
SouJava - Blazingly Fast GenAI App Development With Java and Spring AI
Juarez Junior
 
WeAreDevelopers Berlin - Blazingly Fast GenAI App Development With Java and S...
WeAreDevelopers Berlin - Blazingly Fast GenAI App Development With Java and S...WeAreDevelopers Berlin - Blazingly Fast GenAI App Development With Java and S...
WeAreDevelopers Berlin - Blazingly Fast GenAI App Development With Java and S...
Juarez Junior
 
WeAreDevelopers Berlin - LangChain4J - A Guide for Impatient Developers
WeAreDevelopers Berlin - LangChain4J - A Guide for Impatient DevelopersWeAreDevelopers Berlin - LangChain4J - A Guide for Impatient Developers
WeAreDevelopers Berlin - LangChain4J - A Guide for Impatient Developers
Juarez Junior
 
Build Stuff Lithuania - Blazingly Fast GenAI App Development With Java and Sp...
Build Stuff Lithuania - Blazingly Fast GenAI App Development With Java and Sp...Build Stuff Lithuania - Blazingly Fast GenAI App Development With Java and Sp...
Build Stuff Lithuania - Blazingly Fast GenAI App Development With Java and Sp...
Juarez Junior
 
DUBJUG-Simplifying Data Access with Jakarta Data for Domain-Driven Design
DUBJUG-Simplifying Data Access with Jakarta Data for Domain-Driven DesignDUBJUG-Simplifying Data Access with Jakarta Data for Domain-Driven Design
DUBJUG-Simplifying Data Access with Jakarta Data for Domain-Driven Design
Juarez Junior
 
Cloud Lunch and Learn -Microsoft Semantic Kernel for Java
Cloud Lunch and Learn -Microsoft Semantic Kernel for JavaCloud Lunch and Learn -Microsoft Semantic Kernel for Java
Cloud Lunch and Learn -Microsoft Semantic Kernel for Java
Juarez Junior
 
Compass AI Budapest -The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
Compass AI Budapest -The Trinity in GenAI - Spring AI, LangChain4J and OpenAICompass AI Budapest -The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
Compass AI Budapest -The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
Juarez Junior
 
GSAS - Global Software Architecture Summit - GenAI-Architectural-Blueprints
GSAS - Global Software Architecture Summit - GenAI-Architectural-BlueprintsGSAS - Global Software Architecture Summit - GenAI-Architectural-Blueprints
GSAS - Global Software Architecture Summit - GenAI-Architectural-Blueprints
Juarez Junior
 
BaselOne_Langchain4J - A Guide for Impatient Developers
BaselOne_Langchain4J - A Guide for Impatient DevelopersBaselOne_Langchain4J - A Guide for Impatient Developers
BaselOne_Langchain4J - A Guide for Impatient Developers
Juarez Junior
 
DeveloperWeek USA - A Solid Foundation for GenAI Apps - Exploring Architectur...
DeveloperWeek USA - A Solid Foundation for GenAI Apps - Exploring Architectur...DeveloperWeek USA - A Solid Foundation for GenAI Apps - Exploring Architectur...
DeveloperWeek USA - A Solid Foundation for GenAI Apps - Exploring Architectur...
Juarez Junior
 
I Love Tech Romania - Blazingly Fast GenAI App Development With Java and Spri...
I Love Tech Romania - Blazingly Fast GenAI App Development With Java and Spri...I Love Tech Romania - Blazingly Fast GenAI App Development With Java and Spri...
I Love Tech Romania - Blazingly Fast GenAI App Development With Java and Spri...
Juarez Junior
 
I Love Tech Romania - The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
I Love Tech Romania - The Trinity in GenAI - Spring AI, LangChain4J and OpenAII Love Tech Romania - The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
I Love Tech Romania - The Trinity in GenAI - Spring AI, LangChain4J and OpenAI
Juarez Junior
 
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdfDUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
DUBJUG_Blazingly Fast GenAI App Development With Java and Spring AI.pdf
Juarez Junior
 
DUBJUG_Creating GenAI Apps in Java with SD4J and the ONNX Runtime
DUBJUG_Creating GenAI Apps in Java with SD4J and the ONNX RuntimeDUBJUG_Creating GenAI Apps in Java with SD4J and the ONNX Runtime
DUBJUG_Creating GenAI Apps in Java with SD4J and the ONNX Runtime
Juarez Junior
 
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
I Love Tech Romania - A High-Speed Data Ingestion Microservice in Java Using ...
Juarez Junior
 
DevTalks Cluj Romania - A Solid Foundation for GenAI Apps.pdf
DevTalks Cluj Romania - A Solid Foundation for GenAI Apps.pdfDevTalks Cluj Romania - A Solid Foundation for GenAI Apps.pdf
DevTalks Cluj Romania - A Solid Foundation for GenAI Apps.pdf
Juarez Junior
 
Quarkus Club_Java Virtual Threads & Pipelined Database Operations
Quarkus Club_Java Virtual Threads & Pipelined Database OperationsQuarkus Club_Java Virtual Threads & Pipelined Database Operations
Quarkus Club_Java Virtual Threads & Pipelined Database Operations
Juarez Junior
 
Quarkus Club_Revolutionize Java Database App Development with Reactive Stream...
Quarkus Club_Revolutionize Java Database App Development with Reactive Stream...Quarkus Club_Revolutionize Java Database App Development with Reactive Stream...
Quarkus Club_Revolutionize Java Database App Development with Reactive Stream...
Juarez Junior
 
TDC - The Developers Conference - The Trinity in GenAI - Spring AI, LangChain...
TDC - The Developers Conference - The Trinity in GenAI - Spring AI, LangChain...TDC - The Developers Conference - The Trinity in GenAI - Spring AI, LangChain...
TDC - The Developers Conference - The Trinity in GenAI - Spring AI, LangChain...
Juarez Junior
 
TDC - The Developers Conference - An Introduction to Machine Learning in Java...
TDC - The Developers Conference - An Introduction to Machine Learning in Java...TDC - The Developers Conference - An Introduction to Machine Learning in Java...
TDC - The Developers Conference - An Introduction to Machine Learning in Java...
Juarez Junior
 
SouJava - Blazingly Fast GenAI App Development With Java and Spring AI
SouJava - Blazingly Fast GenAI App Development With Java and Spring AISouJava - Blazingly Fast GenAI App Development With Java and Spring AI
SouJava - Blazingly Fast GenAI App Development With Java and Spring AI
Juarez Junior
 
Ad

Recently uploaded (20)

Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Ad

SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM and the Oracle DB

  • 1. Unleash the power of your applications with Micronaut® ,GraalVM and the Oracle DB Juarez Álvares Barbosa Junior Senior Principal Java Developer Evangelist Oracle @juarezjunior
  • 2. Juarez Álvares Barbosa Junior Senior Principal Java Developer Evangelist • Coming from Dublin, Ireland • Developer since 1995 (Java ☕️ 1997) • 28 years of experience in SW Engineering & DevRel • Microsoft, Oracle, IBM, Nokia, Unisys, Accenture, startups • Microsoft Azure Developer Relations Lead • IBM Watson Tech Evangelist & Cloud Rockstar • IBM Mobile Tech Evangelist & Global Thought Leader • Nokia Developers Global Champion • Java, Python, Cloud, DevOps, SRE, Cloud-native, IoT, AI, Blockchain, Rust • Speaker at conferences • Oracle CloudWorld, Oracle Code, Microsoft Ignite, Microsoft TechX, jPrime, GeeCon, JCON, DevConf.cz, DevOpsDays, DeveloperWeek, DevOps Institute, CloudLand, DWX, The Developer’s Conference (TDC), Sec4Dev, JSNation, NodeConf, Conf42, Shift Conf, Global Azure, Open-Source Lisbon, CodeFrenzy, Mêlée Numérique, React Summit, Test.js Summit, Pyjamas, JUGs, meetups, etc. @juarezjunior @juarezjunior
  • 3. Slides available on slideshare 3 Copyright © 2022, Oracle and/or its affiliates
  • 4. Copyright © 2022, Oracle and/or its affiliates. Micronaut® is a registered trademark of Object Computing, Inc. Use is for referential purposes and does not imply any endorsement or affiliation with any third-party product. 4
  • 5. Introduction to Micronaut Copyright © 2022, Oracle and/or its affiliates 5 Micronaut is a complete solution for any type of application: microservices, message-driven producers or consumers, command-line apps, serverless functions, etc. All application types Micronaut leverages Java annotation processors and other optimisations to compute the framework infrastructure at compile- time, drastically reducing startup time and memory consumption. Highly optimised Modern Java Framework Micronaut has been designed from scratch in 2017, focused on modern architectures like microservices and serverless, and with the cloud in mind.
  • 6. Micronaut computes at build time: • All dependency and configuration injection. • Annotation metadata (meta annotations) • AOP proxies. • Bean introspections. • All other framework infrastructure. At runtime: • No reflection. • No proxy generation. • No dynamic classloading. • No classpath scanning. AOT: Ahead Of Time Copyright © 2022, Oracle and/or its affiliates 6
  • 7. 7 Any language, build tool, test framework, reactive library, cloud, … Copyright © 2022, Oracle and/or its affiliates
  • 8. Micronaut features 1. Dependency injection. • Can use JSR-330 (@Inject) or Spring (@Autowired) annotations. 2. Configuration. • Properties, YAML, TOML, Groovy, Config4K. 3. Validation support. • Built-in: reflection-free, faster startup, smaller JAR, reduced memory. • Hibernate Validation: full Bean Validation API compliance. 4. AOP: Aspect-Oriented Programming. • Compile-time, reflection-free. 8 Copyright © 2022, Oracle and/or its affiliates
  • 9. Micronaut features: HTTP Server 9 Copyright © 2022, Oracle and/or its affiliates
  • 10. Micronaut features: HTTP Client 10 Copyright © 2022, Oracle and/or its affiliates Implemented at compile time
  • 11. Micronaut features: message-driven applications Kafka • Producers. • Consumers. • Kafka Streams. RabbitMQ • Producers. • Consumers. • RPC. MQTT • Publishers. • Subscribers. NATS • Producers. • Consumers. Copyright © 2022, Oracle and/or its affiliates 11
  • 12. Micronaut features: data access 12 Copyright © 2022, Oracle and/or its affiliates
  • 13. Micronaut features: data access 13 Copyright © 2022, Oracle and/or its affiliates Interface implemented at compile time Query generated from the method name, compile- time validated Can have custom queries, inserts, etc
  • 14. Micronaut: Java App Dev with Oracle Database 14 Copyright © 2022, Oracle and/or its affiliates
  • 15. Micronaut + Oracle DB: Supporting all Java DB Connectivity types 15 Copyright © 2022, Oracle and/or its affiliates
  • 16. Micronaut features: security 1. Authentication providers. • Bult-in support for LDAP and OAuth 2.0 password grant flow. 2. Security rules. • Configuration or annotation-based. 3. Authorization strategies. • Basic auth, session, JWT (JWKS, JWS), X.509. 4. OAuth 2.0. • Authorization code, client credentials and password grants. • OpenID Connect. • Ease of integration with providers such as Okta, Auth0, AWS Cognito, Keycloak and more. 16 Copyright © 2022, Oracle and/or its affiliates
  • 17. Micronaut features: misc 1. Distributed Tracing. • Zipkin, Jaegger. 2. Service Discovery and Distributed Configuration. • Consul, Eureka, Kubernetes. 3. Monitoring. • Micrometer, JMX, Elasticsearch. 4. API development. • GraphQL, GRPC, Open API. 5. Containers. • Docker, Kubernetes, Testcontainers. 6. Cache. • Jcache, Redis, Ehcache, Hazelcast, Infinispan, Oracle Coherence. 7. Email. 8. Error handling. 17 Copyright © 2022, Oracle and/or its affiliates
  • 18. Getting Started: Micronaut Launch 18 Copyright © 2022, Oracle and/or its affiliates https://launch.micronaut.io
  • 19. Getting Started: Micronaut CLI 19 Copyright © 2022, Oracle and/or its affiliates
  • 20. Getting started: Intellij IDEA 20 Copyright © 2022, Oracle and/or its affiliates
  • 21. Getting started: Visual Studio Code 21 Copyright © 2022, Oracle and/or its affiliates
  • 22. Micronaut 4 1. Java 17 required • Virtual threads support (Project Loom). • New HTTP Virtual threads support (Project Loom). • @Client implementation based on java.net.http.HttpClient (JEP 321) • For older versions of Java use Micronaut 3.x. • Other languages • Kotlin 1.8, KSP support. • Apache Groovy 4. 2. Micronaut Data v4 • Hibernate 6. 22 Copyright © 2022, Oracle and/or its affiliates
  • 23. Micronaut 4 3. Smaller, lighter runtime. • Performance closer to raw Netty (~200ms startup). • Some modules spun off core: Service Discovery, Retry, Session, Validation, Websocket. • Some dependencies now optional: Jackson, SnakeYAML. 4. Other features: • HTTP client/server filter methods: annotation-based and without reactive APIs. • Annotation-based CORS configuration. • HTTP/3 support. • Use of GraalVM metadata repository. • Prefer Micronaut Serialization over Jackson. • Disabled cloud environment deduction by default. 23 Copyright © 2022, Oracle and/or its affiliates
  • 24. Micronaut 4 5. Compile-time expression language 24 Copyright © 2022, Oracle and/or its affiliates Checked at compile time Checked at compile time
  • 25. Micronaut 4 5. Compile-time expression language 25 Copyright © 2022, Oracle and/or its affiliates
  • 26. Micronaut 4 Control Panel 26 Copyright © 2022, Oracle and/or its affiliates
  • 27. Copyright © 2022, Oracle and/or its affiliates 27 Graal Cloud Native (GCN)
  • 28. What is Graal Cloud Native? Copyright © 2023, Oracle and/or its affiliates 28 BUILT FOR GRAALVM NATIVE IMAGE Easily compile ahead-of-time with GraalVM Native Image into small executables that start instantly, and use less memory/CPU. CLOUD-AGNOSTIC MODULES A curated set of Micronaut modules that provide platform-independent support for core cloud services – object store, secrets, streaming, and more. DEV TOOLS AND VS CODE EXTENSIONS Dev tools to generate multicloud application starter templates. VS Code extensions for local development and cloud deployment.
  • 30. Copyright © 2022, Oracle and/or its affiliates 30
  • 31. What is GraalVM 31 Copyright © 2022, Oracle and/or its affiliates
  • 32. Native Image Goals Low Resource Usage Start Fast Compact Packaging Minimize Vulnerability Copyright © 2023, Oracle and/or its affiliates 32
  • 33. Micronaut and GraalVM 6ms As low as startup time 18MB Consuming memory footprint >30% Increased throughput up to and reduced latency
  • 34. Micronaut and GraalVM 1. The best integration possibly, supported by teams working together at Oracle Labs. • GraalVM EE includes optimisations for Micronaut for increased performance and throughput. • GraalVM EE license included in Oracle Cloud. 2. Micronaut is ready for GraalVM Native Image since day 1. • No reflection, no runtime proxies, no bytecode generation, no dynamic classloading. 3. GraalVM Extenstion Pack for Visual Studio Code. 34 Copyright © 2022, Oracle and/or its affiliates
  • 35. Micronaut is the fastest to startup 35 Copyright © 2022, Oracle and/or its affiliates | Confidential: Internal/Restricted/HighlyRestricted [Date] Source: https://speakerdeck.com/mraible/comparing-native-java-rest-api-frameworks-jcon-2023
  • 36. Micronaut is the fastest to startup 36 Copyright © 2022, Oracle and/or its affiliates | Confidential: Internal/Restricted/HighlyRestricted [Date] Source: https://speakerdeck.com/mraible/comparing-native-java-rest-api-frameworks-jcon-2023
  • 37. Micronaut consumes the less memory 37 Copyright © 2022, Oracle and/or its affiliates | Confidential: Internal/Restricted/HighlyRestricted [Date] Source: https://speakerdeck.com/mraible/comparing-native-java-rest-api-frameworks-jcon-2023
  • 38. Micronaut and GraalVM powering Disney+ 38 Copyright © 2022, Oracle and/or its affiliates https://aws.amazon.com/blogs/opensource/improving-developer-productivity-at-disney-with-serverless-and-open-source/
  • 39. Micronaut and GraalVM powering Disney+ 39 Copyright © 2022, Oracle and/or its affiliates
  • 40. Copyright © 2022, Oracle and/or its affiliates 40 Demo Micronaut, Micronaut Data, GraalVM, Oracle DB
  • 41. Copyright © 2022, Oracle and/or its affiliates References • Micronaut • Guide - https://docs.micronaut.io/latest/guide/ • Config Reference - https://docs.micronaut.io/4.1.9/guide/configurationreference.html • Javadocs - https://docs.micronaut.io/latest/api/ • Micronaut 4 - https://rb.gy/8236b • GraalVM • Overview - https://www.graalvm.org/latest/docs/introduction/ • Getting Started - https://www.graalvm.org/latest/docs/getting-started/ • Guides - https://www.graalvm.org/latest/guides/ • GraalVM for JDK 21 - https://medium.com/graalvm/graalvm-for-jdk-21-is-here-ee01177dd12d • GCN - Graal Cloud Native • GCN - Graal Cloud Native - https://www.graal.cloud/gcn/ • Graal Cloud Native Extensions Pack - https://rb.gy/ab105 • Micronaut Tools - Micronaut Tools - Visual Studio Marketplace • Develop Java applications with Oracle Database • JDBC, R2DBC, RSI - https://www.oracle.com/database/technologies/appdev/jdbc.html