Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 12 total
Thread Backend server framework, recommendations.
Fri, Mar 8 2019 2:12 PMPermanent Link

Mario Enríquez

Open Consult

Hello everybody,

We're about to formally start the developing of a new project with EWB and EDB as the backend database. We've been testing mORMot (Just the HTTP/WebServices/REST part, not the ORM) for the server backend framework, and so far it has worked fine. It offers security, full Delphi environment, an Scalable Embedded Web/App server implementation, JSON serialization, etc. Overall, nice framework.

One of the goals for the server part, is to have a multitenant REST service that would serve JSON (and some binaries) for EWB and mobil apps as well (Android and IOS), some we're aiming at a very standard JSON implementation and client agnostic. For this purpose mORMot has performed fine.

Before committing to this framework, I thought it would be a good idea to ask EWB devs what their thoughts are on Backend frameworks for Delphi /JSON, and witch ones are worth to consider?


Thanks for you advice.

Regards,
Mario
Fri, Mar 8 2019 4:59 PMPermanent Link

ooptimum

I use Node.js as a server platform for my current project. I know, it's not Delphi, but development of the server part in Node is 10 times easier and 10 times faster than in Delphi, and much more pleasure. It's amazing. I had developed working RESTful server supporting EWB JSON data exchange protocol and utilizing MariaDB via ORM library literally in 1 day, while being complete newbee in Node and Typescript. You will be reading documentation for Mormot for half a year only.

You know what I'm dreaming of right now? I want Tim to make Typescript a second language of choice in EWB, much like C++ in the RAD Studio.
Fri, Mar 8 2019 11:07 PMPermanent Link

Mario Enríquez

Open Consult

Thank you for your advice ooptimun.

Does Node.js offers a way to secure the requests to the webservice, or it has to be implemente by the developer?

I'll be taking a look at it, for sure. You're right on the money mORMot, it is deep... Wink

Regards,
Mario
Sat, Mar 9 2019 2:38 AMPermanent Link

ooptimum

<< Does Node.js offers a way to secure the requests to the webservice, or it has to be implemente by the developer? >>

Sure you can encrypt all responses in Node application, but I recommend to use a https-to-http proxy in front of Node. Nginx is good for this, and it can serve static content for your app if you wish.
Sat, Mar 9 2019 5:45 AMPermanent Link

Matthew Jones

Mario Enríquez wrote:

> Before committing to this framework, I thought it would be a good idea to ask EWB devs what their thoughts are on Backend frameworks for Delphi /JSON, and witch ones are worth to consider?

Hmm, if Delphi is your game, then mORMot appears to be fine, but I haven't used it - I used the RemObjects system (which now does REST-like as well as the old RPC).

But since moving to C# and .Net, I've been impressed at how much easier it is to make a REST API. There are lots of things that make it just that bit nicer in so many places, and one of which is that Google has an answer for all the problems I have. Easy conversion of objects to JSON or XML, no memory management, all sorts. Obviously there is a cost to learning, but I'm more productive now.

There are also other tools - look at how much code is required to make a web API in Python. About 5 lines. Now sure it isn't fully featured, but it is modern and fast.

But this all depends what you are building. A site that is going to serve simple data to 5 people in an office, who cares. If you are intending to scale it to the world, I'd go with something modern. And something that can be easily containerised too (it is possible to put Delphi in a container, but not as easy as something that runs on Linux).

--

Matthew Jones
Sun, Mar 10 2019 3:28 PMPermanent Link

Mario Enríquez

Open Consult

Thank you for the advice folks.

Mathew, I'm somewhat familiar with ASP.NET/C# and I'm willing to learn Python, but the main reason for wanting to stay in Delphi is that my Backend database is Elevate DB and I would rather use the "native" client to access EDB.

I've use the EDB OLEDB driver before, and it worked fine but I felt it was somewhat slower than straight Delphi, and I afraid it is not frequently updated..

Have you tried to access EDB from Python? if so, what kind of "bridge" (driver) did you use and how it performed?

Regarding the use of the resulting app, it is intended to be a public app with about 200~300 users frequently connected.

Regards,
Mario
Sun, Mar 10 2019 7:11 PMPermanent Link

Walter Matte

Tactical Business Corporation

I build a framework around RealThinClient and I have 3 interchangeable  database pools
-  dbisam
- elevate db
- unidac Devart

This allows me to really have any backend  database.

I wrote a small article about some of the features

https://www.elevatesoft.com/forums?action=post&category=ewb&id=ewb_demos&page=1&msg=249

One other feature I have not discussed is my use of Digital Metaphor's Report Builder - I store reports and up to 4 queries in a table.   The table includes the master detail relationship if there are any.

I have a standalone program that let's me enter the queries, describe the mater detail link and then launch the end user report builder to build and save all of this in the table.

I have a unit I put into the EWB project fill in a few parameters and the backend framework can pull the report and return it as a PDF, Word Doc or Excel spreadsheet.  This is part of my framework and reusable on any project.
Sun, Mar 10 2019 11:32 PMPermanent Link

Mario Enríquez

Open Consult

Walter,

How did you use RTC to implement REST webservices?

How did you manage to secure request to the WS?

I tried to follow the link to the article but it appears to be broke.. Frown

Regards,
Mario
Sun, Mar 10 2019 11:34 PMPermanent Link

Mario Enríquez

Open Consult

Never mind, I found the post to your article. Thank you!
Mon, Mar 11 2019 3:58 AMPermanent Link

Walter Matte

Tactical Business Corporation

Mario:

"How did you use RTC to implement REST webservices?"

Search this Forum for DataSetToJSON and you will find a early version of the code I use to take a dataset and package it up in JSON so that it can be ingested by EWB.  ou will also find the Commit code that will take the DWB dataset request and perfor Insert/Edit or Delete options on tables.


"How did you manage to secure request to the WS?"

With RTC I use SecureSec to provide secure https web server - if running as a service.  With Isapi via IIS with a certificate.

Walter
Page 1 of 2Next Page »
Jump to Page:  1 2
Image