|
Any
organisation needs to use a large number of software applications
and infrastructure products to automate business processes.
Each application performs a specific set of functions for
the end users. However, managing these applications is also
an additional responsibility of the IT team. The user interface
and methodology provided by each application for administration
may be (and most often will be) different. Due to this diversity,
administrators need to learn a different user interface for
different applications.
The purpose of Microsoft Management Console is to create a
framework that can standardise system management functionality.
Intended benefits
1. Reduction in training costs for administrationdue
to uniform user interface and functionality.
2. Provide ready-to-use framework for developers to extend
existing MMC applications or write new ones for their own
products.
3. Provide the flexibility of mixing specific functional areas
from different applications and creating a custom administrative
console.
What is MMC?
You can use Microsoft Management Console (MMC) to create,
save, and open administrative tools (called MMC consoles)
that manage the hardware, software, and network components
of your Windows system. The console DOES NOT contain the code
to administer the system/application in question. It only
provides a structured hosting environment for administrative
tools. You can add the following types of items to MMC.
A console has various user interface components within it.
These include dialog boxes, context menus (menus which appear
on right-clicking on a particular node), taskpads, wizards,
toolbars and so on.

SnapIn
A SnapIn is a Component Object Model (COM) in-process server
dynamic-link library (DLL). This COM interface is situated
between MMC and the SnapIn. The MMC communicates with the
SnapIn using a predefined methodology.
The
SnapIn still needs to communicate with the application that
it is administering. This communication is not controlled
by MMC. The SnapIn developer can decide which method of communication
to use between the SnapIn code and actual system.
Scope pane
The scope pane shows a hierarchical tree of nodes. Parent
nodes can have further level child nodes. Each node typically
has a context menu as well as property sheet and actions associated
with it.
Results pane
Depending upon the node selected in the scope pane tree view,
the results pane can display various types of visual interfaces.
These are:
1. List view
2. ActiveX Control showing special UI and behaviour
3. Custom Web Page
4. Taskpad
List view is the most common view where the results pane simply
shows resulting rows of information. An example of this view
is the Event Viewer nodes, which display logged events as
rows and information about each event in columns.
|
Item |
What does it do? |
|
Snap-In |
This is the core of the MMC tool. The code which performs
actual administrative tasks is present in the snap-in |
|
ActiveX controls |
For implementing special UI features |
|
Web page links |
For online help / support or helpdesk escalation |
|
Taskpad views |
Collection of tasks |
|
Tasks |
Specific tasks that can be performed with a particular
item displayed in the MMC Console |
Developing
MMC SnapIns
You need MMC SDK for this purpose. This SDK provides the required
COM interfaces and technical documentation required to generate
a SnapIn. There are many interfaces available. Depending upon
your design goals, you can implement the required interfaces.
Platform SDK includes a SnapIn designer for Visual Basic.
This designer is installed with the MMC samples from the Platform
SDK. This is a simple and fast way of generating custom SnapIns.
It finally creates the SnapIn DLL file.
A detailed description of the exact steps and code to write
a sample SnapIn is beyond the scope of this article.
However,
I definitely suggest that all architects/developers working
on packaged products or complex projects, must try to explore
providing MMC SnapIns for administering their solutions. Deploying
a SnapIn is very easy. All that you require is the DLL created
from the SDK/Designer, Visual Basic and MMC runtimes. Thats
all.
Using WMI and Active directory
The actual code which administers your application/network
or hardware can work with any communication mechanism or protocol.
However, from the point of view of minimising coding and standardising
the process of SnapIn development, WMI (Windows Management
Instrumentation) and Active Directory based integration should
be preferred.
Windows Management Instrumentation (WMI) is based upon Web-Based
Enterprise Management (WBEM), an industry initiative to develop
a standard technology for accessing management information
in an enterprise environment. WMI uses the industry-standard
Common Information Model (CIM) to represent systems, applications,
networks, devices, and other managed objects in an enterprise
environment.
Using WMI in writing SnapIns will ensure that the code written
to access manageable objects is based upon open and standard
methodologies. The development time and effort is also reduced
drastically in most environments by using WMI.
Feedback
Your feedback, suggestions, requests for covering specific
topics or issues are welcome. Please send feedback to techforum@mediline.co.in
 |
About
the Author Dr Nitin Paranjape is the Chairman and MD of
Maestros (Mediline). He is a consultant with many organisations,
covering appropriate technology utilisation, business
application of relevant technology, application architecture
and audit as well as knowledge transfer. He has authored
more than 650 articles on various technology-related subjects.
He can be contacted at nitin@mediline.co.in |
|