This project is read-only.
Black`n`White Search Server

B&W Search Server is an information storage component that makes it easy to insert and retrieve information from a database using a simplified query language (BnwQL), that provides an API which doesn’t depend on the type of the database used at the backend – be it SQL DB or XML files.


GOALS AND ADVANTAGES

- Simplicity – use simple and powerful BnwQL queries to retrieve info from the DB backend, while at the same time keep the ability to send “Raw” queries (i.e. XPath for XML backend or SQL if standard RDBMS is used)

- Abstraction mechanisms – the BnwQL processor translates the queries to ordinal ones so the end user of the API can work without being aware of the Server side architecture.

- Universality – use In-Proc query transmitter for applications with local DB or HTTP layer for SOA Projects.

SERVER LEVEL ARCHITECTURE

The core level architecture consists of a query processor component which implements the common functionalities that don`t depend on the DB backend and abstract interface that the DB interaction layer implements depending on the architecture used (the core level is fully extendable).
The responses from the server are XML based as it`s the simplest way for the API users to parse (XML Deserialize to objects) them.

CLIENT LEVEL ARCHITECTURE

The client-side is actually a “transmitter” abstract component that provides API for interaction with the server.
It`s fully extendable (just like the server-side is) so its implementation fits the needs for the concrete project. This way for local DBs this transmitter simply wraps the API of the Server layer, and for SaaS projects it could be implemented as HTTP service oriented component.

THE BnwQL QUERY LANGUAGE

BnwQL is projected with the main goal to bring ability to support powerful queries with simple syntax. The query type is determined by a “verb” keyword.
With a single-line query it`s possible to build complex requests.

Black`n`White - B&W Personal Website

Last edited Jan 6, 2010 at 12:15 PM by blackandwhitebg, version 3