SlideShare a Scribd company logo
1 of 21
Download to read offline
Knowledge
driven (micro) services
JBCNConf 2016
Maciej Swiderski
Principal Software Engineer
@ JBoss
Where is knowledge?
• While building application we tend to focus on
• architecture
• design - modules, UI etc
• code quality
• test cases
• But where is business knowledge in this?
Business knowledge
• Data model - the WHAT
• XML
• JSON
• Java
• Business rule definitions - the WHY
• DRL
• Business Process definitions - the HOW
• BPMN2
Tools introduction
•Vert.x
•Hazelcast
•Drools and jBPM
Vert.x in a Nutshell
“Vert.x is a lightweight, high performance application platform
for the JVM that's designed for modern mobile, web, and
enterprise applications.”
Vert.x in a Nutshell
• Polyglot
use your favorite programming language or mix several to
develop applications
• Simplicity
make use of asynchronous APIs without too much hassle
• Scalability
scales using message passing to efficiently utilize your
server cores.
• Concurrency
simple actor-like concurrency model frees you from the
pitfalls of traditional multi-threaded programming.
Hazelcast
In memory data grid
Clustered and highly available data distribution
Distributed data structures
Vert.x topology
Vert.x instance
Verticle
instance
Verticle
instance
Vert.x instance
Verticle
instance
Clustered
Event Bus
Verticle
instance
Event busEvent bus
Knowledge Is Everything
• Open source projects for business systems automation and
management
• Drools
• jBPM
• OptaPlanner
• UberFire
• DashBuilder
Knowledge Archives - kjar
• Business assets (data model, processes, rules, decision
tables, forms, etc) are considered source artifacts
• By that means they are packaged as source artifacts - as jars
• Actually as kjars (knowledge archives)
• single difference for kjar is the descriptor - kmodule.xml
• kjar can contain java code as well, alternatively kjar can have
dependencies to other (k)jars
Demo description
• Applicant places a loan request
• Bank qualifies given loan based on
• potential risk of giving the loan
• amount of the loan
• duration of the loan
• Bank representative approves or rejects the loan request
… into micro services
Apply for loan
service
Evaluate loan
service
Process loan
service
Apply for loan service
• Main entry point to the loan request system
• Allow applicant to put loan request that consists of:
• applicant name
• monthly income
• loan amount
• length in years to pay off the loan
Here we provide the WHAT - our data model
Evaluate loan service
• Rule based evaluation of incoming loan applications
• Low risk loan
• when loan request is for amount lower that 1000 it’s considered low risk and
thus is auto approved
• Basic loan
• When amount is higher than 1000 and length is less than 5 years - requires
clerk approval process
• Long term loan
• When amount is higher than 1000 and length is more that 5 years - requires
manager approval and might need special terms to be established
Here we provide the WHY - our business rules
Process loan service
• Depending on the classification of the loan different bank
departments/teams will be involved in decision making about
given loan request
• Basic loans department
• performs background check on the applicant and either approves or rejects the
loan
• Long term loans department
• requires management approval to ensure a long term commitment can be
accepted for given application.
Here we provide the HOW - our business processes
Our architecture
Apply for loan
service
Evaluate loan
service
Process loan
service
Vert.x Event Bus
powered by Hazelcast
How does it work?
• Each service is completely self contained
• Knowledge driven services are deployed with kjar
• Services talks to each other by exchanging data - business
data
• Services can come and go as we like - dynamically
increasing or decreasing number of instances of given
service
• no API in the strict sense of its meaning - API is the data
Demo
• Deploy service with business processes
• Basic Loan
• Long term load
• Deploy service with business rules
• Deploy service that will place loan applications on
behalf of different users
• Java service
• Java Script service
• Groovy service
Our architecture… scaling
Apply for loan
service
Evaluate loan
service
Process loan
service
Vert.x Event Bus
powered by Hazelcast
Main take aways
• Knowledge is everything
• Keep in mind when building your services about
• the WHAT
• the WHY
• the HOW
• Always look at the business aspects of the solution you’re
building…. technology, frameworks are just the tools
Knowledge driven
micro services
Questions?

