Subject: comp.client-server Frequently Asked Questions
Supersedes: <client-server-faq-1-824740350@aplcomm.jhuapl.edu>
Date: 18 Mar 1996 13:33:49 GMT
Summary: This posting contains a list of Frequently Asked Questions 
. about Client/Server Computing.  Please read it before you 
 . post questions to the comp.client-server newsgroup.

Posted-By: auto-faq 3.1.1.2
Posting-frequency: Monthly, on the 17th 

Client/Server Frequently Asked Questions  

Information about this document
 
Contained below is a list of commonly asked questions in
comp.client-server. Before posting a question to comp.client-server,
check to see if your question(s) are already answered below.

Additional questions (and answers!) may be emailed to:

        cs-faq@aplcomm.jhuapl.edu

Vendors of client/server products and services are welcome to submit
*brief* summaries of their offerings for inclusion in a separate portion
of this FAQ.  A single paragraph which includes pointers to additional
information (www, ftp, email, or voice telephone) is welcome.

The most recent (authoritative) version of this FAQ is always available at:

  http://www.abs.net/~lloyd/csfaq.txt

In addition, this FAQ is archived at many sites, including the
following. Any site which mirrors "rtfm.mit.edu" should have a current
copy as well. If you did not receive the entire posting, please check
here:

  ftp://ftp.uu.net/usenet/news.answers/client-server-faq.Z
  ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/client-server-faq


-- Lloyd Taylor
   comp.client-server FAQ maintainer
   Public Key:  finger Lloyd.Taylor@jhuapl.edu@publickey.com
   Home Page: <http://www.wp.com/Lloyd.Taylor>
   
----------------------------------------------------------------------

Subject: Table of Contents

Comp.Client-Server Frequently Asked Questions List
Last Revision: 2/19/96

Part 1: Introduction and Miscellaneous questions

1.1   What archives/FTP sites carry client-server related material?


Part 2: Client/Server Definitions

2.1   What is Client-server Computing?
2.2   What is a Client Process?
2.3   What is a Server Process?
2.4   What is a Two-Tier Architecture?
2.5   What is a Three-Tier Architecture?
2.6   What is Middleware?
2.7   What is Cooperative Processing? 
2.8   What is Distributed Processing? 


Part 3:  Client/Server Technical Issues

3.1   What are the characteristics of a Client/Server architecture?
3.2   What are the different types of Servers?
3.3   What are the different client/server processing styles?
3.4   What is Distributed or Remote Presentation?
3.5   What is Remote Data Management?
3.6   What is Distributed Function Processing?
3.7   What is IBM's System Application Architecture?
3.8   What is APPLE's VITAL architecture?
3.9   What is Sun's Open Network Computing Architecture?
3.10  What is Digital's Network Application System (NAS) architecture?
3.11  What is OSF-DCE?
3.12  What are DOMS (Distributed Object Management Systems)?
3.13  What is CORBA?
3.14  What is DAE?


Part 4:  Client/Server Business Issues

4.1   Business-Focused Client/Server Architecture
4.2   Client/Server Business Application Architectures
4.3   Business Drivers
4.4   Business Benefits
4.5   What does business expect from IT?
4.6   What is Business Process Reengineering?


Part 5: Books and Articles on Client/Server computing

5.1   Introductory/Overview Books
5.2   Detailed Technical Books
5.3   Other Books


Part 6: Vendor Information

6.1   Middleware Vendors
6.2   Test Software Vendors
6.3   Development Tool Vendors
6.4   Other Client/Server Vendors


------------------------------

Subject: 1.1  What sites carry client-server related material? 
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

Object Management Group archives:
    ftp://omg.org

OSF/DCE FAQ
    http://www.osf.org:8001/dce/faq-mauney.html
    ftp://ftp.dstc.edu.au/pub/DCE/FAQ

Standards Acronyms:
    ftp://rtfm.mit.edu/pub/usenet/news.answers/standards-faq

------------------------------ 

Subject: Part 2: Definitions

------------------------------ 

Subject: 2.1  What is Client-server Computing?
From: Steve Hultquist <ssh@vnet.ibm.com>

The short answer:

Client/server is a computational architecture that involves client processes
requesting service from server processes.

The long answer:

