SlideShare a Scribd company logo
Lightweight Enterprise
Java with MicroProfile
Jean-Louis Monteiro
@JLouisMonteiro
tomitribe.com
Who am I?
• Tomitribe Director	of	Engineering
• Long	time	Apache	contributor,	committer	and	PMC
• JCP	expert	group	member	and	now	Jakarta	EE
• Involved	in	MicroProfile
• Speaker	when	possible
#tomee@JLouisMonteiro
Why am I here today?
• What	are	microservices?
• What	is	MicroProfile?
• Raspberry	PI	Demos
• MicroProfile future	and	Jakarta	EE
#tomee@JLouisMonteiro
Microservices?
How	big	is	a	microservice?
#tomee@JLouisMonteiro
What other think?
#tomee@JLouisMonteiro
My favorite one?
“If	you	can’t	build	monolith	
correctly,	why	do	you	think	
putting	network	in	the	middle	
will	help?”	by	@simonbrown
#tomee@JLouisMonteiro
Why microservices?
A technical perspective
• Avoid	big	monolith	architecture
• Reusable	parts
• No	big	bang	deployment
• Scale	services	independently
• Self	contained	systems
• Cloud	friendly
#tomee@JLouisMonteiro
Why microservices?
An organizational perspective
• Deliver	new	feature	quicker
• Smaller,	agile	teams	and	parallel	development	
• Organizational	changes	free	(Conway’s	law)
#tomee@JLouisMonteiro
New challenges for microservices?
• Scalability
• Cost	reduction
• Resilience
• Monitoring
• Security
#tomee@JLouisMonteiro
What is MicroProfile?
• https://microprofile.io/
• Enterprise	Java	for	Microservices
• Open	Source
• Hosted	at	Eclipse	Foundation
#tomee@JLouisMonteiro
What is MicroProfile?
• Initial	version	1.0	with	CDI,	JAX-RS,	JSON-P
• Application	portability	across	runtimes
#tomee@JLouisMonteiro
What is MicroProfile?
#tomee@JLouisMonteiro
What is MicroProfile?
#tomee@JLouisMonteiro
MicroProfile implementations?
#tomee@JLouisMonteiro
• CDI
• JAX-RS
• JSON-P
My first MicroProfile app
#tomee@JLouisMonteiro
CDI
• Contexts and	Dependency Injection
• Bean	Lifecycle and	Typesafe Injection
• Producers
• Interceptors
• Observers
#tomee@JLouisMonteiro
JAX-RS
• RESTful Web	Services
• Annotation	based
• HTTP	Centric
#tomee@JLouisMonteiro
JSON-P
• Parse,	Generate Transform and	Query JSON
• Streaming	API
• Object	Model	API
#tomee@JLouisMonteiro
@ApplicationScoped
@Path("books")
public class BookResource {
@Inject
private BookBean bookBean;
@GET
@Path("{id}")
public Response find(@PathParam("id") final Long id) {
final Book book = bookBean.find(id);
final JsonObjectBuilder builder = Json.createObjectBuilder();
builder.add("id", book.getId())
.add("name", book.getTitle());
return Response.ok(builder.build().toString()).build();
}
}
Putting it all together
#tomee@JLouisMonteiro
Show me the code!
https://github.com/jeanouii/microprofile-samples
#tomee@JLouisMonteiro
Architecture diagram
#tomee@JLouisMonteiro
Router
number-api
book-api
Deploy
• Raspberry PI	running	Hypriot OS.
• Package	everything with Docker
• Local	Docker	Registry
• Push	Docker	Images	with Ansible
#tomee@JLouisMonteiro
Deployment diagram
#tomee@JLouisMonteiro
Router
Microservices
docker-repo
Raspberry PI
• Raspberry V3
• HypriotOS is a	minimal	Debian	dist
• Optimized to	run Docker	on	a	Raspberry PI
#tomee@JLouisMonteiro
Docker
• Use	Maven Fabric8	Plugin
• Docker	Hub	too slow
• Use	a	Local	Docker	Registry
• Speed	up	Deployment
#tomee@JLouisMonteiro
Ansible
• Automate	Tasks
• Ping	PIs
• Deploy Docker	Images,	Start,	Stop
• Ansible Playbooks
• List	of	tasks to	perform
#tomee@JLouisMonteiro
Show me the code!
Evolving your MicroProfile application
#tomee@JLouisMonteiro
Configuration
• Applications	need configuration	based on	their running	
environment
• It	must	be possible	to	change	configuration	without repacking
the	application
• Based on	DeltaSpike Config,	Apache	Tamaya and	Sabot
#tomee@JLouisMonteiro
Configuration
• META-INF/microprofile-config.properties
• Environment properties
• System	properties
• Pluggable to	allow custom	config	sources	and	providers	
through the	ServiceLoader mechanism
#tomee@JLouisMonteiro
public class MoviesRest {
@Inject
@ConfigProperty(name="connection.url")
private String setting;
@Inject
@ConfigProperty(name="connection.port")
private Optional<Integer> port;
public void execute() {
Config config = ConfigProvider.getConfig();
String url = config.getValue("connection.url", String.class);
}
}
Configuration
#tomee@JLouisMonteiro
Metrics
• Monitor	essential	System	Parameters
• Ensure reliable operation of	software
• Monitoring	endpoints to	collect data
#tomee@JLouisMonteiro
Metrics
• Accessible	via	REST	interface
• /metrics/base	for	MP	compliant servers
• /metrics/application	for	Application	specific Metrics
• /metrics/vendor for	Server	specific metrics
• OPTIONS	provides metadata,	such as	Unit	of	measure
#tomee@JLouisMonteiro
GET /metrics/base
{
"thread.count" : 33,
"thread.max.count" : 47,
"memory.maxHeap" : 3817863211,
"memory.usedHeap" : 16859081,
"memory.committedHeap" : 64703546
}
Metrics
#tomee@JLouisMonteiro
OPTIONS /metrics/base
{
"fooVal": {
"unit": "milliseconds",
"type": "gauge",
"description": "The average duration of foo requests during last 5
minutes",
"displayName": "Duration of foo",
"tags": "app=webshop"
},
"barVal": {
"unit": "megabytes",
"type": "gauge",
"tags": "component=backend,app=webshop"
}
}
Metrics
#tomee@JLouisMonteiro
Healthchecks
• Probe	the	state	of	a	computer	node
• Primary target cloud	infrastructure
• Automated processes to	maintain the	state	of	nodes
#tomee@JLouisMonteiro
Healthchecks
• Simple	API	to	specify health status
• /health JAX-RS	endpoint reporting server	health
• Response status indicates if	the	health check	passed
• Payload can include more	detail
#tomee@JLouisMonteiro
@Health
@ApplicationScoped
public class CheckDiskSpace implements HealthCheck {
public HealthCheckResponse call() {
}
}
Healthchecks
#tomee@JLouisMonteiro
GET /health
{
"outcome": "UP",
"checks": [{
"name": "diskspace",
"state": "UP",
"data": {
"key": "freebytes",
"freebytes": "126000000000"
}
}]
}
Healthchecks
#tomee@JLouisMonteiro
Fault tolerance
• Different strategies to	guide	the	execution and	result of	some
logic
• TimeOut,	RetryPolicy,	Fallback,	Bulkhead and	Circuit	Breaker
• Inspired by	Hystrix	and	Failsafe
#tomee@JLouisMonteiro
@CircuitBreaker
@Fallback(NumberFallbackHandler.class)
public String getNumber() {
final Response response = numberApi.request().get();
if (OK.getStatusCode() == response.getStatus()) {
return response.readEntity(String.class);
}
throw new WebApplicationException(INTERNAL_SERVER_ERROR);
}
public class NumberFallbackHandler implements FallbackHandler<String> {
@Override
public String handle(final ExecutionContext context) {
return "FALLBACK_NUMBER";
}
}
Fault tolerance
#tomee@JLouisMonteiro
JWT Propagation
• Security	Tokens
• Most	common:	OAuth2,	OpenID Connect JWT
• Lightweight way to	propagate identities across different
services
• https://github.com/tomitribe/microservice-with-jwt-and-
microprofile
#tomee@JLouisMonteiro
Open Tracing
• Trace	the	flow	of	a	request across services
• OpenTracing is a	distributed tracing standard	for	applications
• Java	Binding	to	OpenTracing Implementation
#tomee@JLouisMonteiro
@Trace
@GET
@Path(“/findByStatus")
public Response findPetsByStatus() { }
@Inject
private Tracer tracer;
tracer.activeSpan().setTag(…);
tracer.activeSpan().log(...);
tracer.activeSpan().setBaggage(...);
Open Tracing
#tomee@JLouisMonteiro
OpenAPI
• Java	API	for	the	OpenAPI v3	specification
• OpenAPI v3	is based on	Swagger v2
• Annotations	should be similar
#tomee@JLouisMonteiro
@GET
@Path(“/findByStatus")
@Operation(
summary = "Finds Pets by status",
description = "Multiple status values can be provided with comma separated strings")
public Response findPetsByStatus() { }
GET /openapi
/pet/findByStatus:
get:
summary: Finds Pets by status
description: Multiple status values can be provided with comma separated strings
operationId: findPetsByStatus
OpenAPI
#tomee@JLouisMonteiro
REST Client
• Microservices typically talk	REST	to	other services
• Several JAX-RS	implementations already support	interface	
definition
• Consistent	and	easy to	reuse
#tomee@JLouisMonteiro
REST Client
• Type	safe REST	Service	over	HTTP
• Extends JAX-RS	2.0	API’s
• More	natural code	style
• Similar to	Feign
#tomee@JLouisMonteiro
@RegisterRestClient
public interface MyServiceClient {
@GET
@Path("/greet")
Response greet();
}
@ApplicationScoped
public class MyService {
@Inject
@RestClient
private MyServiceClient client;
}
REST Client
#tomee@JLouisMonteiro
Future 2.2 and above
• Long	Running	Actions
• Reactive Streams
• Reactive Events
• Data	Access
• Event	Data
• Service	meshes
• Concurrency
#tomee@JLouisMonteiro
Get Involved
https://groups.google.com/forum/#!forum/microprofile
#tomee@JLouisMonteiro
Resources
• http://microprofile.io/
• http://tomee.apache.org
• https://github.com/jeanouii/microprofile-samples
#tomee@JLouisMonteiro
Thank you!
#tomee@JLouisMonteiro
2018 11 lightweight-microservices-microprofile

More Related Content

Similar to 2018 11 lightweight-microservices-microprofile

[Analyst Research Slides] Build vs. Buy: Finding the Best Path to Network Aut...
[Analyst Research Slides] Build vs. Buy: Finding the Best Path to Network Aut...[Analyst Research Slides] Build vs. Buy: Finding the Best Path to Network Aut...
[Analyst Research Slides] Build vs. Buy: Finding the Best Path to Network Aut...
Enterprise Management Associates
 
From no services to Microservices
From no services to MicroservicesFrom no services to Microservices
From no services to Microservices
João Cavalheiro
 
How to Build Single Page HTML5 Apps that Scale
How to Build Single Page HTML5 Apps that ScaleHow to Build Single Page HTML5 Apps that Scale
How to Build Single Page HTML5 Apps that Scale
Phil Leggetter
 
Mykola Mykytenko: MLOps: your way from nonsense to valuable effect (approache...
Mykola Mykytenko: MLOps: your way from nonsense to valuable effect (approache...Mykola Mykytenko: MLOps: your way from nonsense to valuable effect (approache...
Mykola Mykytenko: MLOps: your way from nonsense to valuable effect (approache...
Lviv Startup Club
 
Building data-driven microservices
Building data-driven microservicesBuilding data-driven microservices
Building data-driven microservices
Streamlio
 
Reactive Development: Commands, Actors and Events. Oh My!!
Reactive Development: Commands, Actors and Events.  Oh My!!Reactive Development: Commands, Actors and Events.  Oh My!!
Reactive Development: Commands, Actors and Events. Oh My!!
David Hoerster
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
Richard Hudson
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptx
Grace Jansen
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best Practices
Pavel Mička
 
A practical guide for using Statistical Tests to assess Randomized Algorithms...
A practical guide for using Statistical Tests to assess Randomized Algorithms...A practical guide for using Statistical Tests to assess Randomized Algorithms...
A practical guide for using Statistical Tests to assess Randomized Algorithms...
Lionel Briand
 
Foxtrot: Real time analytics
Foxtrot: Real time analyticsFoxtrot: Real time analytics
Foxtrot: Real time analytics
Santanu Sinha
 
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdfTomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
Tomasz Poszytek
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
Testplant
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
Lalit Kale
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
WSO2
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler
 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrument
Jonah Kowall
 
Testing microservices with rest assured
Testing microservices with rest assuredTesting microservices with rest assured
Testing microservices with rest assured
Kushan Shalindra Amarasiri - Technical QE Specialist
 
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Azure tales: a real world CQRS and ES Deep Dive - Andrea SaltarelloAzure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
ITCamp
 
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Mike Villiger
 

Similar to 2018 11 lightweight-microservices-microprofile (20)

[Analyst Research Slides] Build vs. Buy: Finding the Best Path to Network Aut...
[Analyst Research Slides] Build vs. Buy: Finding the Best Path to Network Aut...[Analyst Research Slides] Build vs. Buy: Finding the Best Path to Network Aut...
[Analyst Research Slides] Build vs. Buy: Finding the Best Path to Network Aut...
 
From no services to Microservices
From no services to MicroservicesFrom no services to Microservices
From no services to Microservices
 
How to Build Single Page HTML5 Apps that Scale
How to Build Single Page HTML5 Apps that ScaleHow to Build Single Page HTML5 Apps that Scale
How to Build Single Page HTML5 Apps that Scale
 
Mykola Mykytenko: MLOps: your way from nonsense to valuable effect (approache...
Mykola Mykytenko: MLOps: your way from nonsense to valuable effect (approache...Mykola Mykytenko: MLOps: your way from nonsense to valuable effect (approache...
Mykola Mykytenko: MLOps: your way from nonsense to valuable effect (approache...
 
Building data-driven microservices
Building data-driven microservicesBuilding data-driven microservices
Building data-driven microservices
 
Reactive Development: Commands, Actors and Events. Oh My!!
Reactive Development: Commands, Actors and Events.  Oh My!!Reactive Development: Commands, Actors and Events.  Oh My!!
Reactive Development: Commands, Actors and Events. Oh My!!
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptx
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best Practices
 
A practical guide for using Statistical Tests to assess Randomized Algorithms...
A practical guide for using Statistical Tests to assess Randomized Algorithms...A practical guide for using Statistical Tests to assess Randomized Algorithms...
A practical guide for using Statistical Tests to assess Randomized Algorithms...
 
Foxtrot: Real time analytics
Foxtrot: Real time analyticsFoxtrot: Real time analytics
Foxtrot: Real time analytics
 
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdfTomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New Contexts
 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrument
 
Testing microservices with rest assured
Testing microservices with rest assuredTesting microservices with rest assured
Testing microservices with rest assured
 
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Azure tales: a real world CQRS and ES Deep Dive - Andrea SaltarelloAzure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
 
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
 

Recently uploaded

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 

2018 11 lightweight-microservices-microprofile