Blog post: 7+1 ways to deploy a MARS-Curiosity application server to 5 platforms

Blog post: 7+1 ways to deploy a MARS-Curiosity application server to 5 platforms

https://blog.andreamagni.eu/2017/01/mars-curiosity-71-ways-to-deploy-to-5-platforms/
https://blog.andreamagni.eu/2017/01/mars-curiosity-71-ways-to-deploy-to-5-platforms/

Comments

  1. Very good Andrea!

    Do you have a forecast for when you will be able to use mORMot / Sparkle?

    And you're thinking of offering more efficient JSON parsers than System.JSON (JsonDataObjects / dwsJSON)?

    ReplyDelete
  2. Ezequiel Juliano Müller Thanks! I am going to investigate a bit to support mORMot and Sparkle, probably I will need to abstract a bit from TWebRequest and TWebResponse (I already plan to do that, however) but may be easier than I think. I don't have a precise schedule, sorry.

    For the JSON parser, MARS-Curiosity is designed to be very independent from other libraries you may need, including System.JSON. It would be very easy to use JSONDataObjects (I don't know dwsJSON but will take a look) because you can simply use their datatypes and provide a MessageBodyWriter and MessageBodyReader implementation (some code to serialize/deserialize the actual Delphi types to/from the http response/request).

    I will try to add some demo for JSONDataObjects, ASAP.

    ReplyDelete
  3. Ezequiel Juliano Müller A demo about how integrate JsonDataObjects in MARS-Curiosity is now available ;-) (see blog.andreamagni.eu - HOME )

    ReplyDelete
  4. Very good job Andrea Magni! This uncoupling is a very positive point of MARS.

    I have not test yet, but I have some doubts:

    1. If I use DTOs in the returns / parameters of the methods will it serialize using JsonDataObjects?

    2. In RESTClient is it also possible to serialize using JsonDataObjects?

    ReplyDelete
  5. Thanks! 1) yes, it will use the MessageBodyWriter to serialize TJsonObject to the response stream (and will use the MessageBodyWriter to parse the request inputs [body or parameters] to TJsonObject).
    2) MARS-Curiosity has a client library and I plan to add some automatism to serialize/deserialize also on the client side but still isn't there...

    ReplyDelete
  6. How nice.

    One suggestion I'd like to make, would be for you to create some load and performance tests using JMeter. Maybe even comparing with other solutions (from Delphi itself or the community).

    ReplyDelete
  7. I have made some simple benchmarking using ab.exe but didn't know about JMeter... Will have a look, thanks!

    ReplyDelete

Post a Comment