Developing Cloud Applications

From RAD Studio
Jump to: navigation, search

Go Up to Developing EMS, Cloud, and REST Applications


In addition to DataSnap, which is the technology that allows you to build multi-tier applications, RAD Studio provides Cloud components, which allow you to easily use cloud services from Amazon and Microsoft Azure. RAD Studio provides a framework that allows you to build cloud services and easily connect to your back-end services and databases.

With the RAD Studio RAD Cloud deployment, you can move your data and services to the Cloud, making your applications accessible from virtually any platform or device from anywhere in the world.

High-Level Overview of RAD Cloud Services

RAD Cloud.jpg

RAD Studio Cloud Services

The CloudAPI unit:

  • Holds the common functionality for the Amazon and Azure APIs, and any other Cloud service that could be implemented, which uses a REST API and the same (or a very similar) authentication mechanism.
  • Has SHA1 and SHA256 authentication implementations. Because of this, OpenSSL libraries are required when using any API that extends this unit.
  • Contains useful classes that are common across multiple APIs, such as TCloudResponseInfo and TCloudTableRow.
  • Contains the TCloudService class, which is the base service class which the Amazon and Azure API service classes extend.

Azure Cloud Service

Caption

The AzureAPI unit is a redesign of the original DSAzure API shipped with RAD Studio. The API is now more intuitive. It is easier to find the function you want to call, and it is obvious how to get the result of the API call. It should also now be thread safe, so you do not need to make a new instance of the service class in new threads, if you do not want to. Also, functions have been introduced to do the XML parsing of results for you. There are now classes and lists that wrap various XML responses. You can still call the versions of these functions that return XML, if you want to do the parsing yourself. The service classes are: TAzureBlobService, TAzureQueueService, TAzureTableService. The designer component for creating a connection info instance is TAzureConnectionInfo.

Amazon Cloud Service

Caption

The AmazonAPI unit is completely new to RAD Studio. It includes support for the Amazon Simple Queue Service (SQS), Amazon Simple Storage Service (S3) and Amazon SimpleDB service. These are very similar to their comparable services offered by Amazon. You use this API in the same way you use the AzureAPI, but each of the services has subtle differences. You can see the Amazon REST API documentation and Azure REST API documentation for a better idea of the similarities and differences. Like the Azure API, the Amazon API has functions that will do the XML parsing for you, unless you want to implement that yourself. The service classes are: TAmazonTableService, TAmazonQueueService, TAmazonStorageService. The designer component for creating a connection info instance is TAmazonConnectionInfo.

The TAzureConnectionInfo and TAmazonConnectionInfo components are located under the Cloud section in the Tool Palette pane.

Tip: A Cloud Explorer Demo is shipped with RAD Studio. The Cloud Explorer Demo demonstrates some capabilities of the Cloud API.

Connect to Your Data From Any Platform

You can connect to your data from mobile platforms (such as the iOS, Android, Blackberry, and Windows Phone 7) using either the DataSnap Mobile Connectors or the FireDAC universal data access components.

Deploy the Application to the Cloud

You can deploy the application to either Amazon EC2 or Microsoft Microsoft Azure using the Deployment Manager.

The Deployment Manager replaces the formal Deploy to Cloud wizard (for Amazon EC2 infrastructure) shipped with RAD Studio. You can deploy your application to an Amazon EC2 server just as you would deploy to any other computer. Developers need to install the Platform Assistant on the EC2 server, then set up a local profile in RAD Studio with the machine name and port of the server. After that, developers will be able to deploy to the EC2 server. If the remote debugger is installed on the EC2 server, then it can be used to debug deployed applications.

To learn more about the Deployment Manager, go to the Deployment Manager page.

See Also