Font Size: a A A

System Performance Bottleneck Analysis And Solution Of Large-Scale COM+Systems

Posted on:2006-05-24Degree:MasterType:Thesis
Country:ChinaCandidate:X G WangFull Text:PDF
GTID:2168360155453095Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
In order to improve the hospital administration level and supportmedicine, teaching, research, it's necessary to develop a scientific andlogical Hospital Information System. Hospital materials managementsystem that this paper will talk about is a subsystem of Shenzhen 999hospital information system (999HIS). The aim that system developmentwill attain is that we will make 999HIS have a high scalability, reusability,maintainability and shorten the development cycle and prolong the usecycle.Hospital Information System belongs to one of the most complexenterprise information systems hitherto. Therefore, it needs one kind ofscientific method to analyze and design Hospital Information System. Thissystem adopts object-oriented modeling technology and method which canmore deeply catch the requirement of users and set up good base forsuccessful development of this system and software maintenance duringlater stage. It is Windows DNA system structure and COM+ techniquecriterion adopted in development process that make the development cycleabbreviate and the system performance and scalability improve greatly.Windows DNA is Microsoft strategic frame structure for distributedapplication based on component. It's based on COM component techniqueand combined COM+ services to implement the distributed operatingenvironment. Windows DNA is entirely based on three layers service model.It divides application system into three layers: users interface layer, businessservice layer, data service layer。As the core of Windows DNA, COM andCOM+ technology conglutinate and link up DNA's each layer. COM is amodel designed by Microsoft adopting component design method. It definescommunication standard between components. The design method based oncomponent has inherited and developed object-oriented programmingdesign method(OOP). It applies object technology to system design andabstracts OOP realization process further. The design method based oncomponent emphasizes the real software reuse and strong cooperation.Using the design method of component based on COM, we can design andrealize the component having good reuse and extension, and lay a solidfoundation for setting up an application having high scalability. COM+ isdeveloped on the basis of COM, includes the merits of DCOM and MTS,and offers more system services and good solution for developer on how toset up an application with high scalability. Although Windows DNA provides a good choice to resolve theenterprise applications, it is not an easy work for us to design andrealize a excellent multi layers structure. A bad-designed system always hasmany system bottlenecks that seriously influence the system performance.The purpose of this article is to introduce the common problems withinlarge-scale COM+ systems and the corresponding solutions bases on mypractical experience during the develop process. System design is the most import part of the whole system realization.The success or failure of design directly results in the complexity andpracticability of system. There are lots of function requests amonglarge-scale information systems and are crossings among each function. Somodules analyze and interface design is the chiefly problem. We shouldachieve high-cohesion and low-coupling among modules. The interfacesamong modules should be mostly clear and shouldn't be realized repeatedly.The public interfaces should be selected to make public component. Traditional COM+ system design generally use the "everyclient-object"module, that is when the client needs a COM+ object, theserver simply creates a object and deletes the object after finishing therequested functions. This module can make the COM+ classes rapidlyrealized, but the benefits got in develop period may result in systembottle-neck in run period because the system needs create many objectswhich cost both time and space. In a large-scale manager informationsystem, database is center of the whole system and it is very busy to accessanytime. At first, I used ADO (ActiveX Data Objects) in COM+components to connect with database. In later test period, I found thisconnection mode had been a big bottleneck to raise the system performance.Anytime you want to use database, you have to create a connection andrelease it repeatly. Too many connections make the database hard to wokproperly. When a large distributed COM+ transaction needs to becommitted, the system has to create some connections at the same time andmaybe comes across errors sometimes.COM+ provides two kinds of serviceto reduce the negative affect of its default architecture. Both two servicesaim at manage objects and the resources used by objects effectively. Bytaking the control rights of objects life period from the clients, the serviceschange the relation of clients and objects in standard COM+ at all. The fistservice if object pool manager, the purpose of which is to use the objectscircularly other than create and release objects repeatly. It is very usefulbecause it saves the initialization time of many objects used by many clientscrossly. And the object pool can let you determine the upper limit and lowerlimit of special objects'instances at any time. The second service is JITA(Just In Time Activate).This article gives the principle and particularrealization progress of object pool technology and show you how can itimprove the system performances. Transactions lie in the right center of COM+ program module and arenecessary to a well-designed large-scale COM+ system. COM+ objects lookall world as single thread and use "each client-object"module to simplifythe develop jobs. It uses transactions to extend the single thread modulefrom middle layer thread to database. The clients use transactions to protectsystem state change. One transaction represents operates that a client havedone and behaves the ACID properties. There are three kinds of transactionsin a COM+ system: local transactions, distributed transactions, illustrativetransactions. How to use the three kinds of transactions to give the systembest performance is the important problems to solve for a developer. Thisarticle explains the characters and realization of the three kinds oftransaction and gives the principle to choose a transaction. There are lots of clients in a large-scale COM+ application. It usuallyneeds several component servers. As a result, how to make full use of theservers and how to improve the system stability and response speed isundeniable problem to a developer. Load balancing technology is needed tomake the components work effectively and use the servers'resources well.On the whole, load balancing can be classified as static load balancing and...
Keywords/Search Tags:Performance
PDF Full Text Request
Related items