Mark   Proctor Project Lead T he SkyNet funding bill is passed.
The system goes online on August 4th, 1997.
Human decisions are removed from strategic defense.
SkyNet begins to learn at a geometric rate.
It becomes self-aware at 2:14am Eastern time, August 29th
In a panic, they try to pull the plug.
And, Skynet fights back
Agenda Open Source
Community
History
Unified Concept
Expert
Quick Example
Conditional Elements
Truth Maintenance and Inference
Fusion
Open Source
Business Model
Free as in Free Speech Think of “free speech”, not “free beer”
Cathedral & the Bazaar Published 1997 Cathedral GNU Emacs, GCC Bazaar Linux 19 guidelines Scratching an Itch
Given Enough Eyeballs
Release Early, Release Often Linus' Law "given enough eyeballs, all bugs are shallow“ Convinced Netscape to OSS
Open Source Light Weight Components
Flexibility
Control
Academic / Engineering Bridge
Motivations Fun
Learning/Exploring
Mastery
Being part of Something
Making a difference
Scratching an itch RSA Animate – Drive:  The surprising truth about what motivates us http://www.youtube.com/watch?v=u6XAPnuFjJc
Risk Health of Project Mailing list, irc
Code commits
Number of Developers
% of internal to external developers
Commitment and health of commercial backers
Availability Leaders or followers
Professional services
Hiring
Continued education Books, events, blogs, articles Ecosystem, 3 rd  parties and satellite communities
Community
Books Introduction to Expert Systems Peter Jackson Expert Systems, Principles and Programming Joseph C. Giarratano and Gary D. Riley
Oh And There are Drools Books Too
Drools Research Network http://www.jboss.org/drools/research-network.html 40+ Research related pages
Many more as haven't updated
Community Collaboration 40% of Drools work now done in the community US Navy Healthcare
OSDE (Argentina's largest healthcare organisation)
Intalio
Standards Part of the W3C RIF working group
Director in RuleML group
Sample Industries and Users Investment Millennium Investment Group (MIG)   Logistics Fedex   Airline Sabre Mortgage Franklin American Healthcare OSDE
Boot Camps San Francisco 2009 (40+ attendees) Sponsored by Third Pillar
Sun, FAMC, OSDE, Kaseya, Fedex, TU Group, Intermountain Healthcare, Gap, Sony Pictures, Lockheed Martin, Kaiser, HP, Wells Fargo, US Navy Research, FOLIOfn, Boeing ..... San Diego 2010 (80+ attendess) Sponsored by US Navy
5 day event, with 2 days focus on the healthcare industry
OSDE, AT&T, SAIC, US Navy Research, Kaiser, Clinica, Intermountain Healthcare, GE Healthcare, VA, Boeing, Nationwide ....
Communication User and Dev mailing lists
IRC, Internet Relay Chat
History
It All Started Here  Birth of CDSS 1970s 1980s Dendral Baobab Mycin Guidon Neomycin Teiresias Puff Emycin WM Sacon Centaur Wheeze Gravida Clot Oncocin
Because Not Everyone  Is As Smart As He Is
Business Rules Engines 1980s 2010s 1990s 2000s OPS5 ART Clips Jess Drools 2 JRules Drools 3 Drools 4 Drools 5
Drools History Drools 2 Rete like XML Scripting language Drools 3  Based on Clips functionality
Iterative improves to JRules syntax with Clips functionality Drools 4 More declarative
Basic functional programming feature with “from”
Basic Rule Flow
Basic BRMS Drools 5 Improved functional programming with 'accumulate'
More Advanced Rule Flow integration
Complex Event Process Temporal Comparators
Sliding Time Windows Production ready BRMS
Unified Vision Behavioural Modelling
Integrated Systems Semantic  Ontologies Rules Event Processes Workflows Rules  Workflows Event Processes Semantic  Ontologies
Integrated Systems EDM Enterprise Decision Management edBPM   Event Driven BPM  sBPM Semantic BPM
Semantic Business Ontologies/Taxonomies EDA Event Driven Architectures
Compliments SOA
Unified Vision “ A  common platform  to  model  and  govern  the business  logic  of the enterprise.”
Unified Vision “ A  common platform  to  model  and  govern  the business  logic  of the enterprise.”
Business Logic Lifecycle
jBPM3 File file = new File (“.....”); // file to XML process definition ProcessDefinition processDefinition =  ProcessDefinition.parseXmlString( IoUtils.FileToString( file ) ); ProcessInstance processInstance =  new ProcessInstance(processDefinition); Jess Rete engine = new Rete(); FileReader file = new FileReader("myfile.clp"); Jesp parser = new Jesp(file, engine); parser.parse(false); Esper EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(); EPStatement countStmt = admin.createEPL( "...." ); countStmt.start(); Knowledge API
Drools Flow KnowledegBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBulider(); kbuilder.addResource(  ResourceFactory.newClassPathResource( “myflow.bpmn2”, ResourceType.BPMN2 ); If ( kbuilder.hasErrors() ) { log.error( kbuilder.hasErrors().toString() ); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages( kbase.getKnowledgePackages() ); Knowledge API
Drools Expert KnowledegBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBulider(); kbuilder.addResource(  ResourceFactory.newClassPathResource( “myrules.drl”, ResourceType.DRL ); If ( kbuilder.hasErrors() ) { log.error( kbuilder.hasErrors().toString() ); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages( kbase.getKnowledgePackages() ); Knowledge API
<drools:kbase id=&quot;kbase1&quot;> <drools:resource  type=&quot;DRL&quot;  source=&quot;classpath:.../testSpring.drl&quot; /> </drools:kbase> <drools:ksession id=&quot;ksession1&quot; type=&quot; stateless &quot;  kbase =&quot;kbase1&quot; /> <drools:ksession id=&quot;ksession2&quot; type=&quot; stateful &quot;  kbase =&quot;kbase1&quot;/> <camelContext id=&quot;camel&quot;> <route> <from uri=&quot;cxfrs://bean://rsServer&quot;/> <marshal ref=&quot;xstream&quot;/> <to uri=”drools:ksession1” /> <unmarshal ref=&quot;xstream&quot;/> </route> </camelContext> Declarative Services Spring XML and Camel
Event Driven Architectures edBPM + EDM
EDA Metaphor - In our body: SOA is used to build our muscles and organs
EDA is used to build our sensory system
Rules and processes loosely coupled tightly coupled specific generic Decision Services Process Rules SCOPE COUPLING ?
Key Characteristics Dynamic

2011-03-29 London - drools