It is difficult to give general guidelines for building middle-tier components because they vary depending on each situation. However, there are several tips that apply to most projects.
First, when creating components for database applications, you should not attempt to do the work of the database in your middle-tier components. Database work, such as searching for a record and joining two tables, is best done with queries.
Second, you should not attempt to write general-purpose components that work inside as well as outside MTS. MTS creates a context wrapper for each object. MTS objects can gain access to the context wrapper and obtain various properties. For instance, if your object is dependent on MTS running on a transaction, ...