Client/server computing is the logical extension of modular programming.
Modular programming has as its fundamental assumption that separation of
a large piece of software into its constituent parts ("modules") creates
the possibility for easier development and better maintainability.
Client/server computing takes this a step farther by recognizing that
those modules need not all be executed within the same memory space.
With this architecture, the calling module becomes the "client" (that
which requests a service), and the called module becomes the "server"
(that which provides the service).

The logical extension of this is to have clients and servers running on
the appropriate hardware and software platforms for their functions.
For example, database management system servers running on platforms
specially designed and configured to perform queries, or file servers
running on platforms with special elements for managing files.

It is this latter perspective that has created the widely-believed myth
that client/server has something to do with PCs or Unix machines.

------------------------------ 

Subject: 2.2 What is a Client process?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

The client is a process (program) that sends a message to a server
process (program), requesting that the server perform a task (service).
Client programs usually manage the user-interface portion of the
application, validate data entered by the user, dispatch requests to
server programs, and sometimes execute business logic. The client-based
process is the front- end of the application that the user sees and
interacts with. The client process contains solution-specific logic and
provides the interface between the user and the rest of the application
system. The client process also manages the local resources that the
user interacts with such as the monitor, keyboard, workstation CPU and
peripherals. One of the key elements of a client workstation is the
graphical user interface (GUI).   Normally a part of operating system
i.e. the window manager detects user actions, manages the windows on the
display and displays the data in the windows.

------------------------------ 

Subject: 2.3 What is a Server process?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

A server process (program) fulfills the client request by performing the 
task requested. Server programs generally receive requests from client 
programs, execute database retrieval and updates, manage data integrity 
and dispatch responses to client requests. Sometimes server programs 
execute common or complex business logic. The server-based process 
"may" run on another machine on the network. This  server could be the 
host operating system or network file server; the server is then provided 
both file system services and application services. Or in some cases, 
another desktop machine provides the application services. The server 
process acts as a software engine that manages shared resources such as 
databases, printers, communication links, or high powered-processors. The 
server process performs the back-end tasks that are common to similar 
applications.  

------------------------------ 

Subject: 2.4 What is a Two-Tier Architecture?
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

A two-tier architecture is where a client talks directly to a server,
with no intervening server.  It is typically used in small environments
(less than 50 users).

A common error in client/server development is to prototype an
application in a small, two-tier environment, and then scale up by
simply adding more users to the server.  This approach will usually
result in an ineffective system, as the server becomes overwhelmed.  To
properly scale to hundreds or thousands of users, it is usually
necessary to move to a three-tier architecture.

------------------------------ 

Subject: 2.5 What is a Three-Tier Architecture?
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

A three-tier architecture introduces a server (or an "agent") between
the client and the server.  The role of the agent is manyfold.  It can
provide translation services (as in adapting a legacy application on a
mainframe to a client/server environment), metering services (as in
acting as a transaction monitor to limit the number of simultaneous
requests to a given server), or intellegent agent services (as in
mapping a request to a number of different servers, collating the
results, and returning a single response to the client.

------------------------------ 

Subject: 2.6 What is Middleware?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

Connectivity allows applications to transparently communicate with other 
programs or processes, regardless of their location.  The key element of 
connectivity is the network operating system (NOS). NOS provides 
services such as routing, distribution, messaging, file and print, and 
network management services.  NOS rely on communication protocols to 
provide specific services. The protocols are divided into three groups: 
media, transport and client-server protocols. Media protocols determine 
the type of physical connections used on a network (some examples of 
media protocols are Ethernet, Token  Ring, Fiber Distributed Data 
Interface (FDDI), coaxial and twisted-pair). A transport protocol provides 
the mechanism to move packets of data from client to server (some 
examples of transport protocols are Novell's IPX/SPX, Apple's AppleTalk, 
Transmission Control Protocol/ Internet Protocol (TCP/IP), Open Systems 
Interconnection (OSI) and Government Open Systems Interconnection 
Profile(GOSIP)).  Once the physical connection has been established and 
transport protocols chosen, a client-server protocol is required before the 
user can access the network services. A client-server protocol dictates the 
manner in which clients request  information and services from a server 
and also how the server replies to that request (some examples of client-
server protocols are NetBIOS, RPC, Advanced Program-to-Program 
Communication (APPC), Named Pipes, Sockets, Transport Level Interface 
(TLI) and Sequenced Packet Exchange (SPX)).

------------------------------ 

Subject: 2.7 What is Cooperative Processing?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

Cooperative processing is computing which requires two or more distinct 
processors to complete a single transaction.  Cooperative processing is 
related to both distributed and client/server processing. It is a form of 
distributed computing where two or more distinct processes are required to 
complete a single business transaction. Usually, these programs interact 
and execute concurrently on different processors. Cooperative processing 
can also be considered to be a style of client/server processing if 
communication between processors is performed through a message 
passing architecture. 

------------------------------ 

Subject: 2.8 What is Distributed Processing?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

The distribution of applications and business logic across multiple 
processing platforms.  Distributed processing implies that processing will 
occur on more than one processor in order for a transaction to be 
completed. In other words, processing is distributed across two or more 
machines and the processes are most likely not running at the same time, 
i.e. each process performs part of an application in a sequence. Often the 
data used in a distributed processing environment is also distributed across 
platforms.

------------------------------ 

Subject: Part 3: Client/Server Technical Issues

------------------------------ 

Subject: 3.1 What are the characteristics of client/server architecture?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

The basic characteristics of client/server architectures are:

1) combination of a client or front-end portion that interacts with the user, 
and a server or back-end portion that interacts with the shared resource. 
The client process contains solution-specific logic and provides the 
interface between the user and the rest of the application system. The 
server process acts  as a software engine that manages shared resources 
such as databases, printers, modems, or high powered processors. 

