Xojo Web, C#, or Java for Web App

Hi everyone,

I have a project where I will be getting remote data from the field from Raspberry Pi’s sending data to my server.

The users want to view and download the data in real-time, which means that the server app can be in one of three programs: Xojo Web, Java, or C#.

Although I like Xojo Web, it is going to take time to work out the bugs of the new release. I am also looking at Java and have only heard horror-stories about using Java since their licensing is nice - except when it isn’t. I look at the Google-Oracle-Java lawsuits and it makes me nervous to use Java. C# is a very stable program that has all of functionality of Xojo Web, and works well.

With the options - which is best (I realize that this is a relative question) for a Web application?

P.S. - I REALLY LIKE being able to ask these types of questions on this forum, since it won’t be censored! Thanks Garry, this forum is fantastic!!!

how will the raspberry pi send data to your server?

I am thinking hybrid, create a console app to listen for raspberry pi communication, then when data is received stores to database. Web app could be use as front end GUI for the user to access data for consumption.

Hi Rich,

Great question. My original thought was to use the Raspberry pi as the Client, send data to the server every minute or so through a socket. The Raspberry Pi would have a data plan through the local telephone company and would send the data to the internet through a port. Each Raspberry Pi would send data to a different port to the server.

I am still organizing my thoughts on this project, and having many sensors and external data from outside sources would likely need multitasking. Possibly stack a bunch of Raspberry Pi’s together to receive multiple sources of data and have it communicate with the main web app for the user to view the data?

Yes, it seems to make sense that the Web App Server would allow users to review the data over the internet from their machines and download the raw data.

Yes, this sounds logical.

Thanks for your thoughts. I am just making sure that it seems logical :slight_smile:

If you center things around a relational database, it makes things easier when building out modules applications. All module applications will have one thing in common which is db.

for example:

  • sender console app (Job is to gather info from raspberry pi and send results to listener console app)
  • listener console app (Job is to receive input from sender console applications and stores to db)
  • web app (User interface to interact with data stored in db)

One of my clients does exactly this and has hundreds of Pi’s deployed around their factory recording and reporting all kinds of data
That data is then put into a sql database where it can be munged & analyzed using any of several different kinds of apps

Glad to see that this has been performed before. Are the applications using multiple languages (Python, Xojo, Java?).

In such a configuration, different language applicaitons can co-exist. They just need to adhere to a standard when communicating. Example, using JSON to send data between sender and listening apps

1 Like

the pi’s run a little Xojo app that allows users at various workspaces around the factory to get data from and report data back to the main database about when jobs are started and completed along with other operational data
A lot have little touch screens attached for users to use
They’re pretty hardy little units and so cheap to swap out that if one fails they have a box full to replace them with

1 Like