{"id":5953,"date":"2007-01-19T12:27:00","date_gmt":"2007-01-19T12:27:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2007\/01\/19\/atl-server-visual-c-shared-source-software\/"},"modified":"2019-02-18T18:54:37","modified_gmt":"2019-02-18T18:54:37","slug":"atl-server-visual-c-shared-source-software","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/atl-server-visual-c-shared-source-software\/","title":{"rendered":"ATL Server: Visual C++ shared source software"},"content":{"rendered":"<p class=\"MsoNormal\"><b><u><span lang=\"EN-GB\">Overview<\/p>\n<p><\/span><\/u><\/b><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">The Visual C++ team is very pleased to announce our plans to release the source code of <a title=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/vccore\/html\/vcconAtlServer.asp\" href=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/vccore\/html\/vcconAtlServer.asp\">ATL Server<\/a> as a <a title=\"http:\/\/www.microsoft.com\/resources\/sharedsource\/licensingbasics\/sharedsourcelicenses.mspx\" href=\"http:\/\/www.microsoft.com\/resources\/sharedsource\/licensingbasics\/sharedsourcelicenses.mspx\">shared source<\/a> project on <a title=\"http:\/\/www.codeplex.com\/\" href=\"http:\/\/www.codeplex.com\/\">CodePlex<\/a> 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&nbsp; 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.<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><b><u><span lang=\"EN-GB\">In a nutshell<\/p>\n<p><\/span><\/u><\/b><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><a title=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/vccore\/html\/vcconAtlServer.asp\" href=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/vccore\/html\/vcconAtlServer.asp\">ATL Server<\/a> 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.<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">ATL Server will be released under the <a title=\"http:\/\/www.microsoft.com\/resources\/sharedsource\/licensingbasics\/limitedpermissivelicense.mspx\" href=\"http:\/\/www.microsoft.com\/resources\/sharedsource\/licensingbasics\/limitedpermissivelicense.mspx\">Microsoft Limited Permissive License (Ms-LPL)<\/a>.&nbsp; <\/span><span lang=\"EN-GB\"><span>The basic terms of the license indicate:<\/p>\n<p><\/span><\/span><\/p>\n<ul type=\"disc\">\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">You can read, edit, and redistribute the source code for either commercial or non-commercial purposes, \n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">You are allowed to charge a licensing fee for the modified work<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">The use of the code is limited to the Windows platform.<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/span><span lang=\"EN-GB\"><\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">For full and complete details of the licence, and to see if it meets your requirements, you should refer to the <a title=\"http:\/\/www.microsoft.com\/resources\/sharedsource\/licensingbasics\/limitedpermissivelicense.mspx\" href=\"http:\/\/www.microsoft.com\/resources\/sharedsource\/licensingbasics\/limitedpermissivelicense.mspx\">Ms-LPL license<\/a>.<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><b><u><span lang=\"EN-GB\">To be more specific<\/p>\n<p><\/span><\/u><\/b><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">The following parts of ATL Server will part of the shared project:<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<ul type=\"disc\">\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Core ATL Server Framework classes in atlisapi.h, atlstencil.h, atlserr.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Caching classes in atlcache.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Cryptography classes in atlcrypt.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">HTML generation on server side and reading on client sides in atlhtml.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Performance monitoring classes in atlperf.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Extension management classes in atlextmgmt.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Server and client side support for SOAP based Web services in atlsharedsvc.h, atlsoap.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Session-state classes and interfaces in atlsession.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">MIME\/SMTP support in atlmime.h and atlsmtpconnection.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Regular Expression support from atlrx.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Stream helpers in atlsoap.h and atlhtml.h<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">Many of the ATL Server tutorials, samples and help pages.<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">The following files will be part of the shared source project:<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">&nbsp;<\/p>\n<p><\/span><\/p>\n<table class=\"MsoNormalTable\" cellspacing=\"0\" cellpadding=\"0\" width=\"595\" border=\"0\">\n<tbody>\n<tr>\n<td class=\"\" valign=\"top\" width=\"95\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlcache.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"144\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlcrypt.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"106\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlcrypt.inl<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"126\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlextmgmt.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"124\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlhtml.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"\" valign=\"top\" width=\"95\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlhttp.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"144\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlhttp.inl<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"106\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlisapi.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"126\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlmime.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"124\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlperf.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"\" valign=\"top\" width=\"95\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlperf.inl<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"144\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlrx.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"106\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlsession.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"126\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlserr.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"124\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlsharedsvc.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"\" valign=\"top\" width=\"95\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlsiface.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"144\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlsmtpconnection.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"106\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlsmtputil.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"126\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlsoap.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"124\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlsrv.rc<\/p>\n<p><\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"\" valign=\"top\" width=\"95\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlsrvres.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"144\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">atlstencil.h<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"106\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">resdllmgr.srf<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"126\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">resstencilmgr.srf<\/p>\n<p><\/span><\/p>\n<\/td>\n<td class=\"\" valign=\"top\" width=\"124\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">resthreadmgr.srf<\/p>\n<p><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">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.<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">The source code to the following tools will also become part of the shared source project:<\/p>\n<p><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\"><\/p>\n<p>&nbsp;<\/p>\n<p><\/span><\/p>\n<ul type=\"disc\">\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">clstencil.exe &#8211; used in running Request Handler DLLs or SRF Files from the command line<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">sproxy.exe &#8211; used in generating proxy classes for SOAP based Web Service clients<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-GB\">vcdeploy.exe &#8211; used in deploying ATL Server projects to IIS<\/span><span lang=\"EN-GB\"> <\/span><span lang=\"EN-GB\">\n<\/p>\n<p><\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\">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.<\/p>\n<p><\/span><\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview &nbsp; 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 [&hellip;]<\/p>\n","protected":false},"author":289,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5953","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus"],"acf":[],"blog_post_summary":"<p>Overview &nbsp; 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 [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/5953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/289"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=5953"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/5953\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=5953"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=5953"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=5953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}