Sie sind auf Seite 1von 2

Introduction to C++ Network Programming

A significant concept in network programming is to understand


how C++ and middleware can help us to address key
challenges associated with developing networked applications.

Middleware is computer software that connects software


components or applications. It is used most often to support
complex, distributed applications.
It includes web servers, application servers, content
management systems, and similar tools that support application
development and delivery.
Middleware is especially integral to modern information
technology based on Extensible Markup Language (XML),
Simple Object Access Protocol (SOAP), Web services, and
service-oriented architecture (SOA).

Therefore in order to address key challenges associated with


developing networked applications you will need to review the
core native OS mechanisms available on popular OS platforms
and learn how C++ and patterns are applied in Adaptive
Communication Environment (ACE) to encapsulate these
mechanisms in class library wrapper facades (frontage/face) that
improve application portability and robustness.

The ACE is an open-source cross-platform framework of object


oriented classes to help the development of communication
software.

ACE is one of many solutions to a common problem: making


easy the use of powerful but complex features of modern
operating systems like inter-process communication, thread
management, efficient memory management and so on. It was
developed by Douglas C. Schmidt and his research group at
University of California, Irvine, Vanderbilt University, and
Washington University, St. Louis.

1
A wrapper pattern (such as a driver wrapper) is a design
pattern where a piece of code allows classes to work together
that normally could not because of incompatible interfaces.

The wrapper acts as an interface between its caller and the


wrapped code.
This may be done for compatibility, e.g. if the wrapped code is
in a different programming language or uses different calling
conventions, for security, e.g. to prevent the calling program
from executing certain functions, to provide a level of
emulation, e.g. a DirectX API which hides the functions of the
video card driver.
The implication is that the wrapped code can only be accessed
via the wrapper.

An application programming interface (API) is the interface


that a computer system, library or application provides in order
to allow requests for services to be made of it by other computer
programs, and/or to allow data to be exchanged between them.

ACE is written in C++ and runs on a wide variety of operating


systems (most Unixes, Microsoft Windows various versions,
real-time systems like VxWorks and QNX, high end systems
like OpenVMS). It has enjoyed some success in the
communication industry, notably for Motorola Iridium satellites.

Das könnte Ihnen auch gefallen