Daston provides the technology infrastructure and the implementation expertise to help your organization set up a foundation for a Federated Search capability. We can also help implement additional services to provide a fully functional search application that will federate various data sources into one single view for your end users. Our trained SOA professionals will help integrate these services into your existing SOA infrastructure or establish a new one.
Daston's Federated Search Framework
Daston's Federated Search framework can be used to support the federation of search results from multiple heterogeneous sources into a single unified view with minimal effort. The search framework is comprised of a template services API for accessing sources, as well as a set of basic search services and search user interface (UI).
Through implementation of the API, the framework is able handle data from virtually any type of data source whether it is a Google index, Lucene/Regain index, database, or even another service. The framework provides some built-in service implementations and additional adapters can be implemented following the template services API.
An organization only needs to implement the template services for their sources and then integrate the results into their presentation tier or the search UI.
Federated Search Solution Architecture
The architecture for the Federated Search services includes following distributed components:
- Federated Services Search API: The core search API that defines the standards and provides core search service functionality including the service composition logic
- Federated Search Services: Implementation of the basic and composed search service interfaces.
- Search UI: The spring-based front end application that invokes the federated search and displays the search results using XSLT.
The built-in service inventory provides the following service templates:
- Basic Search Service - Provides the basic search API, along with the implementation of some common search capabilities.
- Basic Federated Search Service - A basic composition service to federate multiple individual search services.
- Search Client API - Sample client code to show how to invoke search services.
- Security API - The search API provides a basic security API for querying data sources for user access-based data. Each service instance can be implemented to pass on the logged in users credential to the corresponding data source for log in purposes.
Federated Search Technology
The framework was designed following the principles of Service Orientation with a focus on agnostic services so they can be reused for composition purposes within the service inventory. It was implemented following various SOA design patterns and utilizes web services standards and XML technology for maximum flexibility and interoperability. This allows it to be easily deployed either as a stand-alone application or integrated into an existing SOA implementation.
The WS-Standards utilized in our framework are:
- SOAP
- WS-Addressing
- WS-MetadataExchange
- XML Schema
- XQuery
|
|
- WSDL
- WS-ServiceGroup
- XML Namespaces
- XPath
- XSLT
|
Each search service has an XML configuration file and a standardized contract published via a WSDL. The frameworks' search algorithm is implemented to perform multiple concurrent requests to multiple data sources simultaneously with predefined timeout values for the most optimal performance experience.
The various parameters of a search request are defined in the XML configuration file and can be changed to alter the behavior accordingly. The federated search results are displayed to the end users using XSLT to "translate" the search results into displayable HTML.