Enterprise development challenges
Enterprise applications are not new. programmers in large organizations such as banks, airlines, insurance companies, and hospitals have been struggling with them for years. developing Enterprise applications has historically been a very long, very painful, very expensive, and frequently not very successful task. it's not that an application's business logic was hideously complex; the main stumbling block was that a developer had to write from scratch all the infrastructure needed to scale that business logic up to the enterprise level. for example, an enterprise application requires a high degree of security, which is unnecessary for a desktop application. the developers of an enterprise application have to write (and test, and debug, and deploy, and support, and maintain, while employees come and go) all the code for the security system-How It authenticates users, how it decides whether a user is or is not allowed to do this or that, the tools administrators use to set or remove users 'security permissions. enterprise applications contain container other infrastructural challenges, such as pooling resources, serializing access to shared resources, synchronizing atomic transactions over multiple servers and databases, and deploying applications to multiple client machines. writing this infrastructure takes time, costs lots of money (with relatively low unit volume to amortize it over), and the Code is damnably difficult to debug and verify.
Developing Enterprise applications has traditionally been a very long, very painful, very expensive, and frequently not very successful task.
This enterprise infrastructure has nothing whatsoever to do with banking or medicine or airline reservations or whatever it is that an enterprise application needs to do. but one enterprise application's infrastructure is very similar to another's-the user identification system of a banking application is very much like that of a medical application, the thread resource pooler of an airline reserva Tion application is identical to that of a supermarket application, and so on. Wouldn't it be cool if someone wrote all that enterprise infrastructure just once? Wrote it so you cocould inherit1 the pieces you cared about and spend your time writing your own business logic? And then integrated this infrastructure into the operating system you're already paying? COM + provides this solution.
One enterprise application's infrastructure is very similar to another's.