SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
Monday, October 18, 2010
Open Development
Roy T. Fielding, Ph.D.
Chief Scientist, Day Software
Monday, October 18, 2010
OPEN
SOURCE
3
Monday, October 18, 2010
OPEN
SOURCE
OPEN
STANDARDS
4
URI
HTTP
CMIS
JSOP
JCR
URI Templates
HTML
Monday, October 18, 2010
OPEN
SOURCE
OPEN
STANDARDS
OPEN
ARCHITECTURE
5
REST OSGi
Monday, October 18, 2010
Collaboration
It’s all about
Monday, October 18, 2010
Collaboration
but how?
Monday, October 18, 2010
Effective Collaboration
✴ (One) Shared Goal
✴ Agree how to
disagree & decide
✴ Shared Workspace
✴ Dynamic Awareness
✴ Parallelization
Monday, October 18, 2010
OPEN
SOURCE
OPEN
STANDARDS
OPEN
ARCHITECTURE
9
Monday, October 18, 2010
Open Architecture ?
Not talking about
open exoskeleton
buildings
10
Monday, October 18, 2010
Open Architecture ?
Not talking about
Open Sourced Architecture
11
Monday, October 18, 2010
Open Architecture ?
Not even talking about personal computer open architecture
12
Monday, October 18, 2010
Open Architecture ?
versus
Mainly talking about
design for
open systems
13
Monday, October 18, 2010
Why talk about Open Architecture?
14
Open Development
Collaborative open source development
> emphasizes community
> takes advantage of the scalability
obtainable through Internet-based
virtual organizations
> adapts to the volunteer nature of
developers
Monday, October 18, 2010
Why talk about Open Architecture?
15
Open Development
+
Conway’s Law
Any organization that designs a system
(defined broadly) will produce a design
whose structure is a copy of the
organization's communication structure.
Melvin E. Conway, Datamation, April 1968
http://www.melconway.com/law/
index.html
Monday, October 18, 2010
True open development
(a.k.a, Community-driven Design)
will only occur when the design of
your system reflects the organizational
structure of open development!
Why talk about Open Architecture?
16
Open Development
+
Conway’s Law
Monday, October 18, 2010
Why talk about Open Architecture?
17
Open Development
+
Conway’s Law
+
Change is inevitable!
Decentralized Software Evolution
(or rapid obsolescence)
Monday, October 18, 2010
20 August 2010 18
Decentralized Software Evolution
Requires Architecture by Design
open (software) architecture
used by open development projects
to enable decentralized software evolution
so that others can continue to design the software
and fulfill Conway’s Law
leading to success over time!
Monday, October 18, 2010
Challenges
✴ Trade-off: Adaptability vs Consistency
✴ what changes are possible?
✴ what assurances are provided?
✴ Where to place the open points
✴ behavioral junctions (APIs, callback hooks)
✴ virtual machines (command tables, scripting)
✴ data flow (filters, plug-ins)
Monday, October 18, 2010
Closed Source Examples
✴ Adobe
Monday, October 18, 2010
Closed Source Examples
✴ Apple iPhone Ecosystem
Monday, October 18, 2010
Open Source Examples
✴ What is common to all of the largest
and most successful open source
projects?
✴ a software architecture
✴ designed to promote anarchic collaboration
✴ through extensions
✴ while preserving control over the core interfaces
Monday, October 18, 2010
23
Apache httpd: modules
[Apache Modeling Project, f-m-c.org]
Modules
• simplify core
• enable
independent
development
• promote
experiments
Project improves
• reduced friction
• anarchic growth
• more features
• less communication
Monday, October 18, 2010
24
Apache httpd: I/O filters
[Apache Modeling Project, f-m-c.org]
Filters provide more extensibility
• protocol replacement
• httpd, ftpd, nntpd, …
• stackable content manipulation
• extensions that can extend other extensions
Monday, October 18, 2010
25
Linux Kernel Modules
Modules
• simplify core
• enable
independent
development
• promote
experiments
Project improves
• reduced friction
• anarchic growth
• more features
• less communication
[diagram from Ivan T. Bowman, 1998]
Monday, October 18, 2010
26
Mozilla Firefox
Open Source
Extensible
Architecture
Plug-in Tools
Layered CSS
Editor Platform
Monday, October 18, 2010
World Wide Web Project
Browsers
Information
27
next table of contents elements attributes index
HTML 4.01 Specification
W3C Recommendation 24 December 1999
This version:
http://www.w3.org/TR/1999/REC-html401-19991224
(plain text [794Kb], gzip'ed tar archive of HTML files [371Kb], a .zip archive of HTML files
[405Kb], gzip'ed Postscript file [746Kb, 389 pages], gzip'ed PDF file [963Kb])
Latest version of HTML 4.01:
http://www.w3.org/TR/html401
Latest version of HTML 4:
http://www.w3.org/TR/html4
Latest version of HTML:
http://www.w3.org/TR/html
Previous version of HTML 4.01:
http://www.w3.org/TR/1999/PR-html40-19990824
Previous HTML 4 Recommendation:
http://www.w3.org/TR/1998/REC-html40-19980424
Editors:
Dave Raggett <dsr@w3.org>
Arnaud Le Hors, W3C
Ian Jacobs, W3C
Copyright ©1997-1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use
and software licensing rules apply.
Abstract
This specification defines the HyperText Markup Language (HTML), the publishing language of the
World Wide Web. This specification defines HTML 4.01, which is a subversion of HTML 4. In addition
to the text, multimedia, and hyperlink features of the previous versions of HTML (HTML 3.2 [HTML32]
and HTML 2.0 [RFC1866]), HTML 4 supports more multimedia options, scripting languages, style
sheets, better printing facilities, and documents that are more accessible to users with disabilities.
HTML 4 also takes great strides towards the internationalization of documents, with the goal of making
the Web truly World Wide.
HTML 4 is an SGML application conforming to International Standard ISO 8879 -- Standard
Generalized Markup Language [ISO8879].
Status of this document
Network Working Group R. Fielding
Request for Comments: 2068 UC Irvine
Category: Standards Track J. Gettys
J. C. Mogul
DEC
H. Frystyk
T. Berners-Lee
MIT/LCS
January 1997
Hypertext Transfer Protocol -- HTTP/1.1
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community, and requests
discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official
Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this
memo is unlimited.
Abstract
The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative,
hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for
many tasks, such as name servers and distributed object management systems, through extension of its
request methods. A feature of HTTP is the typing and negotiation of data representation, allowing systems
to be built independently of the data being transferred.
HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification
defines the protocol referred to as “HTTP/1.1”.
Network Working Group T. Berners-Lee
Request for Comments: 3986 W3C/MIT
Obsoletes: 2732, 2396, 1808 R. Fielding
STD: 66 Day Software
Updates: 1738 L. Masinter
Category: Standards Track Adobe Systems
January 2005
Uniform Resource Identifier (URI):
Generic Syntax
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community,
and requests discussion and suggestions for improvements. Please refer to the current
edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright © The Internet Society (2005). All Rights Reserved.
Abstract
A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an
abstract or physical resource. This specification defines the generic URI syntax and a
process for resolving URI references that might be in relative form, along with guidelines
and security considerations for the use of URIs on the Internet. The URI syntax defines a
grammar that is a superset of all valid URIs, allowing an implementation to parse the
common components of a URI reference without knowing the scheme-specific
requirements of every possible identifier. This specification does not define a generative
grammar for URIs; that task is performed by the individual specifications of each URI
scheme.
Protocols
Monday, October 18, 2010
Web Implementation
28
Application Servers
Dynamic Content
Centralized Data
RDBMS, NFS, SAN
Webservers/Gateways
Accelerator Cache
User Agents
Intermediary
Proxy Cache
Monday, October 18, 2010
Web Architecture
29
$
$
$
$
$
$
$
$User Agents
Proxies Gateways Origin Servers
Monday, October 18, 2010
Web Architecture
30
next table of contents elements attributes index
HTML 4.01 Specification
W3C Recommendation 24 December 1999
This version:
http://www.w3.org/TR/1999/REC-html401-19991224
(plain text [794Kb], gzip'ed tar archive of HTML files [371Kb], a .zip archive of HTML files
[405Kb], gzip'ed Postscript file [746Kb, 389 pages], gzip'ed PDF file [963Kb])
Latest version of HTML 4.01:
http://www.w3.org/TR/html401
Latest version of HTML 4:
http://www.w3.org/TR/html4
Latest version of HTML:
http://www.w3.org/TR/html
Previous version of HTML 4.01:
http://www.w3.org/TR/1999/PR-html40-19990824
Previous HTML 4 Recommendation:
http://www.w3.org/TR/1998/REC-html40-19980424
Editors:
Dave Raggett <dsr@w3.org>
Arnaud Le Hors, W3C
Ian Jacobs, W3C
Copyright ©1997-1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use
and software licensing rules apply.
Abstract
This specification defines the HyperText Markup Language (HTML), the publishing language of the
World Wide Web. This specification defines HTML 4.01, which is a subversion of HTML 4. In addition
to the text, multimedia, and hyperlink features of the previous versions of HTML (HTML 3.2 [HTML32]
and HTML 2.0 [RFC1866]), HTML 4 supports more multimedia options, scripting languages, style
sheets, better printing facilities, and documents that are more accessible to users with disabilities.
HTML 4 also takes great strides towards the internationalization of documents, with the goal of making
the Web truly World Wide.
HTML 4 is an SGML application conforming to International Standard ISO 8879 -- Standard
Generalized Markup Language [ISO8879].
Status of this document
Network Working Group R. Fielding
Request for Comments: 2068 UC Irvine
Category: Standards Track J. Gettys
J. C. Mogul
DEC
H. Frystyk
T. Berners-Lee
MIT/LCS
January 1997
Hypertext Transfer Protocol -- HTTP/1.1
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community, and requests
discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official
Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this
memo is unlimited.
Abstract
The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative,
hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for
many tasks, such as name servers and distributed object management systems, through extension of its
request methods. A feature of HTTP is the typing and negotiation of data representation, allowing systems
to be built independently of the data being transferred.
HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification
defines the protocol referred to as “HTTP/1.1”.
Network Working Group T. Berners-Lee
Request for Comments: 3986 W3C/MIT
Obsoletes: 2732, 2396, 1808 R. Fielding
STD: 66 Day Software
Updates: 1738 L. Masinter
Category: Standards Track Adobe Systems
January 2005
Uniform Resource Identifier (URI):
Generic Syntax
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community,
and requests discussion and suggestions for improvements. Please refer to the current
edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright © The Internet Society (2005). All Rights Reserved.
Abstract
A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an
abstract or physical resource. This specification defines the generic URI syntax and a
process for resolving URI references that might be in relative form, along with guidelines
and security considerations for the use of URIs on the Internet. The URI syntax defines a
grammar that is a superset of all valid URIs, allowing an implementation to parse the
common components of a URI reference without knowing the scheme-specific
requirements of every possible identifier. This specification does not define a generative
grammar for URIs; that task is performed by the individual specifications of each URI
scheme.
Protocols
Monday, October 18, 2010
Architecting
It’s all about
Open
Development
for
31
Monday, October 18, 2010
Architectural Styles
32
Ionic Order
Monday, October 18, 2010
A horizontal abstraction on architecture
‣ a way of naming architectural patterns in implementation
An architectural style is a set of constraints
‣ unfortunately, constraints are hard to visualize
 kind of like gravity or electromagnetism
 observed only by their effect on others
