|
YOUR FEEDBACK
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
TOP THREE LINKS YOU MUST CLICK ON Application Management Managing Deployment and Monitoring of Smart Client Applications
Leverage the power at the edge of the network
By: Kelly Slough
Jun. 7, 2004 12:00 AM
The Smart Client Opportunity
The .NET Framework is a huge enabler of the smart client architecture. It provides a consistent programming interface and execution environment that enables single code base development for all client operating systems from Windows 98 to Windows XP. It solves the problem of "DLL Hell" by explicit component versioning, side-by-side installation, and application metadata that expresses dependencies for specific versions of components. Additional features of the .NET Framework and Common Language Runtime that make .NET-based smart client architecture the best solution to the inherent limitations of browser-based thin client applications include Code Access Security, which ensures that less trusted code will not harm the host machine, and extensive support for consuming Web Services. Addressing IT Operations' Concerns For business-critical processes embedded in smart clients on the network edge, IT needs to have the same reliable control and ease of management that they currently have with thin-client Web applications. This means the ability to do a push-style install of new application collections and upgrades rather than rely on a user to initiate an install. IT needs to be able to push different applications to different users based on their roles in the organization, to track all deployment activities, to know the deployment status, and to be able to determine precisely what version of every application component is running on each client endpoint. Additionally and critically, IT needs visibility into application usage and performance just as they have on thin, server-based applications - they want to be alerted immediately about problems in the applications and be able to react to these problems and investigate, troubleshoot, and repair them in real time. And of course IT wants to be able to do all this in a zero-impact way on the desktop that preserves interapplication and application/operating system independence. Options for Centralized Management of Smart Client Deployment While this approach may be sufficient for some scenarios of deployment of lightweight smart clients in a "user pull" model (e.g., for some consumer-facing apps), it does not completely address the real-world requirements of IT groups managing business-critical processes in enterprise-class smart client applications. Specifically, it lacks the ability to target deployments to subsets of users, track and respond to deployment errors that occur on the client machine, and provide reporting as to which versions of an application are deployed on which client machines. As well, it provides no support for .NET smart clients that need to perform Windows Installer actions for COM components, to place .NET assemblies in the GAC, or any other similar action. The primary alternative to these user pull deployment methods is a traditional push-style client management product such as Microsoft Systems Management Server (SMS). This product class is typically used by a centralized IT department to manage the enterprise-wide baseline software configuration on all corporate computers. However, SMS is designed to work with Active Directory and to collect information about and manage all software on a machine, making it inappropriate for managing software across enterprise boundaries. With SMS, software within the enterprise is typically installed either as a full desktop image, or as a Windows Installer setup package. Because of the risk that any application install can break an existing application, it is common for enterprises to update their desktop configuration very infrequently, and "lock down" the desktop in between. This glacial update cycle preserves the stability of traditional desktop machines at the expense of the business units' needs to frequently update application logic and configuration on end user's machines. These two approaches are at opposite ends of the spectrum: SMS provides strong IT control with little agility, while ClickOnce provides agility but insufficient control to IT. With .NET-based smart clients, there is a new opportunity for a much more business-focused "agile" style of application management, due in part to the fact that .NET applications can be added to the desktop without any risk of breaking existing applications. It should now be possible to frequently install, uninstall, update, and roll back .NET-based smart clients on locked-down desktops within the enterprise, and even to application users within partner or customer organizations or consumer end users in the open Internet. What is required for management of smart-client application deployment is a new approach that provides both strong IT control and agility. Options for Centralized Monitoring of Smart Client Applications Architecture for Smart Client Management
The System.Messaging namespace within the .NET Framework provides a managed code wrapper around the reliable messaging functionality available in Microsoft Message Queuing (MSMQ). However, MSMQ is not installed with the operating system, must be explicitly added to the machine configuration, and varies in functionality across different versions of Windows. Additionally, some versions of MSMQ have dependencies on Active Directory, making it inappropriate for managing client endpoints outside the enterprise. Based on the messaging requirements for providing IT-centric deployment, monitoring, and reporting of smart client applications and the lack of a suitable off-the-shelf solution, Kinitos has built a fully managed code-based messaging implementation with no client-side dependencies beyond the .NET Framework itself. The messaging architecture leverages Web services and PKI standards for security. This messaging infrastructure can be integrated into applications via the Kinitos Developer SDK. In addition, this infrastructure is the basis of the stand-alone Kinitos Smart Client Management Solution shown at a system level view in Figure 1. IT Control and Management Agility - The Kinitos Smart Client Management Solution In order for an application to be managed by the Kinitos Smart Client Management Platform, an XML application manifest must be created that describes the application's components and desired management properties. This manifest is a small XML document that can be auto-generated by the application developer or the IT administrator using a Kinitos tool. Application components listed in the manifest can include .NET assemblies, application data files, and Win32 DLLs containing unmanaged code application components. It is also possible to deploy Windows Installer MSI files via Kinitos to perform installation actions for legacy COM components or other application dependencies that need to invoke the Windows Installer service on the client. Applications are published to the Kinitos Smart Client Management Server by providing the application manifest file to the Management Console. Once published, an authorized application can be deployed to all or a specific subset of users defined by a collection. The application is deployed immediately to the client endpoints, with propagation peer-to-peer within network subnets. An administrator can view reports to determine which client endpoints have not yet received the application or encountered a problem caching the application locally. Upgrading the application follows the same procedure. Errors occurring in the client application will be communicated reliably back to the Management Server whether the errors occurred while the application was operating online or offline. The errors will appear as alarms in the Management Console. In responding to an alarm condition in a client application, the administrator can issue commands to the Kinitos management endpoint on the client machine to return information such as application log entries, application configuration, process status and information on versions of all application components running in the application's AppDomain. If the investigation determines that a critical error that escaped detection during QA has been found in a live application, the administrator can initiate an immediate rollback to a previous version of the application, or issue an emergency patch or configuration change to the application. More information about the Kinitos Smart Client Management Solution can be found at www.kinitos.com or by e-mail at info@kinitos.com. Summary Additional Information WIRELESS BUSINESS & TECHNOLOGY LATEST STORIES . . .
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||