2) the front-end task and back-end task have fundamentally different 
requirements for computing resources such as processor speeds, memory, 
disk speeds and capacities, and input/output devices. 

3) the environment is typically heterogeneous and multivendor. The 
hardware platform and operating system of client and server are not 
usually the same.Client and server processes communicate through a 
well-defined set of standard application program interfaces (API's) and 
RPC's.

4) An important characteristic of client-server systems is scalability. They 
can be scaled horizontally or vertically. Horizontal scaling means adding 
or removing client workstations with only a slight performance impact. 
Vertical scaling means migrating to a larger and faster server machine or 
multiservers.

------------------------------ 

Subject: 3.2 What are the  different types of servers?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

The simplest form of servers are disk servers and file servers. With a file 
server, the client passes requests for files or file records over a network to 
the file server. This form of data service requires large bandwidth and can 
slow a network with many users down considerably. Traditional LAN 
computing allows users to share resources, such as data files and 
peripheral devices, by moving them from standalone PCUs onto a 
Networked File Server (NFS).

The more advanced form of servers are database servers, transaction 
server and application servers (Orfali and Harkey 1992). In database 
servers, clients passes SQL (Structured Query Language) requests as 
messages to the server and the results of the query are returned over the 
network. The code that processes the SQL request and the data resides on 
the server allowing it to use its own processing power to find the requested 
data, rather than pass all the records back to a client and let it find its own
data as was the case for the file server. In transaction servers, clients 
invoke remote procedures that reside on servers which also contains an 
SQL database engine. There are procedural statements on the server to 
execute a group of SQL statements (transactions) which either all succeed 
or fail as a unit. The applications based on transaction servers are called 
On-line Transaction Processing (OLTP) and tend to be mission-critical 
applications which require 1-3 second response time, 100% of the time 
and require tight controls over the security and integrity of the database.  
The communication overhead in this approach is kept to a minimum as the  
exchange typically consists of a single request/reply (as opposed to 
multiple SQL statements in database servers). Application servers are not 
necessarily database centered but are used to server user needs, such as. 
download capabilities from Dow Jones or regulating a  electronic mail 
process. Basing resources on a server allows users to share data, while 
security and management services, which are also based in the server, 
ensure data integrity and security. 

------------------------------ 

Subject: 3.3 What are the different client/server processing styles?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

Gartner group came out with the five ways of describing the different c/s 
styles based on how they split the three components of any application: 
user interface, business or application logic, data management. The five 
styles are distributed presentation, remote presentation,  distributed 
function, remote data management, and distributed data management.

(Note: This is an arbitary classification and others may do it differently)

------------------------------ 

Subject: 3.4 What is distributed or remote presentation?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

