Libby’s post already mentioned some of the current activities in NoTube related to EPG metadata, particularly EPG harvesting, enrichment and filtering. While the Semantic Web Services (SWS) broker, one of the central components in NoTube, aims at brokering distributed services, scenarios involving EPG-related services serve as a perfect use case for showcasing the role of the broker. This is, because from an application point of view, EPG processing usually involves orchestrating a set of services which (1) harvest EPG metadata, (2) enrich it with additional information (i.e. harvested from the Linked Data cloud), and (3) filter it according to specific preferences of a user. Each of these steps requires the application developer to know where the actual services are (i.e. the invocation endpoints), how to invoke them and process the responses, and in particular, how to mediate mismatches which inevitably occur during orchestration of such distributed services. As an example, during step (1), an application needs to be aware of each available EPG service, its particular capabilities and the kind of EPG – e.g., for which channel and in which language – it provides. SWS aim at taking that strain away from the application (developer) by providing an abstract interface – the broker’s API – which allows to request application-oriented goals from a single endpoint. The broker allows to expose much more complex functionalities to the application interfaces and to provide a response in a structure and format which is desired by the specific requester. This is usually achieved on the basis of formal semantic descriptions of services which allow for automated discovery, orchestration and execution of Web services.
(A higher resolution version of the video is available here. )
In our current prototype, we provided an implementation of the broker component based on the IRS-III SWS environment. The brief demo video below illustrates, how the broker automatically selects suitable sets of EPG-harvesting services by reasoning on semantic annotations of EPG services and their underlying channels to identify services/channels which match a specific user language. These are then orchestrated in one go together with some enrichment (mainly DBPedia) and filtering functionalities allowing to pre-select suitable metadata records.
That’s just to give one of the first examples of SWS brokerage used within NoTube, while we are constantly working on exposing further functionalities as added-value SWS goals. On a sidenote, as it turned out that more human-oriented structured service annotations are required within NoTube as well, we are currently implementing a more light-weight service annotation store on the basis of the iServe repository, which might be introduced in anther post soonish.