‣ and style constraints are voluntary
 there are no architecture police, but there are many architecture critics
Constraints induce architectural properties
‣ both desirable and undesirable properties
 a.k.a., software qualities and design trade-offs
20 August 2010
Architectural Styles
33
Monday, October 18, 2010
20 August 2010
Representational State Transfer
The REST architectural style is
1 a model of ideal Web application behavior
2 a guide for optimizing Web architecture
3 a pattern for communicating
‣ architectural constraints
‣ induced properties
‣ resulting trade-offs
4 a new software industry buzzword
34
Monday, October 18, 2010
REST on a slide
the disadvantages) of the optional constraints when they are known to be in effect for some
Figure 5-9. REST Derivation by Style Constraints
RR CS LS VM U
CSS LCS COD$
C$SS LC$SS LCODC$SS REST
replicated
on-demand
separated
layered
mobile
uniform interface
stateless
shared
intermediate
processing
cacheable
extensible
simple
reusable
scalable
reliable
multi-
org.
visible
programmable
35
Monday, October 18, 2010
Monday, October 18, 2010
Monday, October 18, 2010
Monday, October 18, 2010
39
Eclipse Platform
[Birsan, ACM Queue, Mar 2005]
Taking modular extensibility to the next level OSGi
Monday, October 18, 2010
40
Eclipse Platform
Monday, October 18, 2010
41
Eclipse Platform
Monday, October 18, 2010
Apache Sling
42
Drop-in
Extensibility
using
OSGi Bundles
jsp
rubyscala
groovy
esp...
JCR backed
Content-oriented
WebDAV-able
REST-based
+
OSGi REST
Monday, October 18, 2010
OPEN
SOURCE
OPEN
STANDARDS
OPEN
ARCHITECTURE
43
REST OSGi
Monday, October 18, 2010
OPEN
SOURCE
OPEN
STANDARDS
Standards
44
URI
HTTP
CMIS
JSOP
JCR
URI Templates
HTML
Monday, October 18, 2010
OPEN
SOURCE
45
Monday, October 18, 2010
The ASF in 2010
> 2359 committers
84 projects (+ 36 incubating)
No offices
almost no f2f meetings
all decisions on mailing listsHundreds of releases
ASF members: 330
3 TB/day www traffic
Monday, October 18, 2010
Apache Decisions
+1
Monday, October 18, 2010
revision control system
mailing lists + archives IRC
Wikis
blogs
issue tracker
automated builds
httpd (of course)
Shared workspace
Monday, October 18, 2010
Dynamic Awareness
Monday, October 18, 2010
Traditional Feedback
code
feedback
developer
user
manager
How fast is your loop?
Days? Weeks?
Monday, October 18, 2010
Communication OD
Central HubMess Media?
?
?
?
?
?
?
??
oral tradition? permanent record
or
Monday, October 18, 2010
Real-time updates
Collaboration hub!
code
issues
tests
decisions
RSS feeds
email events
subscriptions
Monday, October 18, 2010
Real-time updates
Source code control system instead
of “code on the fileserver”.
Issue tracker events instead of
“what did you do today”?
Mailing list “events” instead of
“yell around the office”.
Automated builds instead of
“wait for Bob to build it on Linux”.
Monday, October 18, 2010
Effective Collaboration
✴ (One) Shared Goal
✴ Agree how to
disagree & decide
✴ Shared Workspace
✴ Dynamic Awareness
✴ Parallelization
Monday, October 18, 2010
alexkli, angela, dpfister, fielding [*], fmeschbe,
jukka, mreutegg, ppiegaze, stefan, tripod, uncled
bdelacretaz [*], cziegeler, fmeschbe
[*] member of the Board of Directors
Committers, PMC members and mentors on these projects, and others
Monday, October 18, 2010
What does Day get?
Industry recognition (+ JSR-170)
Credibility with world-class people
The Open Development Way of Working
(works inside the company as well)
Contacts. Networks. Ideas.
Great infrastructure software, Many eyeballs.
Monday, October 18, 2010
OPEN
SOURCE
57
dev@httpd.apache.org
dev@jackrabbit.apache.org
dev@sling.apache.org
dev@felix.apache.org
Monday, October 18, 2010

