Library Zone Articles
External Articles
Byte Size

Discovery Zone Catalogue
Diary
Links
Bookstore
Interactive Zone Ask the Gurus
Discussion Groups
Newsletters
Feedback
Etc Cartoons
Humour
COMpetition
Advertising
Site Builder ASP Web Ring ASP Web Ring

Power your site with idr newswire
The Developer's Resource & Community Site
COM XML ASP Java & Misc. NEW: VS.NET
International This Week Forums Author Central Find a Job

ATL Server

The news is out, ATL will be significantly enhanced in the next version of Visual Studio. Tony Goodhew, the program manager for the next version of Visual C++, demonstrated these new features of ATL at the European DevWeek in Islington (www.devweek.com, 14th - 18th February 2000) and VCDC in Bonn (, 7th - 11th February 2000).

Tony's talk was about the future of web development using Microsoft tools and he presented the results of the PCWeek/Doculabs benchmark (https://www.zdnet.com/pcweek/stories/news/0,4153,409380,00.html) where vendors built a fictitious online bookstore. PCWeek stress tested these solutions. Microsoft presented two systems, one built with VB and ASP and the other was a raw C++ based ISAPI DLL. The results of the tests showed that the C++ solution outshone all the others in terms of number of pages per second and in terms of price/performance ratio. (As an aside, SQL Server 2000 has also just blasted its way to a world record for performance - https://www.microsoft.com/presspass/features/2000/02-21compaq.asp - Feb 21st 2000)

