Exploring the Future Potential of AI-Enabled Smartphone Processors
Extending the WSO2 Governance Registry with Handlers and Filters
1. Extending the WSO2 Governance
Registry with Handlers and Filters
Isuru Wimalasundera
Software Engineer
WSO2
2. Objectives
• An introduction to Handlers and Filters
• A brief description over normal processing of resources in
registry.
• The extension of resource processing by Handlers.
• The role of a filter
• A simple demo on the use of handlers and filters
• Other important aspects
3. Why need Handlers ?
• Handlers is a Java archive file which is used in extending
functionality of registry.
• Registry is not only a resources store, it inherits additional
capabilities and makes resources suitable for enterprise
deployment.
• But Organizations or a deployment can have the requirement of
customizing the standard behavior of resources.
5. The normal resource processing (contd.)
• Registry API provides all the resources related operations.
• The Repository interacts with the data access layer and do low-
level database operations.
• Registry invokes the Version Repository if the resource requires
versioning.
• Registry directly interacts with data access layer to do non
resource related operations. E.g. – tagging, commenting, etc.
6. Handlers in to action
• Handler is a pluggable component.
• Every handler is extended from an abstract class called
Handler.
• The Handler implementation allows to provide alternative
behaviors for basic resource related operations.
• The handler implements a corresponding operation for resource
handling methods of the Registry API.
7. Handlers in to action (contd.)
• As event invocations happens the corresponding handler
methods will get triggered by registry.
get – Retrieve a resource.
put - Adding a new resource , updating an existing resource.
importResource - Adding or updating a resource by importing its content
from a URL.
delete - Deleting a resource.
putChild - Adding a child resource to a collection.
importChild - Importing a child resource to a collection.
8. Handlers in to action (contd.)
• All the handler methods contains a single parameter of type
RequestContext.
• An instance of RequestContext holds all details about current
request.
• resourcePath – a unique path referred to the resource
• resource - holds the actual Resource instance
• sourceURL - URL to import resource content (only for import operations)
• parentPath – path to the parent resource
• parentCollection - collection implementation of the parent resource
• properties - to store handler specific information
• processingComplete – must set to true to terminate the processing after
the handler is invoked.
9. The role of a Filter
• Every handler has an associated Filter.
• Filters provide criteria for engaging handlers.
• Registry always evaluates the associated filter before invoking a
handler.
• If the filter evaluates to true, it will invoke its associated handler.
• A filter extends from the Abstract class Filter.
11. The role of a Filter (contd.)
• The registry contains two built in filter implementations for
common filtering scenarios
• MediaTypeMatcher
• Filter by the media type of resource.
• URLMatcher
• Filter by the URL criteria defined .
• Customized filters can be implement according to the
organization and deployment requirements.
13. Handler Manager Phases
• At registration handlers get categorized in to phases as given
below.
• Pre-Commit Handlers:
• System Phase (all built-in handlers and handlers defined on registry.xml)
• Tenant System Phase (tenant-specific system handlers)
• User Defined Handler Phase (handlers uploaded and configured through
Management Console)
• Reporting Phase (the eventing, statistics, and simulation handlers)
• Post-Commit Handlers
• Commit Phase (if the commit succeeded these are executed)
• Rollback Phase (if the commit failed these are executed)
14. The demo
• Implementation of a Handler
• Implementation of a Filter
• How to deploy a handler
• Handler registration to the handler chain
• Functionality of the Handler
• Functionality of the Filter
16. WSO2
• Founded in 2005 by acknowledged leaders in XML, Web
Services Technologies & Standards and Open Source
• Producing entire middleware platform 100% open source under
Apache license
• Business model is to sell comprehensive support & maintenance
for our products
• Venture funded by Intel Capital
• Global corporation with offices in USA, UK & Sri Lanka
• 100+ employees and growing
18. WSO2 engagement model
• QuickStart
• Development
Support
• Development
Services
• Production
Support
• Turnkey Solutions
• WSO2 Mobile Services Solution
• WSO2 FIX Gateway Solution
• WSO2 SAP Gateway Solution