web 20- 2: architecture patterns and models for the new internet

32
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

Upload: tvawler

Post on 20-May-2015

2.639 views

Category:

Business


0 download

TRANSCRIPT

Page 1: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 1 

Web 20­20: Architecture Models and Patterns for the new Internet Duane Nickull Sr. Technology Evangelist Adobe Systems, inc. 

Etech March 2007

Page 2: Web 20- 2: Architecture Patterns And Models For The New Internet

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 …)

Page 3: Web 20- 2: Architecture Patterns And Models For The New Internet

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/what­is­web­20.html

Page 4: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 4 

Where does it begin / end?

Page 5: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 5 

Mobility matters

Page 6: Web 20- 2: Architecture Patterns And Models For The New Internet

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

Page 7: Web 20- 2: Architecture Patterns And Models For The New Internet

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.

Page 8: Web 20- 2: Architecture Patterns And Models For The New Internet

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.

Page 9: Web 20- 2: Architecture Patterns And Models For The New Internet

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.

Page 10: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 10 

Model for the old web ­> Client Server 

Server 

Client

Page 11: Web 20- 2: Architecture Patterns And Models For The New Internet

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

Page 12: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 12 

Reference Architecture 

Generic Blueprints based on using the internet model to enable multiple patterns of usage

Page 13: Web 20- 2: Architecture Patterns And Models For The New Internet

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.

Page 14: Web 20- 2: Architecture Patterns And Models For The New Internet

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

Page 15: Web 20- 2: Architecture Patterns And Models For The New Internet

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. 

§  Registry­Repository ­ 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

Page 16: Web 20- 2: Architecture Patterns And Models For The New Internet

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 client­server, host environment, nth tier resources. 

Security Container/Model 

Communication Services 

Virtual Machine 

Controller Rendering & 

Media Data/State Management 

Client Applications

Page 17: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 17 

Patterns 

­ software as a service (SaaS) ­ mash­ups ­ persistent rights management

Page 18: Web 20- 2: Architecture Patterns And Models For The New Internet

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?

Page 19: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 19 

Patterns List?

Page 20: Web 20- 2: Architecture Patterns And Models For The New Internet

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 (non­exclusive) 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.

Page 21: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 21 

Collaborative Tagging (Sequence)

Page 22: Web 20- 2: Architecture Patterns And Models For The New Internet

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

Page 23: Web 20- 2: Architecture Patterns And Models For The New Internet

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

Page 24: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 24 

SaaS 

§  Key Characteristics: §  Network­based access and management of software 

§  Centrally managed 

§  Application delivery is one­to­many model (single instance, multi­tenant architecture) than to a one­to­one 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.

Page 25: Web 20- 2: Architecture Patterns And Models For The New Internet

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

Page 26: Web 20- 2: Architecture Patterns And Models For The New Internet

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

Page 27: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 27 

Amgen Tour Tracker (mash­up excellence)

Page 28: Web 20- 2: Architecture Patterns And Models For The New Internet

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 re­distribution 

§  Cannot dynamically change rights/access after distribution 

Pattern: Persistent Rights Management (Problem statement)

Page 29: Web 20- 2: Architecture Patterns And Models For The New Internet

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 in­alienable from assets 

§  Owners can dynamically change policies on assets 

§  Multiple known implementations (MS RMS, Adobe LiveCycle, Navisware).

Page 30: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 30 

Persistent rights management pattern

Page 31: Web 20- 2: Architecture Patterns And Models For The New Internet

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 re­apply them to new business problems with have a boom! 

§  Questions?

Page 32: Web 20- 2: Architecture Patterns And Models For The New Internet

2006 Adobe Systems Incorporated.  All Rights Reserved. 32