Changes between Version 44 and Version 45 of WikiStart
- Timestamp:
- 08/14/09 14:50:40 (13 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WikiStart
v44 v45 15 15 16 16 17 Other protocols, like HTTP oriented SOAP/REST, can be relayed into Combus through which all connected Anzo services are exposed. The Anzo [http://www.openanzo.org/projects/openanzo/wiki/AnzoClientDesign client library API's] (currently Java, JavaScript and .Net) rely on a set of standard services (e.g. replication service, notification service, model service, authentication service, query service, update service etc) to operate. New service components are added to the system using either Java orJavaScript and made available as custom "semantic services" or as alternates to the standard services. For example, additional storage architectures (e.g. RDF, RDBMS or other 3rd party API ) might be supported by implementing the interfaces necessary to support the services that a regular Anzo “data source” provides.17 Other protocols, like HTTP oriented SOAP/REST, can be relayed into Combus through which all connected Anzo services are exposed. The Anzo [http://www.openanzo.org/projects/openanzo/wiki/AnzoClientDesign client library API's] (currently Java, !JavaScript and .Net) rely on a set of standard services (e.g. replication service, notification service, model service, authentication service, query service, update service etc) to operate. New service components are added to the system using either Java or !JavaScript and made available as custom "semantic services" or as alternates to the standard services. For example, additional storage architectures (e.g. RDF, RDBMS or other 3rd party API ) might be supported by implementing the interfaces necessary to support the services that a regular Anzo “data source” provides. 18 18 19 19 Client programs can query and update the RDF through the server from across the web using the Anzo client stack or a Web Service. The client stack provides various modes of operation including embedding an Anzo server within the client (Java only), running all operations against a remote server, or running against locally persisted data that is kept updated in real time. … … 21 21 The authentication service delegates to LDAP. Authentication is required to connect to the Combus (JMS) messaging cloud and begin making service calls, all of which carry the end users identity. 22 22 23 One other major architectural feature of the Anzo middleware designed to support scalability and offline use, is replication of data accessed through the middleware to local quad stores that are part of the client API libraries. All changes to graphs, including those cached in the local replica's are automatically synchronized in near real-time and propagated from their master source by the replication and notification services. In the case of the [http://www.openanzo.org/projects/openanzo/wiki/AnzoJSDesign anzo.js] the JavaScript version of the Anzo client library API for browsers, this is achieved using Ajax style [http://cometdaily.com/2008/07/09/implementing-a-bayeux-to-jms-bridge/ JMS over HTTP]. The system supports transactions with optimistic concurrency using preconditions.23 One other major architectural feature of the Anzo middleware designed to support scalability and offline use, is replication of data accessed through the middleware to local quad stores that are part of the client API libraries. All changes to graphs, including those cached in the local replica's are automatically synchronized in near real-time and propagated from their master source by the replication and notification services. In the case of the [http://www.openanzo.org/projects/openanzo/wiki/AnzoJSDesign anzo.js] the !JavaScript version of the Anzo client library API for browsers, this is achieved using Ajax style [http://cometdaily.com/2008/07/09/implementing-a-bayeux-to-jms-bridge/ JMS over HTTP]. The system supports transactions with optimistic concurrency using preconditions. 24 24 25 25 Named graphs are the unit of granularity for replication and access control. Experience has proved that this is also a convenient level of granularity for programmers who often treat a named graph like a single conceptual object.
