Slide 1
New Features in V3
- Cooperating registries
- Event notification
- Content-based discovery
- REST interface to registry
- Iterative queries
Cooperating Registries
- Enables multiple ebXML Registries to work together to address user needs
- Based on a loosely-coupled federation model:
- Allows local autonomy to each registry operator
- Enables smaller registries to appear like a big registry
- Allow registries to work together to meet more demanding user needs
Cooperating Registries:
Key Features
- Registry Federations
- Enable federated queries
- Do not enable federated lifecycle management
- Inter-registry object references
- Object relocation
- From one registry to another
- From one user to another
- Object replication
Registry Federation
Federation Information Model
Federation: Key Concepts
- Enable clients to query multiple registries as if they were a single registry
- Referred to as a federated queries
- Any registry can create a Federation
- Any registry may join pending approval by Federation creator
- All registry peers are equal (P2P model)
- A registry may belong to multiple Federations
Federation: Key Concepts
- Federation metdata stored a registry called Federation home
- Uses existing LifeCycleManager interface for create/remove/join/leave
- Federations members do not have to replicate data (but can)
- Only the Federation metadata must be replicated
Federated Queries
- AdhocQueryRequest new attributes
- Boolean federated: true implies federated query
- Boolean federated: false implies local query
- ID federation: specifies target federation id (option)
- Processed by all Federation members
- Parrallel-distributed query
- Unified result returned by registry that received the federated query
Inter-registry Object References
- Local and remote ObjectRefs
- Home registry is where an object resides
- ObjectRef = id + home
- No home specified for local ObjectRef
Object Relocation
Object Relocation
- Used to relocate an object from a user in one registry to a user in another registry
- sourceRegistry, sourceUser
- destinationRegistry, destinationUser
- Event notification used by destination registry to notify destinationUser
- Introduces a new Object Relocation protocol to LifeCycleManager
Object Relocation Protocol
Object Replication
Object Replication
- Enable fault tolerance and performance
- Hot objects should be replicated for performance
- Loosely coupled replication, NOT transactional replication
- A local replica may be created in a registry for an object in a remote registry
- Replica of replicas are allowed
- Uses existing API for client API for replication
- Replicas are read-only
Event Notification
- Enables notification of registry events between a registry and its clients using a content-based model
- Clients may be registry users or other registries
- Required feature in V3
- Leverages existing RS interfaces!
Event Notification: Use Cases
- Notification of:
- New Service becoming available
- CPP being downloaded
- Product's price going down
- Object being relocated to another registry
- Cached object being updated at source registry
Event Notification:
Key Concepts
- Subscription
- Selector
- Action
- Notification
Subscription
- Registers clients interest in being notified
- Extends RegistryObject
- Includes description of event of interest and notification mechanism
- event selector and notification action
Selector
- Describes the event of interest
- Includes a query to define event of interest
- Leverages existing query syntax
Action
- Describes the delivery mechanism for notifying the subscriber
- Supported delivery mechanisms:
- Manual: Email notification
- Programmatic: Callback to a web service
- Flexible notification options
- EventRefs, Events, EventsAndObjects (default)
Notification
- Content delivered to subscriber representing subscribed event(s)
- EventRefsNotificationType
- Only contains references to AuditableEvents
- EventsNotificationType
- Contains actual AuditableEvents
- EventsAndObjectsNotificationType
- Contains actual AuditableEvents and the objects effected by each of those events
Changes to AuditableEvent
- Now supports 1 event to many objects
- Now links events to original request
- eventType is now extensible
- New pre-defined eventTypes:
- Remove registryObject attribute or should we deprecate it?
Event Notification:
Pending Issues
- Support for user-defined subject-based notification
- Callback service interface definition
- GetNotificationsRequest definition
Content-based Discovery
Content-based Discovery: Some Illustrative Use Cases
Content-based Discovery: Key Concepts
Content-based Discovery: Key Concepts
Content Indexing Service
Content Indexing Service
Indexed Metadata from CPP
- partyName => name
- PartyId => ExternalID (e.g. DUNS #)
- PartyRef => ExternalLink
- Role => Classification
- ProcessSpecification => Classification, ExternalLink
Content-based Queries on CPP
- Find all CPP where:
- PartyName is Sun
- PartyId (DUNS #) is 123
- PartyRef URL includes “.org”
- Role is “Buyer”
- ProcessSpecification has name PIP3A4
- ProcessSpecification URL includes “rosettanet”
- Uses existing query capabilities!
REST Interface to Registry
- Binds abstract registry services interfaces to a pure HTTP interface
- Required in version 3
- V2 Registries encouraged to implement it too
- Makes registry objects and repository items addressable via URLs
- Enables non-ebXML Registries to link to content in ebXML Registries
Iterative Query Support
- Divide-and-conquer solution to handling queries that match a large result set
- Requires minor schema enhancements
- Schema changes are backward compatible with V2
- Non-transactional model - may result in duplicate results or missing results
- Unlikely due to sparse updates
Iterative Query Example
- 1007 objects, fetch 100 in each iteration