More Related Content

What's hot

Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring BootRasheed Waraich
 
Introduction to the Nancy Framework
Introduction to the Nancy FrameworkIntroduction to the Nancy Framework
Introduction to the Nancy FrameworkTim Bourguignon
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Binary Studio
 
"No problem configs ", Serhiy Kalinets
"No problem configs ", Serhiy Kalinets"No problem configs ", Serhiy Kalinets
"No problem configs ", Serhiy KalinetsFwdays
 
Web application I have always dreamt of
Web application I have always dreamt ofWeb application I have always dreamt of
Web application I have always dreamt ofVictor_Cr
 
ngRepeat vs ngReact
ngRepeat vs ngReactngRepeat vs ngReact
ngRepeat vs ngReactMax Kossatz
 
Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2Christian Posta
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftChristian Posta
 
Streamline your processes with jBPM 6
Streamline your processes with jBPM 6Streamline your processes with jBPM 6
Streamline your processes with jBPM 6jsvitak
 
Troubleshooting Exchange Hybrid Deployments
Troubleshooting Exchange Hybrid DeploymentsTroubleshooting Exchange Hybrid Deployments
Troubleshooting Exchange Hybrid DeploymentsJoel Brda
 
R2DBC - Good Enough for Production?
R2DBC - Good Enough for Production?R2DBC - Good Enough for Production?
R2DBC - Good Enough for Production?Olexandra Dmytrenko
 
Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?Markus Eisele
 
Dev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock PlatformDev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock PlatformForgeRock
 
jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)Kris Verlaenen
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionDr. Arif Wider
 
MongoDB and Machine Learning with Flowable
MongoDB and Machine Learning with FlowableMongoDB and Machine Learning with Flowable
MongoDB and Machine Learning with FlowableFlowable
 
Continuous delivery by sergey seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletskySergey Seletsky
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro servicesAidan Casey
 

What's hot (20)

Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring Boot
 
Introduction to the Nancy Framework
Introduction to the Nancy FrameworkIntroduction to the Nancy Framework
Introduction to the Nancy Framework
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
 
"No problem configs ", Serhiy Kalinets
"No problem configs ", Serhiy Kalinets"No problem configs ", Serhiy Kalinets
"No problem configs ", Serhiy Kalinets
 
Web application I have always dreamt of
Web application I have always dreamt ofWeb application I have always dreamt of
Web application I have always dreamt of
 
Microservices with Spring
Microservices with SpringMicroservices with Spring
Microservices with Spring
 
ngRepeat vs ngReact
ngRepeat vs ngReactngRepeat vs ngReact
ngRepeat vs ngReact
 
Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2Microservices with Apache Camel, Docker and Fabric8 v2
Microservices with Apache Camel, Docker and Fabric8 v2
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
 
Streamline your processes with jBPM 6
Streamline your processes with jBPM 6Streamline your processes with jBPM 6
Streamline your processes with jBPM 6
 
Troubleshooting Exchange Hybrid Deployments
Troubleshooting Exchange Hybrid DeploymentsTroubleshooting Exchange Hybrid Deployments
Troubleshooting Exchange Hybrid Deployments
 
R2DBC - Good Enough for Production?
R2DBC - Good Enough for Production?R2DBC - Good Enough for Production?
R2DBC - Good Enough for Production?
 
Reactive Architectures
Reactive ArchitecturesReactive Architectures
Reactive Architectures
 
Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?
 
Dev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock PlatformDev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock Platform
 
jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)jBPM5 (Argentina workshop)
jBPM5 (Argentina workshop)
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI Composition
 
MongoDB and Machine Learning with Flowable
MongoDB and Machine Learning with FlowableMongoDB and Machine Learning with Flowable
MongoDB and Machine Learning with Flowable
 
Continuous delivery by sergey seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletsky
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
 

Viewers also liked

