Making Business Data Searchable: Business Data Catalog or Custom Federated Search Connectors?

Assume that you are a company that has plenty of data locked up in SQL Server databases, Oracle database, or line-of-business (LOB) systems such as SAP, Siebel or Microsoft CRM, and there is the need to make all of that data searchable. What is a good choice? BDC or the newest technology in the search space called custom federated search connectors?

I was asking myself this question during a session of Michal Gideoni I attended yesterday. Michal did a great job explaining in one hour your options (from a dev perspective) with federated search and the extensibility of them. Here are some interesting bullet points I wrote down:

  • Federated search is at this moment only available if you install MSS (Microsoft Search Server) 2008 or MSSX (Microsoft Search Server Express) 2008. It seems there will be a 'rollup' hotfix end of June/early July that will make federated search also available in the MOSS 2007 search centers. You might want to subscribe to the search blog on to follow-up on this one.
  • She demonstrated the use of patterns in the federated location definition using a nifty little tool called Expresso. Download a trial here. I like the mashup demo btw.
  • Microsoft released protocol handlers for Documentum and FileNet. Read more here.
  • Plenty of search-related tools, wrappers and docs are available in the Search Community Toolkit available on CodePlex.
  • The Web Parts that support the federated search are not sealed, so you can inherit from them and make them do what you want them to do. This is good news, I actually ignored this because all of the other search Web Parts are all sealed (still like to get an explanation on the why for that one).

So in all, a good session. Picked up nice new ideas for new demos. But back to the title of the posting: to BDC or to Custom FSC?

I foresee a great future for custom federated search connectors and it is so easy to build them. Basically a custom federated search connector is a layer (typically an ASPX page) sitting in front of the business data store accepting a query in the form of a template (e.g. http://litware:6500/searchindatabase.aspx?q=contoso). The query will be processed and translated internally in the ASPX and an RSS feed will be returned as output. This output is then picked up by the federated search Web Part and displayed to the user.

If the requirements are quite simple: no worries about ranking the results, well-defined queries (such as look for this in our customer database), no heavy requirements regarding security or caching, this technique of building custom connectors could be quite interesting instead of the heavy infrastructure and configurations you have to do for making that same data searchable via the Business Data Catalog. Of course, once the BDC is configured, you can do so much more with that data, but if it is only for searching... have a look at federated search.

Learn more also here on\enterprisesearch . I plan to come up with some additional material on this when I have the time.