[The Socrates Group]
[What's new?]
[About us]

The Services Model
A conceptual tool for the development of robust distributed systems

Successfully implementing client/server requires a high-level view of how the technology will impact your current organization. The Services Model categorizes technology into a hierarchical structure that clarifies the relationships and dependencies in a distributed computing system.

Each layer of the Services Model forms a stable base for the layer above, with the end user at the top of the structure. Obviously, the primary purpose of any system is to support the needs of its users.

We designed the Services Model over the course of many client/server consulting projects, and we believe it has saved projects from failure. We use the model in our seminars to clarify difficult concepts of client/server architectures, and we show how it applies to the evaluation and implementation of real-world projects.

For a brief description of the various layers and the names of some applicable commercial products, click on a layer or callout on the Services Model drawing. End User Solution Layers User Interface Application Glue Business Process Application Glue Data Access Database Glue Infrastructure Layers Data Management Operating Platform Enterprise Connectivity

The Services Model categorizes distributed computing technology into a coherently layered structure wherein each layer provides services to the layers above it.

End User

It's crucial to begin every project with the recognition that the entire system must serve the needs of the end users.


Solution Layers

The three layers below the user consist of application program logic. These layers are described separately because it is possible to simplify program logic and improve program maintainability by writing programs so that each type of program logic is written as a separate component.

User Interface

User Interface Services (UIS) consist of the application code that interacts with the user and controls data input, presentation, and navigation through the program.

Some UIS layer tools & technologies:

Visual Basic, PowerBuilder, SmallTalk, C++

Business Process

Business Process Services (BPS) include the program logic that performs some sort of process or computation such as calculating the price of a product or deciding whether to grant credit. It may operate on data from both the UIS and DAS layers.

Some BPS layer tools & technologies:

COBOL, C, C++, SmallTalk, Visual Basic, PowerBuilder

Data Access

Data Access Services (DAS) consist of the application logic that reads data from and writes data to files and databases.

Some DAS layer tools & technologies:

SQL, COBOL, C, C++, SmallTalk, Visual Basic, PowerBuilder

Application Glue

Application Glue (also known as "middleware") allows application components to be developed separately, to be executed individually, and to communicate using messages. There are three basic styles of Application Glue: messages, remote procedure calls, and distributed objects.

Some application glue products & technologies:

(1) Messaging style: Peerlogic Pipes, Covia Communications Integrator, IBM MQSeries;

(2) RPC style: OSF DCE RPC, OEC Entera, Transarc Encina, NetWise RPC, Gradient Technologies DCE, Seer DNA, Sun ONC TI RPC;

(3) Distributed object style: Microsoft COM/OLE, OMG CORBA, IBM SOM/DSOM, DEC Object Broker

Database Glue

Database Glue is the code that allows application programs to communicate easily with remote data management services.

Some database glue technologies:

ODBC, all database engine APIís

Infrastructure Layers

The bottom three layers enable the execution of distributed programs and are common to all application solutions. Components of the infrastructure layers are almost always purchased products.


Data Management

Data Management Services (DMS) are provided by database engines and complex file systems. They make it possible for programs to perform complex access data functions without undue complexity. Not all programs make use of DMS. For example, programs that operate directly on files will perform DMS functions within DAS logic.

Some DMS layer products:

Oracle, Sybase, Informix, SQL Server, DB/2

Operating Platform

Operating Platform Services (OPS) are provided by general-purpose computers and the operating systems that reside on them. The two primary OPS services are (1) program execution management services and (2) device and file I/O services.

Some OPS products & technologies:

All general-purpose mainframe, mini- and micro-computers, PCís & servers from IBM, DEC, Tandem, Intel, Sequent, etc. Operating systems like UNIX, DEC VMS, IBM MVS & OS/400, Tandem Guardian, Microsoft Windows, WindowsNT and MS-DOS.

Enterprise Connectivity

Enterprise Connectivity Services (ECS) enable the sending and receiving of messages between distributed programs. The ECS layer includes the network wiring and related hardware, and the communications protocols that flow between network components.

Some ECS products & technologies:

Novell NetWare, Banyan VINES, Microsoft LAN Manager, DEC Pathworks, IBM SNA, LU6, LU6.2, TCP/IP, SPX/IPX, bridges, routers, gateways, Token Ring, Ethernet, ATM, ISDN, Frame Relay.


The Services Model is a trademark of The Socrates Group, Inc. Other product and company names above are either trademarks or registered trademarks of their respective holders.

Copyright © The Socrates Group, 1997