Showing posts with label S-RAMP. Show all posts
Showing posts with label S-RAMP. Show all posts

Monday, February 10, 2014

S-RAMP specification 1.0 is public!

We are proud to announce that OASIS just officially published the S-RAMP 1.0 specification:

https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=s-ramp

The Overlord project had two members on the TC (Eric and yours truly), while Randall Hauch joined from the ModeShape project. The Overlord S-RAMP implementation is an Apache 2.0 licensed Open Source implementation of the specification, and it has already found adoption as the Enterprise repository of choice; one repository for all enterprise artifacts. You can download the complete spec bundle from http://docs.oasis-open.org/s-ramp/s-ramp/v1.0/cs01/s-ramp-v1.0-cs01.zip. For our implementation see: https://www.jboss.org/overlord.

Cheers!!

--Kurt

Tuesday, November 26, 2013

SOA Governance Projects and Organizational Roles

In large organizations building and maintaining services is not a one man job, instead it is a process that touches many people in the organization. Figure 1 is a copy of figure 5.6 on page 95 of the 'SOA Governance' book by Thomas Erl et al.

Figure 1. Common associations of organizational roles with different SOA project stages.

With this many people and roles involved, how to you manage a project like this? Especially since in a large organization you will have many of these project running simultaneously. We would have loved to implement a full project workflow based on the figure 1 process, but two things are currently standing in our way: time and real world input. Who is going to pick up the challenge?

To get you started we created a 'Simplied Project Lifecycle Workflow' demo that implements just 3 boxes; Requirements gathering, Service Design and Service Implementation, with one role responsible for each stage, which are a Business Analyst, SOA Architect and SOA Developer. Each role can be fulfilled by more then one person. In the demo we assigned all three roles to the 'admin' user so we don't have to log in and out as different users all time. The demo uses the workflow shown in Figure 2. Each column represents one of the phases. The first phase being Business Analysis. The hope is this demo provides you with the building blocks to create the real world implementation we talked about earlier.

Figure 2. Simplified Project Lifecycle Workflow.

Some benefits of using this workflow are:
  • Helps your organization with adoption of SOA by following proven processes. It is clear who is responsible for approval.
  • Provides insight in where your projects are.
  • Helps your organization work together in different teams.
  • Audit features allow full history tracking.
  • Released artifacts are in the repository, the artifact is automatically in escrow this way, and documentation and sources are stored along side the binaries all in one place.
Some optional benefits:
  • It is possible to send a BPMN event at the end of the workflow (or from anywhere else), which can kick off a release workflow to automate deployment. Though one could also write a governance query looking for a service implementation artifact with classification #ImplPass.
  • Easy integration with other systems (think bug track systems, or time management systems)

If you want to follow along with the demo you should

1. Have DTGov running; see http://jboss-overlord.blogspot.com/2013/11/bleeding-edge-governance-getting-started.html.

2. Install the Eclipse BPMN2 Modeler into your Eclipse IDE, or you can try the early access JBoss Developer Studio.

Enjoy

Thursday, November 21, 2013

Customize Managed Deployments Workflow


DTGov ships with a number of BPMN2 based processes that you may want to update so they fit your business processes. In this demo we will update the 'Manage Deployments' workflow. It is recommended you go over the Managed Deployments usinf DTGov demo if you haven't already done so.

If you want to follow along with the demo you should

1. Have DTGov running; see http://jboss-overlord.blogspot.com/2013/11/bleeding-edge-governance-getting-started.html.

2. Install the Eclipse BPMN2 Modeler into your Eclipse IDE, or you can try the early access JBoss Developer Studio.

Wednesday, November 20, 2013

Managed Deployments using DTGov

DTGov ships with a workflow to perform deployments of released artifacts to the dev, qa, stage and prod runtime. Some benefits of using this workflow are:
  • Releases artifacts are in the repository before they go to a runtime, the artifact is automatically in escrow this way, and the sources are stored along side the binaries.
  • Automated deployments (using file copy, RHQ RestAPI, or JBoss Domain RestAPI).
  • Email notifications.
  • Sign off using Human Tasks in the workflow. Users and roles can be tailored to fit your organization. The sign off enhances the visibility of the where an artifact is in the deployment lifecycle.
  • Audit features allow full history tracking of the artifacts.
  • One repository for everything; so things can be found easily. This answers the "Where is my stuff" question. The XPath like query language of S-RAMP can used for searching.
If you want to follow along with the demo you should

1. Have DTGov running; see http://jboss-overlord.blogspot.com/2013/11/bleeding-edge-governance-getting-started.html.

