Upgrade to Pro — share decks privately, control downloads, hide ads and more …

wso2-social-initial-architecture

 wso2-social-initial-architecture

manuranga perera

September 05, 2013
Tweet

Other Decks in Programming

Transcript

  1. Data Model each comment is an json activity. activity consists

    of an actor, a verb, an object, and a target. "inReplyTo": [{ "id": "comment:773ab234g3c4323" }] }, "target": { "type": "gadget" "id": "rxt:9374d-23a3-3141" } } { "actor": { "id": "[email protected]" }, "verb": "http://activitystrea.ms/schema/1. 0/pos", "object": { "objectType": "comment", "content": "<p>This is a comment</p>",
  2. Data Model : Why JSON: plays well with Jaggery. Extensibility:

    eg: can add activities like ‘build’,’promoted’ for apps in future. Interoperability: eg: import some activities from JIRA.
  3. Data Store published using BAM DataPublisher. important fields (eg: actor,

    timestamp) are stored as separate “columns”. use native index for now, move to BAM indexing when available.
  4. Data Retrieve CQL is used to directly query Cassandra. pro:

    Real time update. Simple for basic queries. cons: May have to use many secondary indexes. Some client side processing required.
  5. Roles Step 1 : filter by actor’s permissions for the

    target Step 2 : each activity has a role it’s visible to. roles are keep separate from the normal permission roles. pro: relays on existing carbon role API. cons: implementing is not that smooth (a) pre-calculate per user. OR (b) combine at view time.