NT Service Toolkit | ||||||||
Create Professional NT Services using Visual Basic -- for Windows 2000 and Windows NT 4.0NT Services are among the most useful types of applications for enterprise developers, but support for them under Visual Basic has been notoriously poor. The few techniques available until now have had severe limitations -- none have come close to allowing VB programmers to create a fully functional service with the kinds of features that C++ programmers could implement. Until now. With the Desaware NT Service Toolkit, we took a close look at the way services are put together, and created a complete framework designed specifically to allow Visual Basic programmers full access to all of the features of services, while strictly adhering to Visual Basic's programming and threading rules, and keeping Visual Basic's strengths for rapid software development and easy debugging. This framework will allow you to create simple services in minutes, and build them into complex services as easily as you would develop any other application. It will allow you to set breakpoints and debug your service both in simulation mode and while it is running in a service. It will allow you to incorporate almost any service feature that's possible with Visual C++. Desaware's motto has always been "You CAN do that in Visual Basic". The Desaware NT Service Toolkit adds more meaning to that slogan than ever before. FeaturesNot only does the Desaware NT Service Toolkit offer many features, it allows you to create services that offer many features as well. DebuggingThe Desaware NT Service Toolkit is built on a framework by which we automatically generate an executable that becomes your main service executable based on the answers to a few simple questions. This executable then creates objects in an ActiveX DLL server that you create using Visual Basic. Your VB DLL not only implements every part of the service under control of the framework EXE, but provides necessary configuration information as well. But most important, you can run your ActiveX DLL under the Visual Basic environment while it is being used by the framework EXE! Even while it is running as a service! This makes debugging and testing a service easier than it has ever been -- even in C++! Yes, there are a few limitations -- some DCOM and API functions can't be debugged this way because they depend on your components being in the same process as the framework EXE, but you'll find we've included additional features to make those cases fewer than you might expect. COM/DCOMOne of the most important uses of services is to act as agents for clients, and one of the best ways for a client to access the resources of a service is through COM or DCOM. The Desaware NT Services Toolkit allows you to expose two types of objects from the service. The first is an application object, that is shared by all clients. This object is ideal for controlling the service or using the service to share data among different clients. Each client receives a reference to the same application object. The second type of object is a client object. This type of object is unique to each client request and can be used to hold information specific to the client. The client object also has access to the application object allowing you flexibility in providing both client specific and shared data. Equally important, services created with this toolkit can make use of COM objects and services, making it easy to integrate technology such as Winsock, ADO and MSMQ into your service. ScalabilityWhen handling multiple clients and the time to handle requests varies, you can gain significant improvements in average response time if you use multithreading. The client objects that you expose through your service are created on a thread pool, which not only improves the ability to respond to user requests, but also isolates client objects from the main service thread and the service control thread -- thus preventing clients from interfering with other tasks being handled by the service. ImpersonationThe Desaware NT Service toolkit supports impersonation to the degree enabled by your system configuration and operating system. This allows your service to not only verify if particular operations are allowed to a client, but to impersonate and act on behalf of that client -- almost as if the service was logged on as the user. SimulationOne of the most time consuming parts of testing a service is the constant need to install the service, start it using the service control manager, test it with the service control manager, then stop it with the service control manager before you can reinstall an update. The Desaware NT Service Framework includes a unique simulation mode that allows you to quickly test your service as a standalone executable. The simulation window allows you to see how your service will respond to service control manager commands during testing. ConfigurationThe Desaware NT Service Toolkit framework gives you near total flexibility in configuring your service. Virtually every service configuration parameter and flag is settable from your Visual Basic code. Plus, your service can respond to all service control manager events. At the same time, the service framework handles much of the load of cleaning up resources and object references for you when a service stops, keeping the framework remarkably easy-to-use. Synchronization Object SupportThe Desaware NT Service Toolkit framework uses a background thread to wait on synchronization objects. This allows you to create services that monitor a wide variety of system or application events, while imposing a minimal load on the system. The framework even handles object duplication so that you can test monitor programs while debugging your service using the Visual Basic environment. Control Panel AppletsServices are often configured or controlled using specialized Control Panel Applets. The Desaware NT Service Toolkit includes a Control Panel Applet framework similar to the Services framework which allows you to easily create Control Panel Applets using Visual Basic. ThreadingThe main reason services have been nearly impossible to write using Visual Basic is that services use a threading architecture that is fundementally incompatible with Visual Basic. Every approach to creating services with VB used up until now has required major compromises in functionality (even the approach we previously used in SpyWorks). The Desaware NT Service toolkit solves this problem by completely rethinking the architecture of services. The framework executable is an efficient configurable C++ based executable that is designed to fit perfectly into the NT service threading architecture. At the same time, it is designed to use the Visual Basic components you create in a way that is 100% compatible with all Visual Basic and COM threading rules. This means that your Visual Basic services will have full access to all system services, components and controls (subject, of course, to security considerations that apply to any service). CompatibilityThe Desaware NT Services Toolkit is fully compatible with Windows 2000 and Windows NT 4.0. Supports the latest Windows 2000 service features. Services can be created using Visual Basic 6. Light EditionThe Light edition of the Desaware NT Service Toolkit is included in Desaware's SpyWorks Professional 6.2. It is roughly equivalent in capability to the NT Service classes provided with previous editions of SpyWorks Professional, and is the recommended replacement for those classes due to its strict adherence to the OLE threading rules and full compatibility with Visual Basic. It does not include the ability to expose COM objects from the service, thus does not support features discussed earlier under COM/COM+, Impersonation, Scalability or Synchronization Objects. Thus it is not suitable for use as a software agent and requires additional API coding to be used as a system monitor (nor will it run as efficiently). Search HALLoGRAM || Request More Information CALL TOLL FREE 1-866-340-3404 |
|
|||||||
Copyright
2000 HALLoGRAM Publishing, Aurora CO. All Rights Reserved All products mentioned in this site are trademarks of their respective owners Prices are subject to change without notice dmcakegrim |