Mais conteúdo relacionado

Destaque

From open data to open development
From open data to open developmentFrom open data to open development
From open data to open developmentckliu
 
What does open development mean to you?
What does open development mean to you?What does open development mean to you?
What does open development mean to you?Tim Davies
 
Syria Tracker: Crowdsourcing Crisis Information
Syria Tracker: Crowdsourcing Crisis InformationSyria Tracker: Crowdsourcing Crisis Information
Syria Tracker: Crowdsourcing Crisis InformationHumanitarian Tracker
 
Innovations for Open Development
Innovations for Open DevelopmentInnovations for Open Development
Innovations for Open DevelopmentSoren Gigler
 
Mobile innovation Kenya
Mobile innovation KenyaMobile innovation Kenya
Mobile innovation KenyaJim Heil
 
Open Collaboration in the Development of Innovative Online Curriculum
Open Collaboration in the Development of Innovative Online CurriculumOpen Collaboration in the Development of Innovative Online Curriculum
Open Collaboration in the Development of Innovative Online CurriculumEstela Dauksiene
 
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...Editor IJCATR
 
Open Development Analytics, a step beyond in project transparency
Open Development Analytics, a step beyond in project transparencyOpen Development Analytics, a step beyond in project transparency
Open Development Analytics, a step beyond in project transparencyOW2
 

