Service Lifecycle Management with Fuse Service Works


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Service Lifecycle Management with Fuse Service Works

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