Fuse Service Works 6 S-RAMP and
Design Time Governance
Kenny Peeples
Technical Marketing Manager
December 10th, 2013
Agenda (2 Hours)
●

●

Why use DTGov/S-RAMP

●

How to use DTGov/S-RAMP

●

Demonstration of S-RAMP

●

Demonstration of D...
Fuse Service Works 6 – S-RAMP and Design Time Governance

What is DTGov/S-RAMP
What is SOA Governance?
●

●

●

Exercising control over services in a Service
Oriented Architecture.
SOA Governance helps...
JBoss Fuse Service Works Components

https://www.jboss.org/switchyard

5

RED HAT Confidential

http://www.jboss.org/overl...
What are the Governance
Components?

6

RED HAT Confidential
What is S-RAMP?
S-RAMP - "The SOA Repository Artifact Model and
Protocol (S-RAMP) TC defines a common data
model for SOA r...
What is Design Time Governance?
It provides the capability to manage the lifecycle of services
from inception through depl...
Design Time Governance Supporting Services

●

●

Meta-Data Update Service

●

9

Deployment Service

Notification Service...
Fuse Service Works 6 – S-RAMP and Design Time Governance

Why use DTGov/S-RAMP
S-RAMP Scenarios
●

●
●



11

It can be used, as an example by an insurance company, implementing SOA
Governance to stor...
Design Time Governance Scenarios
●

●

●

●

12

Typical Use-Case
A typical use-case for Design Time Governance is how to ...
Top Down Switchyard Use Case
Tooling:
- Create Service in IDE
- Maven Deploy to Repo
S-RAMP:
- Store, extract, derive
- St...
Fuse Service Works 6 – S-RAMP and Design Time Governance