Destaque (11)

From open data to open development
From open data to open developmentFrom open data to open development
From open data to open development
 
What does open development mean to you?
What does open development mean to you?What does open development mean to you?
What does open development mean to you?
 
Syria Tracker: Crowdsourcing Crisis Information
Syria Tracker: Crowdsourcing Crisis InformationSyria Tracker: Crowdsourcing Crisis Information
Syria Tracker: Crowdsourcing Crisis Information
 
Innovations for Open Development
Innovations for Open DevelopmentInnovations for Open Development
Innovations for Open Development
 
Mobile innovation Kenya
Mobile innovation KenyaMobile innovation Kenya
Mobile innovation Kenya
 
Open Collaboration in the Development of Innovative Online Curriculum
Open Collaboration in the Development of Innovative Online CurriculumOpen Collaboration in the Development of Innovative Online Curriculum
Open Collaboration in the Development of Innovative Online Curriculum
 
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...
Applying Utaut and Innovation Diffusion Theory to Understand the Rapid Adopti...
 
Safaricom
SafaricomSafaricom
Safaricom
 
M pesa
M pesaM pesa
M pesa
 
Open Source & Open Development
Open Source & Open Development Open Source & Open Development
Open Source & Open Development
 
Open Development Analytics, a step beyond in project transparency
Open Development Analytics, a step beyond in project transparencyOpen Development Analytics, a step beyond in project transparency
Open Development Analytics, a step beyond in project transparency
 

Semelhante a Day: Open Development

REST in AEM by Roy Fielding
REST in AEM by Roy FieldingREST in AEM by Roy Fielding
REST in AEM by Roy FieldingAEM HUB
 
ORTC Library - Introduction
ORTC Library - IntroductionORTC Library - Introduction
ORTC Library - IntroductionErik Lagerway
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUppersideConferences
 
Web programming by Najeeb ullahAzad(1)
Web programming by Najeeb ullahAzad(1)Web programming by Najeeb ullahAzad(1)
Web programming by Najeeb ullahAzad(1)azadmcs
 
LISA OASIS-feb2011
LISA OASIS-feb2011LISA OASIS-feb2011
LISA OASIS-feb2011Jamie Clark
 
Github:fi Presentation
Github:fi PresentationGithub:fi Presentation
Github:fi PresentationPTIHPA
 
What is hot on the web right now - A W3C perspective
What is hot on the web right now - A W3C perspectiveWhat is hot on the web right now - A W3C perspective
What is hot on the web right now - A W3C perspectiveArmin Haller
 
IWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW
 
Open source presentation enterprise ireland 2010
Open source presentation enterprise ireland 2010Open source presentation enterprise ireland 2010
Open source presentation enterprise ireland 2010Tim Willoughby
 
I know what you are going to do next summer
I know what you are going to do next summerI know what you are going to do next summer
I know what you are going to do next summerdominion
 
Migrating to Free Software: a Reference Protocol for LibreOffce
Migrating to Free Software: a Reference Protocol for LibreOffceMigrating to Free Software: a Reference Protocol for LibreOffce
Migrating to Free Software: a Reference Protocol for LibreOffceGreat Wide Open
 
IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW
 
Community catalysts value of open source
Community catalysts   value of open sourceCommunity catalysts   value of open source
Community catalysts value of open sourceDave Neary
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web ProtocolsMohan Krishnan
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)dmgerman
 
Hyperledger community update Feb 20, 2018
Hyperledger community update Feb 20, 2018Hyperledger community update Feb 20, 2018
Hyperledger community update Feb 20, 2018Arnaud Le Hors
 

Semelhante a Day: Open Development (20)

A Bit of REST
A Bit of RESTA Bit of REST
A Bit of REST
 
REST in AEM by Roy Fielding
REST in AEM by Roy FieldingREST in AEM by Roy Fielding
REST in AEM by Roy Fielding
 
REST in AEM
REST in AEMREST in AEM
REST in AEM
 
Web technology Unit-II Part A
Web technology Unit-II Part AWeb technology Unit-II Part A
Web technology Unit-II Part A
 
ORTC Library - Introduction
ORTC Library - IntroductionORTC Library - Introduction
ORTC Library - Introduction
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards Update
 
Web programming by Najeeb ullahAzad(1)
Web programming by Najeeb ullahAzad(1)Web programming by Najeeb ullahAzad(1)
Web programming by Najeeb ullahAzad(1)
 
LISA OASIS-feb2011
LISA OASIS-feb2011LISA OASIS-feb2011
LISA OASIS-feb2011
 
Github:fi Presentation
Github:fi PresentationGithub:fi Presentation
Github:fi Presentation
 
What is hot on the web right now - A W3C perspective
What is hot on the web right now - A W3C perspectiveWhat is hot on the web right now - A W3C perspective
What is hot on the web right now - A W3C perspective
 
IWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologies
 
Open source presentation enterprise ireland 2010
Open source presentation enterprise ireland 2010Open source presentation enterprise ireland 2010
Open source presentation enterprise ireland 2010
 
Open
OpenOpen
Open
 
I know what you are going to do next summer
I know what you are going to do next summerI know what you are going to do next summer
I know what you are going to do next summer
 
Migrating to Free Software: a Reference Protocol for LibreOffce
Migrating to Free Software: a Reference Protocol for LibreOffceMigrating to Free Software: a Reference Protocol for LibreOffce
Migrating to Free Software: a Reference Protocol for LibreOffce
 
IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)
 
Community catalysts value of open source
Community catalysts   value of open sourceCommunity catalysts   value of open source
Community catalysts value of open source
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web Protocols
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)
 
Hyperledger community update Feb 20, 2018
Hyperledger community update Feb 20, 2018Hyperledger community update Feb 20, 2018
Hyperledger community update Feb 20, 2018
 

Mais de Day Software

AND: Using CRX technology to build an enterprise-scale content management and...
AND: Using CRX technology to build an enterprise-scale content management and...AND: Using CRX technology to build an enterprise-scale content management and...
AND: Using CRX technology to build an enterprise-scale content management and...Day Software
 
IlSole24Ore: Business Information and CQ5, the missing link
IlSole24Ore: Business Information and CQ5, the missing linkIlSole24Ore: Business Information and CQ5, the missing link
IlSole24Ore: Business Information and CQ5, the missing linkDay Software
 
European Southern Observatory: Implementing Day CQ5 at ESO
European Southern Observatory: Implementing Day CQ5 at ESOEuropean Southern Observatory: Implementing Day CQ5 at ESO
European Southern Observatory: Implementing Day CQ5 at ESODay Software
 
Adobe Omniture: Real-Time Marketing Optimization
Adobe Omniture: Real-Time Marketing OptimizationAdobe Omniture: Real-Time Marketing Optimization
Adobe Omniture: Real-Time Marketing OptimizationDay Software
 
2011 and Beyond - 5 Strategies for Survival in the Digital Media World
2011 and Beyond - 5 Strategies for Survival in the Digital Media World2011 and Beyond - 5 Strategies for Survival in the Digital Media World
2011 and Beyond - 5 Strategies for Survival in the Digital Media WorldDay Software
 
Namics: From Conten-Centric to User-Centric
Namics: From Conten-Centric to User-CentricNamics: From Conten-Centric to User-Centric
Namics: From Conten-Centric to User-CentricDay Software
 
Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Day Software
 
Day: Ignite iPad App - The making of...
Day: Ignite iPad App - The making of...Day: Ignite iPad App - The making of...
Day: Ignite iPad App - The making of...Day Software
 
Day: Web Development Goes Social
Day: Web Development Goes SocialDay: Web Development Goes Social
Day: Web Development Goes SocialDay Software
 
MTV: CRX As A Solution For Complex Content Sharing and Distribution Needs
MTV: CRX As A Solution For Complex Content Sharing and Distribution NeedsMTV: CRX As A Solution For Complex Content Sharing and Distribution Needs
MTV: CRX As A Solution For Complex Content Sharing and Distribution NeedsDay Software
 
Hyatt Hotels: A Vision for E-Commerce and Online Travel Innovation
Hyatt Hotels: A Vision for E-Commerce and Online Travel InnovationHyatt Hotels: A Vision for E-Commerce and Online Travel Innovation
Hyatt Hotels: A Vision for E-Commerce and Online Travel InnovationDay Software
 
2011 and Beyond - 5 Strategies for Survival in the Digital Media World
2011 and Beyond - 5 Strategies for Survival in the Digital Media World2011 and Beyond - 5 Strategies for Survival in the Digital Media World
2011 and Beyond - 5 Strategies for Survival in the Digital Media WorldDay Software
 
Day: What's New in CQ5 - Sneak-Peek into CQ 5.4
Day: What's New in CQ5 - Sneak-Peek into CQ 5.4Day: What's New in CQ5 - Sneak-Peek into CQ 5.4
Day: What's New in CQ5 - Sneak-Peek into CQ 5.4Day Software
 
SapientNitro: Multi-channel and the Convergence of Marketing, Commerce & Cust...
SapientNitro: Multi-channel and the Convergence of Marketing, Commerce & Cust...SapientNitro: Multi-channel and the Convergence of Marketing, Commerce & Cust...
SapientNitro: Multi-channel and the Convergence of Marketing, Commerce & Cust...Day Software
 
Ignite iPad App: The Making Of....
Ignite iPad App: The Making Of.... Ignite iPad App: The Making Of....
Ignite iPad App: The Making Of.... Day Software
 
Translations.com: Managing Global Content - Day CQ5 and GlobalLink™
Translations.com: Managing Global Content - Day CQ5 and GlobalLink™Translations.com: Managing Global Content - Day CQ5 and GlobalLink™
Translations.com: Managing Global Content - Day CQ5 and GlobalLink™Day Software
 
Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Day Software
 
Adobe: Real-time Marketing Optimization
Adobe: Real-time Marketing OptimizationAdobe: Real-time Marketing Optimization
Adobe: Real-time Marketing OptimizationDay Software
 
Adobe: Intrapreneurs and the Digital Customer Experience
Adobe: Intrapreneurs and the Digital Customer ExperienceAdobe: Intrapreneurs and the Digital Customer Experience
Adobe: Intrapreneurs and the Digital Customer ExperienceDay Software
 

