How to store Spring WebSocketSession in a List - spring-boot

I need to handle each WebSocketSession in my application individually before sending a message.
But I cannot find a way to get thoose sessions and store in a List, for example, using Spring WebSocket framework.
I have drawn a flow chart to show, more or less, how the application works.
I tried to read the documentation and look to tutorials, but none could help me.

Related

Websockets in Spring using Stomp - subscribe to feed

I am looking at Websockets within a Spring application. Without going into detail of what I have written, I would like to know if what I want to do is possible and if it is sensible. They can be different.
So using the Spring guide - Using WebSocket to build an interactive web application - as a base, I wnated to have a form that takes a message (breaking news) and for other pages within the application that have subscribed to the feed to receive that breaking news.
I used Vue js for the javascript (which is not used by the guide).
The result is that though the message is displayed immediately in the form page before the submit (due to using v-model in vue), the breaking news is not shown on the other pages, though they appear to have subscribed (looking at the console output).
But the key questions are - is this possible / sensible?
Regards

Spring MVC - How to manage Reference Data on Web Clients

I have a Typical SOA web application which has the following components as expected.
The Web Client - Sprinv MVC
SOAP Services - Spring
The Reference Data is centralized which is exposed thru its own SOAP Services.
The SOAP webservice responses have codes for elements(like CountryCode, CityCode etc).
I need the suggestions as to what should be the best approach to for ex display the Country Description instead of the country code (which needs another SOAP call to reference data and same with other codes) on the web page ?
Few options are like:
Write a custom tag library which would do the necessary calls and get the data.
Fetch all the ReferenceData descriptions and put it into some kind of HashMap, add it to the model to be consumed by the web page.
Any other better ways please advice.
Since it's reference data, no one expect it to change very often, right? Retrieve them once and serve them up using #ModelAttribute. See here.
Spring MVC is still server side, so it can handle very large data e.g. all the street addresses in US. You simply need to make sure you add some sort of filter if you don't want to serve the entire collection. And simply partial update these reference data with the latest on regular basis.

Page Content Refreshed via Web Socket or AJAX

I am working on a project which is built on Springs MVC and Google App Engine with Objectify.
The major functionality of this app is: If someone posts something new to the Datastore then it should be auto published to the browsers to which it is connected without refreshing the page content. Basically it is a news like site. The data sent to browser is REST APIs based JSON Data.
For implementing this functionality I thought of using the following ways:
AJAX : I thought of using AJAX call in every 2-3 minutes to get updated. But this solution doesn't seems to be feasible as there are many datastore read operation due to many AJAX calls from many browsers.
Web Socket : This concept is pretty new to me. I am not aware of this thing. Some pusher.com uses this technology for establishing such connections.
Now I need your suggestions, using which of the two above or I am also open to other solutions.
Google app engine does not support web sockets, however it supports something similiar called the channel api which works on older browsers as well. This may not be feasible depending on how many people you will have connected (channels cost 1c per 100). Channels also have some caveats: https://developers.google.com/appengine/docs/python/channel/overview#Caveats
As for using Ajax - if you cache the response in memcache and flush the key every 3 minutes then you won't be doing any data store reads unless a new instance is fired up or the key expires.

Phonegap and Django Authentication

I am in the middle of building a PhoneGap (Cordova) app which I would like to be able to talk to a Django site of mine. The steps needed to get the app working are:
Authenticate the user (stay logged-in across app restarts) (e.g. get session cookie from Django for communication with the service - where to store?). Note: The Django endpoint uses https.
When app receives push notification load some data from my django site.
Make selection on data and submit response back to my django site (will need the csrf token?)
I was able to sort out the push notifications but now I am wondering which solution would work best for the communication with Django.
As I understand there are two possible approaches:
Either to implement a REST service with something like tastypie or
try to setup the communication via ajax (e.g. jQuery)
At the moment I am thinking that going simply ajax might be the best approach since the app is fairly small and there are no additional requirement for a REST API.
It would be great if anyone could give me any pointers on how to solve this or share some experiece / code. Especially the steps of the authentication process are unclear to me.
I am not sure if this is still an open question but it is sure an interesting one.
I would strongly suggest on using the django-tastypie and you could start by using the docs which are indeed a great point of reference.
My experience until now has shown that I should always start by making my api clear(and rest) than choosing an easier faster solution(e.g. ajax) because if your app is a successful one, frameworks like tastypie help you scale.
The authentication process is pretty straightforward if you choose the basic one.
You just ask for the user credentials and there are many clients implementing the client side basic auth.
Fortunately, tastypie supports more than this. For example, the api authentication and you could read more here.
If you need anything else, please let me know.
Regards,
Michael.

Consuming SOAP web service for a cocoa application

I am trying to consume a SOAP web service into a cocoa application. The return value which is printing in the log is an HTML error page.
My Main objective is to pass two parameters to the web service and get a value in response. Can anyone please suggest correct way of achieving this?
It could be any number of things. For startes: you may be hitting the wrong URL, you may be sending invalid data and the server is not returning a valid error. The best thing to do is check what you are doing against any docs you may have, then contact the person working on the server side of the project for help debugging.
I know that is not a very specific answer, but I don't have a lot to go on. Hope it helps.

Resources