WEB-ENHANCED INFORMATION MANAGEMENT (COMS E6125) SPRING 2008 (CVN) NAVID AZIMI (NA2258) Web Platforms, or: How I Learned To Stop Worrying And Love Facebook.

Slides:



Advertisements
Similar presentations
Overview Environment for Internet database connectivity
Advertisements

12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Testing Web Applications & Services Testing Web Applications & Web Services.
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulu University of Applied Sciences Facebook API Teppo Räisänen
Using Evernote and Google Docs in your web or mobile application (and potentially Dropbox and Skydrive) By Peter Messenger Senior Developer – Triple Point.
HTTP Request/Response Process 1.Enter URL ( in your browser’s address bar. 2.Your browser uses DNS to look up IP address of server.com.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Web development in the “real” world Dave Tanchak COMP 1536 – Feb
Technical Architectures
Introduction to Backend James Kahng. Install Node.js.
Facebook Platform: 101 Network Journal Club Meeting Shaomei Wu May 7, 2008.
IS 360 Course Introduction. Slide 2 What you will Learn (1) The role of Web servers and clients How to create HTML, XHTML, and HTML 5 pages suitable for.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
Complaint Desk Team 8. Introduction A web based system that records grievances. A web based system that records grievances. Users can report their grievances.
High Performance Faceted Interfaces Using S2S Eric Rozell, Tetherless World Constellation.
SaaS, PaaS & TaaS By: Raza Usmani
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Platform as a Service (PaaS)
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Rich Internet Applications for the Enterprise Creating RIA from your Oracle database using TURBO Enterprise Web 2.0 Presented By: John Krahulec Bizwhazee.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
SOFTWARE REUSE 28 March 2013 William W. McMillan.
Fundamentals of Database Chapter 7 Database Technologies.
Pi In The Sky (Web Interface) Gaston Seneza Philander Smith College, Little Rock, AR SIParCS Intern Mentors: Dr. Richard Loft & Dr. Raghu Raj Kumar 1.
LOGO 2 nd Project Design for Library Programs Supervised By Dr: Mohammed Mikii.
Jason Cortes, GOER Web Programming/Developer
Leveraging ArcGIS Online Elevation and Hydrology Services
SQL Server User Group Meeting Reporting Services Tips & Tricks Presented by Jason Buck of Custom Business Solutions.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Facebook API Kelly Orser. Client Libraries Client libraries will simplify the calls to the platform by reducing the amount of code you have to write.
Web Development Process The Site Development Process Site Construction is one of the last steps.
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Facebook is a social utility that connects you with the people around you. Use Facebook to…  Keep up with friends and family  Share photos and videos.
Ex Libris Developers Network Develop. Experiment. Collaborate.
CloudWay.ro Gives Clients Fast Invoicing, Stock Management, and Resource Planning via Microsoft Azure and Azure SQL Database MICROSOFT AZURE ISV PROFILE:
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
Developing an d Application s. Chris Kirkland (Founder of The Artists Web) ● Not affiliated with Facebook.
Platform as a Service (PaaS)
AuraPortal Cloud Helps Empower Organizations to Organize and Control Their Business Processes via Applications on the Microsoft Azure Cloud Platform MICROSOFT.
Platform as a Service (PaaS)
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Section 6.3 Server-side Scripting
Nicho Joins Microsoft Azure Certified Program to Transform Brand Engagement, Boost Customer Acquisition and Conversions with Scalable Ease MICROSOFT AZURE.
AJAX and REST.
Platform as a Service.
Social Networks Integration in Android
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
PHP / MySQL Introduction
Running on the Powerful Microsoft Azure Platform,
Designed for Big Data Visual Analytics, Zoomdata Allows Business Users to Quickly Connect, Stream, and Visualize Data in the Microsoft Azure Platform MICROSOFT.
IS 360 Course Introduction
Newsletters An automatic news recommender system
Lecture 1: Multi-tier Architecture Overview
Quasardb Is a Fast, Reliable, and Highly Scalable Application Database, Built on Microsoft Azure and Designed Not to Buckle Under Demand MICROSOFT AZURE.
WPS - your story so far Seems incredible complicated, already
Technical Integration Guide
Architecture of the web
Leveraging ArcGIS Online Elevation and Hydrology Services
Web Application Development Using PHP
Presentation transcript:

WEB-ENHANCED INFORMATION MANAGEMENT (COMS E6125) SPRING 2008 (CVN) NAVID AZIMI (NA2258) Web Platforms, or: How I Learned To Stop Worrying And Love Facebook

My Project Extend and document Facebook.NET  Facebook.NET is an open-source managed wrapper around the Facebook REST APIs. Used by Facebook application developers Facebook APIs facilitate application developers to leverage user data  e.g. personal information, profile real estate, social graph, etc Facebook APIs are only one facet of the Facebook Platform

Facebook Platform Allows third parties to develop web or desktop applications that  leverage user data and Facebook’s social graph  e.g. name, networks, photos, friends, marketplace, etc  deeply integrate into the Facebook ecosystem  e.g. profile real estate, mini-feed, look and feel, etc Frontend Integration (UI)  Reusing Facebook’s controls and styles Backend Integration (Data)  Access to user data and settings as well as scalable data store

Frontend Platform Markup (FBML)  Stands for Facebook Markup Language  Improves usability by allowing third-party applications to leverage existing Facebook UI controls  dashboard, invite users, comments, forms, type-ahead, etc  Adheres to each user’s privacy settings automatically Scripting (FBJS)  Stands for Facebook JavaScript  Facilitates “Javascript” functionality in a safe context  Includes native support for Ajax and Animation libraries

Backend Platform Query (FQL)  Stands for Facebook Query Language  Offers SQL-like interface to get/set user data Interface (API)  Offers REST-like interface to get/set user data  Client (wrapper) libraries exist in 17+ programming languages  PHP, Ruby, C#, Java, Perl, Python, Lisp, etc  Encapsulate common, mundane and generally difficult to “get right” tasks such as authentication, encryption, transformation, etc Data Store  Facebook offers applications free (though capped) data store that is highly scalable (i.e. optimized distributed tables)

Platform Architecture Each application hosts its own site (along with its own database). Users load application page through Facebook  Facebook sends a request to the application callback url on behalf of the user along with some data  The application renders the page and returns it to Facebook  which may or may not contain FBML code Facebook in turn renders the page again for security and functionality and displays it to the user

Application Request Life Cycle This has obvious performance implications. They are in large part mitigated via aggressive caching and server load-balancing. Facebook automatically times-out after a mere eight seconds! Creates a need for high performing and scalable hosts. User makes request for an application hosted page Facebook sends request to application Application renders and returns response to Facebook Facebook renders (parses) response from application Facebook returns requested page to User

And the results? 910,230,80922, ,000 There are 910,230,809 installs across 22,143 applications. Over 200,000 developers are currently evaluating the platform. (data from Facebook has successfully opened up their walled garden of data Application developers can monetize their own sites  via advertisement, subscription fees, affiliate fees, etc.  Facebook itself does not advertise on application canvas pages! Applications (supposedly) add value to the Facebook ecosystem  thereby generating more traffic and revenue for Facebook

So, what’s missing? Developer tools and support are both sorely lacking  No Facebook sandbox or staging environment  Poorly designed test user accounts  Technical support limited to community discussion forums  Live site monitoring is poor and unreliable Applications are now becoming walled gardens of data themselves  Potentially create “application-to-application” platform  Similar concept (Permissions API) has already gone into BETA  Allows one application to make Facebook API calls on behalf of another application

COMMENTS? QUESTIONS? Thank you!

Facebook Applications I’ve Developed Professionally  Microsoft Dynamics Connect Recreationally  Kiwi: your story told by friends  Profile Watcher  You Are Bootyful  Hooray Beer! Installation base of 900k+ and steadily growing.