160 likes | 355 Views
Group-F1 MANEESH ABRAHAM DEEPAK PANCRAS ARCHIT TRIVEDI SANTHOSH VIVEKANANDAN NAIMISH PATEL. Develop a SaaS application on GAE or Force.com or Azure Robocode Windows Azure Team. CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS.
E N D
Group-F1 MANEESH ABRAHAM DEEPAK PANCRAS ARCHIT TRIVEDI SANTHOSH VIVEKANANDAN NAIMISH PATEL Develop a SaaS application on GAE or Force.com or AzureRobocodeWindows Azure Team CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
INTRODUCTIONBattle City (Tank Video Game) CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Program your own robot Robocode Competitors write software that controls a miniature tank that fights other identically-built (but differently programmed) tanks in a playing field. Robots can move, shoot at each other, scan for each other, and hit the walls or other robots if misprogrammed. Though the idea of the game is simple, the strategy needed to win is not. Robots can have thousands of lines in their code dedicated to strategy. [Source:Wikipedia] CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
The anatomy of a Robocode robot • Note that the robot has a rotating gun, and on top of the gun is a rotating radar. • The robot vehicle, the gun, and the radar can all rotate independently: at any moment in time, the robot's vehicle, the gun, and radar can be turned in different directions. • By default, these items are aligned, facing the direction of the vehicle movement. • [Source: IBM developerWorks - http://www.ibm.com/developerworks/library/j-robocode/] CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Windows Azure is a cloud computing platform and infrastructure, created by Microsoft, for building, deploying and managing applications and services through a global network of Microsoft-managed datacenters. • It provides both PaaS and IaaS services and supports many different programming languages, tools and frameworks, including both Microsoft-specific and third-party software and systems. • Windows Azure was released on February 1, 2010. [Source:Wikipedia] CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Windows Azure Services CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Windows Azure Features CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Objectives Goal • Port the standalone Robocode application to the Windows Azure cloud. • Access Control : Robots as a Resource • Compile Robocode on the cloud • Robocode Code Comparison • Play Battle CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Robocode Implementation • Since Robocode is implemented as a standalone application, the best bet to move it to cloud is to create a web application with serves as an UI for the robocode application and call the robocode functions in the Robocode library from the UI. Google App Engine • GAE has a complete servlet life cycle implementation suing the Jetty servlet container. We can create traditional servlet based web applications Windows Azure • Windows Azure allows us to use our own servlet containers to develop web applications. • For example, I can use Apache Tomcat to develop my Java based web applications Force.com • Force.com has their proprietary containers and servlet implementations. • We have to use APEX and VisualForce pages to create the web applications. CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Compiling Robots Google App Engine • Google App Engine has Java support, but they do not have all the Java APIs whitelisted. But Java Compiler APIs are disabled. So we cannot compile new robots online using the developed app. Windows Azure • Windows Azure allows uploading the complete Java Development Kit to the Azure platform. So, there won't be any restrictions to use JAVA COMPILER APIs for compile the robots online. Force.com • They do not have Java support which leaves us with no choice to have the robocodeapis on a separate box and hosted it as a web service and use those web services from the SalesForceplatform. • But they allow us the option to develop our java application on HEROKU which is another PaaS platform for developing applications and integrate with SalesForce.com CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Robocode Code Comparison • Find Robot’s Code SimilarityMOSS tool can be used to do the Robot’s code comparison. • This MOSS tool can be used only through PERL scripts. CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Access Control Rules • Robots are resources, access to which needs to be controlled. • Different organizations are collaborating on developing a resource (In this case, a robocode robot). • Roles hierarchy of different organizations can be different. • Set Access Rights for different roles Per Resource. • Map roles of one organization (domain) to another organization to allow cross domain access of resources. CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Access Control ROLES (Examples) • Creator • Viewer • Developer • Contributor • Manager RIGHTS • No Rights • Read • Create + Read • Create + Read + Update • Create + Read + Update + Delete Rights are mapped to Roles on per Robot basis to achieve Access Control on a specific Resource. CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
Windows Azure Access Control • Windows Azure supports Access Control mechanism using Active Directory. • Active Directory (AD) is a directory service implemented by Microsoft for Windows domain networks. It is included in most Windows Server operating systems. • An AD domain controller authenticates and authorizes all users and computers in a Windows domain type network—assigning and enforcing security policies for all computers and installing or updating software. For example, when a user logs into a computer that is part of a Windows domain, Active Directory checks the submitted password and determines whether the user is a system administrator or normal user. CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
RobocodeDemo CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS
THANK YOU CS 6301.501 CLOUD COMPUTING – SPRING 2014 – UNIVERSITY OF TEXAS AT DALLAS