For people whose roots are embedded in the mainframe IBM world, 
client-server is  essentially distributed or remote presentation. This style 
maps a workstation Graphical User Interface (GUI)  front end onto an 
existing application's text-based screen. This   is also called Remote, 
Mapping, Front-ending or HLLAPI (High-Level Language Application 
Programming Interface). The  mode of operation is typically intelligent 
workstations intercepting and interrogating text-screen (e.g. 3270) data 
streams sent from a host for display in a windowed environment.This is   
"frontware" solution, where a GUI front end is added to an IBM/MVS 
3270/5250 application and is placed on a workstation.   However, most 
processing remains on the host or server, with the exception of user 
interface translation logic and possibly validation logic.  For example,  
data from an application program is sent to a 3270 screen program on the 
mainframe to be displayed. The  merged data is sent to the workstation as 
a 3270 data stream.The workstation interprets the data and converts it to 
graphical form in a window. (Typically every mainframe screen used by 
the application has a corresponding window on the workstation and vice 
versa). When the user enters the data in a GUI window, it is transformed 
by the frontware application into a corresponding 3270 data format and is 
sent to the host computer. 

------------------------------ 

Subject: 3.5 What is Remote Data Management?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

In remote data management, the entire application resides on the client and 
the data managment is located on a remote server/host.   Remote Data 
Management is relatively easily to program for because there is just one 
application program. The client communicates with the server using SQL, 
the server then responds with data that satisfies the query.  RDBMS 
products that offer remote data management provide a layer of software on 
the client to handle the communication with the DBMS server.This style 
represents a more traditional LAN database server or file server approach. 
Workstations support the presentation and function logic and interface 
with the data server through the data manipulation language.Distributed 
data management is an extension of remote data management and uses the 
distributed facilities of the DBMS to access distributed data in a manner 
transparent to users. This is most relevant for architectures having data 
spread  across  several servers and when access to a DBMS on another 
server is required.

------------------------------ 

Subject: 3.6 What is distributed function processing?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

Here the split occurs in the application functionality, one part going to the 
client, other to the server. Distributed function applications are the most 
complex of the three typologies  since two separately compiled application 
programs must be developed.  Developers must analyze where each 
function should reside and what type of dialog must occur between the 
two programs. The underlying communications facilities may implement 
either a message-based or remote procedure call (RPC) mechanism for 
transfer of dialog and data.  However, there are many variants of this 
typology. One variant of the distributed function style is where data 
management and application function occur at both the client and server. 
In this instance, data management at the client would include referential, 
read-only data. Data frequently updated or accessed by many users would 
reside on the server.

------------------------------ 

Subject: 3.7 What is IBM's System Application Architecture?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

SAA is a collection of selected software interfaces, conventions, and 
protocols that are used as a framework for developing consistent, 
integrated applications across the major IBM computing environments.

Four major components of this architecture are:
 - Common User Access (CUA) defines conventions for GUI look and feel.
 - Common Programming Interface (CPI) provides languages, tools, and 
   APIs that give applications greater portability and more consistent user 
   interfaces across multiple platforms. 
 - Common Communication Support (CCS) supports existing 
   communications standards, such as LU 6.2. 
 - Common Applications, written by IBM, will serve as demonstrations of 
   SAA concepts and make it easy for users to migrate between systems. 
 
------------------------------ 

Subject: 3.8 What is APPLE's VITAL architecture?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

VITAL provides a way of building information systems constructed from 
generalized modules that can be reused and shared.It specifies how to 
construct and provide interfaces for these modules. A cornerstone of 
Apple's client/server architecture is Data Access Language (DAL).  DAL 
consists of software components for the client and the server (Macintosh 
System 7 includes the client component, DOS and Windows clients are 
sold separately).  DAL sits between the client and server components.  
This approach allows varied clients to communicate with many different 
servers.  With DAL, a change in the DBMS does not affect the front-end; 
it simply requires the appropriate DAL link.
 
------------------------------ 

Subject: 3.9 What is Sun's Open Network Computing Architecture?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

Open Network Computing (ONC) is the Sun architecture, with third party
alliances providing the missing pieces.  Sun's RPC is licensed by more
than 300 companies, including DEC, IBM, and Apple Computer.  It is a
lean, efficient  RPC that is particularly effective for installations
not requiring WAN support.  Transport Independent Remote Procedure
Calls (TI-RPC) were co-developed by Sun and AT&T.  TI-RPC runs
independent of the underlying network transport, allowing applications
to run unmodified over multiple transport protocols including NetWare,
PCNFS, AIX/6000, Solaris, UNIX/SVR4, AIX/ESA.  NetWise developed the
TI-RPC Application Toolkit source code generation technology.
NetManage developed ONC RPC-Dynamic Link Library, an implementation of
RPC/XDR under windows 3.0.  NobleNet also provides an implementation.

------------------------------ 

