Hi Irunika,

These are the decisions made after the code review.
>
>    - Migrate WebSocket Session implementation from MSF4J to
>    Carbon-Transport so the same implementation can be used in other products
>    too.
>    - Since Carbon-Messaging is not depending on protocols, change the
>    naming conventions of newly added message types so they can be reused.
>
> *ex : TextWebSocketMessage -> TextCarbonMessage Then add the protocol as a
>    property to the CarbonMessage so message processor can identify the
>    protocol using the property.*
>    - Implement Secured WebSocket Support (WSS) for MSF4J.
>    - Add authentication support for WebSocket
>
> I think you don't have to specially implement authentication mechanism for
web socket protocol. According to the spec[1], websocket doesn't provide a
way to authenticate clients. You can use any other mechanism with HTTPS or
HTTP etc. to authenticate the server.

This protocol doesn't prescribe any particular way that servers can
authenticate clients during the WebSocket handshake.  The WebSocket
server can use any client authentication mechanism available to a
generic HTTP server,

such as cookies, HTTP authentication, or TLS authentication.


 [1] https://tools.ietf.org/html/rfc6455

Thanks,
Lakshman

>
>    - Implement support for fat jar mode so it can work in standalone mode.
>
>
> Thanks,
> Irunika
>
> *Irunika Weeraratne*
> *Software Engineer | WSO2, Inc. <http://wso2.com/>*
> *Email : [email protected] <[email protected]>*
> *LinkedIn : https://lk.linkedin.com/in/irunika
> <https://lk.linkedin.com/in/irunika>*
> *Mobile : +94712403314 <+94%2071%20240%203314>*
> *Lean . Enterprise . Middleware*
>
>
> On Fri, Dec 16, 2016 at 11:09 AM, Irunika Weeraratne <[email protected]>
> wrote:
>
>> Noted.
>>
>> Thanks & Best Regards,
>> Irunika
>>
>> *Irunika Weeraratne*
>> *Software Engineer | WSO2, Inc. <http://wso2.com/>*
>> *Email : [email protected] <[email protected]>*
>> *LinkedIn : https://lk.linkedin.com/in/irunika
>> <https://lk.linkedin.com/in/irunika>*
>> *Mobile : +94712403314 <+94%2071%20240%203314>*
>> *Lean . Enterprise . Middleware*
>>
>>
>> On Thu, Dec 15, 2016 at 6:18 PM, Kishanthan Thangarajah <
>> [email protected]> wrote:
>>
>>>
>>>
>>> On Thu, Dec 15, 2016 at 11:06 AM, Irunika Weeraratne <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>> Since there were issues with the initial design as mentioned in this
>>>> mail thread We came up with a new design.
>>>>
>>>> ​
>>>> With this design, we can decouple MSF4J from Carbon-Transport.
>>>> The Responder is a newly added interface to Carbon-Messaging and it is
>>>> implemented in Carbon-Transport. This Responder is  responsible for
>>>> handling server pushes.
>>>> Also a new CarbonMessage type is added to Carbon-Messaging as
>>>> WebSocketCarbonMessage to handle WebSocket messages.
>>>> This WebSocketCarbonMessage will be extended to work with different
>>>> kinds of WebSocketCarbonMessages
>>>>
>>>>    - TextWebSocketMessage
>>>>    - BinaryWebSocketMessage
>>>>    - PingWebSocketMessage
>>>>    - PongWebSocketMessage
>>>>    - CloseWebSocketMessage
>>>>
>>>> All the implementations in MSF4J will be done according to JSR 356 spec.
>>>>
>>>
>>> +1, we can proceed with this approach. This will make MSF4J not to
>>> depend on transport f/w directly.
>>>
>>> Thanks,
>>> Kishanthan.
>>>
>>>
>>>> WDYT?
>>>>
>>>> Thanks & Best Regards,
>>>> Irunika
>>>>
>>>> *Irunika Weeraratne*
>>>> *Software Engineer | WSO2, Inc. <http://wso2.com/>*
>>>> *Email : [email protected] <[email protected]>*
>>>> *LinkedIn : https://lk.linkedin.com/in/irunika
>>>> <https://lk.linkedin.com/in/irunika>*
>>>> *Mobile : +94712403314 <+94%2071%20240%203314>*
>>>> *Lean . Enterprise . Middleware*
>>>>
>>>>
>>>> On Fri, Dec 9, 2016 at 4:14 PM, Irunika Weeraratne <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>> In the current architecture, we can't have multiple Carbon Message
>>>>> Processors. So if we want to give WebSocket support to MSF4J we have to
>>>>> implement it inside MSF4J Core. If we do so MSF4J might get slower since 
>>>>> it
>>>>> needs to check whether every incoming message is a WebSocket message or a
>>>>> HTTP message.
>>>>> Also for Server-Push we have to add another interface to
>>>>> Carbon-Messaging
>>>>> So what would be the better approach?
>>>>>
>>>>> Thanks,
>>>>> Irunika
>>>>>
>>>>> *Irunika Weeraratne*
>>>>> *Software Engineer | WSO2, Inc. <http://wso2.com/>*
>>>>> *Email : [email protected] <[email protected]>*
>>>>> *LinkedIn : https://lk.linkedin.com/in/irunika
>>>>> <https://lk.linkedin.com/in/irunika>*
>>>>> *Mobile : +94712403314 <+94%2071%20240%203314>*
>>>>> *Lean . Enterprise . Middleware*
>>>>>
>>>>>
>>>>> On Fri, Dec 9, 2016 at 12:07 PM, Irunika Weeraratne <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi all,
>>>>>> After the offline discussion with Azeez and Kishanthan, we identified
>>>>>> 2 main issues with the current approach
>>>>>>
>>>>>>    1. Current design compromises the very reason of putting the
>>>>>>    Carbon-Messaging in between Carbon-Transport and MSF4J which is 
>>>>>> decoupling
>>>>>>    the Transport layer from MSF4J since it has a direct dependency to
>>>>>>    Carbon-Transport from MSF4J.
>>>>>>    So now we intend to add new interfaces and extended
>>>>>>    CarbonMessages to Carbon-Messaging which are compatible with WebSocket
>>>>>>    protocol.
>>>>>>    2. We have to think about the Load Balancer awareness of a given
>>>>>>    WebSocket connection since the WebSocket connection should be 
>>>>>> persistent
>>>>>>    until the client or the server closes it. So we have to identify how 
>>>>>> we can
>>>>>>    persist the connection in server side with multiple nodes.
>>>>>>
>>>>>> Will come up with a design and update.
>>>>>> If you have any thoughts please share.
>>>>>>
>>>>>> *Irunika Weeraratne*
>>>>>> *Software Engineer | WSO2, Inc. <http://wso2.com/>*
>>>>>> *Email : [email protected] <[email protected]>*
>>>>>> *LinkedIn : https://lk.linkedin.com/in/irunika
>>>>>> <https://lk.linkedin.com/in/irunika>*
>>>>>> *Mobile : +94712403314 <+94%2071%20240%203314>*
>>>>>> *Lean . Enterprise . Middleware*
>>>>>>
>>>>>>
>>>>>> On Wed, Dec 7, 2016 at 3:31 PM, Irunika Weeraratne <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>> I'm currently working on the implementation of WebSocket support for
>>>>>>> MSF4J.
>>>>>>>
>>>>>>> *Overview*
>>>>>>>
>>>>>>> ​
>>>>>>> Currently, Carbon-Transport only supports HTTP. So we need to give
>>>>>>> it the ability to handle WebSocket Frames.
>>>>>>> Also, we are planning to use existing Carbon-Messaging to process
>>>>>>> incoming messages. But in WebSocket, a response for a request is not a
>>>>>>> must. User has to handle it if there is a need of sending a response.
>>>>>>> Also, we need to give the user the ability to do server pushes using
>>>>>>> the WebSocket Sessions and to do so we need to have the reference of
>>>>>>> Netty's Channel Handler Context.
>>>>>>>
>>>>>>> In MSF4J
>>>>>>>
>>>>>>>    - Need a separate Registry to register WebSocket EndPoints since
>>>>>>>    WebSoocket EndPoints are different from MicroServices
>>>>>>>    - Message Processor gets the correct EndPoint from the registry
>>>>>>>    and dispatch the message
>>>>>>>
>>>>>>>
>>>>>>> Any thoughts?
>>>>>>>
>>>>>>> Thanks & Best Regards,
>>>>>>> Irunika
>>>>>>> *Irunika Weeraratne*
>>>>>>> *Software Engineer | WSO2, Inc. <http://wso2.com/>*
>>>>>>> *Email : [email protected] <[email protected]>*
>>>>>>> *LinkedIn : https://lk.linkedin.com/in/irunika
>>>>>>> <https://lk.linkedin.com/in/irunika>*
>>>>>>> *Mobile : +94712403314 <+94%2071%20240%203314>*
>>>>>>> *Lean . Enterprise . Middleware*
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> *Kishanthan Thangarajah*
>>> Technical Lead,
>>> Platform Technologies Team,
>>> WSO2, Inc.
>>> lean.enterprise.middleware
>>>
>>> Mobile - +94773426635 <+94%2077%20342%206635>
>>> Blog - *http://kishanthan.wordpress.com
>>> <http://kishanthan.wordpress.com>*
>>> Twitter - *http://twitter.com/kishanthan
>>> <http://twitter.com/kishanthan>*
>>>
>>
>>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Lakshman Udayakantha
WSO2 Inc. www.wso2.com
lean.enterprise.middleware
Mobile: *0717429601*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to