1 / 10

Robocode as a service

Robocode as a service. Project Milestone. Provide Access Control Mechanisms to access other robots across domains Deploy Robocode as a service on a cloud platform (Google App Engine) Plagiarism detection Provide an option to run battle between robots Intuitive user interface to view battle.

noma
Download Presentation

Robocode as a service

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robocode as a service

  2. Project Milestone • Provide Access Control Mechanisms to access other robots across domains • Deploy Robocode as a service on a cloud platform (Google App Engine) • Plagiarism detection • Provide an option to run battle between robots • Intuitive user interface to view battle

  3. Architecture Web App Framework Request Handler Browser Request Datastore API Response Services URL Fetch App Engine Datastore Mail Google Accounts

  4. Cloud Storage • Using GAE’s BLOB Store and Datastore to store application data • BLOB store is used to store the robots • Each robot has a unique BLOB key • Associating the BLOB key and username obtained from the user service API as an entity in the datastore • Datastore is used to store all other data • JDO is used for querying and storing data into the datastore

  5. GAE API’s • com.google.appengine.api.datastore.* • To access the datastore, create entities, key value for the entities etc. • com.google.appengine.api.users.* • User authentication service. • Retrieve their email address, and check if they are an administrator for this application. • com.google.appengine.api.blobstore.* • Provides management and persistent storage of large, immutable byte arrays. • Allows applications to accept, save, and later serve files of any size.

  6. User Interface • JSP, JavaScript, jQuery are used in user interface development • Phases in user interface: • Gmail Authentication • Registration • Admin Control Panel • Robocode Editor • Accessing other robots across domains

  7. Role-based Access Control • Introduces the concept of a role and a permission • Permissions are assigned to roles • Users are assigned to role • RBAC is an access control mechanism which: • Describes complex access control policies. • Provides data abstraction • The extent to which abstraction is supported will be determined by the implementation details

  8. Basic Roles • Super Admin - Creates domain, defines roles within a domain, and maps roles across domains Eg: A sample role Hierarchy • Domain Admin – Top in the role hierarchy for a particular domain. • Developer – Restricted from viewing others code, Create robots. • Viewer – Can only select other robots and play. No access to the code. • Note: User can only be in one domain and can have only one role.

  9. Super Admin Create Domain Super Admin Define Role Hierarchy Cross Domain Role Mapping A Sample Role Hierarchy Administrator Developer Developer Viewer Viewer

  10. Privileges Granted • No Read – Cannot access any code • Read Only – Will be able to view the code • Read/Update – Will be able to make changes to others code. • Read/Update/Delete – Can also delete apart from modifications. Intra-Domain: When a developer creates a robot, he/she can • set the above privileges to each and every role within the domain. • Modify the permission in the future. Inter-Domain: • Based on the mapping defined by super admin while creating the domain. Permissions can be updated only by super admin.

More Related