WSO2 Governance Registry Life-cycles vs Forrester's 8 Major SOA Requirements
By Ruwan Janapriya
- 16 Jul, 2009
Curated on 08th March 2012
WSO2 Governance Registry is an enterprise-ready open source product for governing SOA deployments. In this article, WSO2 Governance Registry is assessed according to the Forrester’s "8 Major SOA Management Requirements" in the report on SOA Life-Cycle Management, Q1 2008 .
"Sophisticated workflow governing the service life cycle. With potentially dozens or even hundreds of services under consideration, under construction, in testing, or being consumed at any given time, by many independent development teams, enterprise architects need an automated process that coordinates all of this activity and ensures that every step is subject to appropriate review and approval."
WSO2 Governance Registry makes using and managing state-based service life-cycles easy. Out of the box, WSO2 Governance Registry provides a service life-cycle with optional checklists for state transitions. Once the life-cycle is associated with specific services, life-cycle state can either be promoted or demoted by a user with the required permissions. Life-cycle states and checklists can be configured through an easy-to-use graphical user interface, and users can subscribe to notifications regarding any changes made. Life-cycle functionality can be further extended to support state transition validations in order to match the organization's specific requirements using the extensible interface.
"Robust electronic notification and approval. Email, RSS, and other means must be available to notify stakeholders and approvers of important events about specific service interfaces."
The Notifications feature of WSO2 Governance Registry can be used to generate alerts for events that occur as a result of performing operations. In order to receive notifications, users first create a subscription to a particular event along with a specified notification method (which can be an email alert or a SOAP message). Each subscription is associated with a resource or collection on the registry. The Manage Notifications page can be used to create, edit, or delete subscriptions to notifications on various operations performed on resources and collections.
WSO2 Governance Registry supports a variety of notification methods:
- Email - Any valid email address.
- HTML/Plain-Text - An endpoint accepting HTML or text content.
- SOAP - An endpoint accepting notifications as a SOAP message.
- User Profile - A valid user's profile. Notifications will be sent to the email address specified on the user's default profile.
Once the owner (or any responsible user) changes the service or comments on the service, every user subscribed to the service receives a notification. In this way, users of this service and developers who built composite services with this service can get important updates from the Governance Registry. Users can also subscribe to RSS feeds of comments and changes added to the resource.
"Flexible categorization of services and other assets. As the service portfolio grows, identifying the correct service when and where needed requires flexible categorization and search capabilities."
WSO2 Governance Registry offers configuration options such as tags, comments, properties, ratings and descriptions for a service. It is important to plan the use of these configurations, to allow them help in discovering services and enabling correct SOA Governance. Once a service is stored in the registry, tagging with an appropriate business taxonomy (a custom categorization scheme for classifying services) helps users find it easily by narrowing down search results.
WSO2 Governance Registry provides enhanced search capabilities to facilitate search based on tags and other advanced criteria.
"Automated capture of relationships among services and between services and business processes. As services or business processes are changed, impact assessment is only possible if the complete set of dependencies is available for review."
WSO2 Governance Registry supports the configuration of dependencies and associations for services/resources. It automatically detects certain dependencies when resources are published. For example, a WSDL might use an external XSD that can be automatically detected and imported to the Solution. In addition to dependencies, the Solution provides a way to configure associations among services/resources. Users are free to specify the type of association such as "depends on" or "used by" during association configuration. These associations help determine the possible relationships that may exist among services/resources and also in analyzing the impact on changing a service/resource. One can easily perform an impact analysis using the provided UI tools like dependency tree and association tree.
"Reporting on key metrics to support planning and assessment. This is important both for the planning and assessment of the life-cycle management process itself and for the individual services and business processes captured and managed through the life-cycle management process."
The new WSO2 Governance Registry is equipped with a dashboard of gadgets. By default, the dashboard has a gadget showing a pie chart of number of services against life cycle states. Similarly, it is possible to extend the functionality of the dashboard by adding more gadgets to display more key metrics on life-cycle management. The Business Activity Monitoring (BAM) component feeds many BAM-related gadgets, such as total service calls in last 24hrs, average processing time, minimum-maximum-average response time, and others.
"Flexible customization of asset types and life cycles. Custom asset and artifact types are necessary to adapt the built-in life-cycle process to an organization's requirements. For example, users may have specific services subject to a unique set of approvals because they are customer facing. One way to address this is to create a customer asset type. Services can also be grouped according to their primary departmental owner/user, by simply creating a new “division” asset type."
WSO2 Governance Registry allows users to define custom assets with new media types. Additionally, Custom UI can be assigned for adding, viewing and editing of these custom assets. The Solution executes "Handlers" according to media type "Filters." Handlers and Filters are functionality extension points provided by WSO2 Governance Registry. Users can use these handlers to associate a certain life-cycle automatically to a given asset (media) type.
"Integration with runtime environments. Information about service behavior in production can trigger process activities; acquiring this information is the job of integration with runtime environments such as registries, enterprise service busses (ESBs), and SOA management solutions."
WSO2 Governance Registry is based on the revolutionary componentized Carbon platform. Products such as WSO2 Enterprise Service Bus (ESB) and WSO2 Web Services Application Server (WSAS) can easily be integrated to WSO2 Governance Registry. Together with WSO2 Business Activity Monitoring (BAM) component, WSO2 Governance Registry can provide rich information on process activities.
"Introspection of common interface definition artifacts. WSDL, XSD, BPEL, XPDL, and other XML-based definitions often incorporate valuable information relating services and other assets to each other or to business processes. Automated introspection of these artifacts eliminates the need to manually create these assets and relationships to add that information to the underlying asset repository."
Once a WSDL or XSD media is provided, WSO2 Governance Registry imports all related (included/imported) WSDLs and XSD to the underlying asset repository. All dependencies and associations are automatically imported to WSO2 Governance Registry. In addition, WSO2 Governance Registry offers an "import service" option, which is responsible for importing service information and its metadata (addresses etc..) from a given WSDL.
In summary, WSO2 Governance Registry satisfies the "8 major SOA management requirements" identified by Forrester.
Ruwan Janapriya is a Technical Lead at WSO2. janapriya at wso2 dot com