Skip to main content

Sharepoint 2007 Business Data Catalog Issues , Limitations and Concerns

On three different projects , I was exposed to a new product being marketed by Microsft , Microsoft Office Sharepoint Server 2007 (MOSS 2007) . More particularly , I was into the Business Data Catalog functionality where I was tasked to retrieve data from third party software and display it on a MOSS Portal . Here are some issues that I stumbled upon and found a really interesting website that affirmed my issues together with "answers" from Microsoft Technology Center .

1. Filter Pattern Re-arrangement - Search parameters are fixed to “is equal to”, “starts with”, “ends with” and “contains”. Is it possible to change the order in which these appear in the menu ?. In our interface “is equal to” would hardly be used; however, it is the first option available, is it possible to retain only the “contains” filter and remove the rest ? . Sadly , according to MTC , it is not possible .

2. Lack of handling co-related sub queries . The BDC does not handle joining of tables together unless a joined view is provided by the database. That is not what is desired. Basically, without this capability within the BDC layer, a parent child relationship requires this relationship to be displayed in two web parts (i.e. one parent web part and one child web part). We would like to have a single joined view displayed in the user interface and have that join performed in the BDC layer. This is not just true with databases but also for custom webservices . In order for the BDC to support Business Data Related List a method that supports it must be in the web service . MTCs reply to this : Not possible / Not Available .

3. Buggy Parent Child Relationship - If a parent / child relationship is used using two web parts, the search on the parent does not update the results of the child web part. Thus, if the results of the search change the display of the parent, then what is shown in the child web part is inaccurate. Only when you select an item from the parent web part, the child web part is updated. This causes confusion to the end user. This is a pretty obvious bug , its not that critical but it would be better if it is improved . MTCs comment : It's a bug in BDC Architecture

4. BDC Scability/Performance Issues - In general, we find slow/low performance when using the BDC.

5. Image Support - The BDC does not support attaching images (for example) so that these images can be displayed as part of the BDC SharePoint List table view. SharePoint list do allow embedded images, but the BDC does not support it. According to MTC , it is not yet possible in the current version .

6. More than 4 or more criteria Exception - BDC architecture bug according to MTC .

Listed above are just some of the issues I have met in MOSS . Other related issues on MOSS can also be found on the site above . Clearly , no matter how Microsoft seems to market BDC for MOSS , the technology is not yet mature and theres a lot more development needed before it can deliver its promises .


MTC Dallas said…
I'm ignorant to exactly what you have attempted and for what purposes, but after reading your post here are some thoughts that came to mind.

IMO, the BDC's real power is not in using it to surface items through the OOB webparts, but rather to open the items up for indexing that would otherwise require an LOB specific search interface. When combined with search you can also create a custom search and search results page specifically for the scope of that BDC entity. As such, you could display images as such as part of your result set.

I'm not sure of your goals exactly, but a multiple join query can be used in the application definition file. For WS, I would think that you would want a set of services that are rationalized and factored in order to access entities throughout the enterprise from various consumers. That being said, you would want to have the WS to return the composite data that forms the entity. You can certainly write that yourself or you can use tools such as K2 SmartObjects or, for SAP, Sitrion to create that layer; BizTalk is also an option here. The real message here is that in this evolution the BDC is not meant to be enterprise solution to a rationalized services environment, but rather a means to get information that is otherwise unavailable into a consumable form within MOSS.

I don't think that is a buggy parent-child relationship. If there has been no specifc data selected and the control works off of the action of clicking an item then that would be expected behavior. You see this behavior in many connected web parts - MOSS or not. That being said, expected behavior is an opinion and you might expect something different, but that doesn't make it a bug.

I've used the BDC a lot and haven't had scale or perf issues. I would guess this has more to do with the back-end DB or WS implementation than it does the BDC (I could be wrong). For example, the first call to BDC entity fronting SAP is usually a bit latent, but after the first call it generally runs quickly. Now, if you have a lot of items being returned in the Finder that could certainly cause some lag especially when searching, but again, it is something that could be improved in the Finder implementation.

Agreed, it isn't mature yet, but it is our first round. We'll keep building on it, but for now it is an excellent way to get data into your portal and indexed for search.
joy n said…
Hi Marvin,
I'm also currently working on a MOSS project and I'm struck with the attachment problem on a blog site. Msdn's work-around didn't work for me. Have you come accross a solution for this with OOB? We're not allowed yet to install dlls and create files in the 12-hive directory.
Marvin said…
Hi Maam Joy!!

Unluckily I havent been into that scenario and I havent worked with MOSS for quite sometime. Maybe a little bit of more google can do wonder for you.

Nice to hear from you. Goodluck.


Popular posts from this blog

Hiding Unwanted Python Folders and Files in Visual Studio Code

Visual Studio Code is a universal editor and pretty good at it. However, the explorer view maybe cluttered with the automatically generated folders and files confusing developers. Python is no different. Below are example files and folders generated by Python.

The __pycache__ folder and *.pyc files  are totally unnecessary to the developer. To hide these files from the explorer view, we need to edit the settings.json for VSCode. Add the folder and the files as shown below:
Copy and paste the lines below :


Get Started with MongoDB Stitch : The New Backend As Service Offering from MongoDB

Halfway of this year, the guys from MongoDB launch their new backend as service product called MongoDB Stitch. While the launch is just for the beta, the promise of the service is quite interesting. MongoDB has been around for long now and some development stacks have been based on its database product, the MongoDB-ExpressJS-Angular-NodeJS (MEAN) and the MongoDB-ExpressJS-React-NodeJS (MERN) stacks to name a few. These stacks, however, relies on backend technology such as ExpressJS and NodeJS. The idea of provisioning servers and developing the backend solution makes it daunting for small to medium scale applications. MongoDB Atlas, at least made life much easier by providing on cloud database solution, but there must be a simpler solution, right? A solution the would stitch the backend and frontend together ( see what I did there ?).
MongoDB Stitch lets developers focus on building applications rather than on managing data manipulation code, service integration, or backend infrastruct…

Getting Started with Stateless : A Lightweight Workflow Library Alternative for .NET

A year ago, I was looking for a simple workflow manager for a project I was working. Its a medium sized application that involves tracking the state of assets in the system. Back in 2008, Microsoft (MS) introduced new technologies along with the release of Visual Studio 2008: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and Windows Workflow Foundation(WF). Having worked in a company utilizing mostly MS products for development, my first option was to go with WF. After doing some time reading and studying the library, I paused and decided it was too complex for my requirement. Using WF would be an overkill and the fact that it has, a rather, steep learning curve, there has to be another option. My mind toyed with the idea of developing a simple workflow library myself. It would be a learning experience but it might end up consuming a lot of time.

Why reinvent the wheel? So I started querying the internet for a better solution. I stumbled upon Stateless