Enterprise Messaging from JBoss · Table of Contents 1. About JBoss Messaging 1.4.1 .....1
Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes!...
Transcript of Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes!...
![Page 1: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/1.jpg)
1Sunday, May 1, 2011
![Page 2: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/2.jpg)
Governing Services, Data, Rules, Processes
and moreRandall Hauch
Project Lead, ModeShape@rhauch @modeshape
Kurt StamProject Lead, Guvnor
@guvtalk
2Sunday, May 1, 2011
![Page 3: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/3.jpg)
Scenario 1 Build business processes using existing services
3Sunday, May 1, 2011
![Page 4: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/4.jpg)
Scenario 1 Build business processes using existing services
• What services are available?• What stage are they in?
dev? test? QA? prod? EOL?
• What services are planned?• What schemas are used?
common? standards?
• What do message look like?• What’s already using each service?
• What does each service use?other services? databases? external sites?
• What are the performance metrics of each service?
• What’s impact of changes?• Who can approve such changes?• What SLAs are in place? And for what services?
• Who’s the primary contact?
4Sunday, May 1, 2011
![Page 5: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/5.jpg)
Scenario 2 Integrate DBs acquired thru M&A
remote office databases
in the cloudapp-specific DBsmultiple ETL systems
multiple data centers regional databases
5Sunday, May 1, 2011
![Page 6: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/6.jpg)
Scenario 2 Integrate DBs acquired thru M&A
• What databases are available?• What stage are they in?
dev? test? QA? prod? EOL?
• What schemas are deployed?On which DBMSes?
• Where is each DB instance located?
• What applications use each DB?• What about data virtualization?
• How many entities deal with customer? accounts? records? sales? purchases? products? etc.
• What data transformations are performed?
• What’s impact of changes?• Who can approve such changes?• What SLAs are in place?• Who’s the primary contact?
6Sunday, May 1, 2011
![Page 7: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/7.jpg)
A few other scenarios
• Determine why we’re not meeting our SLAs
• Determine impact of a bug fix in a critical service
• Determine impact/exposure to security vulnerability
• Determine impact of changes new version of API
• What’s our process for rolling out a new deployment
7Sunday, May 1, 2011
![Page 8: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/8.jpg)
Lots of questions!
Finding answers to these questions takes time and costs money
? ?? ? ? ?
?
$$$$ $8Sunday, May 1, 2011
![Page 9: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/9.jpg)
Proper governance helps answer these questions
9Sunday, May 1, 2011
![Page 10: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/10.jpg)
users
Open source “production”a lifecycle of project deliverables
development
runtimeplatform
Mavenrepository
producedartifacts
build upload
deploy
disk
download
project lead announce
(jars)
10Sunday, May 1, 2011
![Page 11: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/11.jpg)
More than just JAR files & manifests
• JARs and manifests are required for runtime deployment• They don’t tell us everything we need
- interchange formats and structures (e.g., XSDs, JSON, XML)- data structures (e.g., DDL files, XSDs)- interface/API representation formats (e.g., WSDL)- semantic models (e.g., BPMN, rules, models)
• Also need to track other things- policies (e.g., SLA, security)- stages (e.g., planned, in test, QA, ready for production, deployed, retired)- acceptance, reviews and approvals
11Sunday, May 1, 2011
![Page 12: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/12.jpg)
Governance repositorytrack artifacts and relationships
virtual databases
data services
business services
message structures
processes rules
databases
policies
12Sunday, May 1, 2011
![Page 13: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/13.jpg)
Governance repositorytrack artifacts and relationships throughout lifecycle
security
documentation
testing support
quality
development
integration
acceptance
change
deployment
13Sunday, May 1, 2011
![Page 14: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/14.jpg)
Governance repository provides
• Tracking artifact states• Transitioning through lifecycle model• Managing relationships
- between artifacts and components- automatically deriving where possible
• Automation• Notification• Visibility and access• Search and structured query• Versioning• Security and audit capabilities
14Sunday, May 1, 2011
![Page 15: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/15.jpg)
How do we get there?
15Sunday, May 1, 2011
![Page 16: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/16.jpg)
• Very successful• Governs rules, from development to deployment• Starting to also govern processes• Some extension capability • Great starting point• Lots of best practices and lessons
Drools Guvnor
16Sunday, May 1, 2011
![Page 17: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/17.jpg)
Demo
17Sunday, May 1, 2011
![Page 18: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/18.jpg)
• Great starting point• Lots of best practices and lessons• But limited to rules and processes- user interface, semantic concepts, mental model
• Not possible to use for SOA services or Data Services
Drools Guvnor
18Sunday, May 1, 2011
![Page 19: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/19.jpg)
Current Guvnor
guvnor-repository
guvnor-web-app
JCR
Drools
19Sunday, May 1, 2011
![Page 20: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/20.jpg)
Guvnor roadmap
guvnor-repository
guvnor-web-app
JCR
Drools
Make more general-purpose
20Sunday, May 1, 2011
![Page 21: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/21.jpg)
Guvnor roadmap
guvnor-repository
guvnor-web-app
JCR (ModeShape)
Drools
Additional features when using ModeShape
21Sunday, May 1, 2011
![Page 22: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/22.jpg)
Guvnor roadmap
guvnor-repository
guvnor-web-app
JCR (ModeShape)
Rules & Processes DataServices
Add services-specific functionality via extensions
Add rules-specific functionality via extensions
Add data-specific functionality via extensions
22Sunday, May 1, 2011
![Page 23: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/23.jpg)
Guvnor roadmap
guvnor-repository
guvnor-web-app
JCR (ModeShape)
Drools DataServices
webdavs-ramp
Support client access over REST & WebDAV
23Sunday, May 1, 2011
![Page 24: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/24.jpg)
S-RAMPSOA Repository Artifact Model & Protocol
• Currently in work by OASIS Technical Committee- IBM, HP, SOA Software, TIBCO, Red Hat, WSO2 & others
• Common data model for SOA repositories- artifacts, derived information, taxonomies, query model
• Interaction protocol using AtomPub- CRUD, batch ops, query, notifications
The goal is interoperability for SOA tooling
24Sunday, May 1, 2011
![Page 25: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/25.jpg)
WebDAV
• Remotely access repository- mount repository as network share
- or access via HTTP
• Navigate, create and delete folders• Download, upload or delete files• Use in scripts for automation
- particularly useful for deployments
25Sunday, May 1, 2011
![Page 26: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/26.jpg)
Why ModeShape• Content Repository for Java (JCR) API
- JSR-170 (1.0)- JSR-283 (2.0)
• Easily clusterable (JGroups FTW!) • Plays nice with JBoss technologies
- uses Hibernate, JGroups, Infinispan, RESTEasy, PicketBox, etc.- deploy as a service within JBoss AS- monitor with Embedded Console and JON
• Rich query capabilities (beyond spec)• JDBC driver for querying content• Connectors for storing & accessing content
- JDBC (via JPA/Hibernate), Infinispan, SVN, file system, JDBC metadata• Sequencers ...
26Sunday, May 1, 2011
![Page 27: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/27.jpg)
JCR stores files
• Files are content- stored as binary data- metadata (MIME type, who, when,...)
• Optionally version some/all files• Extract text for searching
LoanService.wsdl
but nothing else
27Sunday, May 1, 2011
![Page 28: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/28.jpg)
creditInformationMessage - name (xsd:string) - amount (xsd:integer)
approvalMessage - accept (xsd:string)
loanServicePortType - input (creditInformationMessage) - output (approvalMessage)
loadServiceBinding - operation (“request”) with input, output, fault
embedded XSD types
ModeShape understands files• Files are content
- stored as binary data- metadata (MIME type, who, when,...)
• Optionally version some/all files• Extract text for searching
LoanService.wsdl
• Determine MIME type• Parse files• Extract structure• Store that back in the repository- where it can be queried & accessed
but can also “sequence” these files:
...
28Sunday, May 1, 2011
![Page 29: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/29.jpg)
ModeShape understands files
• ZIP, JAR, EAR, and WAR files• DDL files• Java source and class files• Teiid Relational models and VDBs• Text files (CSV and delimited)• JCR Compact Node Definition• XML documents
• Plans for more- WSDL documents- XSD documents- BPEL processes- Drools rules
29Sunday, May 1, 2011
![Page 30: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/30.jpg)
Guvnor roadmap
guvnor-repository
guvnor-web-app
JCR (ModeShape)
Drools DataServices
webdavs-ramp
ModeShape sequencers for domain-specific file types
30Sunday, May 1, 2011
![Page 31: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/31.jpg)
Summary
• Track the artifacts we produce, throughout their lifecycle• Provide access to the governed artifacts (via REST/WebDAV)• Automate workflow• Notify people when actions are required• Provide visibility (navigation & search & query)
31Sunday, May 1, 2011
![Page 32: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/32.jpg)
Status• Collaborating with multiple JBoss.org projects
- most work under Guvnor- communities will eventually own their own extensions
• Working with the Drools community- enabling use of ModeShape in place of Jackrabbit- extract the general parts of Guvnor- keep Guvnor working for Drools
• S-RAMP- Working with OASIS S-RAMP TC- Working on an implementation
• WebDAV client and server libraries
32Sunday, May 1, 2011
![Page 33: Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes! using!existing!services Sunday, May 1, 2011 3](https://reader034.fdocuments.us/reader034/viewer/2022042201/5ea1cc576545b717e1056e36/html5/thumbnails/33.jpg)
Thanks for listening!
Questions?
33Sunday, May 1, 2011