ASSINATURAS LABORATÓRIOS AUGUST 2012
HTTP! Lorem server Ipsum server Dolor server HTTP! TCP/IP! HTTP! TCP/IP! YOUR DBMS TCP/IP! Auth server HTTP! Amet HTTP! Clients FOOTER SOFTWARE ENGINEERING DIAGRAMS
EXISTING SYSTEMS! Interface Authentication & Authorization (OAuth, Single Sign-On) NEW PLATFORM! YOUR PROJECT! HTTP / REST! Your project HTTP! Other server REST API Web Portal Application server HTTP! Example sub-module FOOTER SOFTWARE ENGINEERING DIAGRAMS
Authentication & Authorization (OAuth, Single Sign-On) HTTPS / REST Logging & Reporting HTTP Legend:! Interface! Database! System frontier! Your project REST API Web Portal HTTP Application Server HTTP /! REST HTTP HTTP /! JSON-P System frontier! Client Service Consumer Client Web Browser External Components
DATA ACCESS LAYER! BUSINESS LOGIC! FLOW LOGIC! PRESENTATION LOGIC! BACK-END! I18n (*.po) TCP/ IP! Common Server HTTP/ REST! REST API Django + Piston App Web Portal Django App Model View Template Router (urls.py) JSON/ *.MU! FRONT-END! Dependencies REQUIRE.JS Web Portal Event Handler Model Collection Router View Legend:! Interface! Database! Boundaries! Invocation! Asynchronous call or message!
Data Sources Data Acquisition & Processing Application Aggregation & Integration. FOOTER SOFTWARE ENGINEERING DIAGRAMS
Security!W3C Widget! Access Request Policy! W3C Digital Signatures for Widgets! Legenda Desenvolvido pelo W3C (World Wide Web Consortium).! Desenvolvido pelo WAC (Wholesale Applications Community).! Desenvolvido pela Opera Software.! Desenvolvido por várias entidades.! Desenvolvido pela Google Inc..! Lifecycle W3C Widget Updates! WAC Widget Lifecycle! Desenvolvido pela Mozilla Corp..! Preferences & basic APIs W3C The Widget Interface! Opera Extensions API! OpenSocial Gadget UserPrefs, IO (2007) Na versão 2.0! Metadata Packaging W3C Widget Packaging and Configuration! (2006) Em 2011 chega ao estado Proposed Recommendation! OpenSocial! Core Gadget (2007) Na versão 2.0! Chrome Extensions Manifest File (2011)! Em produção! CRX Package Format (2011)! Em produção! Open Web Apps Manifest (2011)! Em desenvolvimento! Web Technologies HTML, JavaScript, CSS! Scott Wilson, Web Apps Snapshot of the Standards Landscape (goo.gl/6elvp)
! Container! Social Network! Share and access social data! FOOTER SOFTWARE ENGINEERING DIAGRAMS
user: create ipsum layer user: create dolor app user: update app user: create! lorem app App state:! Processing server: process app App state:! Private user: submit app for approval user:! update lorem app App state:! Public manager: reject app App state:! Pending manager:! approve app Aplicações neste es-! tado estão bloqueadas, não podendo ser editadas pelo utilizador! user:! update.! ipsum.! Draft state:! Processing App state: Public user:! update! dolor app server: process draft user: update draft! Draft state:! Private App state: Public user:! submit draft for approval manager:! approve draft! Draft state:! Pending App state: Public Drafts neste estado estão bloqueados, não podendo ser editados pelo utilizador! manager: reject draft
Lógica de negócio das! Dolore Severe /Vitae Viverra! Vista Modelo Conector ao Servidor de Lorem Ipsum Widget Configuration API! getwidget(widgetid)! getwidgets() Widget Management API! HTTP POST ou! através do sistema de ficheiros Widget Factory Repositório de widgets Página Show das! Dolore Severe /Vitae Viverra! Dolor Severe! ou Vitae Viverra!! (<iframe> ou <div>)! A partir do front-end podem ser executados simultaneamente Dolor Severe Container Yet Another Container Widget Resources API! HTTP GET (widget)! HTTP GET (widget.js) Widget Preferences JS API! preferenceforkey()! setpreferenceforkey()!... Proxy API! XmlHTTPRequest (external URL)! Bibliotecas JavaScript Acesso a dados partilhado Preferências do utilizador Proxy Service
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
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
html js css An Archive config ico.ext FOOTER SOFTWARE ENGINEERING DIAGRAMS
Daily Scrum Meeting 24 hours! 2 to 4 weeks! Retrospective Product Backlog! Sprint Backlog! Potentially Shippable Product Increment! FOOTER SOFTWARE ENGINEERING DIAGRAMS
git pull -- rebase BRANCH BRANCH BRANCH commit BRANCH BRANCH commit FOOTER SOFTWARE ENGINEERING DIAGRAMS
ASSINATURAS LABORATÓRIOS AUGUST 2012