SlideShare una empresa de Scribd logo
1 de 30
jBPM & Drools go Enterprise
     Maciej Swiderski
Build comprehensive BPM
platform on top of jBPM and
     Drools that will truly
  accelerate your business
Sounds nice but what's that?


How easy is to:
•
  Introduce new (version of) process?
•
  Change logic of a process?
•
  Upgrade your environment?
•
  Migrate your active processes?
... the goal is to be able...

• Add new (version) processes without
  affecting already running instances
• Alter business logic invoked by the
  processes independently
• Run different versions of the engine at
  the same time
... the developer goal is to be
              able...
• Do not maintain knowledge sessions on
  application/client side
• Do not worry about version if not
  needed
  – Process version
  – Engine version
• Simplify usability of the engine from
  application/client perspective
JBoss AS7 to the rescue

• JBoss Modules
  – jBPM and Drools configured as JBoss
    Module with all their dependencies
• OSGi
  – Engine factories registered in OSGi service
    registry with version properties
  – Engines registered in OSGi service registry
    with custom properties
  – Client code packaged as OSGi bundles
Platform overview

                                       JBoss AS7
            OSGi Service Registry

    Process bundle            Process bundle


               BPM module v 1.0

jBPM & Drools Module     jBPM & Drools Module
       V 5.2                    V 5.3
Platform components
• BPM module
   – Registers resolver manager
• JBPM & Drools module
   – Registers ExecutionEngineFactory
   – Registers resolvers
• Platform bundle
   – Bootstraps and registers ExecutionEngine
• Client application
   – Uses ExecutionEngine via resolvers
BPM module

• Simple abstraction layer on top of jBPM
  and Drools APIs to make clients
  independent of the version
• Registers ResolverManager in OSGi
  service registry as single point of
  interaction for ExecutionEngine look
  ups
ResolverManager
public interface ExecutionEngineResolverManager {


    void register(String owner, ExecutionEngineResolver resolver);


    void unregister(String owner, UUID resolverUniqueId);


    ExecutionEngineResolver find(RequestContext context);


    ExecutionEngine findAndLookUp(RequestContext context);


    Collection<ExecutionEngineResolver> getResolvers();
}
jBPM & Drools module
• jBPM and Drools components bundled in a
  single JBoss Module together with all
  dependencies
• OSGi enabled
• Registers ExecutionEngineFactory that is
  exposed to process bundles to construct
  ExecutionEngines for given version of jBPM
  and Drools
• Registers resolvers supported by given
  version
ExecutionEngineFactory
public interface ExecutionEngineFactory {
    public ExecutionEngine newExecutionEngine(
                                   ClassLoader bundleClassLoader);
    public ExecutionEngine newExecutionEngine(
                             ClassLoader bundleClassLoader, 
                             ExecutionEngineConfiguration config);
    public ExecutionEngine newExecutionEngine(
                                    ClassLoader bundleClassLoader, 
                              ExecutionEngineConfiguration config, 
                                                 Object callback);
    public ExecutionEngine newExecutionEngine(
                                    ClassLoader bundleClassLoader, 
                              ExecutionEngineConfiguration config, 
                           ExecutionEngineMapperStrategy strategy,
                                                 Object callback);
}
Process bundle
• Main component that makes use of the
  platform and delivers functionality
• Produces ExecutionEngine which is:
   – Wrapper around KnowledgeBase
   – Provides session management based on
     business keys using configurable
     strategies
• Registers ExecutionEngine under various
  properties making it discoverable by resolvers
ExecutionEngine
public interface ExecutionEngine {
    public Object getKnowledgeBase();
    public SessionDelegate getStatelessSession();
    public SessionDelegate getSession(String businessKey);
    public SessionDelegate getSessionById(int id);
    public Object getHumanTaskConnector();
    public UUID getUUID();
    public String buildCompositeId(String id);
    public void disposeSession(SessionDelegate session);
}
Platform interactions
                                   4. Register Exec Engine



Process Bundle                              1. look up        OSGi
                                             EE Factory
                                                             Service
             2. Build EE
                                                             Registry

        ExecEngineFactory

             3. Build EE                        Resolver
                                                Manager
ExecutionEngine


5. Optional – register custom resolvers
Client application

• Ultimate client of the platform
• Makes use of ExecutionEngine and
  ResolverManager to perform work
