[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: Client/Server Frequently Asked Questions

This article was archived around: 17 Aug 1998 09:16:12 -0400

All FAQs in Directory: Root Directory
All FAQs posted in: comp.client-server, comp.object.corba
Source: Usenet Version

Posted-By: auto-faq Archive-name: client-server-faq Revision: 1.12 1998/08/17 13:15:27 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 lloyd@abs.net. If the question is of general interest, it may be added to the CS-FAQ. Questions that relate to specific client/server implementation issues may be answered in one or more of the books listed in the FAQ. If answers cannot be found there, consider posting your question to comp.client-server. Due to the volume of email I receive, I cannot respond to individual questions. 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 Home Page: <http://www.wp.com/Lloyd.Taylor> Changes since last release: Updated contact info for Talarian ---------------------------------------------------------------------- Subject: Table of Contents Client/Server Frequently Asked Questions List Last Revision: 8/17/98 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? 2.9 What is an "Intranet"? 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: http://www.omg.org/ DCE Questions and Answers: http://www.osf.org/dce/qna OSF/DCE FAQ http://www.osf.org/dce/faq-mauney.html ftp://ftp.dstc.edu.au/pub/DCE/FAQ Object-Oriented Links at Cetus (Germany) http://www.rhein-neckar.de/~cetus/software.html Client/Server Computing Page http://www.wenet.net/~jtmalone/ ------------------------------ 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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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: 2.9 What is an "Intranet"? From: Lloyd Taylor <Lloyd.Taylor@jhuapl.edu> The explosion of the World Wide Web is due to the world-wide acceptance of a common transport (TCP/IP), server standard (HTTP), and markup language (HTML). Many corporations have discovered that these same technologies can be used for internal client/server applications with the same ease that they are used on the Internet. Thus was born the concept of the "Intranet": the use of Internet technologies for implementing internal client/server applications. One key advantage of Web-based intranets is that the problem of managing code on the client is greatly reduced. Assuming a standard browser on the desktop, all changes to user interface and functionality can be done by changing code on the HTTP server. Compare this with the cost of updating client code on 2,000 desktops. A second advantage is that if the corporation is already using the Internet, no additional code needs to be licensed or installed on client desktops. To the user, the internal and external information servers appear integrated. A rapidly-disappearing disadvantage is that there is limited ability to provide custom coding on the client. In the early days of the Web, there were limited ways of interacting with the client. The Web was essentially "read-only". With the release of code tools such as Java and JavaScript, this limitation is no longer a major issue. ------------------------------ Subject: Part 3: Client/Server Technical Issues ------------------------------ Subject: 3.1 What are the characteristics of client/server architecture? From: Ravi Kalakota <kalakota@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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@uhura.cc.rochester.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. ------------------------------ Subject: 3.10 What is Digital's Network Application System (NAS) architecture? From: Ravi Kalakota <kalakota@uhura.cc.rochester.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/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@uhura.cc.rochester.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 web site at http://www.omg.org) ------------------------------ Subject: 3.14 What is DAE? From: Ravi Kalakota <kalakota@uhura.cc.rochester.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. 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@uhura.cc.rochester.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 AUTHOR: Linthicum, David TITLE: David Linthicum's Guide to Client/Server and Intranet Development PUBLISHED: Wiley, c1997. ISBN: 047117467X ------------------------------ 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, 2nd Edition PUBLISHED: New York : Wiley, c1996. SERIES: Wiley professional computing ISBN: 0471133337 ------------------------------ 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 lloyd@abs.net. 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; http://www.peerlogic.com/ ======= SmartSockets (tm), from Talarian Corporation, is a rapid application development toolkit which enables processes to communicate quickly, reliably, and securely across different operating system platforms, through the use of messages. The communicating processes can reside on the same machine, on a LAN, on a WAN, or anywhere on the Internet. SmartSockets is an industrial-strength package which takes care of network interfaces, guarantees delivery of messages, handles communication protocols, and deals with recovery after system/network failures. SmartSockets's programming model is built specifically to offer high-speed interprocess communication, scalability, reliability and fault tolerance. It supports a variety of communication paradigms including publish-subscibe, peer-to-peer, and RPC. Included as part of the package are graphical tools for monitoring and debugging your application. SmartSockets is available on most UNIX, OpenVMS, Windows 3.1, Windows 95, Windows NT, and OS/2. For more information, contact Kelly Bernardo at 650-965-8050 ext. 145. Also, visit our home page at http://www.talarian.com/, or E-mail info@talarian.com. ======= Entersoft Systems Corporation supplies NCR's TOP END (tm) Transaction Request Broker middleware. TOP END has been used by customers in banking, retail, telecomm and other industries to build some of the largest transaction processing systems connectiong 100s of nodes and up to 10,000s users. TOP END runs on Windows (all versions), UNIX, and legacy platform, and includes support for Java and Active/X applications. Entersoft is the sole supplier of TOP END on most platforms. Entersoft also provides add-on products for transaction processing, such as the TOP END-Tuxedo Message Gateway. Customers can contact Entersoft at http://www.entersoft.com or at 908-575-9100. Customers can also get additional TOP END information at NCR, at http://www.ncr.com/product/topend/index.htm. ------------------------------ 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 ======= Cornut Informatique provides a range of client/server products. CI-Link is a powerful middleware that connects SQL database with Macintosh and PC/Windows applications. Eclipse Query is an easy to use query tool for Macintosh and PC/Windows. Eclipse Report is graphical multi data source report generator. Eclipse Builder is C/S development environment for Macintosh and PC/Windows. Don't read our lips, try and judge. The Cornut Informatique Web site can be accessed at http://www.cornut.fr/. Frederic Bouquet, fbouquet@cornut.fr ======= MAGNA X from Magna Software Corporation provides a safe growth path to the open systems environments of the 1990's, a path that preserves and leverages your existing IS investment. MAGNA X is an open OLTP application development system that simplifies growth into the complex world of distributed computing involving PCs, UNIX servers, and mainframes. MAGNA X generates three-tier client/server TP systems, concentrating on the SERVER portion of distributed systems. Services are generated for UNIX and/or CICS/ESA; Windows NT support has been announced. Unlike competing 3-tier products, MAGNA X is strictly open. There is no run-time software. Industry-standard middleware (Encina, CICS, Tuxedo, Entera) is used for connectivity. Service programs are generated in COBOL and/or C++ (available late '96) and are fully compiled, efficient. Front-end clients can be written in any language, including Power Builder, Visual Basic, Delphi, Java, C or C++. If PB or VB is used, MX "Wizards" automate the construction of fully functional "test clients" with no programming required. The MAGNA X development environment is currently available on most major UNIX platforms. Oracle, DB2/AIX, DB2/MVS, Sybase and Informix are supported. Local service and support is available in the U.S, Europe, Japan and Korea. For more information: info@magna.com, www.magna.com or call 212/691-0300. ======= Blyth Software is an international supplier of modular application development tools for building, deploying, and maintaining workgroup, departmental and enterprise client/server applications. Blyth has more than 25,000 registered developers and 450 ISVs worldwide. Blyth Software is headquartered in Foster City, California, with international offices in London, England; Hamburg, Germany; and distributors throughout Europe, Asia Pacific and Latin America. URL: http://www.blyth.com email: info@blyth.com US Sales: 1.800.346.6647 email: us_sales@blyth.com US TechSupport: 415.570.2220 email: us_support@blyth.com UK/EUC Sales: (44) 1344.482258 email: uk_sales@blyth.com UK/EUC Tech Supp: (44) 1344.482258 email: alistair_killick@blyth.com ======= Dynasty is a true Enterprise Client/Server development environment. It provides a truly Open solution, generating runtime-free C code, native to the target platforms. Presentation can be targeted at Windows 3.x/95/NT, OS/2, Motif and Macintosh. Services can be automatically partitioned in various ways, from standalone with the client, to out on NT, OS/2, Unix or Tandem servers, with no limit to the number of tiers. It is also possible to create servers that can be accessed from Visual Basic, Powerbuilder and Internet clients. Standard communication protocols such as IMC and TCP/IP are supported, as well as Tuxedo for more complex distributed applications requiring TP. SQL for Oracle, Sybase, Informix, SqlBase, Nonstop SQL, DB2/2, SQL Server and ODBC is automatically generated, with the option to modify it if necessary. For more information see http://www.dynasty.com where local country information is also available. ====== Systemator is produced by Sysdeco, a well-known Scandinavian software company. Systemator provides support for all phases of the development process, from modeling through to implementation, testing and maintenance of information systems. Systemator supports a wide range of machine platforms, database systems and user interfaces. Its powerful repository and conceptual modeling abilities ensure cost effective development as well as much lower maintenance costs. Thanks to its graphical dialog modeling and editing tools, Systemator provides a powerful GUI prototyping capability which greatly facilitates user involvement in the initial stage of prototyping. In Systemator's model designer you can build abstract models of the structure, the functions and the information of your enterprise. Data modeling is used for describing the structure of the information handled by the organization. The data model is the basis for generating both database structures and user dialogs. Such an abstract model of the data ensures portability between several database management systems and windowing systems. More information is available on the WWW at http://www.sysdeco.no/tools/systemator/ or by contacting Vivian Ra (vra@sysdeco.no, tel:+47 22 09 65 00, fax: +47 22 09 65 01) ======= Nat Systems builds and supports the NatStar development tool. NatStar offers an pragmatically object oriented and user friendly environment for rapidly developing applications that can be deployed enterprise-wide, from the mainframe to the desktop, making native use of middleware. NatStar's development environment offers three separate but tightly integrated modules for graphically defining the presentation, data model and workflow model of the application. NatStar automatically generates code and SQL that can be deployed in a multi-tier environment, enabling a dynamically partitioned application. NatStar is a perfect tool for Component Based Development and today offers a catalog of tried and tested technical components, and business components for the near future. NatWeb is Nat Systems' solution for developing Internet applications that front-end legacy systems. Nat Systems offers support for the entire software development cycle, enabling integration with upper CASE tools, Configuration & Change management, workflow tools, document management, etc. See www.natsys.com for more info. ------------------------------ 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. ======= Sequent Computer Systems, Inc. is a leading architect and provider of open client/server solutions for enterprise business computing. With an installed base of nearly 8,000 systems, Sequent leads all other vendors of high-end UNIX systems supporting very large-scale on-line transaction processing (OLTP), decision support (DSS)/data warehousing and Internet-based applications. Sequent's project-oriented offerings include consulting, educational and professional services geared to help organizations re-architect their existing information technology infrastructures. Sequent successfully commercialized symmetric multiprocessing (SMP), and today, architects enterprise-class computing environments based on open systems. Symmetry servers incorporate up to 30 industry-standard processors to provide superior price/performance and scalability for on-line transaction processing (OLTP), data warehouses and the application of internet technologies to business communications (including intranets). NUMA-Q systems, Sequent's next-generation, will scale to more than 250 processors and manage 100 terabytes of data. Call (530) 626-5700, or browse our website at http://www.sequent.com/. ======= End of Client/Server FAQ