JBCNConf: jBPM & Vert.x Reactive and Polyglot BPM
JBCNConf: jBPM & Vert.x Reactive and Polyglot BPMJBCNConf: jBPM & Vert.x Reactive and Polyglot BPM
JBCNConf: jBPM & Vert.x Reactive and Polyglot BPMMauricio (Salaboy) Salatino
 
Get the Maximum Out of Your Magnolia Workflow
Get the Maximum Out of Your Magnolia WorkflowGet the Maximum Out of Your Magnolia Workflow
Get the Maximum Out of Your Magnolia WorkflowMagnolia
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 
Creación de Orden de Ventas usando el acuerdo The Rushmore Group
Creación de Orden de Ventas usando el acuerdo The Rushmore GroupCreación de Orden de Ventas usando el acuerdo The Rushmore Group
Creación de Orden de Ventas usando el acuerdo The Rushmore Groupjudadd
 
Creación de orden de ventas usando el acuerdo Rushmore Group
Creación de orden de ventas usando el acuerdo Rushmore Group Creación de orden de ventas usando el acuerdo Rushmore Group
Creación de orden de ventas usando el acuerdo Rushmore Group judadd
 
Introduzione ai Microservices
Introduzione ai MicroservicesIntroduzione ai Microservices
Introduzione ai MicroservicesDaniele Mondello
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASKasun Gajasinghe
 
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...italianaSoftware
 
What's new in JBoss BPM Suite 6.1
What's new in JBoss BPM Suite 6.1What's new in JBoss BPM Suite 6.1
What's new in JBoss BPM Suite 6.1Kris Verlaenen
 
Reglas que controlarán las transacciones de la Gestión de Materiales
Reglas que controlarán las transacciones de la Gestión de Materiales Reglas que controlarán las transacciones de la Gestión de Materiales
Reglas que controlarán las transacciones de la Gestión de Materiales judadd
 
Dashbuilder community overview
Dashbuilder community overviewDashbuilder community overview
Dashbuilder community overviewdashbuilder
 
Creación de Datos Maestros en Ventas y Distribución (SD)
Creación de Datos Maestros en Ventas y Distribución (SD)Creación de Datos Maestros en Ventas y Distribución (SD)
Creación de Datos Maestros en Ventas y Distribución (SD)judadd
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programmingMichael Neale
 
API Management and Integrated SOA Governance
API Management and Integrated SOA GovernanceAPI Management and Integrated SOA Governance
API Management and Integrated SOA GovernanceSumanth Chinthagunta
 
Process-driven applications: let BPM do (some of) your work
Process-driven applications: let BPM do (some of) your workProcess-driven applications: let BPM do (some of) your work
Process-driven applications: let BPM do (some of) your workKris Verlaenen
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Alexander SAMARIN
 

Viewers also liked (20)

JBCNConf: jBPM & Vert.x Reactive and Polyglot BPM
JBCNConf: jBPM & Vert.x Reactive and Polyglot BPMJBCNConf: jBPM & Vert.x Reactive and Polyglot BPM
JBCNConf: jBPM & Vert.x Reactive and Polyglot BPM
 
Highload++ 2015
Highload++ 2015Highload++ 2015
Highload++ 2015
 
Get the Maximum Out of Your Magnolia Workflow
Get the Maximum Out of Your Magnolia WorkflowGet the Maximum Out of Your Magnolia Workflow
Get the Maximum Out of Your Magnolia Workflow
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Top 8 Ways to Improve Underwriting Workflow
Top 8 Ways to Improve Underwriting WorkflowTop 8 Ways to Improve Underwriting Workflow
Top 8 Ways to Improve Underwriting Workflow
 
Git in 5 minuti
Git in 5 minutiGit in 5 minuti
Git in 5 minuti
 
Creación de Orden de Ventas usando el acuerdo The Rushmore Group
Creación de Orden de Ventas usando el acuerdo The Rushmore GroupCreación de Orden de Ventas usando el acuerdo The Rushmore Group
Creación de Orden de Ventas usando el acuerdo The Rushmore Group
 