• Independent of the platform and
  process version
• Communicates only through OSGi
  service registry
Platform interactions

Client app
                        1. Look up                     OSGi
                        Resolver Manager
                                                      Service
                                                      Registry
                        2. find Resolver
                        find ExecEngine
                                           Resolver      3. Look up
 4. perform operation
  on the engine
                                           Manager       exec engine




  ExecutionEngine
Client application code
// get reference to Resolver manager
ServiceReference srf = this.context.getServiceReference(
                  ExecutionEngineResolverManager.class.getName());
ExecutionEngineResolverManager resolverManager =
     (ExecutionEngineResolverManager)this.context.getService(srf);


//find right resolver and directly look up the engine
RequestContext reqContext = new HttpRequestContext(request);
ExecutionEngine engine = 
resolverManager.findAndLookUp(reqContext);


// get session by business key and start process on it    
String compositeProcessInstanceId = engine.getSession("business­
key").startProcess(”process­id”);
Resolvers
• Resolver is responsible for finding the
  right ExecutionEngine based on given
  context
• Default policy - first resolver that
  accepts the context will do the look up
  in OSGi service registry
• Platform delivers some resolvers out of
  the box but process bundles can
  introduce custom resolvers as well
Available default resolvers
• UUID based resolver that accepts context if:
   – Explicitly contains UUID property of the engine
   – Contains composite id property (for instance
     processInstanceId)
• Version based resolver that accepts context if:
   – Explicitly contains version property
• Valid time resolver that will accepts the context if:
   – No version parameter is given
Session management
• In case where more than one session is in
  use there is a need to keep track of the
  identifiers and in some cases even
  relationship between process instance and
  session instance
• By default this need must be secured on
  application side
• On clustered environment things get more
  complicated (avoid concurrent usage of the
  same session)
SessionMappingStrategies
• Platform is equipped with strategies that are
  capable of maintaining sessions identifiers
  based on some business key
• Application refers to the session with custom
  business key like for instance user id or
  department instead of the internal session id
• Strategies are pluggable and every
  ExecutionEngine instance can utilize different
  implementation
Available session mapping
           strategies
• SerializableMap strategy – dedicated
  strategy for standalone installation that
  will simply persist the map of known
  values to the disc
• Clustered strategy – dedicated strategy
  that will employ Inifinispan as
  distributed cache with configured data
  store
Make your engine configurable

• ExecutionEngine will emit notification on
  number of events so the process
  bundle can react on them:
  – Knowledge base creation
  – Knowledge session creation
  – Work item registration
  – Dispose of the session
  – etc
ExecutionEngineCallback
public interface ExecutionEngineCallback {
    public void preKnowledgeBaseCreate(KnowledgeBuilder builder);

    public void postKnowledgeBaseCreate(KnowledgeBase kBase);
    public void preKnowledgeSessionCreate(Environment environment, 

                                        KnowledgeSessionConfiguration config, KnowledgeBase kBase);

    public void postKnowledgeSessionCreate(StatefulKnowledgeSession session, String businessKey);
    public void postKnowledgeSessionCreate(StatelessKnowledgeSession session, String businessKey);

    public void preKnowledgeSessionRestore(Environment environment, 
                                       KnowledgeSessionConfiguration config, KnowledgeBase kBase);

    public void postKnowledgeSessionRestore(StatefulKnowledgeSession session, String businessKey);
    public void preSessionDispose(StatefulKnowledgeSession session, String businessKey);

    public void postSessionDispose(StatefulKnowledgeSession session, String businessKey);

    public void preWorkItemRegister(StatefulKnowledgeSession session, String businessKey,
                                                     KnowledgeBase kBase, WorkItemHandler handler);

    public void postWorkItemRegister(StatefulKnowledgeSession session, String businessKey,
                                                     KnowledgeBase kBase, WorkItemHandler handler);

}
Multi tenancy

• Multi tenancy is achieved by:
  – Separate process bundles registered with
    dedicated properties
  – Additional resolver that will understand
    tenant configuration
  –
• It could be as simple as using tenant id
  property to redirect to the right
  execution engine...
Still in evaluation phase...

• The work is still in evaluation stage so
  everything can change and hopefully if
  it does it's for the good
• Please submit your input, requirements,
  ideas
• There are some limitation currently that
  are being investigated and most of them
  have workarounds :)
