Last Updated: Jan. 2014
Introducing the WSO2
Governance Registry for
Lead, WSO2 Governance Registry
About the Presenter(s)
Senior Software Engineer
•Works with the Platform Technologies team
and focuses on WSO2 Governance Registry.
•Committer of the Apache Software
๏ Global enterprise, founded in
2005 by acknowledged leaders
in XML, web services
technologies, standards and
๏ Provides only open source
platform-as-a-service for private,
public and hybrid cloud
๏ All WSO2 products are 100% open
source and released under the
Apache License Version 2.0.
๏ Is an Active Member of OASIS,
Cloud Security Alliance, OSGi
Alliance, AMQP Working Group,
OpenID Foundation and W3C.
๏ Driven by Innovation
๏ Launched first open source
API Management solution in
๏ Launched App Factory in 2Q
๏ Launched Enterprise Store
and first open source Mobile
solution in 4Q 2013
• Typically many resources in your Registry,
such as service descriptions, should progress
through a series of "lifecycle stages".
• For instance, a service may start off as
"created", then after quality assurance has
confirmed that the service works as expected
should be moved to "tested" stage.
Lifecycle Management (LCM)
• WSO2 Governance Registry has an extensible
architecture to support LCM.
• The default LCM allows users to promote, demote
lifecycle states of a given resource. Furthermore, it
can be configured to use checklists as well.
• Users can develop their own lifecycle through
– Custom states, Check List
– Scripting support
• Configurable through GUI.
• Based on OASIS SCXML.
Developing Custom Behaviour
● “Aspect” is one of the three extension points that
provide a flexible, plug-in approach to link resources
and to allow users to encode their own governance
rules and policies in WSO2 Governance Registry.
● A Lifecycle is a specialised aspect.
● You can develop an aspect to perform desired actions.
Collections & Resources
• Collections & Resources
• A node on the Repository can either be a
Collection or a Resource.
• Resource <=> File
• Collection <=> Directory/Folder
• Copying collection/resource to another path
• Resource-level caching for performance
• Identifies the type of the resource/collection
• Can leave unspecified → will get default
• Configured via mime.types, which is populated
into repository at first start-up
• Once the server has been started,
configuration has to be done through
• An association is defined as a function of
– Source Resource
– Target Resource
– Association Type
• A resource can have associations to other
• Association can be made with
– A Registry path of a resource
– A web URL
• Symbolic link is a link to an existing resource.
You can view and navigate a symbolic link like
you are viewing and navigating the original
• The symbolic link behave similar to
– File shortcuts in Windows
– Soft Links/Symbolic links in Linux
• A resource in a remote registry can be
mounted as a resource in the current registry.
We call the mounted resource as the remote
• This can be defined as a symbolic link across
• The resource in the registry can be versioned,
so you can later view history and restore an
• You can configure whether the resources (only
non-collection) should be automatically
versioned or not.
• Change the following line in registry.xml
• This is by default 'true', which mean by default
all the changes are versioned.
• The collections can not be auto versioned. But
you can manually create versions (or
Configure What to Version
• You have to set this configuration before the
first run (When database doesn't have any
• You can create a checkpoint by accessing the
resource and clicking the 'Create Checkpoint'
link in the resource information panel.
• Each resource/collection contains a set of
• Permissions are role-based
• Permissions are inherited
• Allow has more priority than Deny
• Special users
• Special roles
• One user gets to define retentions for a resource
in a FCFS manner. Ability to Deny operations
for a given period.
• Tag Search
– Can search only the resources that contain the
tag you are searching.
• Advanced Search
– Search using resource name, created date
range, updated date range, tags, comments,
property name, property value.
• Content Search
– Using Apache Lucene and Apache Solr
• Lifecycle Search
– Can search for all resources having a particular
• Activities Search
– Can filter and read activities that were done on
the resource repository.
• Service Filter
– The Basic and Advanced Filters can be used to
filter the list of displayed services.
• Task Scheduling
• Subscriptions & Notifications
Building a Connected Business
• WSO2 governance platform extensibility helps you to !
build your own connected business!
• To build a connected business you need an environment that is:!