Faithful readers will remember that my Oct. 12, 2006 editorial, “Application Server or Database Server?” posed two questions that I thought might be provocative. First, “When is a database not a database?” and second, “Where does SQL Server the database start and SQL Server the application server end?” I have to admit, I thought that the thesis I presented in the article was cutting edge and sure to inspire teeth gnashing among database purists. Imagine my disappointment when I learned that two highly regarded SQL Server professionals have already tackled the subject. Both are among the smartest database folks that I know, and trust me, I know a lot of very smart database professionals.
Microsoft’s David Campbell is a Technical Fellow responsible for SQL Server strategy and architecture. In September 2005, Campbell wrote a paper for the Association of Computing Machinery (ACM) outlining the same thesis I talked about in my commentary. You can read the paper, “Service Oriented Database Architecture: App Server-Lite?”
The paper’s abstract is a good summary of Campbell’s message:
“As the capabilities and service levels of enterprise database systems have evolved, they have collided with incumbent technologies such as TP-Monitors or Message Oriented Middleware (MOM). We believe this trend will continue and have architected the upcoming release of SQL Server to advance this technology trend. This paper describes the Service Oriented Database Architecture (SODA) developed for the Microsoft SQL Server DBMS. First, it motivates the need for building Service Oriented Architecture (SOA) features directly into a database engine. Second, it describes a set of features in SQL Server that have been designed for SOA use. Finally, it concludes with some thoughts on how SODA can enable multiple service deployment topologies.”
In January 2006, Don Kiely, an MVP, MCSD, and senior technology consultant with a security development focus, wrote a supporting white paper for Microsoft about the same topic. You can read the white paper, “How SQL Server 2005 Enables Service-Oriented Database Architectures,” at http://www.microsoft.com/technet/prodtechnol/sql/2005/sqlsoda.mspx . Kiely’s conclusion to the paper nicely summarizes his main points:
“Service-Oriented Database Architecture allows SQL Server to play a significant role in the development of applications based on loosely coupled, service-oriented architecture. SQL Server 2005 includes the Web service access, database change notification, transactional middleware, and integrated SQLCLR features because such features are an efficient way to implement a service program in an SOA application. Other database engines integrate with such features. However, including them directly in the database engine takes advantage of the SQL Server native ability to manage data and support a variety of methods of scaling up and out, as well as a variety of computing topologies. All of the features described in this paper can be used independently. However, when used together in a service program, they form a synergistic platform that can be used to create independent and autonomous service components.”
Campbell’s original article for ACM has an academic slant and is more conceptual than product specific. Kiely’s Microsoft white paper is a practical application of the concepts that Campbell explores as they apply to SQL Server 2005 and includes illustrations of how SQL Server 2005 can fit into a service-oriented architecture as a full SOA node in its own right.
Despair quickly set in as I realized that I wasn’t the cutting-edge thinker that I fancied myself. I was simply following in the footsteps of two incredibly talented SQL Server and database professionals who I admire and respect. There would be no pensive bronze statue titled “Brian” by the offspring of Rodin. A lesser industry pundit might have remained discouraged. But not I! No, I didn’t come up with the idea first, but I suppose my thesis concerning SQL Server’s potentially morphing role into an application server weren’t as crazy as I originally thought. In fact, if brilliant people like Campbell and Kiely thought the ideas were relevant and I came up with the same ideas, then perhaps I, too, am brilliant? Yes, that’s the ticket! I might be a year behind, but I’m brilliant!
All joking aside, I strongly encourage you to read the full ideas, without my rambling accompaniment. Both articles are a good read and will open your mind to new ways of tackling the question “When is a database not a database?”