Delphi Web Service articles in Blaise Magazine

Two of my Delphi web service articles have been published in Blaise Pascal Magazine and a third one is coming up.

This series of articles is about writing your own web services server and client in Delphi. The approach of all articles is pragmatic. The first article introduces some of the concepts you need to know and shows you how to create and consume your own web service in Delphi. This second article shows you how to update the data in the web service and how to create in-memory storage for the web service. There is even some JavaScript that shows you how to use the web service from a HTML page.

Creating a web service is a simple and straightforward way to share Delphi application data with third-party software vendors. It’s easy to create one, and it supports the standard features of REST web services with industry standard JSON.

Blaise Pascal Magazine appears 10 times a year, each issue has at least 100 pages with articles on Delphi and Lazarus. The latest issue is #93, as noted with Web Service Part 2 Storage by Danny Wind, but also with ORM in kbmMW #3 Copying a table from one database to another by Kim Bo Madsen. The best choice for getting your Blaise Pascal Magazine issues is a subscription.

Spice up your Delphi application with online image content – 8 december 09:15

Move beyond the confines of your application and add online content in
just 50 lines of code.

Join us with Alister Christie from New Zealand for this live Q&A and webinar on scraping the web for live and always up-to-date art work in your Delphi application.

In this session Alister shows you how to spice up your application with image content scraped from the WikiMedia website. Technologies used in this session are NetHTTP, JSON, Regular Expressions and XML storage with the ClientDataSet. At the end Alister goes down the rabbithole to add additional compatibility with a missing JPEG format in the VCL. Just for fun!

After this workshop you can easily use the code to create your own web crawler or scraper to add online content to your application. Please make sure the media you scrape can be used freely.

Register here:
https://www.barnsten.com/spice-up-your-delphi-application/

The Q&A at 09:45 will be handled by Alister (for him its 21:45), so this is a chance to meet him live online. I’ll be there as well.

CodeRage 2019 RAD Server Key Value sessions

Thank you for attending my CodeRage 2019 sessions on RAD Server.

The Key Value storage created, deployed and used in the sessions is very simple to build, but also very versatile in its use. Hopefully you will find as many, or even more, uses as I have for the Key Value server code in your own projects with RAD Server.

If you want to replay the sessions, please visit the CodeRage 2019 playlist on YouTube here.

Please find the download with Delphi sources and a partial emsserver.ini here:
Download source and emsserver.ini
The download has been compressed with RAR with password coderage2019
and has the following SHA-256 checksum
26c45c2079e4fa359541c78f444ebfd8e8a2f43005a0d6c1038040a82ed3c8f1

David Intersimone (DavidI) has created an excellent handbook on RAD Server which can be found here.

Have fun creating your own RAD Server solutions!

Some after session thoughts

In an attempt to shorten the RADServerKeyValue Client video a part of the video at the end was removed that should not have been removed. This involves using a key/value pair with uploading a larger or more complex text. The source code in the rar file you can download has the correct source code.

This Key Value store code has special handling for any key with a value ‘body’. In response to this keyword the RAD Server Key Value package assumes the body of the Request contains a UTF8 encoded text to be placed in the value for the dictionary. This makes it possible to put text in the Key Value storage that would be difficult to put as a URL parameter, either due to size constraints for URL segments, or due to special characters not allowed in URL parameters.

By setting the recycle time of the IIS ISAPI to 24 hours, the in-memory Key Value pairs will remain available for that period. If you want you can add persistency for this dictionary by storing the data in a database in the RAD Server backend.

You may want to add manual support for different MIME types with EndPointProduce and EndpointConsume and use EMSFileResource and EMSDBResource to feed files or database tables back to the client.