Thursday, October 4, 2012

S-RAMP: A SOA Repository

There is a new standard emerging from OASIS called S-RAMP.  S-RAMP is short for SOA - Repository Artifact Model and Protocol.

In this post I'll talk about what the heck S-RAMP is and why it's important to JBoss Overlord.

And at the end, I'll tell you about the JBoss Overlord S-RAMP project and how we just did a preview release (Milestone 2).

What is it?

In short, S-RAMP is a SOA-aware content repository.  You can think of it as a repository to store SOA artifacts and then get them back out again in interesting ways.

I've been asked a number of times why S-RAMP might be used instead of some other content repository (JCR, SharePoint, Drupal, RDBMS, etc).  I think the answer to that is in the "SOA-aware" 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.

I would encourage you to read the S-RAMP specification for more in-depth information.  However, just to give you an idea, once you have stored your SOA artifacts (WSDLs, Schemas, etc) in an S-RAMP 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?

Between the pre-defined SOA models and the ability for businesses to define their own relationships, properties, and categories, S-RAMP provides a very nice way to store and index SOA content.

Why is it important?

JBoss Overlord has decided that an S-RAMP repository will be important for our efforts around SOA Governance.  SOA Governance is a broad topic, and it means different things to different people.  JBoss Overlord will be introducing solutions to various segments of the SOA Governance space.  An important piece of that puzzle is how to govern SOA artifacts.  We want to provide users the ability to manage their SOA assets in a central repository, which surrounding that core SOA-aware repository with customizable governance workflows.

For instance, a typical use-case 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.

Where are we now?

We have, just today, released a preview version of the JBoss Overlord S-RAMP project.  This release includes the core repository and a simple web-based UI to browse the repository.  In addition, this preview release includes integration with the Maven build framework (to make it easy to deploy Maven projects into the repository).

Still interested?  Take a look at the following Milestone 2 screencast (I recommend clicking through and watching the HD version, but they're your eyes):

S-RAMP Milestone 2 Screencast from Eric Wittmann on Vimeo.

Some useful links.

1 comment:

Cameron White said...

Fabulous idea to create such interesting things like that.Amazing!!
essay models