Mais de Day Software (20)

Investec
InvestecInvestec
Investec
 
AND: Using CRX technology to build an enterprise-scale content management and...
AND: Using CRX technology to build an enterprise-scale content management and...AND: Using CRX technology to build an enterprise-scale content management and...
AND: Using CRX technology to build an enterprise-scale content management and...
 
IlSole24Ore: Business Information and CQ5, the missing link
IlSole24Ore: Business Information and CQ5, the missing linkIlSole24Ore: Business Information and CQ5, the missing link
IlSole24Ore: Business Information and CQ5, the missing link
 
European Southern Observatory: Implementing Day CQ5 at ESO
European Southern Observatory: Implementing Day CQ5 at ESOEuropean Southern Observatory: Implementing Day CQ5 at ESO
European Southern Observatory: Implementing Day CQ5 at ESO
 
Adobe Omniture: Real-Time Marketing Optimization
Adobe Omniture: Real-Time Marketing OptimizationAdobe Omniture: Real-Time Marketing Optimization
Adobe Omniture: Real-Time Marketing Optimization
 
2011 and Beyond - 5 Strategies for Survival in the Digital Media World
2011 and Beyond - 5 Strategies for Survival in the Digital Media World2011 and Beyond - 5 Strategies for Survival in the Digital Media World
2011 and Beyond - 5 Strategies for Survival in the Digital Media World
 
Namics: From Conten-Centric to User-Centric
Namics: From Conten-Centric to User-CentricNamics: From Conten-Centric to User-Centric
Namics: From Conten-Centric to User-Centric
 
Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5
 
Day: Ignite iPad App - The making of...
Day: Ignite iPad App - The making of...Day: Ignite iPad App - The making of...
Day: Ignite iPad App - The making of...
 
Day: Web Development Goes Social
Day: Web Development Goes SocialDay: Web Development Goes Social
Day: Web Development Goes Social
 
MTV: CRX As A Solution For Complex Content Sharing and Distribution Needs
MTV: CRX As A Solution For Complex Content Sharing and Distribution NeedsMTV: CRX As A Solution For Complex Content Sharing and Distribution Needs
MTV: CRX As A Solution For Complex Content Sharing and Distribution Needs
 
Hyatt Hotels: A Vision for E-Commerce and Online Travel Innovation
Hyatt Hotels: A Vision for E-Commerce and Online Travel InnovationHyatt Hotels: A Vision for E-Commerce and Online Travel Innovation
Hyatt Hotels: A Vision for E-Commerce and Online Travel Innovation
 
2011 and Beyond - 5 Strategies for Survival in the Digital Media World
2011 and Beyond - 5 Strategies for Survival in the Digital Media World2011 and Beyond - 5 Strategies for Survival in the Digital Media World
2011 and Beyond - 5 Strategies for Survival in the Digital Media World
 
Day: What's New in CQ5 - Sneak-Peek into CQ 5.4
Day: What's New in CQ5 - Sneak-Peek into CQ 5.4Day: What's New in CQ5 - Sneak-Peek into CQ 5.4
Day: What's New in CQ5 - Sneak-Peek into CQ 5.4
 
SapientNitro: Multi-channel and the Convergence of Marketing, Commerce & Cust...
SapientNitro: Multi-channel and the Convergence of Marketing, Commerce & Cust...SapientNitro: Multi-channel and the Convergence of Marketing, Commerce & Cust...
SapientNitro: Multi-channel and the Convergence of Marketing, Commerce & Cust...
 
Ignite iPad App: The Making Of....
Ignite iPad App: The Making Of.... Ignite iPad App: The Making Of....
Ignite iPad App: The Making Of....
 
Translations.com: Managing Global Content - Day CQ5 and GlobalLink™
Translations.com: Managing Global Content - Day CQ5 and GlobalLink™Translations.com: Managing Global Content - Day CQ5 and GlobalLink™
Translations.com: Managing Global Content - Day CQ5 and GlobalLink™
 
Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5
 
Adobe: Real-time Marketing Optimization
Adobe: Real-time Marketing OptimizationAdobe: Real-time Marketing Optimization
Adobe: Real-time Marketing Optimization
 
Adobe: Intrapreneurs and the Digital Customer Experience
Adobe: Intrapreneurs and the Digital Customer ExperienceAdobe: Intrapreneurs and the Digital Customer Experience
Adobe: Intrapreneurs and the Digital Customer Experience
 