2. Install the Eclipse BPMN2 Modeler into your Eclipse IDE, or you can try the early access JBoss Developer Studio.

Enjoy

Thursday, March 21, 2013

S-RAMP v1.0 Specification submitted into the OASIS Review Process

[announcement]
Today the S-RAMP v1.0 specification was submitted for review by OASIS. You can download your own copy of the two spec documents from a public link on from OASIS. Randall Hauch, Eric Wittmann and yours truly worked on both the specification as well as on an implementation of the spec at the same time.

[plug for our project]
The open source S-RAMP implementation is under developement under the umbrella of the Overlord project and ships under the Apache v2 License. We hope that it will become the S-RAMP Reference Implementation (S-RAMP-RI). You can download the S-RAMP implementation from our downloads page. The source code is hosted on Github. Our implementation uses RESTEasy for the Atom based REST APIs and on the back-end it uses ModeShape (JCR) and Infinispan (persistence) for massive performance and scalability. Well that's what the ModeShape guys tell us anyway, someone should test it out! We are currently about 75% complete and -to speak in building a bridge terminology- we are 'out of the water  now': The foundations are finished and everything we are doing now is in full view. If you are interested in contributing please let us know, there is still lots to be done.

[your chance to get famous]
One area we are really looking for help is for someone who can help us develop some best practice governance scenarios: for example project workflows, with supporting document templates for approval etc.

Cheers,

--Kurt

Monday, March 11, 2013

Release S-RAMP-0.1.1 adds Governance Workflow

I'm proud to announce release 0.1.1 of the S-RAMP project. The S-RAMP project implements the OASIS SOA Repository Artifact Model and Protocol. Two of the developers (Eric Wittmann and yours truly) are members of the Technical Committee.  The spec is nearly complete and it will be submitted to OASIS for review in a matter of one to two weeks.

On the S-RAMP project we have implemented about 75% of the spec and we've layered governance features on top of that. The objective is to have a functional set of features before implementing features we do not need right away. Things are working now, but may not always be 100% compliant (think about things like error handling etc).

Some major features we have working now

  • Working S-RAMP repo - sitting on top of JCR (ModeShape by default) and using RESTEasy for the S-RAMP Atom binding.
  • Maven integration, so developers can release artifacts into the S-RAMP repository or they can reference artifacts in their builds as dependencies.
  • S-RAMP ATOM Binding, anything that can consume a atom feed can interact with the repo.
  • S-RAMP GWT based browser
  • S-RAMP cmdline shell, so you interact by typing, or you can script interactions
  • Governance Workflow - Integration with a BPMN2 engine (jBPM by default)
    • custom REST-Based BPMN2 services to deploy artifacts from S-RAMP to runtime
    • customer notification service (email + templates)
    • custom S-RAMP interaction service to classify artifacts as they move through their life cycle.
  •  Advanced XPATH-2 query capability into the S-RAMP repository.
Some things we are working on at the moment

  • Security - we need SSO across the board. We are trying to use Picketlink IDM & OAuth, sticking point is that RESTEasy 3 supports it but SOA-P 6 wants to stick with 2.3.*. Maybe we can get Bill to back port.
  • Governance console to manage workflow configuration and to embed Task Forms (right now we direct you to the jbpm-console)
  • Add Documentation - We developed a kick ass process to push Asciidoc github wiki to docbook into the regular doc stream (https://github.com/Governance/s-ramp/wiki/GuideReadme). Now all we need is more content and demos.
  • Implement all features an end2end for some interesting Switchyard use cases.
  • Add more out of the box best practices governance workflow.
  • RHQ and JBossAS7 domain model deployment integrations.
  • Support for SLA and policies in general.
  • Auditing of what goes in and out of the repo.
If you are interested check out the workflow demo, download the distro and come contribute so you can be crowned and become one of Overlords.

Cheers,

--Kurt

S-RAMP-0.1.1 Governance Workflow Demo

With the recent S-RAMP-0.1.1 release we added Governance Workflow capability to the S-RAMP repository. This release can be download from http://www.jboss.org/overlord/downloads/sramp. In the demo below we show how a mvn deploy of a Switchyard application to the S-RAMP repository kicks of a Simple Release Process as shown in Figure 1.

Fig 1. Simple Release Process, click to enlarge

This BPMN2 process runs on jBPM (default BPMN Engine) and calls deployment and notification services that ship with the S-RAMP Governance application. For more details on the SOA Governance configuration see the SOA Governance Wiki.

Fig 2. Click to start the demo.