rpc stub
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 190
CamRPC 1.0.2
CamRPC is a simple client/server solution to update/manage several webcams using a PHP enabled Web server. more>>
CamRPC is a simple client/server solution to update/manage several webcams using a PHP enabled Web server and any client with XML-RPC capabilities.
Enhancements:
Server
- A web server (Apache tested, http://httpd.apache.org/)
- PHP 4 >= 4.1.0 with XML module
- php XML-RPC (http://xmlrpc.usefulinc.com/, included 1.1.1 in the package)
- A directory with write enabled for the httpd daemon
Client
- Your image grabber of choice
- Python client: python 2 >= 2.2
- Perl client: Frontier::RPC, MIME::Base64 and MIME::Types
Enhancements:
- updated included xml-rpc lib due SA15852: http://secunia.com/advisories/15852/
- Now camrpc is distributed with xml-rpc 1.1.1.
<<lessEnhancements:
Server
- A web server (Apache tested, http://httpd.apache.org/)
- PHP 4 >= 4.1.0 with XML module
- php XML-RPC (http://xmlrpc.usefulinc.com/, included 1.1.1 in the package)
- A directory with write enabled for the httpd daemon
Client
- Your image grabber of choice
- Python client: python 2 >= 2.2
- Perl client: Frontier::RPC, MIME::Base64 and MIME::Types
Enhancements:
- updated included xml-rpc lib due SA15852: http://secunia.com/advisories/15852/
- Now camrpc is distributed with xml-rpc 1.1.1.
Download (0.027MB)
Added: 2005-07-01 License: GPL (GNU General Public License) Price:
1577 downloads
DCE::RPC 0.11
DCE::RPC is a Perl extension for DCE RPC protocol composer/parser. more>>
SYNOPSIS
use DCE::RPC; use Authen::Perl::NTLM qw(lm_hash nt_hash);
use constant DCOM_IREMOTEACTIVATION => pack("H32", "B84A9F4D1C7DCF11861E0020AF6E7C57");
use constant DCOM_IF_VERSION => 0x00;
use constant DCOM_XFER_SYNTAX => pack("H32", "045D888AEB1CC9119FE808002B104860");
use constant DCOM_XFER_SYNTAX_VERSION => 0x02;
$passwd = "passwd";
$lm_hpw = lm_hash($passwd);
$nt_hpw = nt_hash($passwd);
$ntlm = new_client Authen::Perl::NTLM($lm_hpw, nt_hpw);
$rpc_host = "www.rpc.com";
$rpc_port = 135;
$rpc = new DCE::RPC($rpc_host, $rpc_port, $ntlm);
$bind_msg = $rpc->rpc_bind_ack_resp(1, DCOM_IREMOTEACTIVATION, DCOM_IF_VERSION,
({interface => DCOM_XFER_SYNTAX, version => DCOM_XFER_SYNTAX_VERSION}));
$request_msg = $rpc->rpc_co_request("Hi, there! This is Stub!", 1, 0x0e, DCOM_IREMOTEACTIVATION, "Authentication Credentials");
$response_msg = $rpc->rpc_request_response($request_msg);
$alt_ctx_msg = $rpc->rpc_alt_ctx(1, DCOM_IREMOTEACTIVATION . DCOM_IF_VERSION
,
({interface => DCOM_XFER_SYNTAX, version => DCOM_XFER_SYNTAX_VERSION}));
The DCE RPC protocol is an application level protocol from OpenGroup that allows applications to do Remote Procedure Calls. It is the underlying wire protocol for DCOM (Distributed Common Object Model) by Microsoft.
This module was motivated by an reverse-engineering effort on a DCOM client. Therefore, functions that are implemented gear more toward client side implementation. Also, the initial version only supports Connection Oriented version of DCE RPC. It also assumes NTLMSSP as the underlying authentication protocol. This can change based on the input of the users of this modules.
Download (0.007MB)
Added: 2007-04-16 License: Perl Artistic License Price:
922 downloads
RPC::XML 0.59
RPC::XML is a set of classes for core data, message and XML handling. more>>
RPC::XML is a set of classes for core data, message and XML handling.
SYNOPSIS
use RPC::XML;
$req = RPC::XML::request->new(fetch_prime_factors,
RPC::XML::int->new(985120528));
...
$resp = RPC::XML::Parser->new()->parse(STREAM);
if (ref($resp))
{
return $resp->value->value;
}
else
{
die $resp;
}
The RPC::XML package is an implementation of the XML-RPC standard.
The package provides a set of classes for creating values to pass to the constructors for requests and responses. These are lightweight objects, most of which are implemented as tied scalars so as to associate specific type information with the value. Classes are also provided for requests, responses, faults (errors) and a parser based on the XML::Parser package from CPAN.
This module does not actually provide any transport implementation or server basis. For these, see RPC::XML::Client and RPC::XML::Server, respectively.
<<lessSYNOPSIS
use RPC::XML;
$req = RPC::XML::request->new(fetch_prime_factors,
RPC::XML::int->new(985120528));
...
$resp = RPC::XML::Parser->new()->parse(STREAM);
if (ref($resp))
{
return $resp->value->value;
}
else
{
die $resp;
}
The RPC::XML package is an implementation of the XML-RPC standard.
The package provides a set of classes for creating values to pass to the constructors for requests and responses. These are lightweight objects, most of which are implemented as tied scalars so as to associate specific type information with the value. Classes are also provided for requests, responses, faults (errors) and a parser based on the XML::Parser package from CPAN.
This module does not actually provide any transport implementation or server basis. For these, see RPC::XML::Client and RPC::XML::Server, respectively.
Download (0.12MB)
Added: 2006-09-21 License: Perl Artistic License Price:
1128 downloads
Wily::RPC 0.02
Wily::RPC is a Perl extension for the Wily RPC interface. more>>
Wily::RPC is a Perl extension for the Wily RPC interface.
SYNOPSIS
use Wily::RPC;
use Wily::Message;
# opens a file in wily and exits when the window is destroyed
my $wily = Wily::RPC->new();
my $win = $wily->win(/tmp/file_to_edit, 1);
$wily->attach($win, Wily::Message::WEdestroy);
while (my $event = $wily->event()) {
if ($event->{type} == Wily::Message::WEdestroy and
$event->{window_id} == $win) {
last;
}
}
Provides an interface to the Wily, using the lower level Wily::Message and Wily::Connect packages (which can also be used without this wrapper).
Most of the methods of the Wily::RPC may block for a short time, they write a message to wily over a unix domain socket and then wait for wily to write a response message. Wily responds quickly, but if such things matter you will have to use the lower level packages instead.
<<lessSYNOPSIS
use Wily::RPC;
use Wily::Message;
# opens a file in wily and exits when the window is destroyed
my $wily = Wily::RPC->new();
my $win = $wily->win(/tmp/file_to_edit, 1);
$wily->attach($win, Wily::Message::WEdestroy);
while (my $event = $wily->event()) {
if ($event->{type} == Wily::Message::WEdestroy and
$event->{window_id} == $win) {
last;
}
}
Provides an interface to the Wily, using the lower level Wily::Message and Wily::Connect packages (which can also be used without this wrapper).
Most of the methods of the Wily::RPC may block for a short time, they write a message to wily over a unix domain socket and then wait for wily to write a response message. Wily responds quickly, but if such things matter you will have to use the lower level packages instead.
Download (0.021MB)
Added: 2007-02-27 License: Perl Artistic License Price:
969 downloads
FireRPC 0.9.13
FireRPC is a library that provides an easy interface for C programs to make remote function queries via the XML RPC protocol. more>>
libfirerpc is a library that provides an easy interface for C programs to make remote function queries via the XML RPC protocol.
It supports SSL/TLS, HTTP authentication, HTTP 1.1 persistent connections and pipelining. It also supports POST data compression via bzip2 and response compression via bzip2, gzip, deflate and compress.
<<lessIt supports SSL/TLS, HTTP authentication, HTTP 1.1 persistent connections and pipelining. It also supports POST data compression via bzip2 and response compression via bzip2, gzip, deflate and compress.
Download (0.30MB)
Added: 2005-09-21 License: GPL (GNU General Public License) Price:
1493 downloads
AjaxStub 0.3.0
AjaxStub package provides a Python API for writing Web pages that include JavaScript stubs for Python functions or methods. more>>
AjaxStub package provides a Python API for writing Web pages that include JavaScript stubs for Python functions or methods.
A few months ago (it is now February 2007) I decided to start looking into AJAX. My engineering experience has mostly been in writing servers, threaded application, etc. in Java, Python, and some in C. When I started to play with AJAX I had to add Javascript to my repertoire. I have always applied the rules of abstraction to my code and I wasnt going to change with Javascript, so I started searching the NET for what the best practices were in AJAX implementations.
I found some interesting stuff on Web Services, REST (Representational State Transfer), RPC (Remote Procedure Call), SOAP (Simple Object Access Protocol), and the list goes on. Ive done a lot of work with XMLRPC, so I thought Id look for something in that vane. I found only one API for RPC written in Python that seemed to work, but when I looked at the code I realized that it was very immature, so I rolled my own. So, here is my contribution to the OpenSource community. It is only in its early stages, but is quite functional already.
The idea behind AjaxStub is to provide an API that will let you write Python methods or functions that will be called by an identically named function in Javascript. The AJAX communication is completely abstracted from the developer. You write your Python API and a few Javascript functions and your done. Well it may not be that easy depending on what you are trying to achieve with your site, however, the concept is really very simple.
Enhancements:
- AjaxStub now will process multi-requests properly.
- Custom content types can now be added, and the debug mode now is more verbose.
- The home page now has additional example code and API documentation is now available.
- All documentation is now included in the tarball or zip packages.
<<lessA few months ago (it is now February 2007) I decided to start looking into AJAX. My engineering experience has mostly been in writing servers, threaded application, etc. in Java, Python, and some in C. When I started to play with AJAX I had to add Javascript to my repertoire. I have always applied the rules of abstraction to my code and I wasnt going to change with Javascript, so I started searching the NET for what the best practices were in AJAX implementations.
I found some interesting stuff on Web Services, REST (Representational State Transfer), RPC (Remote Procedure Call), SOAP (Simple Object Access Protocol), and the list goes on. Ive done a lot of work with XMLRPC, so I thought Id look for something in that vane. I found only one API for RPC written in Python that seemed to work, but when I looked at the code I realized that it was very immature, so I rolled my own. So, here is my contribution to the OpenSource community. It is only in its early stages, but is quite functional already.
The idea behind AjaxStub is to provide an API that will let you write Python methods or functions that will be called by an identically named function in Javascript. The AJAX communication is completely abstracted from the developer. You write your Python API and a few Javascript functions and your done. Well it may not be that easy depending on what you are trying to achieve with your site, however, the concept is really very simple.
Enhancements:
- AjaxStub now will process multi-requests properly.
- Custom content types can now be added, and the debug mode now is more verbose.
- The home page now has additional example code and API documentation is now available.
- All documentation is now included in the tarball or zip packages.
Download (0.023MB)
Added: 2007-08-05 License: Eclipse Public License Price:
810 downloads
Event::RPC 0.90
Event::RPC is a event based transparent Client/Server RPC framework. more>>
Event::RPC is a event based transparent Client/Server RPC framework.
SYNOPSIS
#-- Server Code
use Event::RPC::Server;
use My::TestModule;
my $server = Event::RPC::Server->new (
port => 5555,
classes => { "My::TestModule" => { ... } },
);
$server->start;
----------------------------------------------------------
#-- Client Code
use Event::RPC::Client;
my $client = Event::RPC::Client->new (
server => "localhost",
port => 5555,
);
$client->connect;
#-- Call methods of My::TestModule on the server
my $obj = My::TestModule->new ( foo => "bar" );
my $foo = $obj->get_foo;
ABSTRACT
Event::RPC supports you in developing Event based networking client/server applications with transparent object/method access from the client to the server. Network communication is optionally encrypted using IO::Socket::SSL. Several event loop managers are supported due to an extensible API. Currently Event and Glib are implemented.
<<lessSYNOPSIS
#-- Server Code
use Event::RPC::Server;
use My::TestModule;
my $server = Event::RPC::Server->new (
port => 5555,
classes => { "My::TestModule" => { ... } },
);
$server->start;
----------------------------------------------------------
#-- Client Code
use Event::RPC::Client;
my $client = Event::RPC::Client->new (
server => "localhost",
port => 5555,
);
$client->connect;
#-- Call methods of My::TestModule on the server
my $obj = My::TestModule->new ( foo => "bar" );
my $foo = $obj->get_foo;
ABSTRACT
Event::RPC supports you in developing Event based networking client/server applications with transparent object/method access from the client to the server. Network communication is optionally encrypted using IO::Socket::SSL. Several event loop managers are supported due to an extensible API. Currently Event and Glib are implemented.
Download (0.031MB)
Added: 2007-04-04 License: Perl Artistic License Price:
933 downloads
perlrpcgen 0.71
perlrpcgen is a Perl module that can generate Perl interfaces from ONC RPC interface definitions. more>>
perlrpcgen is a Perl module that can generate Perl interfaces from ONC RPC interface definitions.
SYNOPSIS
perlrpcgen [--makefile] [--all] [--client] [--server] [--data] [--constants] [--module module] [--typemap typemap] [--fork] [--perl perl] [--cc cc] [--rpclibs rpclibs] rpcfile.x
perlrpcgen builds a set of Perl extensions and a server shell from an ONC RPC interface definition. For an interface Foo, perlrpcgen creates modules Foo::Client, Foo::Data, and Foo::Constants. Foo::Client contains routines for creating a Foo client and making remote procedure calls via the client. Foo::Data contains routines for creating and manipulating the data structures defined in the Foo interface. Foo::Constants contains functions to retrieve the constants defined in the Foo interface.
OPTIONS
The option parsing uses Getopt::Long, so you can abbreviate option names.
--makefile
Generates a top-level Makefile which will build all the pieces. Include all the other options you want so theyll be propagated to the Makefile.
--all
Implies --client, --server, --data, and --constants. This is usually what you want.
--client
Generates Foo::Client module.
--server
Generates Foo/server/foo_svc.
--data
Generates Foo::Data module.
--constants
Generates Foo::Constants module.
--module module
Sets the basename of the modules. If not given, the name defaults to the basename of the interface file.
--typemap typemap
Uses the given typemap during stub generation. This option can be specified many times. perlrpcgen generates a typemap for the data structures in the interface, but you also need the main Perl typemap.
--fork
Munges the server shell code so that it forks for each request. You probably dont want to do this (its better to prefork several processes when you start the server and let them fight over accept() calls).
--perl perl
Sets the Perl binary against which extensions should be built. Defaults to the Perl you used to install perlrpcgen.
--cc cc
Sets the C compiler to use. Defaults to the compiler used when building Perl.
--rpclibs rpclibs
Sets the RPC libraries to link against. Defaults to -lnsl -lrpcsvc.
<<lessSYNOPSIS
perlrpcgen [--makefile] [--all] [--client] [--server] [--data] [--constants] [--module module] [--typemap typemap] [--fork] [--perl perl] [--cc cc] [--rpclibs rpclibs] rpcfile.x
perlrpcgen builds a set of Perl extensions and a server shell from an ONC RPC interface definition. For an interface Foo, perlrpcgen creates modules Foo::Client, Foo::Data, and Foo::Constants. Foo::Client contains routines for creating a Foo client and making remote procedure calls via the client. Foo::Data contains routines for creating and manipulating the data structures defined in the Foo interface. Foo::Constants contains functions to retrieve the constants defined in the Foo interface.
OPTIONS
The option parsing uses Getopt::Long, so you can abbreviate option names.
--makefile
Generates a top-level Makefile which will build all the pieces. Include all the other options you want so theyll be propagated to the Makefile.
--all
Implies --client, --server, --data, and --constants. This is usually what you want.
--client
Generates Foo::Client module.
--server
Generates Foo/server/foo_svc.
--data
Generates Foo::Data module.
--constants
Generates Foo::Constants module.
--module module
Sets the basename of the modules. If not given, the name defaults to the basename of the interface file.
--typemap typemap
Uses the given typemap during stub generation. This option can be specified many times. perlrpcgen generates a typemap for the data structures in the interface, but you also need the main Perl typemap.
--fork
Munges the server shell code so that it forks for each request. You probably dont want to do this (its better to prefork several processes when you start the server and let them fight over accept() calls).
--perl perl
Sets the Perl binary against which extensions should be built. Defaults to the Perl you used to install perlrpcgen.
--cc cc
Sets the C compiler to use. Defaults to the compiler used when building Perl.
--rpclibs rpclibs
Sets the RPC libraries to link against. Defaults to -lnsl -lrpcsvc.
Download (0.037MB)
Added: 2007-05-31 License: Perl Artistic License Price:
876 downloads
XML-RPC 1.10.00
XML-RPC is a C library for remote procerure call. Comunication is based on XML and uses http protocol. more>>
XML-RPC is a C library for remote procerure call. It converts the procedure call into XML document, sends it to a remote server using HTTP, and gets back the response as XML.
This library provides a new and modular implementation of XML-RPC for C and C++.
XML-RPC For C and C++ is designed for Unix and is most tested on unix. As far as we know, it works on any reasonably standard unix.
There is also lots of code to make it work on Windows, but the fact is that it probably wont work out-of-the-box on your Windows system. Here is the Windows story.
To build a useful Xmlrpc-c client library, youll need to have at least one HTTP library. Xmlrpc-c knows how to use W3C Libwww (Version 5.3.2 or newer), Curl, and Wininet. The configurator gives you the option of building libraries that use any or all of these, and
defaults to every one you appear to have installed. If you dont appear to have any installed, the configurator causes the build to omit client facilities altogether.
Information about W3C Libwww, including how to get it are at .
For Curl, see .
Wininet comes with Windows, and isnt available for any other platform.
You also need an XML parser/builder library. An old version of Expat is included in the package and used by default, so theres no actual prerequisite here. But if you separately obtain Libxml2, you can configure the build to use that instead. Theres no really pressing reason to do that, though.
In the simplest case, the installation its just a conventional:
./configure
make
make install
Enhancements:
- Curl client XML transport: Use Curl multi-manager for synchronous RPCs to make them properly interruptible by signals. (Requires March 2007 update to libcurl to avoid delay of up to a second).
- Abyss: Fix per-HTTP-request memory leak.
- Abyss: Fix infinite loop reading headers when buffer contains data right up to the newline at the end of a header.
- Build: works on a system with no pselect(). (emulates with select()).
- Fix compilation failure in thread_fork.c when you configure with --disable-abyss-threads.
<<lessThis library provides a new and modular implementation of XML-RPC for C and C++.
XML-RPC For C and C++ is designed for Unix and is most tested on unix. As far as we know, it works on any reasonably standard unix.
There is also lots of code to make it work on Windows, but the fact is that it probably wont work out-of-the-box on your Windows system. Here is the Windows story.
To build a useful Xmlrpc-c client library, youll need to have at least one HTTP library. Xmlrpc-c knows how to use W3C Libwww (Version 5.3.2 or newer), Curl, and Wininet. The configurator gives you the option of building libraries that use any or all of these, and
defaults to every one you appear to have installed. If you dont appear to have any installed, the configurator causes the build to omit client facilities altogether.
Information about W3C Libwww, including how to get it are at .
For Curl, see .
Wininet comes with Windows, and isnt available for any other platform.
You also need an XML parser/builder library. An old version of Expat is included in the package and used by default, so theres no actual prerequisite here. But if you separately obtain Libxml2, you can configure the build to use that instead. Theres no really pressing reason to do that, though.
In the simplest case, the installation its just a conventional:
./configure
make
make install
Enhancements:
- Curl client XML transport: Use Curl multi-manager for synchronous RPCs to make them properly interruptible by signals. (Requires March 2007 update to libcurl to avoid delay of up to a second).
- Abyss: Fix per-HTTP-request memory leak.
- Abyss: Fix infinite loop reading headers when buffer contains data right up to the newline at the end of a header.
- Build: works on a system with no pselect(). (emulates with select()).
- Fix compilation failure in thread_fork.c when you configure with --disable-abyss-threads.
Download (0.70MB)
Added: 2007-05-07 License: BSD License Price:
907 downloads
Other version of XML-RPC
License:BSD License
Jabber::RPC 0.01
Jabber::RPC is a Jabber-RPC Implementation. more>>
Jabber::RPC is a Jabber-RPC Implementation.
SYNOPSIS
See documentation for Jabber::RPC::Server and Jabber::RPC::Client.
Jabber::RPC is a library that implements Jabber-RPC for Perl. The library consists of two modules, Jabber::RPC::Server and Jabber::RPC::Client. Please refer to the documentation for these two modules for more information.
<<lessSYNOPSIS
See documentation for Jabber::RPC::Server and Jabber::RPC::Client.
Jabber::RPC is a library that implements Jabber-RPC for Perl. The library consists of two modules, Jabber::RPC::Server and Jabber::RPC::Client. Please refer to the documentation for these two modules for more information.
Download (0.005MB)
Added: 2007-03-21 License: Perl Artistic License Price:
949 downloads
PyOPC 0.1a
PyOPC is a Python library implementing the OPC XML Data Access Protocol Version 1.01 (OPC XML-DA 1.01). more>>
PyOPC is a Python library implementing the OPC XML Data Access Protocol Version 1.01 (OPC XML-DA 1.01).
PyOPC supports the easy creation of XMLDA-compliant clients and servers without having to deal with the SOAP protocol and server issues.
The Open Linking and Embedding for Process Control (OPC) consortium released several open standards, which address interfaces for vertical integration in industrial automation.
Historically, OPC used the Distributed Component Object Model (DCOM) for the underlying communication technology. DCOM has the disadvantage of being platform specific: it is only available for Microsoft Windows based systems. Other platforms, such as Linux, can therefore not retrieve fieldbus data from DCOM based servers.
Another disadvantage of DCOM is that it can not easily bypass firewalls, hence access will often be limited to certain segments of a corporate network.
In the last years, a new technology, called SOAP Web services, emerged. [LIV02] defines a Web Service as: ``a method or function that is available for other applications to access over the Internet.. Web services enable Remote Procedure Calls (RPC) and have the following key features:
High level of interoperability:
Web services technologies are all based on strictly defined open standards1.
High networking abilities:
As an underlying communication protocol, Web services utilize Internet protocols such as the Hyper Text Transfer Protocol (HTTP) or the Simple Mail Transfer Protocol (SMTP). These protocols have high networking abilities and may moreover penetrate firewalls.
Protocol legible by humans:
The Simple Object Access Protocol (SOAP)2 is based on the Extended Markup Language (XML), which is legible to humans. This way, testing and debugging of Web services is far easier than with binary protocols.
Documentation:
Another underlying technology of SOAP is the ``Web Service Definition Language (WSDL) which may be used to define the service, especially by constraining the format of the SOAP protocol. WSDL utilizes the XML Schema language for defining these SOAP messages3. These WSDL documents can be utilized by frameworks to generate stubs that provide a base for accessing a Web service.
Validation:
WSDL in combination with a validating XML parser enable the validation of SOAP messages. This way, custom code will never receive syntactically or semantically erroneous data, which should improve the stability of the service.
SOAP Web services are seen as a successor to several alternative technologies such as DCOM and are already broadly accepted by the industry. More information about the SOAP protocol can be found in [SEE02] and [LIV02].
The OPC consortium reacted on this technological evolution by adopting SOAP Web services for their standards. One recent addition of OPC is the "XML Data Access Version 1.0" (XML-DA 1.0) standard. This standard deals with access of underlying fieldbus technologies and covers the following aspects:
Information model:
The specification provides a simple information model, based on ``OPC Items which represent a piece of information, similar to fieldbus data points. These items can be arranged hierarchically.
Data types:
OPC XML-DA adopts several XML-Schema based data types, such as integer, float, date/time specific types. Moreover it defines arrays which are based on these basic types.
Operations:
The standard specifies 8 operations such as reading/writing and browsing which can be used to access the underlying fieldbus.
Subscription:
The specification further introduces a mechanism to retrieve only changed items, called ``Subscription. Clients may thus subscribe to items and use a dedicated polling operation to retrieve changed data.
<<lessPyOPC supports the easy creation of XMLDA-compliant clients and servers without having to deal with the SOAP protocol and server issues.
The Open Linking and Embedding for Process Control (OPC) consortium released several open standards, which address interfaces for vertical integration in industrial automation.
Historically, OPC used the Distributed Component Object Model (DCOM) for the underlying communication technology. DCOM has the disadvantage of being platform specific: it is only available for Microsoft Windows based systems. Other platforms, such as Linux, can therefore not retrieve fieldbus data from DCOM based servers.
Another disadvantage of DCOM is that it can not easily bypass firewalls, hence access will often be limited to certain segments of a corporate network.
In the last years, a new technology, called SOAP Web services, emerged. [LIV02] defines a Web Service as: ``a method or function that is available for other applications to access over the Internet.. Web services enable Remote Procedure Calls (RPC) and have the following key features:
High level of interoperability:
Web services technologies are all based on strictly defined open standards1.
High networking abilities:
As an underlying communication protocol, Web services utilize Internet protocols such as the Hyper Text Transfer Protocol (HTTP) or the Simple Mail Transfer Protocol (SMTP). These protocols have high networking abilities and may moreover penetrate firewalls.
Protocol legible by humans:
The Simple Object Access Protocol (SOAP)2 is based on the Extended Markup Language (XML), which is legible to humans. This way, testing and debugging of Web services is far easier than with binary protocols.
Documentation:
Another underlying technology of SOAP is the ``Web Service Definition Language (WSDL) which may be used to define the service, especially by constraining the format of the SOAP protocol. WSDL utilizes the XML Schema language for defining these SOAP messages3. These WSDL documents can be utilized by frameworks to generate stubs that provide a base for accessing a Web service.
Validation:
WSDL in combination with a validating XML parser enable the validation of SOAP messages. This way, custom code will never receive syntactically or semantically erroneous data, which should improve the stability of the service.
SOAP Web services are seen as a successor to several alternative technologies such as DCOM and are already broadly accepted by the industry. More information about the SOAP protocol can be found in [SEE02] and [LIV02].
The OPC consortium reacted on this technological evolution by adopting SOAP Web services for their standards. One recent addition of OPC is the "XML Data Access Version 1.0" (XML-DA 1.0) standard. This standard deals with access of underlying fieldbus technologies and covers the following aspects:
Information model:
The specification provides a simple information model, based on ``OPC Items which represent a piece of information, similar to fieldbus data points. These items can be arranged hierarchically.
Data types:
OPC XML-DA adopts several XML-Schema based data types, such as integer, float, date/time specific types. Moreover it defines arrays which are based on these basic types.
Operations:
The standard specifies 8 operations such as reading/writing and browsing which can be used to access the underlying fieldbus.
Subscription:
The specification further introduces a mechanism to retrieve only changed items, called ``Subscription. Clients may thus subscribe to items and use a dedicated polling operation to retrieve changed data.
Download (3.1MB)
Added: 2006-11-08 License: LGPL (GNU Lesser General Public License) Price:
1085 downloads
JSON-RPC-Java 1.0
JSON-RPC-Java provides an RPC implementation that allows JavaScript DHTML Web applications to call remote methods. more>>
JSON-RPC-Java provides an RPC implementation that allows JavaScript DHTML Web applications to call remote methods in a Java Application Server (AJAX functionality) without the need for page reloading.
JSON-RPC-Java library is an enabler for the next generation of fast and highly dynamic enterprise Java Web applications. Minimal changes (if any) are necessary to existing server-side Java code to allow calling from JavaScript (such as the marshalling and unmarshalling of special types), as JSON-RPC-Java dynamically maps JavaScript objects to and from Java objects using Java reflection.
Enhancements:
- The license has changed from the LGPL to the Apache License, Version 2.0.
- New object registration, lookup, and unregister APIs have been added to JSONRPCBridge.
<<lessJSON-RPC-Java library is an enabler for the next generation of fast and highly dynamic enterprise Java Web applications. Minimal changes (if any) are necessary to existing server-side Java code to allow calling from JavaScript (such as the marshalling and unmarshalling of special types), as JSON-RPC-Java dynamically maps JavaScript objects to and from Java objects using Java reflection.
Enhancements:
- The license has changed from the LGPL to the Apache License, Version 2.0.
- New object registration, lookup, and unregister APIs have been added to JSONRPCBridge.
Download (0.47MB)
Added: 2006-03-29 License: The Apache License 2.0 Price:
1311 downloads
django-json-rpc 0.2
A simple JSON-RPC implementation for Django more>> django-json-rpc 0.2 is designed as a basic JSON-RPC implementation for your Django power sites.
Major Features:
- Simple, pythonic API.
- Support for Django authentication.
- Mostly supports JSON-RPC 1.1 spec.
- Proxy to test your JSON Service.
Requirements:
- Python
Added: 2009-07-07 License: MIT/X Consortium Lic... Price: FREE
15 downloads
RPC::pClient 0.1005
RPC::pClient is a Perl extension for writing pRPC clients. more>>
RPC::pClient is a Perl extension for writing pRPC clients.
SYNOPSIS
use RPC::pClient;
$sock = IO::Socket::INET->new(PeerAddr => joes.host.de,
PeerPort => 2570,
Proto => tcp);
$connection = new RPC::pClient(sock => $sock,
application => My App,
version => 1.0,
user => joe,
password => hello!);
pRPC (Perl RPC) is a package that simplifies the writing of Perl based client/server applications. RPC::pServer is the package used on the server side, and you guess what RPC::pClient is for. See RPC::pClient(3) for this part.
pRPC works by defining a set of of functions that may be executed by the client. For example, the server might offer a function "multiply" to the client. Now a function call
@result = $con->Call(multiply, $a, $b);
on the client will be mapped to a corresponding call
multiply($con, $data, $a, $b);
on the server. (See the funcTable description below for $data.) The function calls result will be returned to the client and stored in the array @result. Simple, eh?
Client methods
new
The client constructor. Returns a client object or an error string, thus you typically use it like this:
$client = RPC::pClient->new ( ... );
if (!ref($client)) {
print STDERR "Error while creating client object: $clientn";
} else {
# Do real stuff
...
}
Call
calls a function on the server; the arguments are a function name, followed by function arguments. It returns the function results, if successfull. After executing Call() you should always check the error attribute: An empty string indicates success. Thus the equivalent to
$c = Add($a, $b)
# Use $c
...
is
$c = $client->Call("Add", $a, $b);
if ($client->error) {
# Do something in case of error
...
} else {
# Use $c
...
}
CallInt
Similar to and internally used by Call. Receives the same arguments, but the result is prepended by a status value: If this status value is TRUE, then all went fine and the following result array is valid. Otherwise an error occurred and the error message follows immediately after the status code. Example:
my($status, @result) = $client->CallInt("Add", $a, $b);
if (!$status) {
# Do something in case of error
my $errmsg = shift @result || "Unknown error";
...
} else {
...
}
Encrypt
This method can be used to get or set the cipher attribute, thus the encryption mode. If the method is passed an argument, the argument will be used as the new encryption mode. (undef for no encryption.) In either case the current encryption mode will be returned. Example:
# Get the current encryption mode
$mode = $server->Encrypt();
# Currently disable encryption
$server->Encrypt(undef);
# Switch back to the old mode
$server->Encrypt($mode);
<<lessSYNOPSIS
use RPC::pClient;
$sock = IO::Socket::INET->new(PeerAddr => joes.host.de,
PeerPort => 2570,
Proto => tcp);
$connection = new RPC::pClient(sock => $sock,
application => My App,
version => 1.0,
user => joe,
password => hello!);
pRPC (Perl RPC) is a package that simplifies the writing of Perl based client/server applications. RPC::pServer is the package used on the server side, and you guess what RPC::pClient is for. See RPC::pClient(3) for this part.
pRPC works by defining a set of of functions that may be executed by the client. For example, the server might offer a function "multiply" to the client. Now a function call
@result = $con->Call(multiply, $a, $b);
on the client will be mapped to a corresponding call
multiply($con, $data, $a, $b);
on the server. (See the funcTable description below for $data.) The function calls result will be returned to the client and stored in the array @result. Simple, eh?
Client methods
new
The client constructor. Returns a client object or an error string, thus you typically use it like this:
$client = RPC::pClient->new ( ... );
if (!ref($client)) {
print STDERR "Error while creating client object: $clientn";
} else {
# Do real stuff
...
}
Call
calls a function on the server; the arguments are a function name, followed by function arguments. It returns the function results, if successfull. After executing Call() you should always check the error attribute: An empty string indicates success. Thus the equivalent to
$c = Add($a, $b)
# Use $c
...
is
$c = $client->Call("Add", $a, $b);
if ($client->error) {
# Do something in case of error
...
} else {
# Use $c
...
}
CallInt
Similar to and internally used by Call. Receives the same arguments, but the result is prepended by a status value: If this status value is TRUE, then all went fine and the following result array is valid. Otherwise an error occurred and the error message follows immediately after the status code. Example:
my($status, @result) = $client->CallInt("Add", $a, $b);
if (!$status) {
# Do something in case of error
my $errmsg = shift @result || "Unknown error";
...
} else {
...
}
Encrypt
This method can be used to get or set the cipher attribute, thus the encryption mode. If the method is passed an argument, the argument will be used as the new encryption mode. (undef for no encryption.) In either case the current encryption mode will be returned. Example:
# Get the current encryption mode
$mode = $server->Encrypt();
# Currently disable encryption
$server->Encrypt(undef);
# Switch back to the old mode
$server->Encrypt($mode);
Download (0.019MB)
Added: 2007-07-24 License: Perl Artistic License Price:
823 downloads
xmlrpcserver 0.99.2
xmlrpcserver provides a simple to use and complete XML-RPC server. more>>
xmlrpcserver provides a simple to use and complete XML-RPC server.
xmlrpcserver is a simple to use but fairly complete XML-RPC server module for Python, implemented on top of the standard module xmlrpclib.
This module may, for example, be used in CGIs, inside application servers or within an application, or even standalone as an HTTP server waiting for XML-RPC requests.
xmlrpcserver is completely written in Python and has no dependencies other than standard modules.
Enhancements:
- This version added system.listMethods() and system.methodHelp() introspection methods
- introduced a return value to execute()
- featured a small security improvement by not allowing methods starting with _ to be available in registered classes.
<<lessxmlrpcserver is a simple to use but fairly complete XML-RPC server module for Python, implemented on top of the standard module xmlrpclib.
This module may, for example, be used in CGIs, inside application servers or within an application, or even standalone as an HTTP server waiting for XML-RPC requests.
xmlrpcserver is completely written in Python and has no dependencies other than standard modules.
Enhancements:
- This version added system.listMethods() and system.methodHelp() introspection methods
- introduced a return value to execute()
- featured a small security improvement by not allowing methods starting with _ to be available in registered classes.
Download (0.021MB)
Added: 2007-04-06 License: LGPL (GNU Lesser General Public License) Price:
931 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above rpc stub search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed