august 2012 - Google URL Shortener

4 downloads 299 Views 4MB Size Report
Aug 1, 2012 - REST API Web Portal. Logging &. Reporting. Interface ... Web Portal Django App. Django +. Piston App .
ASSINATURAS LABORATÓRIOS

AUGUST 2012

HTTP! HTTP!

Lorem

Dolor

Ipsum

server

server

server

TCP/IP!

HTTP!

TCP/IP!

YOUR DBMS

Auth

Amet

HTTP!

server

HTTP! TCP/IP!

Clients FOOTER — SOFTWARE ENGINEERING DIAGRAMS

← DIAGRAM

EXISTING SYSTEMS!

Interface  

Authentication & Authorization (OAuth , Single Sign-On)

HTTP / REST!

NEW PLATFORM! YOUR PROJECT!

Your project

Other

 

server

HTTP!

REST API

Application

Web Portal HTTP!

server  

Example sub-module

FOOTER — SOFTWARE ENGINEERING DIAGRAMS

← DIAGRAM

Authentication & Authorization

Legend:!

Logging & Reporting

(OAuth , Single Sign-On)

Interface! Database! System frontier!

HTTPS / REST  

HTTP  

Your project REST API

Web Portal HTTP  

HTTP / ! REST  

HTTP  

Application Server

HTTP / ! JSON-P  

System frontier!

Client

Client

Service Consumer

Web Browser

External Components

BUSINESS LOGIC!

FLOW LOGIC!

PRESENTATION LOGIC!

BACK-END !

I18n (*.po) TCP/ IP! HTTP/ REST!

Common Server

REST

API Django + Piston App

Web Portal Django App Model

View

Template

Router (urls.py) JSON/ *.MU!

REQUIRE.JS

FRONT-END ! Dependencies

DATA ACCESS LAYER!

Legend:!

Web Portal

Event Handler

Router Model Collection

Interface! Database! Boundaries!

View

Invocation! Asynchronous call or message!

Application Aggregation

Data Sources  

Data Acquisition

& Integration.  

& Processing  

FOOTER — SOFTWARE ENGINEERING DIAGRAMS

← DIAGRAM

 

W3C Widget! Access Request Policy !

Legenda

!

Security  

Desenvolvido pelo W3C (World Wide Web Consortium).! Desenvolvido pelo WAC (Wholesale Applications Community).!

W3C Digital Signatures for Widgets!

Desenvolvido pela Opera Software.! Desenvolvido por várias entidades.! Desenvolvido pela Google Inc..!

Lifecycle  

W3C Widget Updates!

Preferences & basic APIs  

W3C The Widget Interface!

Desenvolvido pela Mozilla Corp..!

WAC Widget Lifecycle!

Opera Extensions API!

Metadata   W3C Widget Packaging and Configuration! (2006) Em 2011 chega ao estado “Proposed Recommendation”!

OpenSocial Gadget UserPrefs, IO (2007) Na versão 2.0!

OpenSocial! Core Gadget

(2007) Na versão 2.0!

Packaging  

Web Technologies  

Chrome Extensions Manifest File (2011)! Em produção!

Open Web Apps Manifest (2011)! Em desenvolvimento!

CRX Package Format (2011)! Em produção!

HTML, JavaScript, CSS!

Scott Wilson, “Web Apps — Snapshot of the Standards Landscape” (goo.gl/6eLvP)

← DIAGRAM

!

Container!

Social Network!

FOOTER — SOFTWARE ENGINEERING DIAGRAMS

Share and access social data!

← DIAGRAM

user: create dolor app

 

user: create ipsum layer

 

user: create! lorem app

 

user: update app

 

App state:!

App state:!

Processing

Private

server: process app

 

user: submit app for approval

 

manager: reject app

 

user: ! update lorem app

 

user: ! update. ! ipsum .

 

manager:! approve app

 

Public user: update draft

 

 

! !

Draft state:!

Draft state:!

Processing

Private

App state: Public

Pending

App state:! user: ! update ! dolor app

server: process draft

 

Aplicações neste es-! tado estão bloqueadas, não podendo ser editadas pelo utilizador!

App state:!

App state: Public

manager:! approve draft

 

user: ! submit draft for approval

 

!

Draft state:!

Pending App state: Public

 

manager: reject draft

Drafts neste estado estão bloqueados, não podendo ser editados pelo utilizador!

← DIAGRAM

Lógica de negócio das! Dolore Severe /Vitae Viverra!

Vista

Conector ao Servidor de Lorem Ipsum

Modelo

Widget Configuration API! getWidget(widgetID)! getWidgets()

 

Widget Factory

Widget Management API! HTTP POST ou! através do sistema de ficheiros

 

 

A partir do front-end podem ser executados simultaneamente

Widget Resources API! HTTP GET (widget)! HTTP GET (widget.js)

 

Página Show das! Dolore Severe /Vitae Viverra!

Dolor Severe! ou Vitae Viverra! !

( ou )!

Dolor Severe Container

Yet Another Container

Widget Preferences JS API! preferenceForKey()! setPreferenceForkey()! ...

 

Proxy API! XmlHTTPRequest (external URL)!

Repositório de widgets Bibliotecas JavaScript Acesso a dados partilhado

Preferências do utilizador

Proxy Service

← DIAGRAM

Browser

Events Server

Application

Authenticate User Log In! username, password, csrf_token!

User Logged In! session_key!

Único para cada sessão

Connect to Web Socket Connect Web Socket!

Connection Established! socket_id!

Único para cada socket

← DIAGRAM

picol

fresh android icons

Web Portal and Stuff

Centralized Authentication

Developer Dashboard

Admin Interface

Isolated Environments

JavaScript APIs

Multi-Session Events

Documentation and Style Guides

FOOTER — SOFTWARE ENGINEERING DIAGRAMS

← DIAGRAM

An Archive

html  

js  

config  

ico  

css  

.EXT

FOOTER — SOFTWARE ENGINEERING DIAGRAMS

← DIAGRAM

Daily Scrum Meeting

24 hours!

2 to 4 weeks!

Product Backlog!

Sprint Backlog!

FOOTER — SOFTWARE ENGINEERING DIAGRAMS

Retrospective

Potentially Shippable Product Increment!

← DIAGRAM

git pull

--re

base

BRANCH

BRANCH

BRANCH

commit

BRANCH

BRANCH

commit FOOTER — SOFTWARE ENGINEERING DIAGRAMS

← DIAGRAM

ASSINATURAS LABORATÓRIOS

AUGUST 2012