
Design Patterns, JMX for Manageability
Latest Industry News: - Microsoft Posts Group Policy Management Console
- Microsoft Preps New Modeling Language
- BizTalk Server 2006 Beta Available
- MOUS Project 2000 Expert Exam Cancelled
- Portfolio of Pieces
- Inventors to Be Honored on Capitol Hill
- One-Third of Net Users Go Wireless
- Two More Microsoft BI Accelerators Hit
- SOA Consortium Elects Steering Committee
- Better Late Than Never?
- Wireless Systems Faulted in TJX Theft
- U Buffalo Seeks Student Input on Info Tech Investments
- HP Seeks Candidates for Storage Beta Exams
- Microsoft and SAP
- Virtuozzo 3.5.1 Adds Migration Tool
- CASE STUDY: BRIGGS & STRATTON MOWS DOWN DATA WITH VISUALIZATION
- Citrix Building Real-time Collaboration Environment
- Virtuozzo Virtualization Software Upgraded to 3.5
- Microsoft
- Lotus Workplace Exams Debut
Design Mode, JMX manageability3/1/2005by Timberlake murraythe for the Java Management Extensions (JMX) technology is a key part of both the Java 2 Platform, Standard Edition (J2SE) 5 and Enterprise Edition (J2EE). Support this standard, and now need to J2EE compatible application servers, some of which use the JMX mbeans as the base infrastructure. Design mode has become popular because they are described, we can apply the concept to the management an integral part.
We will describe a set of design patterns, application procedures more easy to manage, in the production, they combine it with the use of JMX and logging, and the decision-making external code. This part of the application is very important to architects, because most of the applications life cycle, will be in its deployment phase. Control and visibility necessary action, in order to monitor and manage the application. Monitoring and management application, it is best to do today instrumenting applications and dynamic JMX certain requirements continue to use more traditional logging for other purposes.
You can build their own custom mbeans be used as the application server×÷°ésupply or Java Virtual Machine (JVM) to provide the mbeans. The General Assembly is the best way to do so, the management of the requirements of the applications internal workings require a higher visibility to the internal application objects and attributes. Logging information, document or other destinations, from the application is a common technology, operational staff a certain degree of operational control products. Logging information is an effective method of tracking exceptions or static error conditions (from information to fatal) occurred in the application. Logging is essential rental business know what happened within the application.
However, the rapid changes in application performance data, is the volume of data to measure the overall performance of the application - not the aim of integrating the log file. This is not a good idea, for example, to a new log information, as an anti-for each user log into a system, this figure can be changed every second or even more frequently.
Data capture It makes better sense of responsibility to the rapidly changing data collection in an object - J MX m bean and the values collected regularly from the m bean as a management tool. This technology can be used to capture more trading progress in the system, for example, or the length of a queue contains Please wait for us to deal with. By comparing the number of commercial transactions are being processed this number waiting to be dealt with in the queue may give us a good understanding, and how to use behavior.
Mbeans in this manner is one of the best practices for the use of JMX. Mbeans count is a good number of objects to be made visible to manage the project applications. These items may mapping with the passage of time, when they finally collected the mbean show relative performance, or the performance of an applications other business indicators. JMX can be used for the mbeans number is unchanged, such as warnings, exceptions, or wrong information, but they do not represent the best use.
Need to consider this description of the code in writing to comply with the JMX model. Consider the question is: what use of this model may change most frequently? Mbean objects can be created to provide data sources and control points for the application of management. A commercial object itself may have been implemented or appropriate mbean interface inheritance to become a mbean in their own rights, including the creation of business objects so that it adheres to the rules as the standard mbean or dynamicmbean, interface.
The mbean objects are not easy to use, registration and MBean server, a component of the application server, or JVM process.
Mbean use of the name in the registration period is a unique string, it must be used in any other object in the role of agents, consumers mbean (it could not find the right).
An object method call for a supply mbean mbean by name, the name of the method, which (both supply Strings) to MBean server, and requested the latter to invoke the law mbean.
The mbean release may notice, at certain times to determine the occurrence of certain conditions.
We now have an overview of the use of JMX, manageability, let us examine the specific purpose model. Clearly, there is a string based on the names for objects and methods, scattered throughout the country in application code is a responsibility. These names may change and error, and therefore we should summarized them in some form of pattern, it is motivation for mbeanhelper pattern.
Mbeanhelper the mbeanhelper pattern delete some of the details of mbean access from an object to use a mbean (see chart 1). This model solves the problem there is a close link with the business objects and related mbean. On the basis of such a link, the need for a string for the name of the object, another method call and its parameters. These strings to defeat a powerful typing said, we want to maintain and objects. Mbean name is being used in the package of help. Invoke the name of the method can also be used to pass a strong interface to mbeanhelper class, which provides a compile-time type checking. Foreign domestic helpers class hide from the consumer all the code in order to find a mbean MBean server.
One of the important ways, and in this regard we have developed management into instrumenting applications from one or more of its business objects, for example, they wrote an important data to the JMX mbeans. We do not, however, too much to spread the specific code JMX the commercial logic of the entire object. We hope that the instruments be clean, in the sense that, a simple method called the mbean JMX is necessary to do all the business code, which means that hide all the machines named, and find appropriate mbean from business objects. This equipment should be done under the cover design patterns.
The mbeanhelper patterns are designed for this purpose. It seems the right mbean use mbean name, in the MBean server repository, and invoked the right approach. The mbeanhelper itself is not a mbean, is a well-known destination for a certain type of mbean, can be used as a gateway to the to them.
Strings provide application developers not protected from the mbean the name or the name of the method in the wrong. Compiler will never be found this mistake, because it mbean know what the name or the rules applicable to its name. One way to a call on mbeanhelper class, however, is blood type-B inspection compiler. We just need to string mbean based on the well-known name, category and help test its accuracy, rather than the use of the tests on each one mbean in the application. JMX added to the small library, version 1.2 has provided invocationhandlers for a similar purpose.
Mbeanhelper target will be the existence of the same period of mbean itself. Dealing with a lifetime of mbeanhelper must now be regarded as an additional task. In addition, there is a trade between the cost of a well-off approach, and called on mbeanhelper and production costs, mbean method calls itself, it may affect performance.
The mbeanhelper is the only interface to mbean, therefore, if we are to come out in the notice of the implementation of the mbean that we must do, but also to mbeanhelper.
Mbeanforappconfig Now let us look at the mbeanforappconfig pattern, which is embodied one of the most simple use of a mbean - a container for applications up and running at the configuration information (see Figure 2).
Mbean apply for a permit application configuration data collection initial configuration, from the commencement of a number of external sources (for example, a real estate file). By then, with the application of appropriate design, operators can change the application of molecular configuration. These changes may also notice from the configuration mbean to other objects in the application life cycle, there was no restart. We may change the level of logging, we can see that, for example, in order to obtain more data, how to apply in the case.
Mbeanforappconfig one or more objects may be consistent with this style, where applicable, each control different parts of the applications configuration, such as user profiles, database connection configuration, or other dependent on complex configuration requirements.
In the application startup time, mbeanforappconfig target reader configuration attributes, from a file, database, or other media, the administrator has set up various properties. The mbeanforappconfig object, and then allows authorized administrators to access, change the values of the items can be configured through a management tool, perhaps one based on the browser. The changes that occur in propaganda, to the Observer of Business Objects mode or through the JMX notification, if it is necessary.
The mbeanforappconfig object can be the subject of a separate consultation, in order to determine whether the property is being established with an allowable value, not if we do not set a new meet this requirement. We can create another mbean (the best is a dynamic mbean) value of the data capture allows projects to make up for the application configuration, but this may be too much mbean for most applications. This logic can be stored in mbeanforappconfig object itself.
The mbeanforappconfig objects can be designed such a way that it says: no configuration changes to files. It may write these changes return to the properties file, it first from its initial value, if this is considered useful. This procedure will apply to any changes made by the configuration, in a running time will be required to reflect the commencement of the next configuration.
Mbeanforappconfig object must live the life of the process, if a change is not allowed at any point in the application life. By notice scheme, in the JMX At the same time, changes in the objects and transfer the state, disconnect the way. Notificationlistener receipt of the notification list of objects from it may change over time, so mbeanforappconfig should not be concerned about their lifetime to achieve this goal.
Separatembean One approach is to design the application management allow any business objects in the application, there is a mbean style interface, through the establishment of a mbean interface, and then design business objects to the implementation of the interface. The advantage of this approach is fairly straightforward implementation. That is to say, Business Objects provide business functions and management functions in the same object.
However, such technology may cause problems. This means that any management interface tool hit the target directly interferes with the performance of the business objects, such as. When the operation is a key transaction processing, the business objects may also be asked to respond to an operator intervention, through its JMX interface, at the same time. This shows that we need to build a barrier-free for operator intervention, business objects in the implementation of a key part of the business logic. We run the risk of targeting too long, when we do this.
Or in the implementation of the code-level, mixed business and managements attention, there are other adverse effects (such as described in the discussion of this separatembean mode). In general, therefore, we would like to think about the management interface, we have designed the system in time - as separate from the operational interface. These two interfaces are implemented various objects.
Separatembean model describes the creation of a mbean This is a separate object, object or objects from a business must be managed. Mixed into the management of an object, along with business concerns, and corrupted the clean business interface. These mixed, there are some security issues, such as commercial operators to invoke methods, or a business method Kommersant quoted in error. In the mixed interface circumstances, the developer must also understand the business logic of the management of the impact of the correlation method or JMX target. Mbean interface design and implementation are tied in the design and commercial targets, although the architect of many teams will do separate the two types of design.
The separatembean model, and solve these problems separately mbean to different audiences, from the business, because it relates. Founded as Business Objects, can not implement mbean interface. On the contrary, they maintain a reference to a separate mbean behavior and object management. Mbean create time management may be the same or different, that is the object of the business.
The businessobjectmanager (see figure 3), on behalf of separatembean pattern is taking shape, from businessobject or some other party so that it can manage one or multiple instances of the class, which businessobject belong. The businessobjectmanager contains all the necessary logic of supply management interface, it can be used by businessobject or others. The businessobject telephone or given notice to businessobjectmanager updated with the information management tools. Businessobjectmanager can call the method businessobject receive information in this regard.
Using this model provides a separation of concerns through the use of more objects. Where business objects also served as a managed object, in the past, this model has two objects of different purposes.
The price paid by the use of this model, is a reference is now maintained between the business objects and mbean IT management. Using inheritance / interface methods for the establishment of a business object, it is also a mbean enable us to remove reference. Using this model, we need more wisdom, in the establishment of factories, as to when creating businessobjectmanager mbean (perhaps once and for all, the package of businessobject example).
Design decision, which required the use of this model, in order to determine whether the business was targeted by the initiative sent the data to a method invocation businessobjectmanager mbean or object which polls business data interval. Both models can be used for different situations, but in order to save performance to promote model should be used in the majority of cases - which meant that the business objects to take the initiative, the m bean object to the information necessary in the meet.
Policy of separation mode separatepolicyfrommbeanpattern the purpose of the pattern is to allow all the elements of a complex and ever changing management policies, out of the mbean that gathers performance data (see Figure 4). Our first approach is to use mbeans as data containers, rather than the implementation of the algorithm, management policies. A minimum, we will have to separate the two entities into different objects.
Gathered length or depth of an important item on the queue JMS topic, for example, the policy is to separate alerts remain in the queue whenever the 50 entries over one minute. The latter concern is to do so with the management policy. The former is done with the data collection. We can provide that kind of storage logical policy, in a mbean itself, or we can be stored, and the outside is in the process of an independent management engine. We can store the data in a mbean attributes and calculated data. Only the most basic terms, if at all should do, in mbean code.
If we want to compromise this principle from management policies, from mbeans, we may consider separate mbeans have varied policies, and these can change from outside the United States. Mbean through the separation of government and business as a container of data from the rules of how it is dealt with, we have more flexibility in how these policies can change it.
An important tectonic pattern can be applied in the management of design data is the use of containers as mbeans only, and not to management algorithm holders of policies. These policies - for example, "When the number of shopping cart for the same time in my application cloud over 1,000 people, printing a message on the management console," are subject to change. Capture these policies is a tool for job seekers, mbean domain, therefore, such a change can be made without interference and mbean logic and not have to re-compile it. However, it will do the specific reasons. Design is always a compromise, therefore, these best practices and models do not intend to be seen as a hard and fast rules apply in all cases.
We have discussed a series of design patterns, a construction management in the Java, J2EE, or Web Services Application. Be of good management is the key to the success of an application, once production. Often in the production of nondevelopers management applications. Each model has benefits and costs to use it. Attention should be paid to profile the performance of applications at the same time, build manageability, and the use of these models in the implementation of time.
Application designers should consider applications can manage demand, at the design stage, rather than later. A choice is whether the relevant business logic separate from the management of logic, and the provision of separate objects in the application of these concerns. This type of concern is the proposed separation, and displayed in mbeanhelper pattern.
This is a starting point, a larger collection of design patterns for JMX applications and management capabilities, I hope that the architects are interested and software designers, will help more models to the collection list. Hewlett-Packard Web site developers to provide a forum for the development community to contribute to the discussion and design management.
Download the code for this article here.
Gushidingmulei is a technical consultant in HPs software business unit. And his colleagues, HP consulting and teaching in a variety of roles, as well as at the technical level has been consulted on projects for clients involved in Java, J2EE and performance management, and specially designed application management. Contact Justin in justin.murray @ hp.com.
We will describe a set of design patterns, application procedures more easy to manage, in the production, they combine it with the use of JMX and logging, and the decision-making external code. This part of the application is very important to architects, because most of the applications life cycle, will be in its deployment phase. Control and visibility necessary action, in order to monitor and manage the application. Monitoring and management application, it is best to do today instrumenting applications and dynamic JMX certain requirements continue to use more traditional logging for other purposes.
You can build their own custom mbeans be used as the application server×÷°ésupply or Java Virtual Machine (JVM) to provide the mbeans. The General Assembly is the best way to do so, the management of the requirements of the applications internal workings require a higher visibility to the internal application objects and attributes. Logging information, document or other destinations, from the application is a common technology, operational staff a certain degree of operational control products. Logging information is an effective method of tracking exceptions or static error conditions (from information to fatal) occurred in the application. Logging is essential rental business know what happened within the application.
However, the rapid changes in application performance data, is the volume of data to measure the overall performance of the application - not the aim of integrating the log file. This is not a good idea, for example, to a new log information, as an anti-for each user log into a system, this figure can be changed every second or even more frequently.
Data capture It makes better sense of responsibility to the rapidly changing data collection in an object - J MX m bean and the values collected regularly from the m bean as a management tool. This technology can be used to capture more trading progress in the system, for example, or the length of a queue contains Please wait for us to deal with. By comparing the number of commercial transactions are being processed this number waiting to be dealt with in the queue may give us a good understanding, and how to use behavior.
Mbeans in this manner is one of the best practices for the use of JMX. Mbeans count is a good number of objects to be made visible to manage the project applications. These items may mapping with the passage of time, when they finally collected the mbean show relative performance, or the performance of an applications other business indicators. JMX can be used for the mbeans number is unchanged, such as warnings, exceptions, or wrong information, but they do not represent the best use.
Need to consider this description of the code in writing to comply with the JMX model. Consider the question is: what use of this model may change most frequently? Mbean objects can be created to provide data sources and control points for the application of management. A commercial object itself may have been implemented or appropriate mbean interface inheritance to become a mbean in their own rights, including the creation of business objects so that it adheres to the rules as the standard mbean or dynamicmbean, interface.
The mbean objects are not easy to use, registration and MBean server, a component of the application server, or JVM process.
Mbean use of the name in the registration period is a unique string, it must be used in any other object in the role of agents, consumers mbean (it could not find the right).
An object method call for a supply mbean mbean by name, the name of the method, which (both supply Strings) to MBean server, and requested the latter to invoke the law mbean.
The mbean release may notice, at certain times to determine the occurrence of certain conditions.
We now have an overview of the use of JMX, manageability, let us examine the specific purpose model. Clearly, there is a string based on the names for objects and methods, scattered throughout the country in application code is a responsibility. These names may change and error, and therefore we should summarized them in some form of pattern, it is motivation for mbeanhelper pattern.
Mbeanhelper the mbeanhelper pattern delete some of the details of mbean access from an object to use a mbean (see chart 1). This model solves the problem there is a close link with the business objects and related mbean. On the basis of such a link, the need for a string for the name of the object, another method call and its parameters. These strings to defeat a powerful typing said, we want to maintain and objects. Mbean name is being used in the package of help. Invoke the name of the method can also be used to pass a strong interface to mbeanhelper class, which provides a compile-time type checking. Foreign domestic helpers class hide from the consumer all the code in order to find a mbean MBean server.
One of the important ways, and in this regard we have developed management into instrumenting applications from one or more of its business objects, for example, they wrote an important data to the JMX mbeans. We do not, however, too much to spread the specific code JMX the commercial logic of the entire object. We hope that the instruments be clean, in the sense that, a simple method called the mbean JMX is necessary to do all the business code, which means that hide all the machines named, and find appropriate mbean from business objects. This equipment should be done under the cover design patterns.
The mbeanhelper patterns are designed for this purpose. It seems the right mbean use mbean name, in the MBean server repository, and invoked the right approach. The mbeanhelper itself is not a mbean, is a well-known destination for a certain type of mbean, can be used as a gateway to the to them.
Strings provide application developers not protected from the mbean the name or the name of the method in the wrong. Compiler will never be found this mistake, because it mbean know what the name or the rules applicable to its name. One way to a call on mbeanhelper class, however, is blood type-B inspection compiler. We just need to string mbean based on the well-known name, category and help test its accuracy, rather than the use of the tests on each one mbean in the application. JMX added to the small library, version 1.2 has provided invocationhandlers for a similar purpose.
Mbeanhelper target will be the existence of the same period of mbean itself. Dealing with a lifetime of mbeanhelper must now be regarded as an additional task. In addition, there is a trade between the cost of a well-off approach, and called on mbeanhelper and production costs, mbean method calls itself, it may affect performance.
The mbeanhelper is the only interface to mbean, therefore, if we are to come out in the notice of the implementation of the mbean that we must do, but also to mbeanhelper.
Mbeanforappconfig Now let us look at the mbeanforappconfig pattern, which is embodied one of the most simple use of a mbean - a container for applications up and running at the configuration information (see Figure 2).
Mbean apply for a permit application configuration data collection initial configuration, from the commencement of a number of external sources (for example, a real estate file). By then, with the application of appropriate design, operators can change the application of molecular configuration. These changes may also notice from the configuration mbean to other objects in the application life cycle, there was no restart. We may change the level of logging, we can see that, for example, in order to obtain more data, how to apply in the case.
Mbeanforappconfig one or more objects may be consistent with this style, where applicable, each control different parts of the applications configuration, such as user profiles, database connection configuration, or other dependent on complex configuration requirements.
In the application startup time, mbeanforappconfig target reader configuration attributes, from a file, database, or other media, the administrator has set up various properties. The mbeanforappconfig object, and then allows authorized administrators to access, change the values of the items can be configured through a management tool, perhaps one based on the browser. The changes that occur in propaganda, to the Observer of Business Objects mode or through the JMX notification, if it is necessary.
The mbeanforappconfig object can be the subject of a separate consultation, in order to determine whether the property is being established with an allowable value, not if we do not set a new meet this requirement. We can create another mbean (the best is a dynamic mbean) value of the data capture allows projects to make up for the application configuration, but this may be too much mbean for most applications. This logic can be stored in mbeanforappconfig object itself.
The mbeanforappconfig objects can be designed such a way that it says: no configuration changes to files. It may write these changes return to the properties file, it first from its initial value, if this is considered useful. This procedure will apply to any changes made by the configuration, in a running time will be required to reflect the commencement of the next configuration.
Mbeanforappconfig object must live the life of the process, if a change is not allowed at any point in the application life. By notice scheme, in the JMX At the same time, changes in the objects and transfer the state, disconnect the way. Notificationlistener receipt of the notification list of objects from it may change over time, so mbeanforappconfig should not be concerned about their lifetime to achieve this goal.
Separatembean One approach is to design the application management allow any business objects in the application, there is a mbean style interface, through the establishment of a mbean interface, and then design business objects to the implementation of the interface. The advantage of this approach is fairly straightforward implementation. That is to say, Business Objects provide business functions and management functions in the same object.
However, such technology may cause problems. This means that any management interface tool hit the target directly interferes with the performance of the business objects, such as. When the operation is a key transaction processing, the business objects may also be asked to respond to an operator intervention, through its JMX interface, at the same time. This shows that we need to build a barrier-free for operator intervention, business objects in the implementation of a key part of the business logic. We run the risk of targeting too long, when we do this.
Or in the implementation of the code-level, mixed business and managements attention, there are other adverse effects (such as described in the discussion of this separatembean mode). In general, therefore, we would like to think about the management interface, we have designed the system in time - as separate from the operational interface. These two interfaces are implemented various objects.
Separatembean model describes the creation of a mbean This is a separate object, object or objects from a business must be managed. Mixed into the management of an object, along with business concerns, and corrupted the clean business interface. These mixed, there are some security issues, such as commercial operators to invoke methods, or a business method Kommersant quoted in error. In the mixed interface circumstances, the developer must also understand the business logic of the management of the impact of the correlation method or JMX target. Mbean interface design and implementation are tied in the design and commercial targets, although the architect of many teams will do separate the two types of design.
The separatembean model, and solve these problems separately mbean to different audiences, from the business, because it relates. Founded as Business Objects, can not implement mbean interface. On the contrary, they maintain a reference to a separate mbean behavior and object management. Mbean create time management may be the same or different, that is the object of the business.
The businessobjectmanager (see figure 3), on behalf of separatembean pattern is taking shape, from businessobject or some other party so that it can manage one or multiple instances of the class, which businessobject belong. The businessobjectmanager contains all the necessary logic of supply management interface, it can be used by businessobject or others. The businessobject telephone or given notice to businessobjectmanager updated with the information management tools. Businessobjectmanager can call the method businessobject receive information in this regard.
Using this model provides a separation of concerns through the use of more objects. Where business objects also served as a managed object, in the past, this model has two objects of different purposes.
The price paid by the use of this model, is a reference is now maintained between the business objects and mbean IT management. Using inheritance / interface methods for the establishment of a business object, it is also a mbean enable us to remove reference. Using this model, we need more wisdom, in the establishment of factories, as to when creating businessobjectmanager mbean (perhaps once and for all, the package of businessobject example).
Design decision, which required the use of this model, in order to determine whether the business was targeted by the initiative sent the data to a method invocation businessobjectmanager mbean or object which polls business data interval. Both models can be used for different situations, but in order to save performance to promote model should be used in the majority of cases - which meant that the business objects to take the initiative, the m bean object to the information necessary in the meet.
Policy of separation mode separatepolicyfrommbeanpattern the purpose of the pattern is to allow all the elements of a complex and ever changing management policies, out of the mbean that gathers performance data (see Figure 4). Our first approach is to use mbeans as data containers, rather than the implementation of the algorithm, management policies. A minimum, we will have to separate the two entities into different objects.
Gathered length or depth of an important item on the queue JMS topic, for example, the policy is to separate alerts remain in the queue whenever the 50 entries over one minute. The latter concern is to do so with the management policy. The former is done with the data collection. We can provide that kind of storage logical policy, in a mbean itself, or we can be stored, and the outside is in the process of an independent management engine. We can store the data in a mbean attributes and calculated data. Only the most basic terms, if at all should do, in mbean code.
If we want to compromise this principle from management policies, from mbeans, we may consider separate mbeans have varied policies, and these can change from outside the United States. Mbean through the separation of government and business as a container of data from the rules of how it is dealt with, we have more flexibility in how these policies can change it.
An important tectonic pattern can be applied in the management of design data is the use of containers as mbeans only, and not to management algorithm holders of policies. These policies - for example, "When the number of shopping cart for the same time in my application cloud over 1,000 people, printing a message on the management console," are subject to change. Capture these policies is a tool for job seekers, mbean domain, therefore, such a change can be made without interference and mbean logic and not have to re-compile it. However, it will do the specific reasons. Design is always a compromise, therefore, these best practices and models do not intend to be seen as a hard and fast rules apply in all cases.
We have discussed a series of design patterns, a construction management in the Java, J2EE, or Web Services Application. Be of good management is the key to the success of an application, once production. Often in the production of nondevelopers management applications. Each model has benefits and costs to use it. Attention should be paid to profile the performance of applications at the same time, build manageability, and the use of these models in the implementation of time.
Application designers should consider applications can manage demand, at the design stage, rather than later. A choice is whether the relevant business logic separate from the management of logic, and the provision of separate objects in the application of these concerns. This type of concern is the proposed separation, and displayed in mbeanhelper pattern.
This is a starting point, a larger collection of design patterns for JMX applications and management capabilities, I hope that the architects are interested and software designers, will help more models to the collection list. Hewlett-Packard Web site developers to provide a forum for the development community to contribute to the discussion and design management.
Download the code for this article here.
Gushidingmulei is a technical consultant in HPs software business unit. And his colleagues, HP consulting and teaching in a variety of roles, as well as at the technical level has been consulted on projects for clients involved in Java, J2EE and performance management, and specially designed application management. Contact Justin in justin.murray @ hp.com.
Latest Industry News: - Microsoft Posts Group Policy Management Console
- Microsoft Preps New Modeling Language
- BizTalk Server 2006 Beta Available
- MOUS Project 2000 Expert Exam Cancelled
- Portfolio of Pieces
- Inventors to Be Honored on Capitol Hill
- One-Third of Net Users Go Wireless
- Two More Microsoft BI Accelerators Hit
- SOA Consortium Elects Steering Committee
- Better Late Than Never?
- Wireless Systems Faulted in TJX Theft
- U Buffalo Seeks Student Input on Info Tech Investments
- HP Seeks Candidates for Storage Beta Exams
- Microsoft and SAP
- Virtuozzo 3.5.1 Adds Migration Tool
- CASE STUDY: BRIGGS & STRATTON MOWS DOWN DATA WITH VISUALIZATION
- Citrix Building Real-time Collaboration Environment
- Virtuozzo Virtualization Software Upgraded to 3.5
- Microsoft
- Lotus Workplace Exams Debut
3Com Adobe APC Apple BEA BICSI CheckPoint Cisco Citrix CIW CompTIA Computer Associates CWNP Dell ECcouncil EMC Enterasys Exam Express EXIN Extreme Networks File Maker Fortinet Foundry Fujitsu Guidance Software HDI HITACHI Hewlett Packard Huawei Hyperion IBM IISFA Intel ISACA ISC ISEB ISM Juniper Legato Lotus LPI McAfee McDATA Microsoft Mile2 Network Appliance Network General Nokia Nortel Novell OMG Oracle PMI Polycom Red Hat SAIR SAS Institute SCP SeeBeyond SNIA Sniffer Sun Sybase Symantec Teradata TIA TIBCO Trusecure Veritas VMware

