Anzo Architecture

The Anzo Server lies at the heart of the Anzo architecture. The server follows a distributed Service Oriented Architecture (SOA) pattern in which all system components are connected together by a secure asynchronous messaging fabric. This approach has many advantages, foremost of which is the ability to scale up the server across a hardware cluster in which many of the component services can be executed in parallel for greater throughput. Another significant advantage of this design is the ease with which new Anzo services may be added, including integration with third-party products, legacy systems and remote Web services.

The Anzo Server supports the W3C's semantic standards (RDF, RDFS, OWL, SPARQL) at every level of the software stack. This makes Anzo a unique platform for the native support of sophisticated, next-generation, semantically-enabled applications. Learn more about Anzo's use of semantic technology standards.

The Anzo Server provides a (RDF) graph database and a binary content repository. On top of these components, Anzo provides various registries and service directories for client-side applications and system use. For example, Anzo includes an ontology registry for semantic content models and a Web service directory to facilitate discovery and invocation of services.

User and role management can integrate with an organization's existing Active Directory Server or LDAP directory or can be handled via the Anzo Server's included LDAP directory server.

Anzo includes an extensible architecture on both the server-side and the client-side. On the server, business logic may be developed in a number of programming languages including Java, JavaScript and PHP. A client-side API is available for .NET, Java and JavaScript (in the Web browser).

Anzo is architected to ensure that applications written for the server are as scalable as possible. In particular, the architecture implements data replication and multiple levels of disk-, memory-, and client-based caching. Data is transparently replicated to client-side databases in order to make local API access as fast as possible and avoid expensive round trips to the data server. All replicated data is automatically synchronized in near real-time with the server. Update transactions use an optimistic-concurrency approach that allows scaling in parallel.

The Anzo Server is a Java server with component services that execute in one or more OSGi runtimes connected via the Java Messaging Standard (JMS), allowing for cross-platform deployments. The server includes an administrative console and supports the standard JMX management interfaces and a J2EE compatible servlet container.