Top Banner
University of Palestine Student Name: Majed Abusalama Student Number: 220060064 Teacher responsible : Yasmin Albobo College: IT
64

University of Palestine Student Name: Majed Abusalama Student Number: 220060064 Teacher responsible : Yasmin Albobo College: IT.

Apr 22, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

University of Palestine

Student Name: Majed AbusalamaStudent Number: 220060064Teacher responsible : Yasmin AlboboCollege: IT

Page 2: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.
Page 3: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Revised v4Presenter

Google Apps APIsRyan Boyd @ryguyrg (Google)withMarcos Farias @MarcosFariasBr (Just Digital)

Page 4: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Agenda•Overview

•Building in the Cloud•Data APIs 

oApplication APIsoManagement APIs

•Authentication & Users•Just Digital's SSO solution

•HostingoApps Script

•Secure Data Connector•Gadgets

•Q & A

Page 5: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Google Apps: Tools for Today's User

GMail  Huge inbox with search: keep and find everything.

Talk  Business class IM and VC as easy as email.

Groups  Let users easily create and work in teams.

Calendar  Make sharing calendars and schedules easy.

Docs  Makes collaborating as easy as creating

Sites  Allow users to manage their own sites.

Video  Unlock the power of video within your business.

Postini  Security and compliance solutions.

Page 6: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

The Web is the Enterprise Platform

Page 7: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Lots of Customers, Growing Fast

2008 2009 2010

Over 30M active users

Over 3M businesses

More than 3,000 new businesses signup every day 

Page 8: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Building in the Cloud

Apps from Google

Google Apps

Page 9: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Apps from Google

Google AppsApps Marketplace

3rd Party Apps

Building in the Cloud

Page 10: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Apps from Google Custom Apps

Platform ServicesGoogle AppsApps Marketplace

3rd Party Apps

Building in the Cloud

Page 11: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Apps from Google Custom Apps

Administration

Enterprise Firewall

Platform ServicesGoogle AppsApps Marketplace

3rd Party Apps

Building in the Cloud

Page 12: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Data APIs Overview

Page 13: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Data Access APIs allow developers to integrate authenticated Google user data in their apps, using secure, standardized protocols.

Data APIs Overview

Page 14: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Standards-based

•Atom Publishing Protocol (AtomPub)oHTTPoREST

oAtom data format•OAuth Authorization

Page 15: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Authorization with OAuth

Consumer Business

Individual User is Resource Owner

Use 3-legged OAuth 

Company Admin is Resource Owner

Use 2-legged OAuth

Page 16: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Available Libraries

•Java•.NET

•Objective-C•PHP via Zend_Gdata

•Python

Page 17: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Recent Developments

•Partial Response•Partial Updates (using HTTP PATCH)

•JSON-C

Page 18: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Application APIs

Page 19: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Many Integration Points

Calendar Contacts

Documents List Sites Spreadsheets

Gmail

Page 20: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Google Calendar

Calendars, Calendar Events, Access Control Lists•Create (POST)•Retrieve (GET)

•Update (PUT)•Delete (DELETE)

Page 21: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Google Calendar - Creating an Event

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'xmlns:gd='http://schemas.google.com/g/2005'>

<atom:title type='text'>  Tennis with Beth</atom:title>

<atom:content type='text'>  Meet for a quick lesson.</atom:content>

<gd:where valueString='Rolling Lawn Courts'></gd:where><gd:when startTime='2006-04-17T15:00:00.000Z'         endTime='2006-04-17T17:00:00.000Z'></gd:when></atom:entry>

Page 22: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Google Calendar - Creating an Event

POST /calendar/feeds/default/private/fullHost: www.google.comContent-Length: 380Content-Type: application/atom+xml

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'xmlns:gd='http://schemas.google.com/g/2005'><atom:title type='text'>Tennis with Beth</atom:title><atom:content type='text'>Meet for a quick lesson.</atom:content><gd:where valueString='Rolling Lawn Courts'></gd:where><gd:when startTime='2006-04-17T15:00:00.000Z'endTime='2006-04-17T17:00:00.000Z'></gd:when></atom:entry>

Page 23: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Google Calendar - Partial Update

PATCH /calendar/feeds/default/private/full/eventIDHost: www.google.comContent-Length: 380Content-Type: application/atom+xml

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'xmlns:gd='http://schemas.google.com/g/2005'gd:fields='atom:title'>

<atom:title type='text'>  Tennis with Beth and Kate</atom:title></atom:entry>

Page 24: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Gmail - Retrieving Email

[connection begins] C: C01 CAPABILITY S: * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA XLIST CHILDREN XYZZY SASL-IR AUTH=XOAUTH S: C01 OK CompletedC: A01 AUTHENTICATE XOAUTH R0VUIGh0dHBzOi8vbWFpbC5nb29nbGUuY29tL21haWwvYi9zb21ldXNS: A01 OK Success

IMAP + OAuth

Page 25: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Gmail - Sending Email

[connection begins] S: 220 mx.google.com ESMTP 12sm2095603fks.9 C: EHLO sender.example.com S: 250-mx.google.com at your service, [172.31.135.47] S: 250-SIZE 35651584 S: 250-8BITMIME S: 250-AUTH LOGIN PLAIN XOAUTH S: 250-ENHANCEDSTATUSCODES S: 250 PIPELINING C: AUTH XOAUTH R0VUIGh0dHBzOi8vbWFpbC5nb29nbGUuY29tL21ha WwvYi9zb21ldXNlckBleGFtcGxlLmNvbS9zbXRwLyBvYXV0aF9jb25zdS: 235 2.7.0 Accepted 