Creación de orden de ventas usando el acuerdo Rushmore Group
Creación de orden de ventas usando el acuerdo Rushmore Group Creación de orden de ventas usando el acuerdo Rushmore Group
Creación de orden de ventas usando el acuerdo Rushmore Group
 
Introduzione ai Microservices
Introduzione ai MicroservicesIntroduzione ai Microservices
Introduzione ai Microservices
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 AS
 
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
 
jBPM, open source BPM
jBPM, open source BPMjBPM, open source BPM
jBPM, open source BPM
 
What's new in JBoss BPM Suite 6.1
What's new in JBoss BPM Suite 6.1What's new in JBoss BPM Suite 6.1
What's new in JBoss BPM Suite 6.1
 
Reglas que controlarán las transacciones de la Gestión de Materiales
Reglas que controlarán las transacciones de la Gestión de Materiales Reglas que controlarán las transacciones de la Gestión de Materiales
Reglas que controlarán las transacciones de la Gestión de Materiales
 
Dashbuilder community overview
Dashbuilder community overviewDashbuilder community overview
Dashbuilder community overview
 
Creación de Datos Maestros en Ventas y Distribución (SD)
Creación de Datos Maestros en Ventas y Distribución (SD)Creación de Datos Maestros en Ventas y Distribución (SD)
Creación de Datos Maestros en Ventas y Distribución (SD)
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
 
API Management and Integrated SOA Governance
API Management and Integrated SOA GovernanceAPI Management and Integrated SOA Governance
API Management and Integrated SOA Governance
 
Process-driven applications: let BPM do (some of) your work
Process-driven applications: let BPM do (some of) your workProcess-driven applications: let BPM do (some of) your work
Process-driven applications: let BPM do (some of) your work
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)
 

Similar to Knowledge drivenmicroservices

Going Global with Itoc and AWS
Going Global with Itoc and AWS Going Global with Itoc and AWS
Going Global with Itoc and AWS Mark Promnitz
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYCChristian Posta
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtTechWell
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-oldF K
 
Mule real world old
Mule real world oldMule real world old
Mule real world oldMohammed625
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtDavid Litvak Bruno
 
DFS22_EU Pitch Battle_Maurits Van Schooneveld_Five deg neo_041022
DFS22_EU Pitch Battle_Maurits Van Schooneveld_Five deg neo_041022DFS22_EU Pitch Battle_Maurits Van Schooneveld_Five deg neo_041022
DFS22_EU Pitch Battle_Maurits Van Schooneveld_Five deg neo_041022FinTech Belgium
 
Grid Origination Services Presentation update 7 17 14
Grid Origination Services Presentation update 7 17 14Grid Origination Services Presentation update 7 17 14
Grid Origination Services Presentation update 7 17 14Paul Hindman
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitectureAshwini Kuntamukkala
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup
 

Similar to Knowledge drivenmicroservices (20)

Going Global with Itoc and AWS
Going Global with Itoc and AWS Going Global with Itoc and AWS
Going Global with Itoc and AWS
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
Resume
ResumeResume
Resume
 
Mule real-world
Mule real-worldMule real-world
Mule real-world
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
Mule real world old
Mule real world oldMule real world old
Mule real world old
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 
A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
 
Mule execution
Mule executionMule execution
Mule execution
 
GEETHA LAKSHMI M
GEETHA LAKSHMI MGEETHA LAKSHMI M
GEETHA LAKSHMI M
 
mule real world
mule real worldmule real world
mule real world
 
Satya_Prakash
Satya_PrakashSatya_Prakash
Satya_Prakash
 
Resume (2)
Resume (2)Resume (2)
Resume (2)
 
DFS22_EU Pitch Battle_Maurits Van Schooneveld_Five deg neo_041022
DFS22_EU Pitch Battle_Maurits Van Schooneveld_Five deg neo_041022DFS22_EU Pitch Battle_Maurits Van Schooneveld_Five deg neo_041022
DFS22_EU Pitch Battle_Maurits Van Schooneveld_Five deg neo_041022
 
Grid Origination Services Presentation update 7 17 14
Grid Origination Services Presentation update 7 17 14Grid Origination Services Presentation update 7 17 14
Grid Origination Services Presentation update 7 17 14
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
 
