Service Lifecycle Management with Fuse Service Works

39
Introduction to the Design Time Governance Capabilities of Fuse Service Works (FSW) Kurt Stam and Kenny Peeples Webinar March 26, 2014

description

 

Transcript of Service Lifecycle Management with Fuse Service Works

Page 1: Service Lifecycle Management with Fuse Service Works

Introduction to the Design Time Governance Capabilities of Fuse

Service Works (FSW)

Kurt Stam and Kenny PeeplesWebinar

March 26, 2014

Page 2: Service Lifecycle Management with Fuse Service Works

Dev Nation: By and for Developers

http://devnation.org

Page 3: Service Lifecycle Management with Fuse Service Works

Introduction to Fuse Service Works

by Kenny Peeples

Page 4: Service Lifecycle Management with Fuse Service Works

Red Hat JBoss Integration Product Line

Page 5: Service Lifecycle Management with Fuse Service Works

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

Page 6: Service Lifecycle Management with Fuse Service Works

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 servicesImprove runtime visibility Reduce operational costs Improve time to recovery Respond faster to situations Analyze performance, find issues and respond

Page 7: Service Lifecycle Management with Fuse Service Works

What is JBoss Fuse Service Works?

Page 8: Service Lifecycle Management with Fuse Service Works

Apache CamelImplementation framework for most commonly used Enterprise Integration Patterns (EIP)Speeds time to solution and provides multiple connectivity optionsPopular and vibrant communityRequirement 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

Page 9: Service Lifecycle Management with Fuse Service Works

JBoss Switchyard

Page 10: Service Lifecycle Management with Fuse Service Works

JBoss Overlord S-RAMP

Page 11: Service Lifecycle Management with Fuse Service Works

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.

Page 12: Service Lifecycle Management with Fuse Service Works

Business Transaction Monitoring

Page 13: Service Lifecycle Management with Fuse Service Works

Top Down Fuse Service Works Use Case

Page 14: Service Lifecycle Management with Fuse Service Works

Design Time Governance Capabilities

Page 15: Service Lifecycle Management with Fuse Service Works

Scenario: Build Composite Services

Page 16: Service Lifecycle Management with Fuse Service Works

A few other scenarios

Determine impact of changes to new version of API

Where is the source code from 8 years ago?

Page 17: Service Lifecycle Management with Fuse Service Works

Proper Governance saves time and money.

Page 18: Service Lifecycle Management with Fuse Service Works
Page 19: Service Lifecycle Management with Fuse Service Works

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

Page 20: Service Lifecycle Management with Fuse Service Works

ATOM BINDING (RESTEasy)

Derived Models(Read Only)

Core Model Documents

JCR Storage (Modeshape on top of Infinispan)

S-RAMPS-RAMP ATOM BIND API

Derived Models(Read Only)

Core Model Documents

XML, XSD, WSDL, SOAP,Policy, ..., Extended Doc

XSD, WSDL, SOAP, Policy, ..., Extended Model

Page 21: Service Lifecycle Management with Fuse Service Works

Interact with S-RAMP through the ATOM BIND REST API?

Page 22: Service Lifecycle Management with Fuse Service Works

S-RAMP ClientSrampAtomApiClient client =

new SrampAtomApiClient(endpoint, username, password, true);

//Upload an artifactBaseArtifactType artifact = client.uploadArtifact(type, is, file);

//Query S-RAMPQueryResultSet rs = client.buildQuery("/s-ramp[@from-demo = ?]")

Page 23: Service Lifecycle Management with Fuse Service Works

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>...

Page 24: Service Lifecycle Management with Fuse Service Works

S-RAMP Demo

Page 25: Service Lifecycle Management with Fuse Service Works

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

Page 26: Service Lifecycle Management with Fuse Service Works

Single Node App Topology

Page 27: Service Lifecycle Management with Fuse Service Works

Project LifeCycle ManagementBusiness Analyst, Architect, DeveloperProject 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>

Page 28: Service Lifecycle Management with Fuse Service Works

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

Page 29: Service Lifecycle Management with Fuse Service Works
Page 30: Service Lifecycle Management with Fuse Service Works

DTGov Demo 1

Page 31: Service Lifecycle Management with Fuse Service Works

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>

orzip archive containing a WEB-INF/web.xml

Page 32: Service Lifecycle Management with Fuse Service Works

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

Page 33: Service Lifecycle Management with Fuse Service Works

Page 34: Service Lifecycle Management with Fuse Service Works

DTGov Demo 2

Page 35: Service Lifecycle Management with Fuse Service Works

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

Page 36: Service Lifecycle Management with Fuse Service Works

Join the Overlord ProjectOverlord 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

Page 37: Service Lifecycle Management with Fuse Service Works

Project Roadmap● Deployment on Fuse

● Relationship visualization to facilitate impact analysis● UI for Workflow trigger configuration● API Management

Page 38: Service Lifecycle Management with Fuse Service Works

Questions?

Page 39: Service Lifecycle Management with Fuse Service Works

Dev Nation: By and for Developers

http://devnation.org