Introduction to the Design Time
Governance Capabilities of Fuse
Service Works (FSW)
Kurt Stam and Kenny Peeples
Webinar
March 26, 2014
Dev Nation: By and for Developers
http://devnation.org
Introduction to Fuse Service Works
by Kenny Peeples
Red Hat JBoss Integration Product
Line
Why Use JBoss Fuse Service Works?
Integrate, Automate, service enable existing IT assets
Improve customer experience with new or expanded services
Remove manual touch points and automate processes
Decouple business services from infrastructure
Foundation for easier mobile, cloud and BPM projects
Easily and securely access cloud assets (onpremise or public cloud)
Reduce cost, faster and efficient solutions, easier to maintain
Why Use JBoss Fuse Service Works?
Automate, track and control service releases
Improve cross-team communication
Automate release process
Document, inventory and categorize services, artifacts deployments
Improve QoS with SLAs and policies for services
Improve runtime visibility
Reduce operational costs
Improve time to recovery
Respond faster to situations
Analyze performance, find issues and respond
What is JBoss Fuse Service Works?
Apache Camel
Implementation framework for most commonly used Enterprise Integration Patterns (EIP)
Speeds time to solution and provides multiple connectivity options
Popular and vibrant community
Requirement for a really simple way to do integration
● Started as a Sub-project of ActiveMQ in March 2007
● 36 committers (15 work for Red Hat)
● 80-100k artifact downloads a month
● 120k website views a month
● 1000 user mailing list posts per month
● 130 + Components and growing
● Most widely used integration framework
JBoss Switchyard
JBoss Overlord S-RAMP
Service Lifecycle Management
Design-Time Governance addresses:
● Policy management
● Quality management
● Lifecycle management
The Design-Time Governance functionality is layered on top of an S-RAMP repository to
provide the following capabilities:
● Store and Govern artifacts
● Custom Governance Workflows
● Integrated Governance Human Task Management
Design-Time Governance provides a testable architecture that
ensures that the artifacts defined in the software development
cycle are consistent and valid. The artifacts go through various
stages of validations and authorizations.
Business Transaction Monitoring
Top Down Fuse Service Works Use Case
Design Time Governance
Capabilities
Scenario: Build Composite Services
A few other scenarios
Determine impact of changes to new version of API
Where is the source code from 8 years ago?
Proper Governance saves time and money.
SOA Repository Artifact Model and
Protocol 1.0 (Jan 2014)
S-RAMP OASIS specification
● a common data model for Artifact
Repositories (SOA focus) (type & model)
● an interaction ATOM protocol to facilitate the
use of common tooling and sharing data
ATOM BINDING
(RESTEasy)
Derived Models
(Read Only)
Core Model
Documents
JCR Storage (Modeshape on top of Infinispan)
S-RAMP
S-RAMP ATOM
BIND API
Derived Models
(Read Only)
Core Model
Documents
XML, XSD,
WSDL, SOAP,
Policy, ...,
Extended Doc
XSD, WSDL,
SOAP, Policy,
..., Extended
Model
Interact with S-RAMP through
the ATOM BIND REST API?
S-RAMP Client
SrampAtomApiClient client =
new SrampAtomApiClient(endpoint, username, password, true);
//Upload an artifact
BaseArtifactType artifact = client.uploadArtifact(type, is, file);
//Query S-RAMP
QueryResultSet rs = client.buildQuery("/s-ramp[@from-demo = ?]")
S-RAMP Wagon
...
<extension>
<groupId>org.overlord.sramp</groupId>
<artifactId>s-ramp-wagon</artifactId>
</extension>
...
<distributionManagement>
<repository>
<id>local-sramp-repo</id>
<name>S-RAMP Releases Repository</name>
<url>sramp://localhost:8080/s-ramp-server/?artifactType=SwitchyardApplication</url>
</repository>
</distributionManagement>
...
S-RAMP Demo
DTGov
● BPMN2 based Governance Workflows
○ Repository events kick off governance workflows
○ Out-of-the-box integration with jBPM-6
○ Workflows can be customized or new ones can be created
● Project Lifecycle Management - service development
● Managed deployment - push artifacts to a service
execution environment
Single Node App Topology
Project LifeCycle
Management
Business Analyst, Architect, Developer
Project trigger (dtgov.properties):
governance.queries=/s-ramp/ext/ArtifactGrouping[xp2:matches(@name,
'Project.*')] | overlord.demo.SimplifiedProjectLifeCycle
Pom:
<repository>
<id>local-sramp-repo</id>
<name>S-RAMP Releases Repository</name>
<url>sramp://localhost:8080/s-ramp-server/?
artifactGrouping=Project-${project.groupId}.${project.version}</url>
</repository>
Project LifeCycle
Management
● S-RAMP pom signal property triggers
review meeting
<artifactId>requirements</artifactId>
<packaging>jar</packaging>
<name>DTGov Demos Project: Requirements</name>
<properties>
<signal>AnalysisArtifactsComplete</signal>
</properties>
● Human task to approve or fail
DTGov Demo 1
Managed Deployment
● Roles: dev, qa, stage, prod
● S-RAMP triggers deploy to runtime
○ governance.queries=/s-ramp/ext/JavaWebApplication | overlord.demo.
SimpleReleaseProcess
● Pom or Archive
<repository>
<id>local-sramp-repo</id>
<name>S-RAMP Releases Repository</name>
<url>sramp://localhost:8080/s-ramp-server/?
artifactType=JavaWebApplication</url>
</repository>
or
zip archive containing a WEB-INF/web.xml
Managed Deployment
● Deploy to runtime
○ direct,
○ RHQ/JON,
○ JBoss Domain Deployment
● Classifies deployment status
● Sends out notifications
● Human task to approve or fail
● target execution environments: dev, qa,
stage, prod
●
DTGov Demo 2
Get Started with Fuse Service Works
Navigate to http://www.jboss.org/products/fsw.
html
BRMS is recommended, for the web based
tooling and consoles
Join the Overlord Project
Overlord is an umbrella project which represents
JBoss Governance. Overlord is part of the SOA Group.
Projects: APIMan, DTGov, RTGov & S-RAMP on http:
//www.jboss.org/overlord
Project Roadmap
● Deployment on Fuse
● Relationship visualization to facilitate impact analysis
● UI for Workflow trigger configuration
● API Management
Questions?
Dev Nation: By and for Developers
http://devnation.org

