WSO2 Governance Registry 5.1.0 was released with a major revamp in the UI by introducing two Web interfaces as G-Reg Publisher and G-Reg Store. This brings a new level of user experience in SOA Governance. The WSO2 Governance Registry architecture is described in the following sections.
Product architecture diagram
The G-Reg Publisher provides an end-user, collaborative Web interface for governance artifacts providers to publish artifacts, manage them, show their dependencies, and gather feedback on quality and usage of them. The G-Reg Publisher is powered by Jaggery, WSO2 User Engagement Server and WSO2 Identity Server products. For more information on G-Reg Publisher and its functionality, see Governance Center.
The G-Reg Store provides an end-user, collaborative Web interface for consumers to self-register, discover governance artifact functionality, subscribe to artifacts, evaluate them and interact with artifact publishers. G-Reg Store (Governance Center-Store) is enriched with one level of categorization and a tag cloud based filtering capabilities. It is powered by Jaggery, WSO2 User Engagement Server and WSO2 Identity Server products. For more information on G-Reg Publisher and its functionality, see Governance Center.
- This contains core services provided by the Carbon Core server deployed on top of an Eclipse Equinox based OSGi runtime, which also supports feature management with Eclipse Equinox P2.
- The Carbon Core provides the capability of managing users on the system. We support a wide variety of user stores.
- Embedded or Remote database
- Apache Directory Studio
- The User Management feature is also capable of providing support for:
- User Profiles
- SAML 2.0 based Single Sign On
- Hierarchical Permission model
- The Application Deployment feature can be used to deploy C-App (Carbon Applications) as .car files, directly from WSO2 Developer Studio.
- The Carbon Core also provides basic server administration functionality.
- Configure logging and monitor logs
- Monitor system statistics
- Shutdown/Restart server
- The Registry Core (or the Registry Kernel) is a part of the Carbon Core.
- At the heart of the Registry Core lies the Repository, fronted by a Data Access Layer through which the data is stored and fetched on a JDBC compliant RDBMS.
- In addition to fixed SQL queries, WSO2 Governance Registry also supports execution of customized SQL queries.
- We support a wide-variety of DBMS:
- The Registry API provides a programming interface to the Registry Core, which lays the foundation for extension APIs such as the JCR 2.0 API.
- There are three key registry features that exist at the top of the repository which can be used to provide your own customization on top of the base product.
- Handlers are plug-able components that contain custom processing logic for handling resources. Handler implementations can provide alternative behavior for basic resource related operations by overwriting one or more methods in the Handler class.
- Each Handler is associated with a Filter. Filters provide criteria for engaging Handlers. The WSO2 Governance Registry always evaluates the associated Filter before invoking a Handler. If the Filter evaluates to true, it invokes its associated Handler.
- Like Handlers, Aspects are used to associate custom behaviors with resources. Aspects are different from Handlers in a way, as Handlers are automatically applied to a resource, whereas, Aspects are needed to be invoked manually through a user action (e.g., by clicking a button on the UI).
- The Registry Core supports a concept of mounting in Handlers (similar to NFS mounts). Repositories that host data on remote Governance Registry instances can be mounted on to the local Governance Registry instance, and accessed as if they were a part of the main tree at the local instance.
- Resource and Collections (analogous to files and folders on a filesystem), are stored in the WSO2 Governance Registry’s repository. Collection is modelled as a special type of resource, inside which other resources and collections can be found.
- The Resources-layer of the WSO2 Governance Registry provides functionalities such as:
- Validations are done through special validation handlers associated with a particular resource media type (see the Handler Sample).
- For more information, see: Associations/Dependencies and Resource Properties.
- Users can upload (from filesystem) or import (from URL) SOA metadata into the WSO2 Governance Registry. Based on their types, they appear as WSDL, Schema, Policy or Service.
- We also support Management of Business Services on Governance Registry, which provides for features such as impact analysis, and dependency management. It also provides tools for visual service descriptions.
- WS-Eventing based subscriptions and Notifications can be used to govern changes made to individual resources as well the lifecycle to which it belongs.
- We also a provide a Governance API which can be consumed by one of many command line and web-based clients.
- For more information on Governance features, see: Metadata and Notifications.
- The management of resource lifecycles is a generic responsibility of this feature. However, we treat service metadata as specialized entities with their own life, which are handled by the LCM component.
- This component makes use of WS-Eventing and Notifications to inform users as well as trigger automated processes.
- For more information, see Lifecycles.
Other product features
- Search and Indexing
- Community Features and Social API
- The WSO2 Governance Registry has been designed to provide Web 2.0 related features to the community of users of this product. These are features such as Tags, Ratings and Comments.
- The Social API provides the basis for developing Open Social applications while making use of the data stored on the registry instance.
- For more information, see User Profiles.
- Server Utilities
- There are some additional server utility features that are bundled with WSO2 Governance Registry, such as Logging Configuration Management, Security Configuration Management, and System Statistics.
- These features allow an administrator to monitor the health of the system, validate correctness of logic, and ensure security of data.
- For more information, see Application Logs, System Logs, and System Statistics.
External APIs and clients
- WSO2 Governance Registry supports four key external APIs.
- JCR 2.0 API
- WebServices API
- AtomPub protocol (APP) based Remote Registry API
- REST API
- We also have a number of applications which use these external APIs.
- Web Services client
- Remote Registry client
- Check-in Check-out client