Introduction to remote program logic under Python
Xml and Python: Within the Python programming language, several approaches to distributed code management exist. The goal of all such approaches is to allow program logic resident on one server to be utilized by processes on other servers or clients.

by David Mertz, PhD, writer and software developer. Intel Corp.

Within the Python programming language, several approaches to distributed code management exist. The goal of all such approaches is to allow program logic resident on one server to be utilized by processes on other servers or clients. The zero-case of such remote invocation is Python's inherent facility for dynamic reloading of support modules, and this provides a basis for understanding further techniques. Remote, dynamic reloading is discussed in this installment, and accompanied by source code examples.

In the paradigm of stand-alone personal computing, a user's workstation contains a number of resources that are used to run an application: disk storage for programs and data; a CPU; volatile memory; a video display monitor; a keyboard and pointing device; perhaps peripheral I/O devices like printers, scanners, sound systems, modems, game inputs, and so on. Even since the 1980s, it has been common for such personal computers to also have network capabilities, but a network card has largely been just another sort of I/O device in the "traditional" paradigm.

"Distributed computing" is a buzz phrase that has something to do with providing more diverse relationships between computing resources and actual computers. Different resources can enter into different sorts of relationships—some hierarchical, others arranged in lattices, rings, and various other topologies. Some of many possible examples are SANs (storage area networks) centralize persistent disk resources for a large number of computers; in the opposite direction, file-sharing protocols like Gnutella and Freenet decentralize data storage and its retrieval; the X-Window System and VNC (AT&T's Virtual Network Computing) allow display and input devices to connect to physically remote machines; protocols like Linux Beowulf allow many CPUs to share the processing of a complex computation, while projects like SETI@Home (NASA's Search for Extraterrestrial Intelligence), GIMPS (Great Internet Mersenne Prime Search), and various cryptographic "challenges" do the same with much less need for coordination.

A few years ago mostly before the explosive growth of the Internet—terms used to describe redistribution of resources were client/server and n-tier architecture (both focusing more on hierarchical relations). The Internet, the Web, and the public consciousness of both have changed the words, and have also shifted emphasis toward graphs, away from trees.

Subscribers who liked this article also read:
Threading methodology: principles and practice
by Vasanth Tovinkere. Intel Corp. Today's operating systems strive ...
The "Rich-Client" Advantage for .NET Web Services
by Dan Fineberg, enterprise/business marketing manager, and Gary Hayco...

If you're interested in this topic, these articles may be helpful:

I Believe in Network Clients
By Jonathan Schwartz At an interview recently with John Markoff of Th...
BMW Takes Remote Control
Automating Enterprise Management with Intel®Active Management Tech...
Remote Management Session Server
Provides transparent remote network management for Tenors deployed...
Leveraging C++ business logic in a service-oriented architecture
Rogue Wave, a Quovadx Inc. division The benefits of an SOA approach...
Why is business logic an oxymoron?
by Jason Bloomberg, senior analyst, ZapThink LLC Hard-coding busi...

Related Jobs:

Mgr, Sr. Project #5429 - CA - Sunnyvale - St. Jude Medical, Inc.
Job Title: Mgr, Sr. Project Location: Sunnyvale - CA Job Function:...
Operations Engineer #CTG-79 - MA - Boston - Pearson Education
Title: Operations Engineer Req Number: CTG-79 Date Opened: Wed May...
Software Engineer - CA - San Francisco - Six Apart, Ltd.
Six Apart (http://www.sixapart.com/), the company behind the Movable ...
Linux System Administrator, Operations - CA - Berkeley - Idetic, Inc
Idetic, Inc. is the developer of MobiTV, the first global television n...
Senior Software Engineer Site Framework #8022CE788006BF4E - CA - Oakland - Ask Jeeves,Inc.
Title Senior Software Engineer Site Framework City Oakland State...
Systems Developer II - IL - Chicago - Hostway Corp.
Hostway Corporation is seeking individuals who are eager, energetic an...
Mobile and Web Software Developers - NY - Brooklyn - Wireless Generation
Developers work in small teams on cross-platform handheld and/or web-b...
Software Engineer - CA - San Rafael - Factor 5
We are looking for a Software Engineer who will be mainly responsible ...
Web Services Engineer #CE995E331FF4BE19 - CA - Oakland - Ask Jeeves,Inc.
Title Web Services Engineer City Oakland State CA Zip Code 94607...
Senior Software Engineer - Platform Development - CA - San Francisco - Adteractive, Inc.
SENIOR SOFTWARE ENGINEER - PLATFORM DEVELOPMENT Respons...