Tony explained that the lessons learned from the PCWeek test had brought about the development of ATL Server. Tony gave a demonstration of ATL Server, but glossed over the details about whether it was COM based. Clearly Microsoft wanted to use the code developed in the PCWeek test, and wanted to present it as a C++ library. Rather than requiring developers to learn a new framework, they have clearly decided to use ATL which, as an ATL-devotee, I think is an excellent choice. ATL is a flexible and efficient template library whether you use it to write COM components, Win32 Applications (via the WTL extensions, see the Richard Grimes article on WTL Architecture at https://www.idevresource.com/com/library/articles/wtlarch.asp ) or, in this case, web applications.

So what is ATL Server? Apparently, it is a template library used to create high performance ISAPI DLLs. Provided as part of the library is code to perform thread pooling, caching, performance monitoring and cookie management as well as extensions to allow integration with SMTP, message queuing and cryptography.

In Tony's example, the HTML page was based on a 'template' file called an SRF file. This appeared to have HTML tags with embedded directives delimited with double braces ({{ and }}). These directives could call functions implemented by the ATL Server ISAPI and it also appeared to support a simple 'scripting'-like language (with features like looping). However, Tony was clear to point out that this was not scripting (unlike ASP which requires a scripting engine) but instead was implemented via ATL-like maps within the ISAPI. This architecture gave the dual advantages of providing raw compiled C++ power without the C++ programmer having to write code with piles of embedded HTML strings.

Tony also demonstrated some other new features of this new technology that Microsoft are developing. Firstly, he explained that the new version of IIS would allow Visual Studio to attach to it as a debugger to debug an ISAPI and then detach without shutting down the entire service. Currently ISAPI developers have no choice: when they stop the debugger attached to IIS the service is stopped.

The other interesting feature was the new attributes that Visual Studio will support. Strictly speaking C++ attributes are not a newly announced feature - to my knowledge they had their first public outing at the Denver PDC in 1998. Attributes are placed in C++ code enclosed within square brackets and they indicate that the compiler should insert code in place of them. When attributes were shown at the PDC it was explained that they would generate ATL code and could be used for all kinds of code including the automatic generation of class factories and IUnknown code. However Tony Goodhew gave no indication about what code attributes generated in Visual Studio and the only attribute he was willing to demonstrate showed how attributes could be used to perform data binding to an OLE DB data source. The code had no references to ADO, nor OLE DB, it merely had the attribute.

Clearly the next version of Visual Studio will be packed full of new features and although everyone at Microsoft remains tight-lipped on the release date, the publicity process has started with the disclosure of new VB features at VBits (https://msdn.microsoft.com/vstudio/nextgen/) and ATL Server at VCDC and DevWeek. You can be assured that more information will be released at future conferences and technical briefings and that we at iDevResource will make sure that you are kept up to date with the news as it happens.


Mail a question to the author!!

As part of the IDevResource commitment to Open Publishing, all of our authors are available to answer all of your trickiest questions at Author Central. For information about the authors, or to mail a question, visit them at Author Central.

Did you like this article?

If you liked this article, tell us about it. You can email your remarks to us at [email protected]

Have your say about the article. You can make your point about the article by mailing [email protected] (If you haven't allready joined, you can join by going to onelist.com/community/dev-com).

Want to read more articles by this author?

Try these:

Byte size articles:

ATL Server By Richard Grimes, 220200
Richard's report from European Devweek 2000, and VCDC Bonn 2000 gives an insight into the new ATL Server technology.
Go To Article.

COM and Apartments By Richard Grimes, January 7th 2000
A discussion on the creation and use of "Apartments" in Win32.
Go To Article.

An Introduction to WTL By Richard Grimes, January 7th 2000
Richard gives a basic introduction to WTL.
Go To Article.

An Introduction to Interface Programming By Richard Grimes, January 7th 2000
Richard describes the background to interfaces.
Go To Article.

Full size articles:

What is Async COM? By Richard Grimes.
Go To Article

Microsoft Transaction Server By Richard Grimes, December 9th 1999
Introduces Microsoft Transaction Server
Go To Article.

What COM is all about By Richard Grimes, December 6th 1999
An introductory article to COM, covering all basics including OLE, Activex and DLL's.
Go To Article.

Further Reading:

  1. Microsoft Transaction Server By Richard Grimes, introduces Microsoft Transaction Server
  2. What COM is all about By Richard Grimes, an introductory article to COM, covering all basics including OLE, Activex and DLL's.
  3. String Binding Moniker By Frank Rem, shows how a SB Moniker resolves a connection with a DCE RP server running on Linux using a VB client.
  4. Inside COM Monikers By Davide Marcato, on COMdeveloper.com. monikers are still one of the most clever but at the same time most misunderstood idioms in the COM universe. Davide explains them.

More ByteSize articles:

'ILoveYou' By Richard Grimes, 200500
Richard Grimes discusses the release of the Microsoft patch for the 'ILoveYou' virus. Go To Article.

COM+ 2.0 - First Announcement of Microsoft's New Technology By Richard Grimes, 100500
Richard Grimes reports on the recent news about COM+ 2. Go To Article.

How to use DDX with WTL? By Girish Bharadwaj, 270300
Go To Article.

ATL Server By Richard Grimes, 220200
Richard's report from European Devweek 2000, and VCDC Bonn 2000 gives an insight into the new ATL Server technology.
Go To Article.

COM Threading Models By Gopalan Suresh Raj, 070200
Gopalan explains the differences in COM and Win 32 threading models.
Go To Article.

ActiveX & COM By Gopalan Suresh Raj, 270100
Gopalan explains the basics of ActiveX / COM as a truly distributed Object Oriented Architecture.
Go To Article.

Type Library Info, XML and a bit of XSL for fun! by Richard Anderson 121199
This article assumes you understand COM, Type Libraries, XML and enough about VB that you can either use the code as a starting point, or, translate it into another language.
Go To Article.
This article can be downloaded: Zip File (76kb).

COM and Apartments By Richard Grimes, 070100
A discussion on the creation and use of "Apartments" in Win32.
Go To Article.

What is WTL? By Richard Grimes, 070100
Richard gives a basic introduction to WTL.
Go To Article.

An Introduction to Interface Programming By Richard Grimes, 070100
Richard describes the background to interfaces.
Go To Article.

Some links on COM:

  1. https://www.microsoft.com/com/ Microsoft's COM pages
  2. COMdeveloper.comVisit the COMdeveloper Web site for news items, articles, master classes, book reviews, a listserv, competitions, and a newsletter on COM, DCOM, ATL, and COM+ for VB, Java, and C++ developers.
  3. Chappell & Associates Visit the site hosted by Chappell & Associates to learn more about their seminars, videos, and articles on distributed computing, objects, and more.
  4. Codemarine, Inc. Visit the CodeMarine Web site to find information about in-depth COM training, mentoring, and consulting offerings.
  5. DevelopMentor Visit the CodeMarine Web site to find information about in-depth COM training, mentoring, and consulting offerings.


Author Bio:

Author: Richard Grimes

Richard Grimes started programming aeons ago on 8-bit computers and hasn't looked back since. He has spent an interesting time as a research scientist (the little known "Grimes Effect" is his creation), underpaid time as a computer trainer and done time as a distributed object developer.

ATL took hold of Richard while he was part of a team developing a COM-based workflow system and its elegance and simplicity has had a lasting effect on him. Although his is not an obsessively pure COM existence, he finds that an ATL-assisted COM lifestyle gives him more time to enjoy his garden.

Go to Richards pages in Author Central.


Power your site with idr newswire

Contribute to IDR:

To contribute an article to IDR, a click here.

To contact us at IDevResource.com, use our feedback form, or email us.

To comment on the site contact our webmaster.

Promoted by CyberSavvy UK - website promotion experts

All content © Copyright 2000 IDevResource.com, Disclaimer notice



Visit the IDR Forums

WTL Architecture by Richard Grimes

Java COM integration

Code Project