Rockford Lhotka, his Blog entry "Middle-tier hosting: Enterprise Services, IIS, DCOM, Web services and Remoting" makes the effort to clearly define terminology used in "remoting" which is something that has to do with SOA---which is something that ultimately depends on XML technology and some kind of communication protocol. His whole story is here:
http://www.lhotka.net/WeBlog/
PermaLink.aspx?guid=a70aad9c-79fd-45cc-875f-00dfd3dc0fb6
And now the definitions:
-
Layer: "A logical grouping of similar functionality within an application. Often layers are separate .NET assemblies, though this is not a requirement."
-
Tier: "A physical grouping of functionality within an application. There is a cross-process or cross-network boundary between tiers, providing physical isolation and separation between them."
-
Application: "A complete unit of software providing functionality within a problem domain. Applications are composed of layers, and may be separated into tiers."
-
Service: "A specific type of application interface that specifically allows other applications to access some or all of the functionality of the application exposing the service. Often this interface is in the form of XML. Often this XML interface follows the Web services specifications."
It may be well to couple these definitions with Lhotka's article "The Fallacy of the Data Layer" here:
http://www.theserverside.net/articles/showarticle.tss?id=FallacyDataLayer
This is his assertion, "But I want to challenge this idea of a data layer. Over the past few months, in discussing service-orientation (SOA) as well as distributed object-oriented architecture, I have become increasingly convinced that the idea of a data tier, data layer or data storage layer is fundamentally flawed."