Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Essential Networking Module User's Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

3.2 Architecture

The Networking package consists of a foundation plus three architectural layers:

Each layer is built on the one below it and includes increasingly abstract services. All three layers are based on fundamental data types. Your application can use any or all of the layers, depending on the amount of control you need. Figure 1 shows the architecture of the Networking package. The following sections give a definition of each layer.

Figure 1: Three-layer architecture of the Networking package

3.2.1 Foundation

The Foundation layer includes helper classes and other services needed by the other layers. The Foundation layer simplifies the implementation of the Networking package, making its interface easier to use and understand. Most of the Foundation layer is included in SourcePro Core.

3.2.2 Communication Adapters Layer

The Communication Adapter Layer gives you complete control over the features of a specific protocol. This layer includes C++ adapters that encapsulate network communication C APIs inside C++ interfaces. These adapters use the same concepts and terminology as the procedural APIs, and they work with legacy code written using the C API.

This layer includes the Berkeley sockets adapter, which encapsulates the standard TCP/IP interface, the Berkeley socket API.

3.2.3 Portal Layer

The Portal Layer is a single interface to multiple platforms, network services, and protocols. It can use any adapter for its underlying communication channel. This portable interface is used by the Communication Services Layer to provide transport-independent services.

3.2.4 Communication Services Layer

The Communication Services Layer provides transport-independent communication services. It uses Standard C++ Library iostreams and Essential Tools Module virtual streams for communication into and out of a portal. This persistence mechanism enables your application to create and use streaming operators without depending on a particular output medium or format. For example, the same output function can be used to write to a disk, memory segment, or a network, using binary, ASCII, or XDR formats, by changing the virtual stream used for output.



Previous fileTop of DocumentContentsNo linkNext file

Copyright © Rogue Wave Software, Inc. All Rights Reserved.

The Rogue Wave name and logo, and SourcePro, are registered trademarks of Rogue Wave Software. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.