2006 Adobe Systems Incorporated. All Rights Reserved. 1
Web 2020: Architecture Models and Patterns for the new Internet Duane Nickull Sr. Technology Evangelist Adobe Systems, inc.
Etech March 2007
2006 Adobe Systems Incorporated. All Rights Reserved. 2
Speaker bio Duane Nickull
§ Current
§ Chair OASIS SOA Reference Model Technical Committee (OASIS Standard as of 2006)
§ Community Member (Planner) Ontolog Forum
§ Contributor OASIS SOA Reference Architecture Technical Committee
§ Past:
§ Contributor/architect W3C Web Services Architecture § Chief Architect/Chair United Nations CEFACT Technical Architecture (SOA)
§ Chair OASIS eBusiness SOA Technical Committee § Chief Architect ebXML Technical Architecture (first major SOA)
§ Author (books, white papers, technical articles0
§ Speaker (Conferences, Universities …)
2006 Adobe Systems Incorporated. All Rights Reserved. 3
Web 2.0?
§ Does it need definition?
§ What is it really?
§ Frame?
“Web 2.0 is the network as platform, spanning all connected devices”
“… an ecosystem for communicating, connecting, collaborating and creatively expressing ideas and information in revolutionary new ways”
* http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/whatisweb20.html
2006 Adobe Systems Incorporated. All Rights Reserved. 4
Where does it begin / end?
2006 Adobe Systems Incorporated. All Rights Reserved. 5
Mobility matters
2006 Adobe Systems Incorporated. All Rights Reserved. 6
Methodology used to identify Patterns & Architecture
Models
Guide Refine
Enable
Reference Architectures
Specialized Architectures
Patterns of Use
2006 Adobe Systems Incorporated. All Rights Reserved. 7
Patterns from examples, Models from Patterns
§ Architectural patterns can be distilled out of examples.
§ Models based on concepts to enable patterns.
§ Conceptual Architecture (Abstract) based on Model.
2006 Adobe Systems Incorporated. All Rights Reserved. 8
Models
The model for engaging using the internet as a platform to span all connected devices, humans and applications.
2006 Adobe Systems Incorporated. All Rights Reserved. 9
Model
§ Definition: Abstract lexicon capturing a generalized set of concepts and noting their purposes and relationships to each other.
§ Primary Audience: Entrepreneurs, Software or Enterprise Architects
§ Why: § Models guide all domains, whether explicit or implicit. They facilitate a common, shared understanding or conceptualization of a domain.
§ Famous Models: OSI 7 layer stack, OASIS Reference Model for SOA.
2006 Adobe Systems Incorporated. All Rights Reserved. 10
Model for the old web > Client Server
Server
Client
2006 Adobe Systems Incorporated. All Rights Reserved. 11
Abstract (Engagement) Model for Web 2.0
§ Abstract Model for connecting and integrating capabilities and users.
Users
Services
Capabilities
Client Applications/Runtimes
Connectivity/Reachability Patterns of inter action
SOA
Don't treat software as an artifact, but as a process of engagement with your users.
Tim O’Reilly
2006 Adobe Systems Incorporated. All Rights Reserved. 12
Reference Architecture
Generic Blueprints based on using the internet model to enable multiple patterns of usage
2006 Adobe Systems Incorporated. All Rights Reserved. 13
Reference Architecture
§ A technology component view of a generalized architecture.
§ NB!: Abstract of all technologies (HTTP, TCP/IP java etc) and abstract of all applications or vendor products. Agnostic to patterns of usage.
§ Primary Audience: Software or enterprise Architects
§ Why: There is a great value in being able to communicate ideas and functionality abstract of specific technologies protocols or products. These become artifacts that can be applied by architects in multiple domains.
2006 Adobe Systems Incorporated. All Rights Reserved. 14
Web 2.0 application Dev. Conceptual architecture.
Service Container
Service Provider Interface
Registry Repository
Service Invocation layer
Security Container/Model
Communication Services
Virtual Machine
Controller Rendering & Media
Data/State Management
Client Application
Tier
Services Tier
Resource Tier
Business Rules/
Workflow
Standards, Technologies &
Protocols
Consistent Object and Event
Models
Consistent Architectural Models
Network / Connectivity
Design & Governance
Tools
Core Services
= spans both tiers
2006 Adobe Systems Incorporated. All Rights Reserved. 15
Service Tier
§ Service Invocation Layer Catches conditions, incoming/outgoing communications and other events that may lead to invocation of services.
§ Business Rules / Workflow internal processes required to fulfill service invocation requests
§ Service provider Interface interface to hook in existing application functionality and offer it as services.
§ Service Container manages the state of service invocation requests during their entire lifecycle. Checks business rules, policies to ensure invocations are done in accordance with declared policies and rules. § Core Services set of common services used by the whole platform.
§ RegistryRepository metadata and instance data stored during its’ lifecycle.
Service Container
Service Provider Interface
Registry Repository
Service Invocation layer Service Tier
Business Rules/
Workflow Core
Services
2006 Adobe Systems Incorporated. All Rights Reserved. 16
Client Tier Runtimes
§ Controller core application master logic and processing
§ Virtual Machine runtime environment launched and managed by controller
§ Security Container/Model responsible for all security aspects.
§ Rendering all “view” behavior for GUI’s, media integration
§ Data/State Management transformations, state synchronizations, transitions, state change event generation during lifecycle of objects.
§ Communication Services all communications management including clientserver, host environment, nth tier resources.
Security Container/Model
Communication Services
Virtual Machine
Controller Rendering &
Media Data/State Management
Client Applications
2006 Adobe Systems Incorporated. All Rights Reserved. 17
Patterns
software as a service (SaaS) mashups persistent rights management
2006 Adobe Systems Incorporated. All Rights Reserved. 18
Web 2.0 Patterns
§ Patterns: a general repeatable solution to a commonly occurring problem.
§ Patterns can be repurposed across multiple domains and used to solve recurring problems there within.
§ Example: Collaborative Tagging (aka Folksonomy). § Can be used for audio files, video files, text files, binaries, people…
§ So how to we express the pattern of Collaborative Tagging?
2006 Adobe Systems Incorporated. All Rights Reserved. 19
Patterns List?
2006 Adobe Systems Incorporated. All Rights Reserved. 20
Collaborative Tagging (Static)
§ Definitions: § Tag: a label making a declaration about an object or resource.
§ Resource: any digital asset. Examples (nonexclusive) online content, audio files, digital photos, bookmarks, news items, websites, products, blog posts, comments…
§ Entity: Any human, application, bot, process or other thing (including agents acting on their behalf) capable of interacting with a resource.
2006 Adobe Systems Incorporated. All Rights Reserved. 21
Collaborative Tagging (Sequence)
2006 Adobe Systems Incorporated. All Rights Reserved. 22
Pattern: Software as a Service (SaaS)
Software Vendor Domain Sofware User Domain
Design Code Build Deploy
Design Code Build Deploy
FUNCTIONALITY
FUNCTIONALITY
Install Configure Use
Old School Model of Deployed on Premises
Use
Software as a Service Monitor Maintain Improve more …
M,C V
2006 Adobe Systems Incorporated. All Rights Reserved. 23
Software as a Service Properties
SaaS Installed @ Premises
License Models Perpetual > subscription > ASP > Ad / Web 2.0 models
Enterprise IT Centre > Appliance > Hosted on Network
Enterprise IT shop > ASP > Open Source > SLA with SaaS Co.
Location
Manage ment
* Courtesy of Fred Chong
2006 Adobe Systems Incorporated. All Rights Reserved. 24
SaaS
§ Key Characteristics: § Networkbased access and management of software
§ Centrally managed
§ Application delivery is onetomany model (single instance, multitenant architecture) than to a onetoone model, including architecture, pricing, partnering, and management characteristics
§ Examples of software that can get better as more people use it: § Anti SPAM software (centralization means better spam detection)
§ Itunes music application (hybrid approach logs relations, choices)
§ http://protectpdf.adobe.com (builds up membership/trust for persistent rights management)
§ Google results vary based on use.
2006 Adobe Systems Incorporated. All Rights Reserved. 25
Pattern: Mashup
Network (nth tier) Domain Software User Domain
DATA
View
DATA
DATA
DATA
Service 1
Service 2
Service 3
Service 4
Client Runtime
2006 Adobe Systems Incorporated. All Rights Reserved. 26
Mashup: Client side Runtime
§ Communication management support for many models (push, pull, subscribe, get(), broadcast tuning….
§ Mashups must be capable of rendering based on interactions with multiple services and data objects.
§ Examples: Custom mapping applications based on commercial maps, hybrid search services, more…
§ Ultimate example (just IMO): § http://www.amgentourofcalifornia.com/docroot/tourtracker2/index.html
Security Container/Model
Communication Services
Virtual Machine
Controller Rendering &
Media Data/State Management
Client Applications
2006 Adobe Systems Incorporated. All Rights Reserved. 27
Amgen Tour Tracker (mashup excellence)
2006 Adobe Systems Incorporated. All Rights Reserved. 28
Author
Secure Pipe Approach
Access Control Approach
File System
Unauthorized Users
Recipient
§ Lack persistent access controls to prevent information redistribution
§ Cannot dynamically change rights/access after distribution
Pattern: Persistent Rights Management (Problem statement)
2006 Adobe Systems Incorporated. All Rights Reserved. 29
Pattern: Persistent Rights Management
§ Wrap and encrypt the digital asset.
§ Wrapper is linked to a policy: § Without complying with policy, asset cannot be opened/rendered.
§ Policy wrappers are inalienable from assets
§ Owners can dynamically change policies on assets
§ Multiple known implementations (MS RMS, Adobe LiveCycle, Navisware).
2006 Adobe Systems Incorporated. All Rights Reserved. 30
Persistent rights management pattern
2006 Adobe Systems Incorporated. All Rights Reserved. 31
More on Web 2.0 Patterns
§ Working on book for Oreilly.
§ Companion website www.web20patterns.org (not live yet)
§ Lots of common wisdom to draw on.
§ Entrepreneurs who understand the patterns and can reapply them to new business problems with have a boom!
§ Questions?
2006 Adobe Systems Incorporated. All Rights Reserved. 32