Service Lifecycle Management with Fuse Service Works

Uploaded on


More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Introduction to the Design Time Governance Capabilities of Fuse Service Works (FSW) Kurt Stam and Kenny Peeples Webinar March 26, 2014
  • 2. Dev Nation: By and for Developers
  • 3. Introduction to Fuse Service Works by Kenny Peeples
  • 4. Red Hat JBoss Integration Product Line
  • 5. 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
  • 6. 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
  • 7. What is JBoss Fuse Service Works?
  • 8. 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
  • 9. JBoss Switchyard
  • 10. JBoss Overlord S-RAMP
  • 11. 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.
  • 12. Business Transaction Monitoring
  • 13. Top Down Fuse Service Works Use Case
  • 14. Design Time Governance Capabilities
  • 15. Scenario: Build Composite Services
  • 16. A few other scenarios Determine impact of changes to new version of API Where is the source code from 8 years ago?
  • 17. Proper Governance saves time and money.
  • 18. 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
  • 19. 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
  • 20. Interact with S-RAMP through the ATOM BIND REST API?
  • 21. 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 = ?]")
  • 22. 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> ...
  • 23. S-RAMP Demo
  • 24. 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
  • 25. Single Node App Topology
  • 26. Project LifeCycle Management Business Analyst, Architect, Developer Project trigger ( 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>
  • 27. 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
  • 28. DTGov Demo 1
  • 29. 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
  • 30. 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
  • 31.
  • 32. DTGov Demo 2
  • 33. Get Started with Fuse Service Works Navigate to html BRMS is recommended, for the web based tooling and consoles
  • 34. 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: //
  • 35. Project Roadmap ● Deployment on Fuse ● Relationship visualization to facilitate impact analysis ● UI for Workflow trigger configuration ● API Management
  • 36. Questions?
  • 37. Dev Nation: By and for Developers