On Fri, May 23, 2014 at 8:50 AM, Rajkumar Rajaratnam <[email protected]>wrote:

> Hi Sagara, KasunG,
>
> As part of the R&D work, we tried couple of 3rd party RPC Implementation
> libraries with ProtoBuf.
>
> We got our own sample services working.
>
> protobuf-rpc-pro[1] is a best one in terms of features. Notable features
> are,
>
>    - TCP connection keep-alive.
>    - Bi-directional RPC calls from client to server and server to client.
>    - SSL socket layer encryption option.
>    - Data Compression option.
>    - RPC call cancellation.
>    - RPC call timeout.
>    - Out-of-Band RPC server replies to client.
>    - Non RPC Protocol Buffer messaging for peer to peer communication.
>    - Protocol Buffer wire protocol.
>    - Semantics for calls handling on TCP connection closure.
>    - Pluggable logging facility.
>    - Author is very active (His last commit was the day before yesterday)
>    - It is available in maven repo.
>
> You can find an architecture diagram of this library here[2]
>
> However, we are going to demonstrate 3 different sample client-sever
> applications implemented using 3 different libraries.
>
> We will demonstrate you that, using protobuf-rpc-pro library[1],
>

Shall we meet around 2 PM today ?

Thanks !

>
>    - Multiple services can be exposed at a single server port
>    - Multiple clients can access them simultaneously
>
> We would like to have a meeting as early as possible today. If we are okay
> with this library, we can go ahead and discuss about architecture.
>
> 1. https://code.google.com/p/protobuf-rpc-pro/
>
> 2. https://code.google.com/p/protobuf-rpc-pro/wiki/ComponentArchitecture
>
> Thanks.
>
>
> On Thu, May 22, 2014 at 12:44 PM, Denuwanthi De Silva <[email protected]
> > wrote:
>
>> Hi,
>>
>> Yes, it supports TCP.
>> We are currently working on developing a sample with multiple services.
>>
>> Thanks & Regards,
>> Denuwanthi.
>>
>>
>>
>> On Thu, May 22, 2014 at 12:21 PM, Sagara Gunathunga <[email protected]>wrote:
>>
>>>
>>>
>>>
>>> On Thu, May 22, 2014 at 11:50 AM, Kasun Gajasinghe <[email protected]>wrote:
>>>
>>>> Hi Rajkumar,
>>>>
>>>> These implementations looks interesting. It's better if we can adapt a
>>>> framework like this.
>>>>
>>>> Thrift has a built-in RPC framework, but the issue there was the need
>>>> to have one network port per service. So, make sure the library you are
>>>> going to use do not have this type of issues. It might be better if you
>>>> could look into the internals of the chosen RPC framework to better
>>>> understand the architecture.
>>>>
>>>> The MIT license is compatible with ASL 2.0. But GPL is not. So,
>>>> RCFProto is out of the picture.
>>>>
>>>> Thanks,
>>>> KasunG
>>>>
>>>>
>>>> On Thu, May 22, 2014 at 11:14 AM, Rajkumar Rajaratnam <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> We just went through Protocol Buffers yesterday and got to know some
>>>>> more information.
>>>>>
>>>>> We can define 'RPC Service Interface' in a .proto file and the
>>>>> protocol buffer compiler will generate service interface code and stubs in
>>>>> your chosen language.
>>>>>
>>>>> The stub forwards all calls to an RpcChannel, which in turn is an
>>>>> abstract interface that you must define yourself in terms of your own RPC
>>>>> system. For example, you might implement an RpcChannel which
>>>>> serializes the message and sends it to a server via HTTP[1].
>>>>>
>>>>> Hence, we can define our own RpcChannel.
>>>>>
>>>>> But, there are number of third party project with specific RPC
>>>>> implementations. Some of Java implementations are,
>>>>>
>>>>>
>>>>>    - protobuf-socket-rpc [2]
>>>>>
>>>>>    Java and Python protobuf rpc implementation using tcp/ip sockets
>>>>>    MIT License
>>>>>
>>>>>    - cxf-protobuf [3]
>>>>>
>>>>>    Integrate Google's Protocol Buffers and Apache CXF
>>>>>    Apache License 2.0
>>>>>
>>>>>    - protobuf-rpc-pro [4]
>>>>>
>>>>>    A java ProtocolBuffers RPC implementation featuring bidirectional
>>>>>    calls.
>>>>>    Apache License 2.0
>>>>>
>>>>>  It seems this has nice TCP handling capabilities ? do you guys have
>>> any working sample ?
>>>
>>>   BTW we need to ensure whether it can listen on one port and accept
>>> requests from multiple services.
>>>
>>> Thanks !
>>>
>>>
>>>
>>>>
>>>>>    -
>>>>>    - RCFProto [5]
>>>>>
>>>>>    RPC implementation for Google Protocol Buffers, based on the RCF
>>>>>    networking library
>>>>>
>>>>>    GPL v2, for open source usage.
>>>>>    Commercial license, for closed source usage.
>>>>>
>>>>> WDYT about using these 3rd party libraries? If we can use these, we
>>>>> can look into details.
>>>>>
>>>>> 1. https://developers.google.com/protocol-buffers/docs/proto#services
>>>>>
>>>>> 2. https://code.google.com/p/protobuf-socket-rpc/
>>>>>
>>>>> 3. https://code.google.com/p/cxf-protobuf/
>>>>>
>>>>> 4. https://code.google.com/p/protobuf-rpc-pro/
>>>>>
>>>>> 5. http://www.deltavsoft.com/RCFProto.html
>>>>>
>>>>>
>>>>> Thanks.
>>>>>
>>>>> --
>>>>> Rajkumar Rajaratnam
>>>>> Software Engineer | WSO2, Inc.
>>>>>  Mobile +94777568639 | +94783498120
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
>>>> email: kasung AT spamfree wso2.com
>>>> linked-in: http://lk.linkedin.com/in/gajasinghe
>>>> blog: http://kasunbg.org
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Sagara Gunathunga
>>>
>>> Senior Technical Lead; WSO2, Inc.;  http://wso2.com
>>> V.P Apache Web Services;    http://ws.apache.org/
>>> Linkedin; http://www.linkedin.com/in/ssagara
>>> Blog ;  http://ssagara.blogspot.com
>>>
>>>
>>
>>
>> --
>> Denuwanthi De Silva
>> Software Engineer;
>> WSO2 Inc.; http://wso2.com,
>> Email: [email protected]
>>
>>
>>
>
>
> --
> Rajkumar Rajaratnam
> Software Engineer | WSO2, Inc.
> Mobile +94777568639 | +94783498120
>



-- 
Sagara Gunathunga

Senior Technical Lead; WSO2, Inc.;  http://wso2.com
V.P Apache Web Services;    http://ws.apache.org/
Linkedin; http://www.linkedin.com/in/ssagara
Blog ;  http://ssagara.blogspot.com
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to