Still in evaluation phase...

• The work is still in evaluation stage so
  everything can change and hopefully if
  it does it's for the good
• Please submit your input, requirements,
  ideas
• There are some limitation currently that
  are being investigated and most of them
  have workarounds :)
Thanks for your attention

         Questions? Comments?



     Email: mswiders@redhat.com
     IRC: chat.freenode.net#jbpm
              Test drive:
http://people.redhat.com/mswiders/jbpm-enterprise/
Drools&jBPM

       Drools&jBPM
"All Day Drop in Centre"
     room 105, Hynes

Más contenido relacionado

La actualidad más candente

Ad106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Betterddrschiw
 
Symfony 2 under control
Symfony 2 under controlSymfony 2 under control
Symfony 2 under controlMax Romanovsky
 
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 AprilJenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 Aprilnmadusanka
 
Maven in Java EE project
Maven in Java EE projectMaven in Java EE project
Maven in Java EE projectOndrej Mihályi
 
Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5Oscar V
 
Semantic versioning implementation variations
Semantic versioning implementation variationsSemantic versioning implementation variations
Semantic versioning implementation variationsDaniel Rogatchevsky
 
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpikeMyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpikeos890
 
Extending ZF & Extending With ZF
Extending ZF & Extending With ZFExtending ZF & Extending With ZF
Extending ZF & Extending With ZFRalph Schindler
 

La actualidad más candente (10)

Ad106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Better
 
Symfony 2 under control
Symfony 2 under controlSymfony 2 under control
Symfony 2 under control
 
Jmeter
JmeterJmeter
Jmeter
 
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 AprilJenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
 
Jbpm online training
Jbpm online trainingJbpm online training
Jbpm online training
 
Maven in Java EE project
Maven in Java EE projectMaven in Java EE project
Maven in Java EE project
 
Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5
 
Semantic versioning implementation variations
Semantic versioning implementation variationsSemantic versioning implementation variations
Semantic versioning implementation variations
 
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpikeMyFaces CODI and JBoss Seam3 become Apache DeltaSpike
MyFaces CODI and JBoss Seam3 become Apache DeltaSpike
 
Extending ZF & Extending With ZF
Extending ZF & Extending With ZFExtending ZF & Extending With ZF
Extending ZF & Extending With ZF
 

Destacado

Destacado (18)

Melform Foodservice Catalogue
Melform Foodservice CatalogueMelform Foodservice Catalogue
Melform Foodservice Catalogue
 
Narrant cançons (1)
Narrant cançons (1)Narrant cançons (1)
Narrant cançons (1)
 
Melform Catalogo Vassoi
Melform Catalogo VassoiMelform Catalogo Vassoi
Melform Catalogo Vassoi
 
Descripcions 1r
Descripcions 1rDescripcions 1r
Descripcions 1r
 
Stp1
Stp1Stp1
Stp1
 
Melform Catalogo Foodservice
Melform Catalogo FoodserviceMelform Catalogo Foodservice
Melform Catalogo Foodservice
 
9xm fcc
9xm fcc9xm fcc
9xm fcc
 
Tablas latex
Tablas latexTablas latex
Tablas latex
 
Parent spelling workshop
Parent spelling workshopParent spelling workshop
Parent spelling workshop
 
Esai Novel - Layar Terkembang
Esai Novel - Layar TerkembangEsai Novel - Layar Terkembang
Esai Novel - Layar Terkembang
 
Melform Catalogo Biomedicale
Melform Catalogo BiomedicaleMelform Catalogo Biomedicale
Melform Catalogo Biomedicale
 
gamfic.tv simple presentation
gamfic.tv simple presentationgamfic.tv simple presentation
gamfic.tv simple presentation
 
Cerpen-Hal Tak Terduga
Cerpen-Hal Tak TerdugaCerpen-Hal Tak Terduga
Cerpen-Hal Tak Terduga
 
Reaksi Inti (Makalah Fisika)
Reaksi Inti (Makalah Fisika)Reaksi Inti (Makalah Fisika)
Reaksi Inti (Makalah Fisika)
 
Totdescrivint
TotdescrivintTotdescrivint
Totdescrivint
 
Knowledge drivenmicroservices
Knowledge drivenmicroservicesKnowledge drivenmicroservices
Knowledge drivenmicroservices
 
