Next: Basic PyOPC Architecture
Up: main
Previous: Installation/Quickstart
Contents
The PyOPC framework supports the rapid development of OPC XML-DA compliant
clients and servers and provides the following features:
- Open source:
- PyOPC and all underlying technologies are
open source projects.
- Multi-platform capable:
- The underlying programming language of
PyOPC is Python, which is available on most platforms, such as
Microsoft Windows, Linux, Mac OS X and others. Applications built with
PyOPC can be run on all platforms with Python support. A good
introduction to the Python programming language can be found in
[PIL05] and [MAR03].
- Ease of use:
- Various complex functionality of the OPC XML-DA
specification is automatically handled by the PyOPC framework,
therefore the developer does not need to cope with it. Nevertheless,
the programmer may also choose to override this functionality and
thus implement it in his own way.
- Extensible and reusable:
- Basic framework functionality
can be extended by the programmer, moreover, OPC servers built with
PyOPC can be added to the framework as a custom libraries, which can
then be reused by other applications.
An OPC XML-DA compliant framework needs to support several
technologies, especially building servers which process concurrent
requests and handle the SOAP and HTTP protocol. Although Python has an
extensive collection of libraries, it does not fulfill these
requirements. Therefore two additional Python frameworks are used,
which have to be available on systems that provide PyOPC based
applications. These basic technologies are illustrated in figure
2.
Figure 2:
Underlying Technologies of the PyOPC Framework
|
- Zolera Soap Infrastructure (ZSI):
- This SOAP framework enables
parsing and serializing SOAP messages. PyOPC uses ZSI to read and
create OPC XML-DA compliant SOAP messages7.
- Twisted:
- Twisted is an asynchronous client/server framework.
It implements a variety of Internet protocols, such as HTTP and SMTP
and uses an event based mechanism to enable the development of
clients and servers which can handle concurrent requests.
In order to develop applications with Twisted, the programmer has
to lay out his program according to this event-based architecture.
Therefore building complex server applications with PyOPC require
some understanding of the basic concepts of Twisted. More information
about this framework can be found at [FET06].
Subsections
Next: Basic PyOPC Architecture
Up: main
Previous: Installation/Quickstart
Contents
Hermann Himmelbauer
2006-11-07