Fuse Service Works Design Time Governance and S-RAMP
Upcoming SlideShare
Loading in...5
×
 

Fuse Service Works Design Time Governance and S-RAMP

on

  • 1,292 views

 

Statistics

Views

Total Views
1,292
Views on SlideShare
1,292
Embed Views
0

Actions

Likes
0
Downloads
31
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />

Fuse Service Works Design Time Governance and S-RAMP Fuse Service Works Design Time Governance and S-RAMP Presentation Transcript

  • 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 DTGov ● Attendees run S-RAMP Lab ● Attendees run DTGov Lab ● Summary and References ● 2 What is DTGov/S-RAMP Q&A RED HAT Confidential
  • 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 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
  • JBoss Fuse Service Works Components https://www.jboss.org/switchyard 5 RED HAT Confidential http://www.jboss.org/overlord
  • 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 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
  • 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
  • Design Time Governance Supporting Services ● ● Meta-Data Update Service ● 9 Deployment Service Notification Service RED HAT Confidential
  • 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 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
  • 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
  • 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
  • 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 ● Command Shell ● S-RAMP-UI Browser (Web Based) ● Maven (S-RAMP Wagon up/down) 15 RED HAT Confidential
  • 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
  • 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 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 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
  • 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 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. 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
  • 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 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 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
  • 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
  • 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 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
  • 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
  • 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 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
  • 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.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
  • Thank You Q&A