Message:

Feature-a-Day (124 posts)

In my previous post I described how data tables in Backendless map to the client-side classes whose instances contain persisted data objects. However, there are scenarios when the default mapping is undesirable. In that case, Backendless client libraries provide an API to override the mapping. For example, consider the following data table (Restaurant):
restaurant table schema1 - Feature 123: Custom mapping between Data tables and Client classes

Continue reading

It may already be obvious if you had followed this blog series. Data tables created in Backendless and the client-side classes you write or obtain through Backendless code generation, have a direct correlation. By default a table and the corresponding client-side class have the same name. This is true for all Backendless SDKs which support object-oriented data access. This includes Android, Java, Objective-C, Swift, JavaScript, ActionScript and .NET. For example, consider the following data table:
restaurant table schema1 - Feature 122: Client class to data table mapping

Continue reading

Previously I described how to save data objects using REST Console. The same interface allows to save objects with related data – it is strictly a matter of formatting the request body. Consider the following two data table schemas:

Restaurant table schema:
restaurant table schema1 - Feature 121: Adding objects with relations using REST Console

Continue reading

Backendless REST Console is a tool capable of driving REST queries against Data Service. It is useful when you need to validate a REST command or for testing and diagnostics purposes. REST Console is available in a dedicated tab on the Data screen of the Backendless Console. Previously I wrote how to load data objects using REST Console and how to save a new data object. In this post I will describe the API to delete a data object.

Continue reading

The custom business logic feature in Backendless lets you add your own server-side code to handle client API requests. In this post I am going to review how to add the Data Service API handlers.

With that type of handler you can intercept and add additional logic for the APIs which store data in Backendless, run queries, update or delete data objects.

The easiest way to start building server-side Backendless code is the developer console. Login to your account, select an app and click the Business Logic icon. I assume there are some data tables in your backend, if not, make sure to create a few. Since we are going to add an event handler which works with persistent data, click Data Tables from the list of available handler categories. Click Add Event Handler, the screen should look as shown below:
adding data service handler - Feature 119: Custom server-side code to handle Data Service API events

Continue reading

Previously I wrote how to generate custom business logic code for API event handlers and how to locally debug your custom code. Now your code is ready to be pushed to the Backendless servers. Once it is out there, the Backendless infrastructure automatically handles scaling the code execution and routing requests to an instance available to run your code. The process for deploying an API event handler is very similar to the one for timers (see deploying custom business logic in timers to Backendless).

The ZIP file you downloaded from the Backendless Console (when it generated the code for an event handler) includes the deploying utility located in the /bin directory. To deploy the code, open a command prompt window and run the Deploy script. There are two of them, one for Linux (Deploy.sh) and the other for Windows (Deploy.bat). When you run the utility, it inspects all the custom code, packages and deploys it to the Backendless servers. The utility output would look similar to the one below:

Continue reading

Previously I wrote about the REST Console, which is a part of the Backendless Console. It is a versatile interface which lets you perform a complete CRUD (Create, Retrieve, Update, Delete) set of operations on your data stored in Backendless using the REST interface. One of my previous articles described how to use the REST Console to perform search queries (that’s the Retrieve part of CRUD). In this post I am going to demonstrate how to save new data objects using the REST Console.

Consider the following data table schema:
location table - Feature 117: Creating/saving new data objects using REST Console

Continue reading

Previously I described how to use the Backendless Console to generate custom business logic code. In this post I will describe one of the most amazing features in Backendless – an ability to debug custom server-side code on the developer computer before deploying it to the cloud. It would be very helpful for you to go through the previous feature to establish the surrounding context.

Once the code is generated, you can use the Download button to get a project archive (zip) with all the source code. In addition to the code the archive also contains a special command line utility which you can use to run the custom code locally. The trick of the local execution is the code inject itself into the API processing chain. This happens despite the fact that the API invocation is handled in the cloud, but the custom code runs on your computer. To put things in perspective, see the diagram below:backendless incocation chain - Feature 116: Local debugging of custom business logic using CodeRunner

Continue reading

In my previous post I introduced the feature of server-side API event handlers – a mechanism for injecting custom business logic into Backendless. In this post I am going to review the process of creating an event handler for User Service APIs using Backendless console. The User Service APIs include: user registration, login, logout, user update, password recovery and retrieval of user schema (a list of user properties and their types). You can build an event handler (or two event handlers – “before” and “after”) for each of these operations.

Continue reading

There are two types of custom (server-side) business logic supported by Backendless – timers and event handlers. In my previous posts have reviewed the entire process of developing, testing and deploying timers. Now I’m going to focus on event handlers. An event handler is a piece of custom server-side logic which can be plugged into the API processing chain. The diagram below illustrates how API processing works – the gray box is the server-side of Backendless. As you can see, there are two blocks where custom business logic can be placed – the “before” and “after” handlers:
backendless incocation chain - Feature 114: Custom Business Logic - Event Handlers (Overview)

Continue reading