Service Lifecycle Management with Fuse Service Works

  • 1.
    Introduction to theDesign Time Governance Capabilities of Fuse Service Works (FSW) Kurt Stam and Kenny Peeples Webinar March 26, 2014
  • 2.
    Dev Nation: Byand for Developers http://devnation.org
  • 3.
    Introduction to FuseService Works by Kenny Peeples
  • 4.
    Red Hat JBossIntegration Product Line
  • 5.
    Why Use JBossFuse Service Works? Integrate, Automate, service enable existing IT assets Improve customer experience with new or expanded services Remove manual touch points and automate processes Decouple business services from infrastructure Foundation for easier mobile, cloud and BPM projects Easily and securely access cloud assets (onpremise or public cloud) Reduce cost, faster and efficient solutions, easier to maintain
  • 6.
    Why Use JBossFuse Service Works? Automate, track and control service releases Improve cross-team communication Automate release process Document, inventory and categorize services, artifacts deployments Improve QoS with SLAs and policies for services Improve runtime visibility Reduce operational costs Improve time to recovery Respond faster to situations Analyze performance, find issues and respond
  • 7.
    What is JBossFuse Service Works?
  • 8.
    Apache Camel Implementation frameworkfor most commonly used Enterprise Integration Patterns (EIP) Speeds time to solution and provides multiple connectivity options Popular and vibrant community Requirement for a really simple way to do integration ● Started as a Sub-project of ActiveMQ in March 2007 ● 36 committers (15 work for Red Hat) ● 80-100k artifact downloads a month ● 120k website views a month ● 1000 user mailing list posts per month ● 130 + Components and growing ● Most widely used integration framework
  • 9.
  • 10.
  • 11.
    Service Lifecycle Management Design-TimeGovernance addresses: ● Policy management ● Quality management ● Lifecycle management The Design-Time Governance functionality is layered on top of an S-RAMP repository to provide the following capabilities: ● Store and Govern artifacts ● Custom Governance Workflows ● Integrated Governance Human Task Management Design-Time Governance provides a testable architecture that ensures that the artifacts defined in the software development cycle are consistent and valid. The artifacts go through various stages of validations and authorizations.
  • 12.
  • 13.
    Top Down FuseService Works Use Case
  • 14.
  • 15.
  • 16.
    A few otherscenarios Determine impact of changes to new version of API Where is the source code from 8 years ago?
  • 17.
    Proper Governance savestime and money.
  • 19.
    SOA Repository ArtifactModel and Protocol 1.0 (Jan 2014) S-RAMP OASIS specification ● a common data model for Artifact Repositories (SOA focus) (type & model) ● an interaction ATOM protocol to facilitate the use of common tooling and sharing data
  • 20.
    ATOM BINDING (RESTEasy) Derived Models (ReadOnly) Core Model Documents JCR Storage (Modeshape on top of Infinispan) S-RAMP S-RAMP ATOM BIND API Derived Models (Read Only) Core Model Documents XML, XSD, WSDL, SOAP, Policy, ..., Extended Doc XSD, WSDL, SOAP, Policy, ..., Extended Model
  • 21.
    Interact with S-RAMPthrough the ATOM BIND REST API?
  • 22.
    S-RAMP Client SrampAtomApiClient client= new SrampAtomApiClient(endpoint, username, password, true); //Upload an artifact BaseArtifactType artifact = client.uploadArtifact(type, is, file); //Query S-RAMP QueryResultSet rs = client.buildQuery("/s-ramp[@from-demo = ?]")
  • 23.
    S-RAMP Wagon ... <extension> <groupId>org.overlord.sramp</groupId> <artifactId>s-ramp-wagon</artifactId> </extension> ... <distributionManagement> <repository> <id>local-sramp-repo</id> <name>S-RAMP ReleasesRepository</name> <url>sramp://localhost:8080/s-ramp-server/?artifactType=SwitchyardApplication</url> </repository> </distributionManagement> ...
  • 24.
  • 25.
    DTGov ● BPMN2 basedGovernance Workflows ○ Repository events kick off governance workflows ○ Out-of-the-box integration with jBPM-6 ○ Workflows can be customized or new ones can be created ● Project Lifecycle Management - service development ● Managed deployment - push artifacts to a service execution environment
  • 26.
  • 27.
    Project LifeCycle Management Business Analyst,Architect, Developer Project trigger (dtgov.properties): governance.queries=/s-ramp/ext/ArtifactGrouping[xp2:matches(@name, 'Project.*')] | overlord.demo.SimplifiedProjectLifeCycle Pom: <repository> <id>local-sramp-repo</id> <name>S-RAMP Releases Repository</name> <url>sramp://localhost:8080/s-ramp-server/? artifactGrouping=Project-${project.groupId}.${project.version}</url> </repository>
  • 28.
    Project LifeCycle Management ● S-RAMPpom signal property triggers review meeting <artifactId>requirements</artifactId> <packaging>jar</packaging> <name>DTGov Demos Project: Requirements</name> <properties> <signal>AnalysisArtifactsComplete</signal> </properties> ● Human task to approve or fail
  • 30.
  • 31.
    Managed Deployment ● Roles:dev, qa, stage, prod ● S-RAMP triggers deploy to runtime ○ governance.queries=/s-ramp/ext/JavaWebApplication | overlord.demo. SimpleReleaseProcess ● Pom or Archive <repository> <id>local-sramp-repo</id> <name>S-RAMP Releases Repository</name> <url>sramp://localhost:8080/s-ramp-server/? artifactType=JavaWebApplication</url> </repository> or zip archive containing a WEB-INF/web.xml
  • 32.
    Managed Deployment ● Deployto runtime ○ direct, ○ RHQ/JON, ○ JBoss Domain Deployment ● Classifies deployment status ● Sends out notifications ● Human task to approve or fail ● target execution environments: dev, qa, stage, prod
  • 33.
  • 34.
  • 35.
    Get Started withFuse Service Works Navigate to http://www.jboss.org/products/fsw. html BRMS is recommended, for the web based tooling and consoles
  • 36.
    Join the OverlordProject Overlord is an umbrella project which represents JBoss Governance. Overlord is part of the SOA Group. Projects: APIMan, DTGov, RTGov & S-RAMP on http: //www.jboss.org/overlord
  • 37.
    Project Roadmap ● Deploymenton Fuse ● Relationship visualization to facilitate impact analysis ● UI for Workflow trigger configuration ● API Management
  • 38.
  • 39.
    Dev Nation: Byand for Developers http://devnation.org