Vishal_Project Lead
Vishal_Project LeadVishal_Project Lead
Vishal_Project Lead
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Knowledge drivenmicroservices

  • 1. Knowledge driven (micro) services JBCNConf 2016 Maciej Swiderski Principal Software Engineer @ JBoss
  • 2. Where is knowledge? • While building application we tend to focus on • architecture • design - modules, UI etc • code quality • test cases • But where is business knowledge in this?
  • 3. Business knowledge • Data model - the WHAT • XML • JSON • Java • Business rule definitions - the WHY • DRL • Business Process definitions - the HOW • BPMN2
  • 5. Vert.x in a Nutshell “Vert.x is a lightweight, high performance application platform for the JVM that's designed for modern mobile, web, and enterprise applications.”
  • 6. Vert.x in a Nutshell • Polyglot use your favorite programming language or mix several to develop applications • Simplicity make use of asynchronous APIs without too much hassle • Scalability scales using message passing to efficiently utilize your server cores. • Concurrency simple actor-like concurrency model frees you from the pitfalls of traditional multi-threaded programming.
  • 7. Hazelcast In memory data grid Clustered and highly available data distribution Distributed data structures
  • 8. Vert.x topology Vert.x instance Verticle instance Verticle instance Vert.x instance Verticle instance Clustered Event Bus Verticle instance Event busEvent bus
  • 9. Knowledge Is Everything • Open source projects for business systems automation and management • Drools • jBPM • OptaPlanner • UberFire • DashBuilder
  • 10. Knowledge Archives - kjar • Business assets (data model, processes, rules, decision tables, forms, etc) are considered source artifacts • By that means they are packaged as source artifacts - as jars • Actually as kjars (knowledge archives) • single difference for kjar is the descriptor - kmodule.xml • kjar can contain java code as well, alternatively kjar can have dependencies to other (k)jars
  • 11. Demo description • Applicant places a loan request • Bank qualifies given loan based on • potential risk of giving the loan • amount of the loan • duration of the loan • Bank representative approves or rejects the loan request
  • 12. … into micro services Apply for loan service Evaluate loan service Process loan service
  • 13. Apply for loan service • Main entry point to the loan request system • Allow applicant to put loan request that consists of: • applicant name • monthly income • loan amount • length in years to pay off the loan Here we provide the WHAT - our data model
  • 14. Evaluate loan service • Rule based evaluation of incoming loan applications • Low risk loan • when loan request is for amount lower that 1000 it’s considered low risk and thus is auto approved • Basic loan • When amount is higher than 1000 and length is less than 5 years - requires clerk approval process • Long term loan • When amount is higher than 1000 and length is more that 5 years - requires manager approval and might need special terms to be established Here we provide the WHY - our business rules
  • 15. Process loan service • Depending on the classification of the loan different bank departments/teams will be involved in decision making about given loan request • Basic loans department • performs background check on the applicant and either approves or rejects the loan • Long term loans department • requires management approval to ensure a long term commitment can be accepted for given application. Here we provide the HOW - our business processes
  • 16. Our architecture Apply for loan service Evaluate loan service Process loan service Vert.x Event Bus powered by Hazelcast
  • 17. How does it work? • Each service is completely self contained • Knowledge driven services are deployed with kjar • Services talks to each other by exchanging data - business data • Services can come and go as we like - dynamically increasing or decreasing number of instances of given service • no API in the strict sense of its meaning - API is the data
  • 18. Demo • Deploy service with business processes • Basic Loan • Long term load • Deploy service with business rules • Deploy service that will place loan applications on behalf of different users • Java service • Java Script service • Groovy service
  • 19. Our architecture… scaling Apply for loan service Evaluate loan service Process loan service Vert.x Event Bus powered by Hazelcast
  • 20. Main take aways • Knowledge is everything • Keep in mind when building your services about • the WHAT • the WHY • the HOW • Always look at the business aspects of the solution you’re building…. technology, frameworks are just the tools