SMTP + OAuth

Page 26: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Management APIs

Page 27: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Many Integration Points•Provisioning

•Calendar Resources•E-mail migration

•E-mail settings•Reporting

•Audit 

Page 28: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Examples: E-mail Settingsimport gdata.apps.emailsettings.client...client = gdata.apps.emailsettings.client.EmailSettingsClient(    domain='yourdomain')

... auth ...

client.UpdateSignature(    username='liz',     signature="Liz Jones - (+1) 619-555-5555\n" +              "Working in Accounts Management, A&Z LTD.")

Page 29: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Authentication & Users

Page 30: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Where are the User Accounts?

Goal: They all work together!

Cloud Apps Google Apps On Premise

Page 31: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

How does Apps work with On Premise?

•Accounts must exist in Google Apps•Passwords can be anywhere!

Page 32: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Where are the User Accounts?

On Premise Google Apps

Page 33: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

What about the Passwords?

On Premise Google Apps1.OR

2. SAML

Page 34: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

What is SAML?

•Company hosts own login page - publicly or behind a firewall

•User goes to login, Google redirects user to company login page

•Google Apps trusts the company to assert the identity of the user

Page 35: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

What about 3rd Party Apps?

•Google Apps users can sign in with their existing accounts

•User goes to login, app redirects user to Google Apps login page

•App trusts Google to assert the identity of the user

Page 36: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

solução de single sign-on desenvolvida pela

Page 37: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Desafios

•Ambiente de Login Único

•Suporte

•Caso de uso

Page 38: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Caso de Uso - Exemplo

Page 39: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Google Just SSOUsuário

2

3

Browser

6

1 Início

Usuário tenta acessar um serviço hospedado no

Google Apps

Google recebe o pedido de acesso e redireciona o browser para a url da página de Login do Just SSO

O Just SSO analisa a requisição e exibe a página com o formulário de login/senha.

Usuário informa seu login e senha4

O Just SSO verifica a credencial informada e caso seja válida e autorizado pelo Serviço de Diretório, uma resposta autorizando o acesso é enviada para o Google Apps.

7

Google verifica a resposta do Just SSO e redireciona-o ao serviço solicitado.

5

COMO FUNCIONA

Page 40: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Provisioning API - Passo 1

Antes de qualquer coisa, você precisa habilitar a Provisioning API no seu domínio Google Apps.

Page 41: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Provisioning API - Passo 2

Conecte sua aplicação à nuvem:import sample.appsforyourdomain.AppsForYourDomainClient;...AppsForYourDomainClient client =     new AppsForYourDomainClient(        adminEmail,        adminPassword,         dominio);

Page 42: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Provisioning API - Exemplos

Obtém o usuário:import com.google.gdata.data.appsforyourdomain.provisioning.UserEntry;

UserEntry usuario = client.retrieveUser("marcos");

Suspendendo o usuárioclient.suspendUser("marcos");

Page 43: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Provisioning API - Exemplos

Criando novo usuário:

client.createUser("newUser",  // login/email"Usuário",  // Nome"Novo",     // Sobrenome"senhaInicial"); // Senha

Page 44: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Solução

Page 45: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Mais informações

Marcos [email protected]@MarcosFariasBr

http://www.justdigital.com.br/

Page 46: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Hosting your App

Page 47: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

You can Host your App Anywhere!

•Servers on premise in your corporate data center•Cloud servers in Amazon EC2, Azure, etc

•Your servers at a commercial hosting service•Your desktops anywhere

Page 48: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

App Engine too!

•Easy to build•Easy to maintain

•Easy to scale

Page 49: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

App Engine for Business

•Auth for the Enterprise•Administration for the Enterprise

•Support and SLAs for the Enterprise•SQL, SQL, SQL

•$8/user/month per app

Page 50: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Scripting

Page 51: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Google Apps Script

Apps Script allows you to run your code in the cloud, as server-side executed JavaScript.  Send e-mails, create calendar appointments, migrate Google Sites and more-- all accessible from the Google Apps UI.

Page 52: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Secure Data Connector

Page 53: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Secure Data Connector

Secure Data Connector allows your application, hosted on Google infrastructure, to securely access corporate data behind the firewall, without exposing it to the web

Page 54: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Building in the Cloud

Data from CRM app

Data from product catalog

Data from ERP system

Page 55: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Gadgets

Page 56: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Gadgets

Gadgets allow youto embed your application's UI into Gmail, Calendar, Spreadsheets and Sites, using the OpenSocial standard

Page 57: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Gmail Sidebar Gadgets

Page 58: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Gmail Contextual Gadgets

Page 59: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Gmail Contextual Gadgets

Page 60: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Gmail Contextual Gadgets

Page 61: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Summary•Build for yourself or make a living building for

others or selling in the Marketplace•Build anywhere you want

•Integrate with:othe UI of Google Apps

oGoogle Apps DataoGoogle Apps accounts

oData behind your firewall•Write Scripts for easy tasks

Page 62: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

Resources

Page 63: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.

ResourcesGoogle Apps APIs:http://code.google.com/googleapps

Google Apps Developer Blog:http://googleappsdeveloper.blogspot.comMe:http://www.twitter.com/ryguyrghttp://www.google.com/profiles/ryan.boyd

Page 64: University of Palestine  Student Name: Majed Abusalama  Student Number: 220060064  Teacher responsible : Yasmin Albobo  College: IT.