Best approach to create and deploy web service that handles JSON

Currently I build macOS and Windows apps. I’m looking at creating a simple web service that will convert text stored within a JSON and respond with a new JSON that contains binary data. So the web app needs to respond to a call from a different web site which passes the JSON, and return a new JSON with process results and data if successful.

Would it be best for me to create a Xojo web app to do this, or would a linux console app do as I don’t need a front-end for a browser?

Also, to start, I can’t justify paying the US$49 per month for Xojo Cloud. Any recommendations of what kind of service I can use to host a simple app like this? I have a shared hosting service with SiteGround (linux server running Fedora) for my web site but it sounds like this won’t work due to config limitations.

Thanks in advance. Mark

Sounds like a web app would do best. You should look into AWS lightsail virtual machines to host it. They start at around $5 per month. You will also need @Tim_Parnell 's Lifeboat app. It makes it super simple to deploy an app to the machine.

3 Likes

I always choose a WebApp over a Console app since you have the choice of giving it a Web interface. I send up/down JSON using URLConnection and HandleURL. It’s a joy to use!

I use VPSDime (https://vpsdime.com) to get a cheap Linux host for $US7 per month. It will run as many Xojo Apps as you want. I get them to install the Microsoft Remote Desktop Linux software so I can manage it remotely, share clipboard for password entry and map share a local drive for file transfers.

It will be much easier to do it with a Web App, since with a Console app you will have to handle all the HTTP protocol with raw ServerSocket & TCPSocket. In a Web App you just need to implement the App.HandleURL event.

There is a Webinar Tomorrow about this topic, join us!

Also, with a Web App you can just press on Deploy using our Xojo Cloud service.

1 Like

Thanks for all the help. I went with @Brandon_Warlick 's suggestion. Too easy to set up a AWS light sail virtual machine - especially with @Tim_Parnell 's Lifeboat and AWS YouTube video. I’ve upgrade to Xojo Pro and got a basic web app running on a sub-domain of my website. Purchasing a license for Lifeboat as it’s gold! Thanks again.

4 Likes

@Mark_Franken If you do decide to use Xojo Web as the foundation for your Web service, then this Xojo project might help you to get started: https://tdietrich-opensource.s3.amazonaws.com/Xojo/Request-Analyzer.xojo_binary_project.zip

The project includes code for analyzing an incoming request, processing it, and building up the response.

There’s information about the project here: Xojo: A Web 2.0 Project That Analyzes HTTP Requests

And if you want to give the Web service a try, you can send a request here: https://analyzer.mnmlsw.com (That’s an instance of the app running on a Xojo Cloud server.)

Good luck with your project.

2 Likes

Thanks - sounds like the perfect webinar for me right now - but it’s at 5am my time. Sorry I don’t function at that time!

No worries Mark, it will probably be uploaded to YouTube later, so you can check it whenever you can.

6GB RAM / 4 vCPUs? Best price memory/CPU I’ve found so far. I guess I’ll try it out soon to host a website and few services.

@Brandon_Warlick Thanks for the recommendation! I’m so glad Lifeboat works for you :slight_smile:

@Mark_Franken Welcome to the family! If you need any help with Lifeboat don’t hesitate to send me an email support@strawberrysw.com

@David_Cox @Tim_Dietrich I would love for you guys to try out Lifeboat and let me know what I could improve on to add it to your toolkit. If you have any questions about integrating with your workflow, my inbox is open :slight_smile:

Best wishes, everyone!
Tim Parnell

6 Likes

I personally use the Luna REST/API server based on @Tim_Dietrich work : https://github.com/timdietrich/luna
Then work on a macOS, Windows and iOS client to use secure with Postgres :slight_smile: