Differences between revisions 1 and 49 (spanning 48 versions)
Revision 1 as of 2003-04-07 11:31:18
Size: 213
Editor: 193
Comment:
Revision 49 as of 2003-12-08 13:12:11
Size: 5563
Editor: tk-proxy
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
A guide and a discussion page for DistributedProgramming using Python. #pragma section-numbers off
A guide and a discussion page for Python related distributed programming.
Line 3: Line 4:
==== Software ====
''You'll find here a partial list of available software:''
 * Dopy
 * omniORB
 * OSE
 * Pyro
 * Twisted
 * YAMI

This [http://groups.google.com/groups?threadm=9383481e.0304012011.78f05548%40posting.google.com link]
points to an informal comparison of distributed computing technologies,
including CORBA, XML-RPC, SOAP, ... in ''comp.lang.python''.

== Software ==
''You'll find here a (partial) list of relevant softwares:''
 === Dopy ===
  * [http://www.users.cloud9.net/~proteus/dopy/welcome.html http://www.users.cloud9.net/~proteus/dopy/welcome.html] (broken!)
    ''Dopy'' is a small distributed object system written entirely in Python. It is not intended to be ''CORBA''
    compliant. Instead, it aims to be extremely easy to use and to support Python's dynamic nature - methods
    are invoked dynamically, parameters are passed by copy. Any python object that can be pickled can automatically
    be passed as a parameter or a return value, and any Python object can be published as a distributed object.
 === Fnorb ===
  * [http://www.fnorb.org/ http://www.fnorb.org/]
    ''Fnorb'' is a CORBA 2.0 ORB for Python first developed by DSTC. Fnorb's claim to fame is its size
    and pure Python implementation. These features allow it to be used whever Python may used
    (for example, within Jython) unlike other ORBs that rely on binary runtimes.
 === omniORB ===
  * [http://omniorb.sourceforge.net/ http://omniorb.sourceforge.net/]
    ''omniORB'' is a robust high performance CORBA ORB for C++ and Python. It is freely available under the terms
    of the GNU Lesser General Public License (for the libraries), and GNU General Public License (for the tools).
    It is one of only three ORBs to be awarded the Open Group's Open Brand for CORBA.
 === OSE ===
  * [http://ose.sourceforge.net/ http://ose.sourceforge.net/]
    ''OSE'' is a generic application framework suitable for constructing general purpose applications,
    ''distributed systems'' and web based services. The four main parts of OSE are an extensive C++ class library,
    a set of Python wrappers, a build environment based on GNU Make, and a set of documentation extraction tools.
 === Pyro ===
  * [http://pyro.sourceforge.net/ http://pyro.sourceforge.net/]
    ''Pyro'' is an acronym for '''Py'''thon '''r'''emote '''o'''bjects. It is an advanced and powerful Distributed Object Technology system written entirely in Python, that is designed to be very easy to use. It resembles Java's Remote Method
    Invocation (RMI). It is less similar to CORBA - which is a system- and language independent Distributed Object
    Technology and has much more to offer than Pyro or RMI. But Pyro is small, simple and free
    (MIT software license)!
    Like Dopy, it suits Python's dynamic character very well. Using a ''dynamic proxy'' you can call any
    method with any form of arguments, access attributes remotely and even use mobile code.
 === Python-Orbit ===
  * [http://sourceforge.net/projects/orbit-python http://sourceforge.net/projects/orbit-python]
    ''Python-Orbit'' is a project to develop Python bindings for ORBit. It supports dynamic loading of IDL
    (no IDL compiler required), and most of ORBit's Type Codes.
 === Spread ===
  * [http://www.python.org/other/spread/ http://www.python.org/other/spread/]
    ''Spread'' is a toolkit that provides a high performance messaging service that is resilient to faults
    across external or internal networks. Spread functions as a unified message bus for distributed applications,
    and provides highly tuned application-level multicast and group communication support. Spread services range
    from reliable message passing to fully ordered messages with delivery guarantees, even in case of computer
    failures and network partitions. Spread is designed to encapsulate the challenging aspects of asynchronous
    networks and enable the construction of scalable distributed applications, allowing application builders
    to focus on the differentiating components of their application.
 === Twisted ===
  * [http://www.twistedmatrix.com/ http://www.twistedmatrix.com/]
    ''Twisted'' is a framework, written in Python, for writing networked applications. It includes
    implementations of a number of commonly used network services such as a web server, an IRC chat server,
    a mail server, a relational database interface and an object broker. Developers can build applications
    using all of these services as well as custom services that they write themselves. Twisted also includes
    a user authentication system that controls access to services and provides services with user
    context information to implement their own security models.
 === YAMI ===
  * [http://msobczak.com/prog/yami/ http://msobczak.com/prog/yami/]
    ''YAMI'' project is supposed to provide a simple language- and platform-independent alternative
    to other, commercially and freely available communication infractructures like COM, CORBA or JavaRMI.
    It's not supposed to become their substitution :), but thanks to much simpler rules it's built on,
    it can become a useful part in some class of distributed systems, whether they are full-blown
    object-oriented systems or the simplest client-server solutions.
    YAMI is a complete and consistent environment, and currently supports:

       * Operating Systems: FreeBSD, Linux, MS Windows, SunOS
       * Programming Languages: C, C++, '''''Python''''', Tcl

A guide and a discussion page for Python related distributed programming.

This [http://groups.google.com/groups?threadm=9383481e.0304012011.78f05548%40posting.google.com link] points to an informal comparison of distributed computing technologies, including CORBA, XML-RPC, SOAP, ... in comp.lang.python.

Software

You'll find here a (partial) list of relevant softwares:

  • === Dopy ===
    • [http://www.users.cloud9.net/~proteus/dopy/welcome.html http://www.users.cloud9.net/~proteus/dopy/welcome.html] (broken!)

      • Dopy is a small distributed object system written entirely in Python. It is not intended to be CORBA compliant. Instead, it aims to be extremely easy to use and to support Python's dynamic nature - methods are invoked dynamically, parameters are passed by copy. Any python object that can be pickled can automatically be passed as a parameter or a return value, and any Python object can be published as a distributed object.

    === Fnorb ===
    • [http://www.fnorb.org/ http://www.fnorb.org/]

      • Fnorb is a CORBA 2.0 ORB for Python first developed by DSTC. Fnorb's claim to fame is its size and pure Python implementation. These features allow it to be used whever Python may used (for example, within Jython) unlike other ORBs that rely on binary runtimes.

    === omniORB ===
    • [http://omniorb.sourceforge.net/ http://omniorb.sourceforge.net/]

      • omniORB is a robust high performance CORBA ORB for C++ and Python. It is freely available under the terms of the GNU Lesser General Public License (for the libraries), and GNU General Public License (for the tools). It is one of only three ORBs to be awarded the Open Group's Open Brand for CORBA.

    === OSE ===
    • [http://ose.sourceforge.net/ http://ose.sourceforge.net/]

      • OSE is a generic application framework suitable for constructing general purpose applications, distributed systems and web based services. The four main parts of OSE are an extensive C++ class library, a set of Python wrappers, a build environment based on GNU Make, and a set of documentation extraction tools.

    === Pyro ===
    • [http://pyro.sourceforge.net/ http://pyro.sourceforge.net/]

      • Pyro is an acronym for Python remote objects. It is an advanced and powerful Distributed Object Technology system written entirely in Python, that is designed to be very easy to use. It resembles Java's Remote Method Invocation (RMI). It is less similar to CORBA - which is a system- and language independent Distributed Object Technology and has much more to offer than Pyro or RMI. But Pyro is small, simple and free (MIT software license)! Like Dopy, it suits Python's dynamic character very well. Using a dynamic proxy you can call any method with any form of arguments, access attributes remotely and even use mobile code.

    === Python-Orbit === === Spread ===
    • [http://www.python.org/other/spread/ http://www.python.org/other/spread/]

      • Spread is a toolkit that provides a high performance messaging service that is resilient to faults across external or internal networks. Spread functions as a unified message bus for distributed applications, and provides highly tuned application-level multicast and group communication support. Spread services range from reliable message passing to fully ordered messages with delivery guarantees, even in case of computer failures and network partitions. Spread is designed to encapsulate the challenging aspects of asynchronous networks and enable the construction of scalable distributed applications, allowing application builders to focus on the differentiating components of their application.

    === Twisted ===
    • [http://www.twistedmatrix.com/ http://www.twistedmatrix.com/]

      • Twisted is a framework, written in Python, for writing networked applications. It includes implementations of a number of commonly used network services such as a web server, an IRC chat server, a mail server, a relational database interface and an object broker. Developers can build applications using all of these services as well as custom services that they write themselves. Twisted also includes a user authentication system that controls access to services and provides services with user context information to implement their own security models.

    === YAMI ===
    • [http://msobczak.com/prog/yami/ http://msobczak.com/prog/yami/]

      • YAMI project is supposed to provide a simple language- and platform-independent alternative to other, commercially and freely available communication infractructures like COM, CORBA or JavaRMI. It's not supposed to become their substitution :), but thanks to much simpler rules it's built on, it can become a useful part in some class of distributed systems, whether they are full-blown object-oriented systems or the simplest client-server solutions. YAMI is a complete and consistent environment, and currently supports:

        • Operating Systems: FreeBSD, Linux, MS Windows, SunOS
        • Programming Languages: C, C++, Python, Tcl

DistributedProgramming (last edited 2018-01-06 01:13:03 by RobertNishihara)

Unable to edit the page? See the FrontPage for instructions.