Enterprise Services

Temp NoteThis MicroSoft page is under an "Article Improvement Drive" management process. Please write in DavidLiu homepage if you have comments / requests / etc. Elsewhere I am engaging a C2 person who said he has knowledge on the subject, and hoping to get useful advice before end of that lengthy discussion. -- DavidLiu Oct05 (last significant page review in mid 2004)


EnterpriseServices is the name of a library that is shipped as part of the .NET Framework v1.x and v2.x. It lives under the System.EnterpriseServices namespace. You can find the documentation home here: http://msdn.microsoft.com/library/en-us/dnentsrv/html/netenterpriseandcomplus.asp . Think of EnterpriseServices as the .NET (managed code) developer's interface to ComPlus features, which remain available in Windows to developers using C++, and VB.

A good review is here: http://msdn.microsoft.com/library/en-us/dndotnet/html/entserv.asp

For clarity, the term EnterpriseServices is a Microsoft invention, and it has nothing to do with the thing that came along later, called EnterpriseServiceBus (ESB).

ComPlus delivers a set of services for component-oriented applications, that need higher scale or reliability. EnterpriseServices is just a .NET managed API to take advantage of those services. EnterpriseServices does not introduce new services, new capabilities, but merely new interfaces to take advantage of the ComPlus services.


ServicedComponents is the name given to DotNet objects that interact with ComPlus, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconservicedcomponentoverview.asp . In fact, the traditional model is to build a component that derives from System.EnterpriseServices.ServicedComponent, and then apply attributes onto that component -= attributes that govern transaction behavior, security, pooling, and so on.

However, it is also possible to take advantage of EnterpriseServices without deriving from this special class. For this you can use Services without Components, or SwC.

A roadmap on EnterpriseServices is available from Microsoft at http://support.microsoft.com/default.aspx?scid=kb;en-us;Q308672


EnterpriseServices security

Because EnterpriseServices is a DotNet layer to access ComPlus, EnterpriseServices employs the concept of a role that is parallel to the ComPlus feature. This role complements the security and access control that is built-in to DotNet, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetHT12.asp

See also WebServicesSecurity, and Microsoft specific part of WebServicesExtensions


EnterpriseServices object pooling

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q317336&ID=kb;en-us;Q317336&SD=MSDN


Transaction management aspects

see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/BOAGag.asp


Migration from DistributedInternetArchitecture

See http://www.microsoft.com/germany/library/resourcesmod/dna2net_design_path.doc


Links to get started


In future, when MicrosoftIndigo kicks over, the need to delve into the pre MicrosoftManagedCode world of ComPlus, through EnterpriseServices classes, may disappear. It may disappear sooner than arrival of WindowsLonghorn, as WindowsXp will be getting the client capabilities of MicrosoftIndigo.

Hmm, this doesn't make sense. There is no need to go into native code in order to use EnterpriseServices. Sure, there is infrastructure that gets tickled, when you use System.EnterpriseServices that is written in native code (C++), but that is not code you need to see or be aware of. -- DinoChiesa

See also WindowsCommunicationFoundation (previously codenamed Indigo), which will be the Microsoft technology component that will include EnterpriseServices. The significance of EnterpriseServices may fade, but its link to integrating legacy DistributedInternetArchitecture is expected to continue.

No again. WCF does not subsume or include EnterpriseServices. WCF integrates with Windows platform capabilities, like the distributed transaction coordinator, in order to support web services protocols like WS-AT. But to say that WCF "includes" EnterpriseServices is incorrect. -- DinoChiesa


CategoryDotNet, CategoryMicrosoft, CategoryEnterpriseComputingConcerns


EditText of this page (last edited January 31, 2006) or FindPage with title or text search