Subject: 3.10 What is Digital's Network Application System (NAS) architecture? 
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

NAS is a software suite that enables applications to be integrated across a 
distributed network of multivendor systems: NAS services are divided 
into four main groups:
 - Application Access Services which support user interface (forms based, 
   graphical or character terminal based)
 - Communication and Central services which support communications 
   using electronic mail and EDI
 - Information and resource sharing, which supports database access and 
   compound documents (collection of images, graphics and conventional 
   text)
 - System Access services which provides a standard operating system 
   interface.

------------------------------ 

Subject: 3.11 What is OSF-DCE?
From: Jon Mauney <mauney@jtec.mauney.com>

(Extracted, with permission, from the DCE FAQ, available at
http://www.osf.org:8001/dce/faq-mauney.html)

DCE is the Distributed Computing Environment, from the Open Software
Foundation. (It is called "the DCE" by sticklers for grammatical
consistency.)

DCE consists of multiple components which have been integrated to work
closely together.  They are the Remote Procedure Call (RPC), the Cell
and Global Directory Services (CDS and GDS), the Security Service, DCE
Threads, Distributed Time Service (DTS),and Distributed File Service
(DFS).  The Threads, RPC, CDS, Security, and DTS components are
commonly referred to as the "secure core" and are the required
components of any DCE installation.  DFS is an optional component.

DCE is called "middleware" or "enabling technology."  It is not
intended to exist alone, but instead should be integrated or bundled
into a vendor's operating system offering.  DCE's security and
distributed filesystem, for example, can completely replace their
current, non-network, analogs.

------------------------------ 

Subject: 3.12 What are Distributed Object Management Systems (DOMS)?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu> 

DOMS provide a way of pulling diverse components together and 
managing their communications. They are aimed at addressing the 
following: 
 - A single interface to manage the complexities of a heterogeneous         
   environment 
 - A uniform framework, based on standards and extensibility, to build,     
   integrate, and deploy open distributed-computing applications
 - A method for creating location independence for client applications.

------------------------------ 

Subject: 3.13 What is CORBA?
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

CORBA stands for the Common Object Request Broker Architecture.  It is a
set of standard mechanisms for naming, locating, and defining objects in
a distributed computing environment.
 
(For technical details, peruse the Object Management Group ftp site at 
ftp://omg.org)

------------------------------ 

Subject: 3.14 What is DAE?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

Distributed Application Environment is  designed to allow businesses to 
use IBM's RISC System/6000 and PS/2 computers in a client/server 
network (or standalone) for their business applications.  DAE consists (1)  
MESSAGING services; (2) DATABASE services ; (3)  PRESENTATION 
services; (4)  DEVICE services to capture data and to control a broad  
category of controllers, devices, equipment and sensors.  
 
------------------------------

Subject: Part 4:  Client/Server Business Issues

------------------------------

Subject: 4.1 Business-Focused Client/Server Architecture
From: Bernard Robertson-Dunn <brd@netinfo.com.au>

When analysing a business there are three views of the organisation:

- A functional model, which reflects organisational responsibilities
and the way in which the people who use the system view their work.

- A process model, which details the business functions of the
organisation (eg accept orders, make goods, deliver goods, bill
customers, receive money).  The functional structure and process model
rarely, if ever, agree.

- An information model, which details the information that the
organisation needs to function.

------------------------------

Subject: 4.2. Client/Server Business Application Architectures
From: Bernard Robertson-Dunn <brd@netinfo.com.au>

Traditional applications architectures have been based on function.
Today, to meet the needs of the business an application architecture
should reflect the complete range of business requirements.

Therefore, client/server computing demands a three layer view of the
organisation.  (This is the mysterious three tiered client/server
model)

1 The user interface layer, which implements the functional model

2 The business function layer, which implements the process model

3 The data layer, which implements the information model

It should be noted that this application architecture does not demand
multiple hardware platforms, although such technology can be utilised,
if the environment is robust and reliable enough and the business is
prepared to pay the additional costs associated with workstation and
LAN technology.

------------------------------

Subject: 4.3  Business Drivers
From: Bernard Robertson-Dunn <brd@netinfo.com.au>

Client/server computing has arisen because of a change in business
needs.  Businesses today need integrated, flexible, responsive and
comprehensive applications to support the complete range of business
processes.

Problems with existing systems include: 
- applications were developed to model vertical applications 
- applications were built in isolation 
- applications were implemented as monolithic systems 
- applications were complex 
- the supporting technology was based on a centralised control model

Information technology, which is an enabling factor in systems
building, has almost reached the stage where these systems can be
designed and created. Unfortunately, most businesses have existing
systems based on older technology, which must be incorporated into the
new, integrated environment.

The development and implementation of client/server computing is more
complex, more difficult and more expensive than traditional, single
process applications. The only answer to the question "why build
client/server applications?" is "because the business demands the
increased benefits.

------------------------------

Subject: 4.4  Business Benefits
From: Bernard Robertson-Dunn <brd@netinfo.com.au>

- There is a perceived need for vendor independence. This includes
  application development methodologies, programming paradigms, products
  and architectures.

- Organisation have changed from steep hierarchies to flattened
  hierarchies

- Network management is replacing vertical management

- There is a change to team based management

- The customer should have a single point of contact for all business
  with the organisation

- The customer should deal with the same person over multiple contacts.

- The user will perform as much processing as possible during customer
  contact time

- The time required to complete the work will be minimised

- There is a need for empowerment of staff and audit trail of actions

- Multi-skilled and multi-function teams need access to multiple
  applications

------------------------------

Subject: 4.5 What does business expect from IT?
From: Bernard Robertson-Dunn <brd@netinfo.com.au>

- New applications should be aligned with both the user's view and the
  business process view.  Existing functionally aligned systems are not
  appropriate

- Applications need to provide a consistent user interface

- Application complexity needs to be hidden

- The user interaction must be flexible

- Consistent information across all applications

- A variety of user interface styles to reflect the needs of the work

- Users should be able to modify business rules without reference to IT
  staff

- IT systems will support all activity performed by the user, not just
  a part

- An ability to evolve IT systems to reflect changing business
  requirements

- It is essential that there be integrity of transactional processes

------------------------------ 

Subject: 4.6 What is Business Process Reengineering?
From: Ravi Kalakota <kalakota@uts.cc.utexas.edu>

Reengineering is the organizational process required to align people, 
processes and technology with strategies to achieve business integration. It 
can also be thought of as taking a business in its current state and forming 
an organizational and operational blueprint to redirect skills, policies, 
information (data), cultural values, organizational structures, processing 
and incentives towards targeted improvements.

------------------------------ 

Subject:  Part 5: Books on Client/Server Computing

------------------------------ 

Subject: 5.1 Introductory/Overview Books
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

    AUTHOR:         Orfali, Robert, et. al.
    TITLE:          Essential Client/Server Survival Guide
    PUBLISHED:      New York : Van Nostrand Reinhold
    ISBN:           0-442-01941-6

    AUTHOR:         Berson, Alex
    TITLE:          Client-server architecture / Alex Berson.              
    PUBLISHED:      New York : McGraw-Hill, c1992.                         
    SERIES:         J. Ranade series on computer communications            
    ISBN:           0070050767 
                     
    AUTHOR:         Smith, Patrick.
    TITLE:          Client/server computing
    PUBLISHED:      Carmel, Ind. : SAMS, c1992.                        
    SERIES:         Professional reference series.            
    ISBN:           0672300656

------------------------------ 

Subject: 5.2 Detailed Technical Books
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

    AUTHOR:         Orfali, Robert, Dan  Harkey.  
    TITLE:          Client/server programming with OS/2 2.0  
    PUBLISHED:      New York : Van Nostrand Reinhold, c1992.  
    SERIES:         VNR computer library 
    ISBN:           0442012195

    AUTHOR:         Dewire, Dawna Travis
    TITLE:          Client/server computing 
    PUBLISHED:      New York : McGraw-Hill, c1993.                
    SERIES:         James Martin/McGraw-Hill productivity series  
    ISBN:           007016732X

    AUTHOR:         Renaud, Paul E., 1957-  
    TITLE:          Introduction to client/server systems : a practical 
                    guide for systems professionals / Paul E. Renaud.
    PUBLISHED:      New York : Wiley, c1993.
    SERIES:         Wiley professional computing
    ISBN:           0471577731;   047157774X (pbk.)

------------------------------ 

Subject: 5.3 Other Books
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

    AUTHOR:         Baker, Richard H.
    TITLE:          Networking the enterprise : how to build client/server 
                    systems that work                              
    PUBLISHED:      New York : McGraw-Hill, c1994
    SERIES:         McGraw-Hill series on computer communications
    ISBN:           0070050899 :  0070050902 (PBK)
    
    AUTHOR:         Khanna, R. (Editor)
    TITLE:          Distributed Computing: Implementation and
                    Management Strategies
    PUBLISHED:      New Jersey: Prentice Hall, c1994
    ISBN:           0-13-220138-0
    
    AUTHOR:         Inmon, William H.                           
    TITLE:          Developing client/server applications
    PUBLISHED:      Boston : QED Pub. Group, c1993.            
    ISBN:           0894354582
        
    AUTHOR:         Boar, Bernard H., 1947-
    TITLE:          Implementing client/server computing : a strategic 
                    perspective
    SERIES:         McGraw-Hill systems design & implementation 
    ISBN:           0070062153
    
------------------------------ 

Subject: Part 6: Vendor Information

Vendors may submit information for possible inclusion in this section to
cs-faq@aplcomm.jhuapl.edu.  Please limit your submission to one
paragraph, and include contact information.  If you want to be taken
seriously by the readership of comp.client-server, it is strongly
suggested that you include a pointer to your WWW page.  If you don't
have one, get one.

No endorsement is to be inferred from inclusion in the CS-FAQ.

------------------------------ 

Subject: 6.1  Middleware Vendors
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

=======

NobleNet specializes in providing high quality middleware tools for
client-server development. Our premier product is EZ-RPC, an RPC
precompiler tool kit that includes our enhanced XDR (packaged as an
IDL), precompiler, and various libraries. EZ-RPC is available on more
than 40 platforms, including most UNIXes, most Windows, Macs, Vms,
OS/2, and several others. We also publish a Windows rpcgen and
distribute the IONA coporation's Orbix Object Request Broker
development toolkit.  A new product, a distributed two-tier ODBC driver
SDK, is available for those working with databases. We provide free
evaluation copies of EZ-RPC to qualified programmers.  For more
information, contact NobleNet, Inc. at 508-460-8222, send email to
sales@noblenet.com, or browse <http://www.noblenet.com/>.  An EZ-RPC
mailing list is available. Subscribe by sending a message to
ezrpc-request@world.std.com with the single word "subscribe" in the
message body.

=======

Piccolo(tm), from Cornerstone Software, Inc. is a message-oriented
middleware product that provides application developers with peer-to-peer
connectivity without regard for the underlying communications transport
(i.e. TCP/IP, NetBios, Async).  Piccolo is supported on UNIX versions AIX,
SCO, HP-UX (HP9000/700 & 800), Tandem S2 Integrity, Solaris 2.1, and Silicon
Graphics (SGI).  It is also supported on Windows 3.x, Windows NT, and the
Tandem NonStop Kernel. Application developers use the Piccolo API to access
data and applications residing on any of the supported platforms on a
network.  The developers need no programming knowledge of the underlying
transport protocol.  For more information, point your Web browser to
http://www.corsof.com/, or E-mail piccolo@corsof.com, or call Piccolo Sales
at 603-595-7480.

=======

PIPES Platform, from PeerLogic, is message-oriented middleware that
provides the essential communications services for distributing
applications across the enterprise.  PIPES Platform's process-to-process
messaging allows development of applications with an asynchronous,
non-blocking, event-driven architecture.  A dynamic name service lets
you find at run-time and communicate with any application resource in
the PIPES Platform network. PIPES Platform automatically maintains
information on all PIPES Platform resources, even as machines and
applications are added or moved. Session management services provide
guaranteed message delivery, integrity, prioritization, sequencing,
dynamic re-routing, and error handling. PIPES Platform's cross-platform
and multiprotocol support provide a consistent communications interface
that allows developers to focus on business logic, not communications.
Contact  Jennifer Hart, Director, Product Marketing, 800-733-7601,
jhart@peerlogic.com

------------------------------ 

Subject: 6.2 Test Software Vendors
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

=======

EMPOWER/CS is load testing software for client/server applications. Load
testing is the process of analyzing the effect of many users on an
application. EMPOWER/CS listens to the traffic between a client and
server. It builds scripts that can be replayed with or without the
client devices. Scripts can be enhanced with C language to extend
captured activity and vary the data in queries and updates. EMPOWER/CS
charts the time each user must wait for his or her screen response
before an application is deployed. Performix, Inc., 8200 Greensboro
Drive, Suite 1475, McLean, VA 22102 (703)448-6606, (703)893-1939 (fax),
Email: info@performix.com

------------------------------ 

Subject: 6.3 Development Tool Vendors
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

=======

ICONIX Software Engineering, Inc. is the maker of ICONIX PowerTools,
CASE tools for object-oriented and structured development. ICONIX
offers a free white paper on combining OMT with Objectory for
client/server development, along with special offers and product
information about ICONIX PowerTools, by visiting the new ICONIX WWW
PowerPage site: <http://www.biap.com/iconix/>. For further information,
contact Alyse Rome, Director, New Media Marketing & Communications,
ICONIX.  Voice: 310-458-0092; email:  ICONIX@eworld.com.

=======

Unisys TransIT Open/OLTP Software is a suite of development tools and
runtime management software that provides transaction processing
extensions for Windows and Windows NT and UNIX based applications. 
Enterprises can quickly develop distributed and highly scaleable
business application systems, based on standard (X/Open and ISO)
high-level APIs, networks and protocols.  These applications can then
seamlessly blend the attributes of UNIX, Windows, Windows NT and
mainframe systems and can integrate and synchronize the many different
databases used on each of these platforms.  This Client/Server
middleware works with Microsoft or third party development tools and
includes the libraries for C, C++ or COBOL, plus Windows and Windows NT
Dynamic Link Libraries (DLLs).  The Windows and Windows NT support also
includes OLE point-and-click features for application development.  On
every platform, these tools enhance normal data access (e.g., ODBC or
SQL) capabilities with transaction processing, naming/location services
and the store and forward (queuing) of messages.  Runtime environments
are highly tunable with the ability to locate and/or replicate server
applications as desired without any impact to the client applications.
Likewise, server applications are immune to client changes due to new
platforms, applications or interfaces.  For more information, please
reference <http://www.unisys.com/>, or contact Phil Wimpenny via
telephone at +1-215-986-5765 or via email at wimpenny@po3.bb.unisys.com  
  
=======   
   
JYACC is the maker of JAM 7, a cross-platform tool for building
client/server and distributed applications. It consists of a graphical
screen painter, its own scripting language called JPL, a Visual Object
Repository to allow creation of complex objects that can be shared
across screens and updated through inheritance, 100's of C library
function calls, and various tools and utilities.  JAM applications can
run unmodified on more than 100 platforms and operating environments,
including DOS, MS-Windows, Motif, OS/2 Presentation Manager, Macintosh,
VAX/VMS, and virtually every implementation of UNIX, both in
character-mode and in Motif. JAM also integrates seamlessly with more
than twenty of the most popular RDMBS products, including native drivers
for Oracle, Sybase, Informix, ODBC, DB/2, and others.  JAM works with
the leading Transaction Monitors, including Tuxedo, so that developers
can create true Three-Tier applications.  For more information, please
reference: <http://www.jyacc.com>, Email: jazzin@jyacc.com,
Phone:800-458-3313 or 212-267-7722

=======

INTERSOLV is a leading provider of open client/server development
solutions.  INTERSOLV development solutions are available for
object-oriented development, open client/server development, software
configuration management and data warehousing.  Customers benefit from
INTERSOLVs common look and feel, broad coverage and rich functionality.
INTERSOLV, with annual revenues exceeding $120 million, has more than
375,000 product licenses at 16,000+ customer sites around the world.
The INTERSOLV World Wide Web site can be accessed at
http://www.intersolv.com/.

=======

CS/8000 is the first development system that seamlessly integrates
methodology, expert systems and client/server system architectures.
With CS/8000 you have all the tools you need to manage client/server
projects of any level of complexity. Use it to select your system
architecture, develop your project plan, and generate all of your
project documentation.  CS/8000 keeps you organized and keeps you on
track.  Learn more about Client/Server Connection by visiting us at
http://www.cscl.com or contacting us.  Voice:  914-241-9100 email:
cscl@cscl.com


------------------------------ 

Subject: 6.4 Other Client/Server Vendors
From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu>

=======

The IBM Client/Server Computing Unit maintains a web page at
http://www.csc.ibm.com dedicated to information related to client/server
computing.  It addresses both business and technical issues.
The business side includes a Consultant's Corner where there are articles
from industry experts.  The technical side includes a web demo of
IBM's Client/Server Advisor System and many client/server success
stories from around the world.  There is also a Client/Server Spotlight
section that contains a C/S Newsletter and information on other C/S
resources.  Suggestions on additional content are welcome.

=======

End of Client/Server FAQ

