ATL Server: Visual C++ shared source software

Visual CPP Team



The Visual C++ team is very pleased to announce our plans to release the source code of ATL Server as a shared source project on CodePlex in March 2007. With this release you will now have the opportunity to add all the features and functionality you want to ATL Server and you can even share your expertise and code directly with the ATL community. A main reason for releasing ATL Sever as shared source project is that many ATL Server users would like to see the functionality and services provided by ATL Server expanded and the Visual C++ team, while agreeing with the vision, cannot do justice to these requests while also working on a number of other libraries and tools that we ship. So rather than constrain the functionality of ATL Server  to fit within our product development cycle we know that by releasing the source code that the ATL Server community can move it forward at a greater pace. And we also know how much developers will enjoy cutting their teeth on such a large commercial codebase.


In a nutshell


ATL Server is a library of C++ classes that allow developers to build internet based applications. It provides much of the functionality required to build large scale internet sites, such as SOAP messaging, caching facilities, threading facilities, regular expression processing, management of session-state, performance monitoring, MIME support, integration with IIS and class for interacting with security and cryptographic infrastructure.


ATL Server will be released under the Microsoft Limited Permissive License (Ms-LPL)The basic terms of the license indicate:

  • You can read, edit, and redistribute the source code for either commercial or non-commercial purposes,

  • You are allowed to charge a licensing fee for the modified work

  • The use of the code is limited to the Windows platform.

For full and complete details of the licence, and to see if it meets your requirements, you should refer to the Ms-LPL license.


To be more specific


The following parts of ATL Server will part of the shared project:


  • Core ATL Server Framework classes in atlisapi.h, atlstencil.h, atlserr.h

  • Caching classes in atlcache.h

  • Cryptography classes in atlcrypt.h

  • HTML generation on server side and reading on client sides in atlhtml.h

  • Performance monitoring classes in atlperf.h

  • Extension management classes in atlextmgmt.h

  • Server and client side support for SOAP based Web services in atlsharedsvc.h, atlsoap.h

  • Session-state classes and interfaces in atlsession.h

  • MIME/SMTP support in atlmime.h and atlsmtpconnection.h

  • Regular Expression support from atlrx.h

  • Stream helpers in atlsoap.h and atlhtml.h

  • Many of the ATL Server tutorials, samples and help pages.

The following files will be part of the shared source project:




























Classes from atlenc.h for encoding and decoding of data and other utility functions and classes from atlutil.h are going to stay as part of ATL library and ship together with ATL in future releases of Visual Studio.


The source code to the following tools will also become part of the shared source project:


  • clstencil.exe – used in running Request Handler DLLs or SRF Files from the command line

  • sproxy.exe – used in generating proxy classes for SOAP based Web Service clients

  • vcdeploy.exe – used in deploying ATL Server projects to IIS

The Visual C++ team hopes you will enjoy working on the ATL Server code and looks forward to the evolution of this library under the stewardship of the ATL Server community. If you have any question on this announcement then please do not hesitate to post a comment on the VC blog.

Posted in C++


Discussion is closed.

Feedback usabilla icon