Último

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Day: Open Development

  • 2. Open Development Roy T. Fielding, Ph.D. Chief Scientist, Day Software Monday, October 18, 2010
  • 8. Effective Collaboration ✴ (One) Shared Goal ✴ Agree how to disagree & decide ✴ Shared Workspace ✴ Dynamic Awareness ✴ Parallelization Monday, October 18, 2010
  • 10. Open Architecture ? Not talking about open exoskeleton buildings 10 Monday, October 18, 2010
  • 11. Open Architecture ? Not talking about Open Sourced Architecture 11 Monday, October 18, 2010
  • 12. Open Architecture ? Not even talking about personal computer open architecture 12 Monday, October 18, 2010
  • 13. Open Architecture ? versus Mainly talking about design for open systems 13 Monday, October 18, 2010
  • 14. Why talk about Open Architecture? 14 Open Development Collaborative open source development > emphasizes community > takes advantage of the scalability obtainable through Internet-based virtual organizations > adapts to the volunteer nature of developers Monday, October 18, 2010
  • 15. Why talk about Open Architecture? 15 Open Development + Conway’s Law Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. Melvin E. Conway, Datamation, April 1968 http://www.melconway.com/law/ index.html Monday, October 18, 2010
  • 16. True open development (a.k.a, Community-driven Design) will only occur when the design of your system reflects the organizational structure of open development! Why talk about Open Architecture? 16 Open Development + Conway’s Law Monday, October 18, 2010
  • 17. Why talk about Open Architecture? 17 Open Development + Conway’s Law + Change is inevitable! Decentralized Software Evolution (or rapid obsolescence) Monday, October 18, 2010
  • 18. 20 August 2010 18 Decentralized Software Evolution Requires Architecture by Design open (software) architecture used by open development projects to enable decentralized software evolution so that others can continue to design the software and fulfill Conway’s Law leading to success over time! Monday, October 18, 2010
  • 19. Challenges ✴ Trade-off: Adaptability vs Consistency ✴ what changes are possible? ✴ what assurances are provided? ✴ Where to place the open points ✴ behavioral junctions (APIs, callback hooks) ✴ virtual machines (command tables, scripting) ✴ data flow (filters, plug-ins) Monday, October 18, 2010
  • 20. Closed Source Examples ✴ Adobe Monday, October 18, 2010
  • 21. Closed Source Examples ✴ Apple iPhone Ecosystem Monday, October 18, 2010
  • 22. Open Source Examples ✴ What is common to all of the largest and most successful open source projects? ✴ a software architecture ✴ designed to promote anarchic collaboration ✴ through extensions ✴ while preserving control over the core interfaces Monday, October 18, 2010
  • 23. 23 Apache httpd: modules [Apache Modeling Project, f-m-c.org] Modules • simplify core • enable independent development • promote experiments Project improves • reduced friction • anarchic growth • more features • less communication Monday, October 18, 2010
  • 24. 24 Apache httpd: I/O filters [Apache Modeling Project, f-m-c.org] Filters provide more extensibility • protocol replacement • httpd, ftpd, nntpd, … • stackable content manipulation • extensions that can extend other extensions Monday, October 18, 2010
  • 25. 25 Linux Kernel Modules Modules • simplify core • enable independent development • promote experiments Project improves • reduced friction • anarchic growth • more features • less communication [diagram from Ivan T. Bowman, 1998] Monday, October 18, 2010
  • 26. 26 Mozilla Firefox Open Source Extensible Architecture Plug-in Tools Layered CSS Editor Platform Monday, October 18, 2010
  • 27. World Wide Web Project Browsers Information 27 next table of contents elements attributes index HTML 4.01 Specification W3C Recommendation 24 December 1999 This version: http://www.w3.org/TR/1999/REC-html401-19991224 (plain text [794Kb], gzip'ed tar archive of HTML files [371Kb], a .zip archive of HTML files [405Kb], gzip'ed Postscript file [746Kb, 389 pages], gzip'ed PDF file [963Kb]) Latest version of HTML 4.01: http://www.w3.org/TR/html401 Latest version of HTML 4: http://www.w3.org/TR/html4 Latest version of HTML: http://www.w3.org/TR/html Previous version of HTML 4.01: http://www.w3.org/TR/1999/PR-html40-19990824 Previous HTML 4 Recommendation: http://www.w3.org/TR/1998/REC-html40-19980424 Editors: Dave Raggett <dsr@w3.org> Arnaud Le Hors, W3C Ian Jacobs, W3C Copyright ©1997-1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Abstract This specification defines the HyperText Markup Language (HTML), the publishing language of the World Wide Web. This specification defines HTML 4.01, which is a subversion of HTML 4. In addition to the text, multimedia, and hyperlink features of the previous versions of HTML (HTML 3.2 [HTML32] and HTML 2.0 [RFC1866]), HTML 4 supports more multimedia options, scripting languages, style sheets, better printing facilities, and documents that are more accessible to users with disabilities. HTML 4 also takes great strides towards the internationalization of documents, with the goal of making the Web truly World Wide. HTML 4 is an SGML application conforming to International Standard ISO 8879 -- Standard Generalized Markup Language [ISO8879]. Status of this document Network Working Group R. Fielding Request for Comments: 2068 UC Irvine Category: Standards Track J. Gettys J. C. Mogul DEC H. Frystyk T. Berners-Lee MIT/LCS January 1997 Hypertext Transfer Protocol -- HTTP/1.1 Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as “HTTP/1.1”. Network Working Group T. Berners-Lee Request for Comments: 3986 W3C/MIT Obsoletes: 2732, 2396, 1808 R. Fielding STD: 66 Day Software Updates: 1738 L. Masinter Category: Standards Track Adobe Systems January 2005 Uniform Resource Identifier (URI): Generic Syntax Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright © The Internet Society (2005). All Rights Reserved. Abstract A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. Protocols Monday, October 18, 2010
  • 28. Web Implementation 28 Application Servers Dynamic Content Centralized Data RDBMS, NFS, SAN Webservers/Gateways Accelerator Cache User Agents Intermediary Proxy Cache Monday, October 18, 2010
  • 29. Web Architecture 29 $ $ $ $ $ $ $ $User Agents Proxies Gateways Origin Servers Monday, October 18, 2010
  • 30. Web Architecture 30 next table of contents elements attributes index HTML 4.01 Specification W3C Recommendation 24 December 1999 This version: http://www.w3.org/TR/1999/REC-html401-19991224 (plain text [794Kb], gzip'ed tar archive of HTML files [371Kb], a .zip archive of HTML files [405Kb], gzip'ed Postscript file [746Kb, 389 pages], gzip'ed PDF file [963Kb]) Latest version of HTML 4.01: http://www.w3.org/TR/html401 Latest version of HTML 4: http://www.w3.org/TR/html4 Latest version of HTML: http://www.w3.org/TR/html Previous version of HTML 4.01: http://www.w3.org/TR/1999/PR-html40-19990824 Previous HTML 4 Recommendation: http://www.w3.org/TR/1998/REC-html40-19980424 Editors: Dave Raggett <dsr@w3.org> Arnaud Le Hors, W3C Ian Jacobs, W3C Copyright ©1997-1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Abstract This specification defines the HyperText Markup Language (HTML), the publishing language of the World Wide Web. This specification defines HTML 4.01, which is a subversion of HTML 4. In addition to the text, multimedia, and hyperlink features of the previous versions of HTML (HTML 3.2 [HTML32] and HTML 2.0 [RFC1866]), HTML 4 supports more multimedia options, scripting languages, style sheets, better printing facilities, and documents that are more accessible to users with disabilities. HTML 4 also takes great strides towards the internationalization of documents, with the goal of making the Web truly World Wide. HTML 4 is an SGML application conforming to International Standard ISO 8879 -- Standard Generalized Markup Language [ISO8879]. Status of this document Network Working Group R. Fielding Request for Comments: 2068 UC Irvine Category: Standards Track J. Gettys J. C. Mogul DEC H. Frystyk T. Berners-Lee MIT/LCS January 1997 Hypertext Transfer Protocol -- HTTP/1.1 Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as “HTTP/1.1”. Network Working Group T. Berners-Lee Request for Comments: 3986 W3C/MIT Obsoletes: 2732, 2396, 1808 R. Fielding STD: 66 Day Software Updates: 1738 L. Masinter Category: Standards Track Adobe Systems January 2005 Uniform Resource Identifier (URI): Generic Syntax Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright © The Internet Society (2005). All Rights Reserved. Abstract A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. Protocols Monday, October 18, 2010
  • 33. A horizontal abstraction on architecture ‣ a way of naming architectural patterns in implementation An architectural style is a set of constraints ‣ unfortunately, constraints are hard to visualize  kind of like gravity or electromagnetism  observed only by their effect on others ‣ and style constraints are voluntary  there are no architecture police, but there are many architecture critics Constraints induce architectural properties ‣ both desirable and undesirable properties  a.k.a., software qualities and design trade-offs 20 August 2010 Architectural Styles 33 Monday, October 18, 2010
  • 34. 20 August 2010 Representational State Transfer The REST architectural style is 1 a model of ideal Web application behavior 2 a guide for optimizing Web architecture 3 a pattern for communicating ‣ architectural constraints ‣ induced properties ‣ resulting trade-offs 4 a new software industry buzzword 34 Monday, October 18, 2010
  • 35. REST on a slide the disadvantages) of the optional constraints when they are known to be in effect for some Figure 5-9. REST Derivation by Style Constraints RR CS LS VM U CSS LCS COD$ C$SS LC$SS LCODC$SS REST replicated on-demand separated layered mobile uniform interface stateless shared intermediate processing cacheable extensible simple reusable scalable reliable multi- org. visible programmable 35 Monday, October 18, 2010
  • 39. 39 Eclipse Platform [Birsan, ACM Queue, Mar 2005] Taking modular extensibility to the next level OSGi Monday, October 18, 2010
  • 42. Apache Sling 42 Drop-in Extensibility using OSGi Bundles jsp rubyscala groovy esp... JCR backed Content-oriented WebDAV-able REST-based + OSGi REST Monday, October 18, 2010
  • 46. The ASF in 2010 > 2359 committers 84 projects (+ 36 incubating) No offices almost no f2f meetings all decisions on mailing listsHundreds of releases ASF members: 330 3 TB/day www traffic Monday, October 18, 2010
  • 48. revision control system mailing lists + archives IRC Wikis blogs issue tracker automated builds httpd (of course) Shared workspace Monday, October 18, 2010
  • 50. Traditional Feedback code feedback developer user manager How fast is your loop? Days? Weeks? Monday, October 18, 2010
  • 51. Communication OD Central HubMess Media? ? ? ? ? ? ? ?? oral tradition? permanent record or Monday, October 18, 2010
  • 52. Real-time updates Collaboration hub! code issues tests decisions RSS feeds email events subscriptions Monday, October 18, 2010
  • 53. Real-time updates Source code control system instead of “code on the fileserver”. Issue tracker events instead of “what did you do today”? Mailing list “events” instead of “yell around the office”. Automated builds instead of “wait for Bob to build it on Linux”. Monday, October 18, 2010
  • 54. Effective Collaboration ✴ (One) Shared Goal ✴ Agree how to disagree & decide ✴ Shared Workspace ✴ Dynamic Awareness ✴ Parallelization Monday, October 18, 2010
  • 55. alexkli, angela, dpfister, fielding [*], fmeschbe, jukka, mreutegg, ppiegaze, stefan, tripod, uncled bdelacretaz [*], cziegeler, fmeschbe [*] member of the Board of Directors Committers, PMC members and mentors on these projects, and others Monday, October 18, 2010
  • 56. What does Day get? Industry recognition (+ JSR-170) Credibility with world-class people The Open Development Way of Working (works inside the company as well) Contacts. Networks. Ideas. Great infrastructure software, Many eyeballs. Monday, October 18, 2010