Changes between Version 44 and Version 45 of WikiStart

Show
Ignore:
Timestamp:
08/14/09 14:50:40 (13 months ago)
Author:
jordi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v44 v45  
    1515 
    1616  
    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.  
     17Other 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.  
    1818 
    1919Client 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.   
     
    2121The 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.  
    2222 
    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.  
     23One 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.  
    2424 
    2525Named 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.