Overview
TMS Sparkle is a Delphi framework for network, Internet programming. It provides classes for both client and server applications/services, allowing performing HTTP requests to servers, or building HTTP servers that receive and process client requests. It supports several platforms, including Microsoft Windows, Linux, Mac OS X, iOS and Android. TMS Sparkle is also the core framework used by several other TMS products such as TMS XData and TMS RemoteDB.
TMS Sparkle product page: https://www.tmssoftware.com/site/sparkle.asp
TMS Software site: https://www.tmssoftware.com
Why TMS Sparkle?
Trustworthy: It is the core building block for several other TMS products and technologies, such as TMS RemoteDB and TMS XData. Such products needed to be built from scratch, and rely on a robust framework for which TMS could have 100% control and also responsibility. For such products to work flawlessly, we needed to be sure to build such products in a framework that must be properly tested, and have fast response in performance improvement and bug fixing.
Fresh: It's a new product that doesn't carry any legacy applications behind it, thus classes and interfaces provide a simple, clean method of use.
Modern: It's target to new Delphi versions, and benefits from modern language features such as generics and anonymous methods.
Cross-platform: Supports multiple platforms such as Microsoft Windows, Linux, Mac OS X, iOS and Android.
Platform Native: In most of it, Sparkle is a thin, abstract layer over native API's from the underlying platform. Existing platforms already provide a lot in terms of native networking and internet programming. TMS Sparkle tries not to reinvent the wheel and use such technologies. This makes it easy for your applications to benefit from new platform versions and upgrades. Any bug fixes and improvements in the platform frameworks will be usually available in Sparkle. It also provides smoother integration with the platform, such as system-wide settings.
Client features
HTTP client available in Windows, Linux, Mac OS X, iOS and Android;
Support for HTTP Secure (HTTPS);
Transparent handling of chunked and gzip-encoded responses.
Server features
Windows HTTP server based on http.sys stack (minimum Vista and Server 2008);
Linux HTTP server based on WebBroker Apache module (requires Delphi 10.2 Tokyo or later);
Support for HTTP Secure (HTTPS);
Kernel-mode caching and kernel-mode request queuing on Windows (less overhead in context switching);
Multiple applications/process can share (respond) the same port (at different addresses);
Secure Sockets Layer (SSL) support in kernel-mode.
In this section:
Http Client
Performing HTTP client requests from your application.
Http Server
Building a server to process and respond to HTTP requests.
Design-Time Components
TMS Sparkle components for design-time usage.
Middleware System
Creating middleware interfaces in order to pre/post-process requests.
Authentication and Authorization
Built-in mechanisms for authentication and authorization.
Built-in Modules
Available and ready-to-use TMS Sparkle modules.
JSON Classes
Classes for manipulation JSON representation of data.
Logging
The logging system from TMS Business.