Changes for page Remoting

Last modified by christoph_lechleitner@iteg_at on 2022-08-08 10.40:02

From version 2.1
edited by 5fbc055b7cc103006957e1ae
on 2012-06-15 03.23:57
Change comment: There is no comment for this version
To version 5.1
edited by christoph_lechleitner@iteg_at
on 2022-05-30 02.40:38
Change comment: Protocol and Client / Server Support

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.5fbc055b7cc103006957e1ae
1 +XWiki.christoph_lechleitner@iteg_at
Content
... ... @@ -1,10 +1,9 @@
1 -(% style="" %)
1 += {{id name="RemotingHome-Introduction"/}}Introduction =
2 +
2 2  Remoting is a framework issuing remote calls over TCP/IP with optional TLS support. It provides for callback patterns, broadcating and bean support and interoperates well with the [[spring framework>>url:http://www.springframework.org/||shape="rect"]] and [[OSGi>>url:http://www.osgi.org||shape="rect"]].
3 3  
4 -(% style="" %)
5 5  Furthermore, it offers two alternative wire protocols. One is based on java.io.ObjectOuputStream while the other protocol uses a highly optimized binary data stream, which additionally features C++ interoperability through the fancysock library.
6 6  
7 -(% style="" %)
8 8  The source code can be checked out from the SVN repository located here:
9 9  
10 10  {{code language="none"}}
... ... @@ -11,7 +11,6 @@
11 11  http://svn.clazzes.org/svn/remoting
12 12  {{/code}}
13 13  
14 -(% style="" %)
15 15  For manual installation you may download the .jar files from the maven repository:
16 16  
17 17  {{code language="none"}}
... ... @@ -18,14 +18,10 @@
18 18  http://maven.clazzes.org/org/clazzes/remoting/
19 19  {{/code}}
20 20  
21 -(% style="" %)
22 -=== {{id name="RemotingHome-Mavenintegration"/}}Maven integration ===
19 += {{id name="RemotingHome-Mavenintegration"/}}Maven integration =
23 23  
24 -(% style="" %)
25 25  We recommend to build your project with [[Maven>>url:http://maven.apache.org/||shape="rect"]]. Just add the following snippets to your {{code language="none"}}pom.xml{{/code}} file:
26 26  
27 -
28 -
29 29  {{code language="none"}}
30 30  <repository>
31 31   <id>clazzes.org</id>
... ... @@ -39,8 +39,42 @@
39 39  </dependency>
40 40  {{/code}}
41 41  
42 -(% style="" %)
43 -=== {{id name="RemotingHome-Troubleshooting"/}}Troubleshooting ===
36 += {{id name="RemotingHome-Sourcecodeandissuetracker"/}}Source code and issue tracker =
44 44  
45 -(% style="" %)
46 -If you have any problems please consult our [[bug database>>url:https://jira.clazzes.org/browse/REMOTING||shape="rect"]]. You may also find information in the forum and wiki.
38 +--Subversion: [[http:~~/~~/svn.clazzes.org/svn/remoting>>url:http://svn.clazzes.org/svn/remoting||shape="rect"]]--
39 +
40 +--Jira: [[REMOTING>>url:https://jira.clazzes.org/browse/REMOTING||shape="rect"]]--
41 +
42 +Git-Mirrors: See [[https:~~/~~/git.clazzes.org/>>url:https://git.clazzes.org/||shape="rect"]], search for "{{code language="none"}}java-libs/rpc{{/code}}".
43 +
44 += {{id name="RemotingHome-ProtocolandClient/ServerSupport"/}}Protocol and Client / Server Support =
45 +
46 +== {{id name="RemotingHome-BinaryProtocol"/}}Binary Protocol ==
47 +
48 +The binary protocol that is based on but not quite equal to Java serialization.
49 +
50 +Both Java and C++ can act as client and server for this variant.
51 +
52 +=== {{id name="RemotingHome-BinaryProtocolC++"/}}Binary Protocol C++ ===
53 +
54 +For C++ see {{code language="none"}}fancysock3-dev{{/code}} from the {{code language="none"}}*-fancylibs-3{{/code}} repos on [[deb.clazzes.org>>url:https://deb.clazzes.org/||shape="rect"]] and [[rpm.clazzes.org>>url:https://rpm.clazzes.org/||shape="rect"]].
55 +
56 +As as starting point look at class {{code language="none"}}Fancy::Sock::RemotingConnectionHandlerFactory{{/code}} (server) and {{code language="none"}}Fancy::Sock::RemotingClientPool{{/code}} (client).
57 +
58 +== {{id name="RemotingHome-JSONProtocol"/}}JSON Protocol ==
59 +
60 +The JSON protocol is based on JSON-RPC-2.0 and supported by a server helper for C++, and there are examples for JavaScript clients (but nothing public yet).
61 +
62 +=== {{id name="RemotingHome-JSONProtocolC++"/}}JSON Protocol C++ ===
63 +
64 +For C++ see {{code language="none"}}fancysock3-dev{{/code}} from the {{code language="none"}}*-fancylibs-3{{/code}} repos on [[deb.clazzes.org>>url:https://deb.clazzes.org/||shape="rect"]] and [[rpm.clazzes.org>>url:https://rpm.clazzes.org/||shape="rect"]].
65 +
66 +As as starting point look at class {{code language="none"}}Fancy::Sock::HttpD::JsonRpc2RequestHandler{{/code}}.
67 +
68 +=== {{id name="RemotingHome-JSONProtocolJavaScript"/}}JSON Protocol JavaScript ===
69 +
70 +There is no public example from clazzes.org yet, but it's basically JSON-RPC-2.0.
71 +
72 +\\
73 +
74 +\\
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -659261
1 +947257360
URL
... ... @@ -1,1 +1,1 @@
1 -https://clazzes.atlassian.net/wiki/spaces/REM/pages/659261/Remoting Home
1 +https://clazzes.atlassian.net/wiki/spaces/REM/pages/947257360/Remoting Home