Good morning,

Would you mind sharing that library with us, please?

Regards,

Pierre Goupil



Le 8 mars 2017 09:28, "Gonzalo Aguilar Delgado" <gagui...@level2crm.com> a
écrit :

> Hi Martin,
>
> Thank you a lot. I'm almost done!!!
>
> It's so great. I made a clientside library that allows widgets to register
> for data streams. And the Websockets library integrated with Wicket
> subscribe delivers the specific data to each subscriptor.
>
> It takes just one connection. And I loooooove it!
>
> Best regards,
>
> El 07/03/17 a las 21:45, Martin Grigorov escribió:
>
> Hi,
>
> On Tue, Mar 7, 2017 at 10:07 AM, Gonzalo Aguilar Delgado 
> <gagui...@level2crm.com> wrote:
>
>
> Hi Martin,
>
> I must say I was working with websockets yesterday. And it's delightful
> experience. Have to check how it does scale but it seams just great.
>
> I have a doubt. Since I'm doing fully async I'm doing fully async request
> with WebSocketResource. I suppose that there's no way to update the
> interface from there. I mean, if we are sending a message because a model
> changed on server. Can I trigger the repain of a widget? I suppose this
> option is only available if using behavior right?
>
>
> Correct!
>
>
>
> I saw the broadcast example you did. But does it worth mix WebSocketResource
> and WebSocketBehavior?
>
> What is best, more scalable?
>
>    1. Doing a WebSocketResource with 1 connection that via Javascript
>    notifies all components in page.
>    2. Use WebSocketResource + 1 WebSocketBehavior per component, and then
>    broadcast to all.
>
> Even if you have many WebSocketBehaviors in your components Wicket will
>
> create only one WebSocket connection per page. A web socket message sent by
> the browser will be delivered to all behavior instances. You have to decide
> whether the message is applicable for a given behavior or should be
> discarded.
>
> The drawback of using WebSocketBehavior is that during the processing of a
> message the Page instance will be locked, so WS messages are processed
> sequencially and any Ajax requests at the same time will wait for the page
> to be unlocked.
>
>
>
>
>
> As I told what I'm doing is a Javascript hub that receives messages (via
> WebSocketResource) and sends to the widgets async so they can update. But
> I suppose that following this approach it's quite difficult update
> components from Javascript. And so the opposite. If a component updates
> it's internal model on server, there's no way to push to the interface.
>
> Can I have both? The ability to update components (graphs mainly) from
> javascript datasource, but from time to time, update components on wicket
> and send updates to the UI (html)?
>
>
> You can use org.apache.wicket.protocol.ws.api.WebSocketPushBroadcaster to
> repaint Wicket components initiated at the server side. You will need to
> preserve the page id to able to notify a specific page. Or
> WebSocketBehavior should keep some extra information, e.g. userId, to
> decide whether a given PushMessage is for it or not.
>
>
>
> Best regards,
>
>
>
> El 06/03/17 a las 09:08, Martin Grigorov escribió:
>
> Hi,
>
>
> On Mon, Mar 6, 2017 at 3:57 AM, Gonzalo Aguilar Delgado 
> <gagui...@aguilardelgado.com> <gagui...@aguilardelgado.com> wrote:
>
>
> Hello,
>
> I'm using the fantastic Decebals dashboard, adding a widget json
> registry and some other improvements. The idea is to provide data
> streaming functionality like the one provided by graphana, kibana and
> friends.
>
> So the server will contain the datasources. And the dashboard will apply
> to one or more datasources on the server.
>
> But I don't know what's the best way to go with wicket.
>
> My first idea is to provide a websocket connection with a DataManager
> for each user dashboard (only 1 at a time active), subscribe to
> datasources, and receive the streaming over the websockets. The
> DataManager then will keep track of what topic each chart wants to
> receive and multiplex the result to each chart via Javascript.
>
> This way there's only 1 connection to the server. But data can be shared
> among widgets. I suppose it's not easy task.
>
> The other way is do ajax with each chart. But I think this would make a
> lot of calls to the server and I suppose it's not scalable.
>
> Soooo. What's the best way to go?!
>
>
> I'd use WebSockets for this!
>
>
>
> Any good chart integration on wicket apart of highcharts? D3js or
> similar...
>
>
> The demo app forhttp://wicketinaction.com/2012/07/wicket-6-native-websockets/ 
> uses Google
> Charts library without any Wicket component integration.
>
>
>
> Preview of the current work is this link:
>
>     https://pbs.twimg.com/media/C6M_hG6WYAEeysz.jpg
>
>
>
> --
> [image: Gonzalo Aguilar Delgado] *Level2 CRM*
>   Gonzalo Aguilar Delgado
>   Consultor CRM - Ingeniero en Informática
>
> M. +34 607 81 42 76 <+34%20607%2081%2042%2076> <+34%20607%2081%2042%2076>
> T. +34 918 40 95 78 <+34%20918%2040%2095%2078> <+34%20918%2040%2095%2078>
> E. gagui...@level2crm.com
>
>
>
>
>
> --
> [image: Gonzalo Aguilar Delgado] *Level2 CRM*
>   Gonzalo Aguilar Delgado
>   Consultor CRM - Ingeniero en Informática
>
> M. +34 607 81 42 76 <+34%20607%2081%2042%2076>
> T. +34 918 40 95 78 <+34%20918%2040%2095%2078>
> E. gagui...@level2crm.com
>
>
>
>
>

Reply via email to