Hands-on examples galore…
My new book has been announced here including its table of contents. Today, I would like to present a list of all the hands-on examples covered. Each example is described in great detail giving background information that will allow you to incorporate the aspects learned into your own projects easily. All examples are supported with source code available on GitHub.
Here is the introduction of the chapter titled ‘Hands-on multi-tier examples”:
In this chapter, you will build various multi-tier applications that deliver information from one database. The connection to the database will be completely loosely coupled using a Web service. The Web service will be implemented using XData.
All client applications that use the VCL framework will use TAdvStringGrid or TDBAdv-Grid and present practical use cases. Two of those often requested use cases in support questions are validation and auto-completion of user input.
If you are not yet familiar with TMS XData or TMS WEB Core, some of the examples might prove to be too diffcult to understand. I recommend studying [2, 3, 4] frst as all necessary fundamentals are covered in these books. Alternatively, of course, the product documentation can be used to get up to speed.
The following application types and aspects will be covered in detail:
- An XData Web service application built for a Windows server using the VCL framework that will be the bridge between all applications and the database.
- Adding documentation to an XData Web service that can become part of the Delphi code completion and help insight features. Furthermore, we will take a deep dive into Swagger UI to browse, test, and document services.
- A VCL Windows desktop application to list all the cities that match a certain postal code. TDBAdvGrid will be used to display the data.
- A mobile application for iOS and Android smartphones written in Fire-Monkey that will also allow lookup of postal codes.
- The last target platform is the Web that will be addressed using TMS WEB Core. You will develop a Web application that will offer the same features as the previous applications. The records will be displayed using a TWebTable-Control as TAdvStringGrid is designed for the VCL only. Furthermore, the user interface will get styled using CSS from the Bootstrap framework to make it a modern user interface ready to be displayed on any device.
- Another VCL Windows desktop application that demonstrates data entry inside of a TAdvStringGrid supported by Web service results to reduce data entry mistakes. Only existing postal codes can be entered. Additional information like city and country does not have to be entered but will be read from the Web service instead.
- After looking at all these examples, we will look at a topic that is important but comes always short in documentation as it is very specific to the use case: The deployment of XData servers as a Windows service. The book will limit the content to Windows-based servers.
- Client applications connect to an XData server using its endpoint expressed in a URL (BaseUrl property). This URL is set in the XData server and needs to be changed if the XData server is migrated to another network. Furthermore, the XData server connects to a database management system using a FireDAC database connection. This database connection uses connection parameters that are frequently part of an INI configuration file. It would be highly beneficial for the development of XData servers if these configuration settings could be changed without recompiling the server. A remote connection to the server would also be required to make changes to the configuration files. Changing configuration files is also error prone and offers no validation. Thus, this book will provide a detailed example to add a configuration Web service to your XData server that can be used to change its settings. In this example, we will make the database connection and the server’s BaseUrl configurable.
- Furthermore, a Web client application will be introduced to edit these settings to make Remote Desktop connections to the XData server redundant.
- Finally, the Web application will be hosted by the XData server by implementing a local Web server.
- The XData server application and its user interface will be updated to use vector images to allow easy maintenance for administrators using the server’s VCL application.
- Another important factor of server maintenance is monitoring. You need to be able to get information about the state of your server (e.g. critical system parameters). This will lead to the final examples in this book which will explain how you can write a monitoring Web service that gives you information on memory and storage usage of the server. Windows Management Instrumentation (WMI) will be used inside of an XData service to achieve that.
- The Web application to configure the server will be extended with a dashboard view using FNC Dashboard Pack to display the monitoring information.
- A brief introduction to TMS Miletus will be given that will allow you to efficiently create desktop applications based on TMS WEB Core applications. In particular, the Web application that was developed in the preceding sections will be migrated to the desktop.