spiderwiz-core 4.0 API

API Overview

Spiderwiz programming model is based on a paradigm of distributed computing units sharing a single data plane. The sharing mechanism - how a unit locates the data it needs, how data is routed and transferred, how data modifications committed by a unit are reflected in the shared data and how a unit gets notified about data modifications committed by another unit - all of this is encapsulated by the framework runtime and is totally transparent to the programmer.

The data plane of a Spiderwiz framework consists of Data Objects. Data objects are arranged in a hierarchy under a single Root Object, therefore forming a Data Object Tree.

Each data object has a Type. The type determines the data object structure and topology - the types of its properties and its location in the object tree structure. A data object may have an ID that makes it unique among all children of a single parent in the data object tree.

Compute units may manipulate the data object tree - insert and remove objects. They can also modify data objects properties. Each of these actions generates a Data Object Event. As mentioned above, data objects events generated by one compute unit may be handled by one or more other units.

In Spiderwiz vocabulary, those compute units are called Data Nodes. Data nodes that generate data object events for a specific data object type are called Producers of that type. Data nodes that handle events of a specific data object type are called Consumers of that type.

Spiderwiz runtime role is to match producers with consumers and to carry data modifications and events from the former to the latter swiftly, efficiently and with absolute independence on underlying network technologies, protocols and configuration. Here comes Spiderwiz API.

You will find everything that you need in order to construct a data node, define data objects and start to produce and consume them in Spiderwiz Core Package.

The framework requires the use of few Java annotation classes. Their detailed description can be found in Spiderwiz Annotation Package.

Some utility classes that are used by the framework and you will probably find them useful for general purposes are in the Utility Package.

As mentioned above, as a programmer you need not worry about the infrastructure under your application, however in order to run and perform its goal your application needs to be configured. To do that see Spiderwiz Configuration.

Spiderwiz includes an extensive logging system in which logs are generated automatically by the framework, with handy methods for custom logging. See Spiderwiz Logging System.

Last but most important, Spiderwiz is about data sharing. With its data compression mechanism, it is very efficient and robust about it. To learn how the framework compresses data and how you can control it see Spiderwiz Data Compression.

Packages 
Package Description
org.spiderwiz.admin.data
Classes used by SpiderAdmin.
org.spiderwiz.annotation
Annotation classes used by the Spiderwiz framework.
org.spiderwiz.core
Core classes of the Spiderwiz framework.
org.spiderwiz.zutils
Various utility classes used by the Spiderwiz framework.