I si fos cert (textospredictius)
I si fos cert (textospredictius)I si fos cert (textospredictius)
I si fos cert (textospredictius)
 
Model model pengajaran
Model model pengajaranModel model pengajaran
Model model pengajaran
 

Similar a jBPM&Drools go Enterprise - JUDCon2012

Automate workflows with leading open-source BPM
Automate workflows with leading open-source BPMAutomate workflows with leading open-source BPM
Automate workflows with leading open-source BPMKris Verlaenen
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementSharkrit JOBBO
 
JBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionJBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionMauricio (Salaboy) Salatino
 
WSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2
 
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...GoQA
 
Jan Egil Ring - Get started with windows power shell desired state configuration
Jan Egil Ring - Get started with windows power shell desired state configurationJan Egil Ring - Get started with windows power shell desired state configuration
Jan Egil Ring - Get started with windows power shell desired state configurationNordic Infrastructure Conference
 
OSGi Community Event 2010 - OSGi Technical Update
OSGi Community Event 2010 - OSGi Technical UpdateOSGi Community Event 2010 - OSGi Technical Update
OSGi Community Event 2010 - OSGi Technical Updatemfrancis
 
OSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home ServicesOSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home Servicesmfrancis
 
JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsAndrea Leoncini
 
Practical advice on deployment and management of enterprise workloads
Practical advice on deployment and management of enterprise workloadsPractical advice on deployment and management of enterprise workloads
Practical advice on deployment and management of enterprise workloadsJarek Miszczyk
 
Pragmatic Monolith-First, easy to decompose, clean architecture
Pragmatic Monolith-First, easy to decompose, clean architecturePragmatic Monolith-First, easy to decompose, clean architecture
Pragmatic Monolith-First, easy to decompose, clean architecturePiotr Pelczar
 
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungleFredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it junglePer Riis
 
10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from OrchestratorFredrik Knalstad
 
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleFredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleNordic Infrastructure Conference
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)Kevin Sutter
 
Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019Andrea Tosato
 

Similar a jBPM&Drools go Enterprise - JUDCon2012 (20)

Azure Functions - Introduction
Azure Functions - IntroductionAzure Functions - Introduction
Azure Functions - Introduction
 
Automate workflows with leading open-source BPM
Automate workflows with leading open-source BPMAutomate workflows with leading open-source BPM
Automate workflows with leading open-source BPM
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
 
JBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 IntroductionJBPM5 Community Training Course - Module #1 Introduction
JBPM5 Community Training Course - Module #1 Introduction
 
WSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and Adoption
 
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
 
Jan Egil Ring - Get started with windows power shell desired state configuration
Jan Egil Ring - Get started with windows power shell desired state configurationJan Egil Ring - Get started with windows power shell desired state configuration
Jan Egil Ring - Get started with windows power shell desired state configuration
 
Automation using ibm rft
Automation using ibm rftAutomation using ibm rft
Automation using ibm rft
 
OSGi Community Event 2010 - OSGi Technical Update
OSGi Community Event 2010 - OSGi Technical UpdateOSGi Community Event 2010 - OSGi Technical Update
OSGi Community Event 2010 - OSGi Technical Update
 
OSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home ServicesOSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home Services
 
JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labs
 
Practical advice on deployment and management of enterprise workloads
Practical advice on deployment and management of enterprise workloadsPractical advice on deployment and management of enterprise workloads
Practical advice on deployment and management of enterprise workloads
 
Pragmatic Monolith-First, easy to decompose, clean architecture
Pragmatic Monolith-First, easy to decompose, clean architecturePragmatic Monolith-First, easy to decompose, clean architecture
Pragmatic Monolith-First, easy to decompose, clean architecture
 
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungleFredrik knalstad   10 ways to trigger orchestrator runbooks in the it jungle
Fredrik knalstad 10 ways to trigger orchestrator runbooks in the it jungle
 
10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator10 ways to trigger runbooks from Orchestrator
10 ways to trigger runbooks from Orchestrator
 
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungleFredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
Fredrik Knalstad - 10 ways to trigger orchestrator runbooks in the it jungle
 
Azure functions
Azure functionsAzure functions
Azure functions
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
 
Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019
 
jBPM Connector
jBPM ConnectorjBPM Connector
jBPM Connector
 

Último

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 

Último (20)

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 

jBPM&Drools go Enterprise - JUDCon2012