MCP70-270 70-290 $79 Details |
MCAD .NET70-305 70-306 70-310 70-315 70-316 70-320 $229 Details |
SCSSSE310-880 $59 Details |
LPI 1117-101 117-102 $79 Details |
CCDP642-901 642-812 642-873 $119 Details |
MCPD70-526 70-528 70-536 70-547 70-548 70-549 70-551 $269 Details |
MCDST70-271 70-272 $79 Details |
9i DBA1Z0-007 1Z0-030 1Z0-031 1Z0-032 1Z0-033 1Z0-035 1Z0-036 $269 Details |
SCWCD MCSE CCDA SCSI 9i IAD 8i DBA CCNP SCEA 10g OCA MCA CCI MCTS MCSA 2003 MBS MCED CRM SA SCBCD MCSE 2003 Security CCVP CCSP MCDBA MCD MCITP 10g DBA SCDME MCP MCAD .NET SCSSSE LPI 1 CCDP MCPD MCDST 9i DBA Solaris 10 SCSA LPI 2 SSBB SC CA MPC CCNA HTI+ A+ SCMAD MCSE 2003 Messaging SCA SCJP Solaris 9 SCSA MCSD .NET
000-222 000-236 000-191 310-051 HP0-216 HP0-277 000-705 EE0-425 TB0-107 TT0-101 1D0-442 000-713 HP0-697 GB0-360 920-234 000-217 NS0-153 0B0-102 1Z0-026 70-510 QQ0-300 70-028 1Y0-613 TB0-106 MB4-213 920-232 HP0-785 3X0-104 70-306 000-635 920-433 50-694 70-315 920-127 3H0-002 642-443 920-457 000-633 920-112 DP-022W 000-695 000-382 000-778 HP0-239 MB2-228 190-273 70-222 920-199 920-165 190-840 HP0-207 270-231 MB6-512 70-292 000-268 HP0-W03 920-251 HP0-490 50-632 920-450

