The Business Object Layer (BOL) is a general data access layer, which comes with the Webclient UI Framework. The BOL is a stateful UI-near programming layer, which provides unique access to business data featuring built-in buffering and transaction management. The UI runtime framework on top is especially build to operate on the BOL layer providing a lot of automatisms based on this. Any time you have to program something in the UI layer you will come across the BOL API. Therefore it is good to know this API well and to be familiar with its features. Even if you are not going to program something new in the UI, you will not understand any of the existing code without having the BOL knowledge.
Finally the BOL gives you unique access to all the CRM business objects, therefore it is also handy to use apart from the UI in either some reports or services. In using the BOL you still need to know how business objects are structured and how to use them, but you don’t need to know all those different APIs, each with its own logic. They are all working in the same way via the BOL!
This document introduces the BOL API beginning with the very basics and leading into the quite advanced features. After an introduction to the general API model and the used Business object model it shows how to access, create, modify and delete data using the BOL and explains the transaction handling model. In the advanced section you will learn how to work with BOL collections, sort and filter options, generic programming features, and advanced transaction handling. The document includes hints on performance and valuable tip and tricks for debugging.