| <% set_title("Developing with", product_name_long) %> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| *Developing with <%=vars.product_name_long%>* explains main concepts of application programming with <%=vars.product_name_long%>. It describes how to plan and implement regions, data serialization, event handling, delta propagation, transactions, and more. |
| |
| For information about <%=vars.product_name%> REST application development, see [Developing REST Applications for <%=vars.product_name_long%>](../rest_apps/book_intro.html). |
| |
| - **[Region Data Storage and Distribution](region_options/chapter_overview.html)** |
| |
| The <%=vars.product_name_long%> data storage and distribution models put your data in the right place at the right time. You should understand all the options for data storage in <%=vars.product_name%> before you start configuring your data regions. |
| |
| - **[Partitioned Regions](partitioned_regions/chapter_overview.html)** |
| |
| In addition to basic region management, partitioned regions include options for high availability, data location control, and data balancing across the cluster. |
| |
| - **[Distributed and Replicated Regions](distributed_regions/chapter_overview.html)** |
| |
| In addition to basic region management, distributed and replicated regions include options for things like push and pull distribution models, global locking, and region entry versions to ensure consistency across <%=vars.product_name%> members. |
| |
| - **[Consistency for Region Updates](distributed_regions/region_entry_versions.html)** |
| |
| <%=vars.product_name%> ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region, including <%=vars.product_name%> members that distribute region events. |
| |
| - **[General Region Data Management](general_region_data_management.html)** |
| |
| For all regions, you have options to control memory use, back up your data to disk, and keep stale data out of your cache. |
| |
| - **[Data Serialization](data_serialization/chapter_overview.html)** |
| |
| Data that you manage in <%=vars.product_name%> must be serialized and deserialized for storage and transmittal between processes. You can choose among several options for data serialization. |
| |
| - **[Events and Event Handling](events/chapter_overview.html)** |
| |
| <%=vars.product_name%> provides versatile and reliable event distribution and handling for your cached data and system member events. |
| |
| - **[Delta Propagation](delta_propagation/chapter_overview.html)** |
| |
| Delta propagation allows you to reduce the amount of data you send over the network by including only changes to objects rather than the entire object. |
| |
| - **[Querying](querying_basics/chapter_overview.html)** |
| |
| <%=vars.product_name%> provides a SQL-like querying language called OQL that allows you to access data stored in <%=vars.product_name%> regions. |
| |
| - **[Continuous Querying](continuous_querying/chapter_overview.html)** |
| |
| Continuous querying continuously returns events that match the queries you set up. |
| |
| - **[Transactions](transactions/chapter_overview.html)** |
| |
| <%=vars.product_name%> provides a transactions API, with `begin`, `commit`, and `rollback` methods. These methods are much the same as the familiar relational database transactions methods. |
| |
| - **[Function Execution](function_exec/chapter_overview.html)** |
| |
| A function is a body of code that resides on a server and that an application can invoke from a client or from another server without the need to send the function code itself. The caller can direct a data-dependent function to operate on a particular dataset, or can direct a data-independent function to operate on a particular server, member, or member group. |
| |