Generative Artificial Intelligence: How generative AI works.pdf
Strengthening Adobe’s Enterprise Platform with Day Software and Open Development
1. Strengthening Adobe’s Enterprise Platform
with Day Software and Open Development
Roy Fielding | Chief Scientist, Day Software | @fielding
David Nuescheler | CTO, Day Software | @davidnuescheler
Craig Randall | Principal Scientist, Adobe | @craigsmusings
7. Apache is BIG
8
> 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
The
Apache
Software Foundation
h t t p : / / w w w . a p a c h e . o r g /
11. Leadership in Open Source
12
OPEN
SOURCE
dev@httpd.apache.org
dev@jackrabbit.apache.org
dev@sling.apache.org
dev@felix.apache.org
12. Leadership in Open Standards
13
OPEN
SOURCE
OPEN
STANDARDS
URI
HTTP
CMIS
JSOP
JCR
URI Templates
HTML
13. Leadership in Open Architecture
14
OPEN
SOURCE
OPEN
STANDARDS
OPEN
ARCHITECTURE
REST OSGi
14. Why Open Architecture?
15
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
15. Why Open Architecture?
16
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
16. Why Open Architecture?
17
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!
Open Development
+
Conway’s Law
17. Why Open Architecture?
18
Open Development
+
Conway’s Law
+
Change is inevitable!
Decentralized Software Evolution
(or rapid obsolescence)
18. Challenges
19
✴ 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)
21. Open Source Examples
22
✴ What is common to 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
22. Apache httpd: modules
23
[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
23. Apache httpd: I/O filters
24
[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
24. Linux Kernel Modules
25
Modules
• simplify core
• enable
independent
development
• promote
experiments
Project improves
• reduced friction
• anarchic growth
• more features
• less communication
[diagram from Ivan T. Bowman, 1998]
27. Representational State Transfer
28
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
28. REST on a slide
29
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