How to use DTGov/S-RAMP
Interacting with S-RAMP
Through the ATOM BIND REST API using:
● any existing ATOM client
● Java, using the S-RAMP client
●...
S-RAMP Interaction Examples
Client Example:
SrampAtomApiClient client = new SrampAtomApiClient(endpoint, username, passwor...
Deployment Workflow
S-RAMP triggers deploy to runtime
/s-ramp/ext/SwitchyardApplication ->
overlord.demo.SimpleReleaseProc...
18

RED HAT Confidential
Deployment Workflow

19

RED HAT Confidential
Fuse Service Works 6 – S-RAMP and Design Time Governance

Demonstration of S-RAMP
S-RAMP Demonstration 1
S-RAMP Demos Simple Client - This demo illustrates how easy it is to use the SRAMP client to intera...
Demonstatration 1 Output
*** Running S-RAMP Simple Client Demo ***
S-RAMP Endpoint: http://localhost:8080/s-ramp-server
S-...
23

RED HAT Confidential
S-RAMP Demonstration 2
S-RAMP Demos Query - This demo shows a few examples of how the S-RAMP
repository can be queried.
St...
Demonstration 2 Output
*** Running S-RAMP Query Demo ***
S-RAMP Endpoint: http://localhost:8080/s-ramp-server
S-RAMP User:...
26

RED HAT Confidential
Fuse Service Works 6 – S-RAMP and Design Time Governance

Demonstration of DTGov
Workflow example in JBDS which can be modified then deployed, located under data
28

RED HAT Confidential
Package and Deploy the workflow to S-RAMP
[kpeeples@localhost jboss-eap-6.1]$ cd data/
[kpeeples@localhost data]$ ll
total...
DTGov Demonstration 1
This demo shows how DTGov can start a Project Workflow via a simple Maven
build. The goal is to show...
Workflow Kicked Off

31

RED HAT Confidential
Fuse Service Works 6 – S-RAMP and Design Time Governance

Lab of S-RAMP
S-RAMP Lab 1
S-RAMP Demos Simple Client - This demo illustrates how easy it is to use the SRAMP client to interact with th...
S-RAMP Lab 2
S-RAMP Demos Query - This demo shows a few examples of how the S-RAMP
repository can be queried.
Import the p...
Fuse Service Works 6 – S-RAMP and Design Time Governance

Lab of DTGov
DTGov Lab 1
DTGov Switchyard demo - This demo shows how DTGov can start a Project
Workflow via a simple Maven build. The g...
Fuse Service Works 6 – S-RAMP and Design Time Governance

Summary and References
Summary and References
●

●
●

●

●

38

Beta Download, Install Instructions, videos jboss.org/products/fsw.html and
jboss...
Thank You
Q&A
Upcoming SlideShare
Loading in...5
×

Fuse Service Works Design Time Governance and S-RAMP

1,688

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,688
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
63
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • <number>
  • Fuse Service Works Design Time Governance and S-RAMP

    1. 1. Fuse Service Works 6 S-RAMP and Design Time Governance Kenny Peeples Technical Marketing Manager December 10th, 2013
    2. 2. Agenda (2 Hours) ● ● Why use DTGov/S-RAMP ● How to use DTGov/S-RAMP ● Demonstration of S-RAMP ● Demonstration of DTGov ● Attendees run S-RAMP Lab ● Attendees run DTGov Lab ● Summary and References ● 2 What is DTGov/S-RAMP Q&A RED HAT Confidential
    3. 3. Fuse Service Works 6 – S-RAMP and Design Time Governance What is DTGov/S-RAMP
    4. 4. What is SOA Governance? ● ● ● Exercising control over services in a Service Oriented Architecture. SOA Governance helps with the adoption and implementation and sustainability of SOA. SOA Governance must cover people, processes and technologies for the entire SOA Lifecycle. http://www.opengroup.org/soa/source-book/gov/gov.htm 4 RED HAT Confidential
    5. 5. JBoss Fuse Service Works Components https://www.jboss.org/switchyard 5 RED HAT Confidential http://www.jboss.org/overlord
    6. 6. What are the Governance Components? 6 RED HAT Confidential
    7. 7. What is S-RAMP? S-RAMP - "The SOA Repository Artifact Model and Protocol (S-RAMP) TC defines a common data model for SOA repositories as well as an interaction protocol to facilitate the use of common tooling and sharing of data." ● Artifact Repository Specification  Data Model  Protocol ● Standard Operations Supported  Add, Delete, Update  Query ● https://vimeo.com/73473334 - S-RAMP 101 7 RED HAT Confidential
    8. 8. What is Design Time Governance? It provides the capability to manage the lifecycle of services from inception through deployment through subsequent change management. ● SOA Architecture Design (Workflow)  Best practice 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 ● DTGov web console ● Search for Services (re-use) ● Artifact Relationship Visualization ● Notifications on Service Change ● 8 RED HAT Confidential
    9. 9. Design Time Governance Supporting Services ● ● Meta-Data Update Service ● 9 Deployment Service Notification Service RED HAT Confidential
    10. 10. Fuse Service Works 6 – S-RAMP and Design Time Governance Why use DTGov/S-RAMP
    11. 11. S-RAMP Scenarios ● ● ●  11 It can be used, as an example by an insurance company, implementing SOA Governance to store, extract, and derive content (artifacts) and Metadata used by the company. It also classifies the artifacts and provides rich query support. Why should S-RAMP be used instead of some other content repository (JCR, SharePoint, Drupal, RDBMS, etc)? The answer to that is in the "SOAaware" idea. Because S-RAMP defines some common SOA models, and understands those models, it can provide some very useful functionality specific to the SOA domain. Once you have stored your SOA artifacts (WSDLs, Schemas, etc) in an SRAMP repository, you can ask it questions like this:  Which WSDLs utilize (import) the "xyz.xsd" XML schema?  Which XML Schemas import or include the "xyz.xsd" XML schema?  Which of my Service Instances are in production?  Which Service Instances are governed by SLA "abc"?  Which Service Instances are available in North America? RED HAT Confidential
    12. 12. Design Time Governance Scenarios ● ● ● ● 12 Typical Use-Case A typical use-case for Design Time Governance is how to progress a new service from the development phase through to production. One way that can be done is by deploying the service into the S-RAMP repository, and then triggering a Service Lifecycle workflow that will guide the service through the business-specific phases needed to get it into production. This might mean deploying the service into a staging environment, gathering approvals from stakeholders, performing automatic impact analysis, and ultimately deploying into production. Insurance Company Use-Case Another use revolves around a insurance company. A large insurance company may implement Design-time Governance to manage their services. They can search the shared assets and artifacts for existing services in the repository and use them in further developing composite services. They can create a new insurance policy definition, or update an existing one, and test and deploy them. In addition to services, they can also share schema. Say, if there is a need for accessing a new insurance policy quote, a developer can look up the schema and service definition and write a new service to access the information. An insurance company can also share Policy definitions across the enterprise. They can impose conditions on a policy based on access to the service. Some customers may only be permitted to access a service during certain time periods, and their usage may be dictated by their service level (for example, how many service calls they can make per day). In addition to these, with Design-Time Governance, an insurance company can identify and keep track of the changes to existing, in-production services and artifacts. This ensures that the backward incompatible changes are introduced in a controlled way, to ensure they do not unexpectedly break existing applications. RED HAT Confidential
    13. 13. Top Down Switchyard Use Case Tooling: - Create Service in IDE - Maven Deploy to Repo S-RAMP: - Store, extract, derive - Status Classification DTGov: - Community notifications - Gov WFL Approvals - Deploy to PROD RTGov: - Add SLA (Policy) - Monitor 13 RED HAT Confidential
    14. 14. Fuse Service Works 6 – S-RAMP and Design Time Governance How to use DTGov/S-RAMP
    15. 15. Interacting with S-RAMP Through the ATOM BIND REST API using: ● any existing ATOM client ● Java, using the S-RAMP client ● Command Shell ● S-RAMP-UI Browser (Web Based) ● Maven (S-RAMP Wagon up/down) 15 RED HAT Confidential
    16. 16. S-RAMP Interaction Examples Client Example: SrampAtomApiClient client = new SrampAtomApiClient(endpoint, username, password, true); BaseArtifactType artifact = client.uploadArtifact(type, is, file); QueryResultSet rs = client.buildQuery("/s-ramp[@from-demo = ?]"); Maven S-RAMP Wagon Example: . . <build> <finalName>${project.artifactId}</finalName> <extensions> <extension> <groupId>org.overlord.sramp</groupId> <artifactId>s-ramp-wagon</artifactId> <version>${project.version}</version> </extension> </extensions> . . <distributionManagement> <repository> <id>local-sramp-repo</id> <name>S-RAMP Releases Repository</name> <url>sramp://localhost:8080/s-ramp-server/ ?artifactType=SwitchyardApplication</url> </repository> 16 RED HAT Confidential
    17. 17. Deployment Workflow S-RAMP triggers deploy to runtime /s-ramp/ext/SwitchyardApplication -> overlord.demo.SimpleReleaseProcess DeploymentUrl={governance.url}/deploy/ copy/{target}/{uuid} NotificationUrl={governance.url}/notify/e mail/{group}/deployed/{target}/{uuid} UpdateMetaDataUrl={governance.url}/up date/{name}/{value}/{uuid} Logs deployment status in S-RAMP Sends out notifications Human task to approve or fail target: dev, qa, stage, prod https://access.redhat.com/site/documentation/en-US/Red_Hat_JBoss_Fuse_Service_Works/6/html-single/Development_Guide_Volume_3_Governance/index.html#sect-Governance_Workflows 17 RED HAT Confidential
    18. 18. 18 RED HAT Confidential
    19. 19. Deployment Workflow 19 RED HAT Confidential
    20. 20. Fuse Service Works 6 – S-RAMP and Design Time Governance Demonstration of S-RAMP
    21. 21. S-RAMP Demonstration 1 S-RAMP Demos Simple Client - This demo illustrates how easy it is to use the SRAMP client to interact with the S-RAMP repository (which it does via an Atom API) Step 1: Make sure Fuse Service Works Server is Running Step 2: Change to the fswinstall/jboss-eap-6.1/quickstarts/overlord/s-ramp/s-rampdemos-simple-client directory Step 3: Run the Maven command mvn -Pdemo -Dsramp.auth.username=admin -Dsramp.auth.password=redhat1! clean test Step 4: Use the S-RAMP UI (browser) to take a look at the artifact that were uploaded by this demo. 21 RED HAT Confidential
    22. 22. Demonstatration 1 Output *** Running S-RAMP Simple Client Demo *** S-RAMP Endpoint: http://localhost:8080/s-ramp-server S-RAMP User: admin Uploading some XML schemas... Uploading artifact ws-humantask.xsd...done. Updating meta-data for artifact ws-humantask.xsd...done. Uploading artifact ws-humantask-context.xsd...done. Updating meta-data for artifact ws-humantask-context.xsd...done. Uploading artifact ws-humantask-policy.xsd...done. Updating meta-data for artifact ws-humantask-policy.xsd...done. Uploading artifact ws-humantask-types.xsd...done. Updating meta-data for artifact ws-humantask-types.xsd...done. Uploading artifact ws-humantask-leantask-api.wsdl...done. Updating meta-data for artifact ws-humantask-leantask-api.wsdl...done. Uploading artifact ws-humantask-protocol.wsdl...done. Updating meta-data for artifact ws-humantask-protocol.wsdl...done. Querying the S-RAMP repository for Schemas...success: 4 Schemas found: * ws-humantask-context.xsd (8ad99ddc-13a6-4d0c-a6d7-c1f56d3256fa) * ws-humantask-policy.xsd (91ace761-50f8-4b9b-a0bf-d506ad5f12fd) * ws-humantask-types.xsd (67b97760-58d4-4220-8b9f-d596e69161d4) * ws-humantask.xsd (a2a85ef6-5601-4b06-bf46-803177b3713c) *** Demo Completed Successfully *** 22 RED HAT Confidential
    23. 23. 23 RED HAT Confidential
    24. 24. S-RAMP Demonstration 2 S-RAMP Demos Query - This demo shows a few examples of how the S-RAMP repository can be queried. Step 1: Make sure Fuse Service Works Server is Running Step 2: Change to the fswinstall/jboss-eap-6.1/quickstarts/overlord/s-ramp/s-rampdemos-query directory Step 3: Run the Maven command mvn -Pdemo -Dsramp.auth.username=admin -Dsramp.auth.password=redhat1! clean test Step 4: Use the S-RAMP UI (browser) to take a look at the artifact that were uploaded by this demo. 24 RED HAT Confidential
    25. 25. Demonstration 2 Output *** Running S-RAMP Query Demo *** S-RAMP Endpoint: http://localhost:8080/s-ramp-server S-RAMP User: admin Uploading some content to the S-RAMP repository...done! Querying the S-RAMP repository for Schemas...success: 6 Schema(s) found (expected AT LEAST 2) Querying the S-RAMP repository for WSDLs...success: 3 WSDL(s) found (expected AT LEAST 1) Querying the S-RAMP repository for all artifacts version 1.1...success: 8 artifact(s) found (expected AT LEAST 2) Querying the S-RAMP repository for all artifacts version 1.2...success: 1 artifact(s) found (expected AT LEAST 1) Querying the S-RAMP repository for a unique artifact by name + version...success: 1 artifact(s) found (expected AT LEAST 1) Querying the S-RAMP repository for a unique artifact by name + version (again)...success: 1 artifact(s) found (expected AT LEAST 1) Querying the S-RAMP repository for conflicting meta data...success: 0 artifact(s) found (expected 0) Search for all artifacts with a name starting with 'w'...success: 1 artifact(s) found (expected SOME :)) *** Demo Completed Successfully *** 25 RED HAT Confidential
    26. 26. 26 RED HAT Confidential
    27. 27. Fuse Service Works 6 – S-RAMP and Design Time Governance Demonstration of DTGov
    28. 28. Workflow example in JBDS which can be modified then deployed, located under data 28 RED HAT Confidential
    29. 29. Package and Deploy the workflow to S-RAMP [kpeeples@localhost jboss-eap-6.1]$ cd data/ [kpeeples@localhost data]$ ll total 16 -rw-rw-r-- 1 kpeeples kpeeples 6461 Oct 2 20:12 deployment-status.owl -rw-rw-r-- 1 kpeeples kpeeples 2415 Oct 2 20:12 pom.xml drwxrwxr-x 3 kpeeples kpeeples 4096 Dec 10 22:17 src [kpeeples@localhost data]$ mvn package [INFO] Scanning for projects... [INFO] [INFO] -----------------------------------------------------------------------[INFO] Building Design Time Governance: Workflows 1.0.1.Final-redhat-4 [INFO] -----------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ dtgov-workflows --[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 10 resources [INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ dtgov-workflows --[INFO] No sources to compile [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ dtgov-workflows --[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory /home/kpeeples/mystuff/NA Enablement/fswBETA/jboss-eap-6.1/data/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ dtgov-workflows --[INFO] No sources to compile [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ dtgov-workflows --[INFO] No tests to run. [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ dtgov-workflows --[INFO] Building jar: /home/kpeeples/mystuff/NA Enablement/fswBETA/jboss-eap-6.1/data/target/dtgov-workflows-1.0.1.Final-redhat-4.jar [INFO] -----------------------------------------------------------------------[INFO] BUILD SUCCESS [INFO] -----------------------------------------------------------------------[INFO] Total time: 3.901s [INFO] Finished at: Wed Dec 11 02:16:32 EST 2013 [INFO] Final Memory: 26M/321M [INFO] ------------------------------------------------------------------------ Deploy to S-RAMP and add query definition to kick off workflow 29 RED HAT Confidential
    30. 30. DTGov Demonstration 1 This demo shows how DTGov can start a Project Workflow via a simple Maven build. The goal is to show that an upload of a pom.xml with artifactId of "project" kicks of a workflow of type overlord.demo.SimpleReleaseProcess.png. Step 1: Make sure Fuse Service Works Server is Running Step 2: Change to the fswinstall/jboss-eap-6.1/quickstarts/overlord/dtgov/dtgovdemos-switchyard directory Step 3: Run the Maven command mvn -Pdemo -Dsramp.auth.username=admin -Dsramp.auth.password=redhat1! clean deploy Step 4: Use the S-RAMP UI (browser) to take a look at the deployment that were uploaded by this demo. NOTE: review /tmp as it moves through the workflow, possibly setup the sym link to prod folder and review pom.xml 30 RED HAT Confidential
    31. 31. Workflow Kicked Off 31 RED HAT Confidential
    32. 32. Fuse Service Works 6 – S-RAMP and Design Time Governance Lab of S-RAMP
    33. 33. S-RAMP Lab 1 S-RAMP Demos Simple Client - This demo illustrates how easy it is to use the SRAMP client to interact with the S-RAMP repository (which it does via an Atom API) Import the project in JBDS, run the test and review the artifacts in S-RAMP 33 RED HAT Confidential
    34. 34. S-RAMP Lab 2 S-RAMP Demos Query - This demo shows a few examples of how the S-RAMP repository can be queried. Import the project in JBDS, run the test and review the artifacts in S-RAMP 34 RED HAT Confidential
    35. 35. Fuse Service Works 6 – S-RAMP and Design Time Governance Lab of DTGov
    36. 36. DTGov Lab 1 DTGov Switchyard demo - This demo shows how DTGov can start a Project Workflow via a simple Maven build. The goal is to show that an upload of a pom.xml with artifactId of "project" kicks of a workflow of type overlord.demo.SimpleReleaseProcess.png. Import the project in JBDS, deploy the switchyard application and review the artifacts in S-RAMP 36 RED HAT Confidential
    37. 37. Fuse Service Works 6 – S-RAMP and Design Time Governance Summary and References
    38. 38. Summary and References ● ● ● ● ● 38 Beta Download, Install Instructions, videos jboss.org/products/fsw.html and jboss.org/products/datavirt.html JBoss Videos - http://vimeo.com/jbossdeveloper Git repo with examples http://github.com/FuseServiceWorksByExample And http://github.com/DataVirtualizationByExample Development Guides and additional docs -https://access.redhat.com/site/documentation/Red_Hat_Jboss _Fuse_Service_Works/ Home Loan Reference Architecture with DV/FSW (DTGov/Switchyard with Rules/Business Process/Camel) https://github.com/FuseServiceWorksByExample/Home-Loan-Referen RED HAT Confidential
    39. 39. Thank You Q&A
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×