Sunday, January 13, 2008

COM/COM+ services and components in .NET

  1. Explain transaction atomicity. We must ensure that the entire transaction is either committed or rolled back.
  2. Explain consistency. We must ensure that the system is always left at the correct state in case of the failure or success of a transaction.
  3. Explain integrity. Ensure data integrity by protecting concurrent transactions from seeing or being adversely affected by each other’s partial and uncommitted results.
  4. Explain durability. Make sure that the system can return to its original state in case of a failure.
  5. Explain object pooling. With object pooling, COM+ creates objects and keeps them in a pool, where they are ready to be used when the next client makes a request. This improves the performance of a server application that hosts the objects that are frequently used but are expensive to create.
  6. Explain JIT activation. The objective of JIT activation is to minimize the amount of time for which an object lives and consumes resources on the server. With JIT activation, the client can hold a reference to an object on the server for a long time, but the server creates the object only when the client calls a method on the object. After the method call is completed, the object is freed and its memory is reclaimed. JIT activation enables applications to scale up as the number of users increases.
  7. Explain role-based security. In the role-based security model, access to parts of an application are granted or denied based on the role to which the callers belong. A role defines which members of a Windows domain are allowed to work with what components, methods, or interfaces.
  8. Explain queued components. The queued components service enables you to create components that can execute asynchronously or in disconnected mode. Queued components ensure availability of a system even when one or more sub-systems are temporarily unavailable. Consider a scenario where salespeople take their laptop computers to the field and enter orders on the go. Because they are in disconnected mode, these orders can be queued up in a message queue. When salespeople connect back to the network, the orders can be retrieved from the message queue and processed by the order processing components on the server.
  9. Explain loosely coupled events. Loosely coupled events enable an object (publisher) to publish an event. Other objects (subscribers) can subscribe to an event. COM+ does not require publishers or subscribers to know about each other. Therefore, loosely coupled events greatly simplify the programming model for distributed applications.
  10. Define scalability. The application meets its requirement for efficiency even if the number of users increases.
  11. Define reliability. The application generates correct and consistent information all the time.
  12. Define availability. Users can depend on using the application when needed.
  13. Define security. The application is never disrupted or compromised by the efforts of malicious or ignorant users.
  14. Define manageability. Deployment and maintenance of the application is as efficient and painless as possible.
  15. Which namespace do the classes, allowing you to support COM functionality, are located? System.EnterpriseServices
  16. How do you make a NET component talk to a COM component? To enable the communication between COM and .NET components, the .NET Framework generates a COM Callable Wrapper (CCW). The CCW enables communication between the calling COM code and the managed code. It also handles conversion between the data types, as well as other messages between the COM types and the .NET types.

0 Comments: