Sunday, May 1, 2011 1 - JBoss · 2019-02-24 · Scenario!1! Build!business!processes!...

33
1 Sunday, May 1, 2011

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thanks  for  listening!

Questions?

33Sunday, May 1, 2011