2005 Adobe Systems Incorporated. All Rights Reserved.1
W e b 2 . 0 a n d S O A t h a t w il l m a k e y o u r W e b s it e p u r r l ik e a P o r s c h eDuane NickullSenior Technical Evangelist
2007 Adobe Systems Incorporated. All Rights Reserved.2
S p e a k e r b io - D u a n e N ic k u ll
Current
Chair - OASIS SOA Reference Model Technical Committee (OASIS Standard as of 2006)
Community Member (Planning Committee) - Ontolog Forum
Contributor - OASIS SOA Reference Architecture Technical Committee
Contributor - OASIS Service Component 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)
Co-inventor - GoXML Contextual XML Search (51 unique patent points)
Co-Inventor - XML Commerce Pro (1997) first fully XML commerce engine
Author (books, white papers, technical articles)
Speaker (Conferences, Universities …)
My Band http://www.myspace.com/22ndcentury
2007 Adobe Systems Incorporated. All Rights Reserved.
A n d p r e v io u s o w n e r o f t h e s e …. P u u u r r r r r !
3
2007 Adobe Systems Incorporated. All Rights Reserved.4
A n d m o s t r e c e n t ly ….
Part of a research project to capture knowledge in this book using normative architectural artifacts on Web 2.0.
2007 Adobe Systems Incorporated. All Rights Reserved.5
S o w h a t d o e s t h e f u t u r e lo o k l ik e ?
DEMO
2007 Adobe Systems Incorporated. All Rights Reserved.6
S o w h a t is W e b 2 . 0 ?
Something that people are struggling to understand No common architecture
Multiple definitions
Contentious
So how can we capture the knowledge?
2007 Adobe Systems Incorporated. All Rights Reserved.
W h e r e t o s t a r t ?
7
2007 Adobe Systems Incorporated. All Rights Reserved.8
W h a t a r c h it e c t s u s e t o c a p t u r e k n o w le d g e
2007 Adobe Systems Incorporated. All Rights Reserved.
"Example isn't another way to teach; it's the only way" -- Albert
Einstein
9
2007 Adobe Systems Incorporated. All Rights Reserved.10
D e f in it io n : W h a t e x a m p le s d id T im O ’ R e illy g iv e ?
W e b 2 . 0
Google AdSenseFlickrBitTorrentNapsterWikipediaBloggingupcoming.org and EVDBsearch engine optimizationcost per clickweb servicesparticipationwikistagging (“folksonomy”)syndication
W e b 1 . 0
DoubleClickOfoto
Akamaimp3.com
Britannica onlinepersonal websites
evitedomain name speculation
page viewsscreen scraping
publishingcontent management systems
directories (taxonomy)stickiness
2007 Adobe Systems Incorporated. All Rights Reserved.11
M e t h o d o lo g y U s e d t o C a p t u r e W e b 2 . 0 K n o w le d g e *
based on A b s t r a c t
C o n c r e t e
Guide
Refine
Enable
Account for
D e s ig n P a t t e r n s
R e f e r e n c e A r c h it e c t u r e s
D o m a in s p e c if ic
r e q u ir e m e n t s
S p e c ia liz e d A r c h it e c t u r e s
S o lu t io n P a t t e r n s
M o d e ls
2007 Adobe Systems Incorporated. All Rights Reserved.12
P a t t e r n s
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…
2007 Adobe Systems Incorporated. All Rights Reserved.
S o m e W e b 2 . 0 p a t t e r n s ?
A r c h it e c t u r e s o f P a r t ic ip a t io n P a t t e r n , S m a ll P ie c e s P a t t e r n , Lo o s e ly J o in e d P a t t e r n , Th e P la t f o r m P a t t e r n , S o f t w a r e a s a S e r v ic e , D a t a is t h e N e x t “ In t e l In s id e ” , E a s e o f D e v e lo p m e n t , In n o v a t io n in A s s e m b ly , M a s h u p , Le v e r a g e C o m m o d it y E c o n o m ic s , Vir t u a lis a t io n : R u n o n s o m e o n e e ls e ' s d a t a c e n t e r , Th e b ig g e s t p ile P a t t e r n , O p t in g o u t , n o t o p t in g in , Vo t in g ( e x p lic it a n d im p lic it ) , Th e C a t a lo g ( f lic k r p h o t o s , y o u t u b e , m p 3 ) , R e a l Tim e A u c t io n ? , N o n - in t r u s iv e a d s , F r o n t - e n d / b a c k - e n d s e p a r a t io n r e lia b le b a c k - e n d , E a s e o f D e v e lo p m e n t , E m b e d c o d e s , R e d is t r ib u t a b le , S e lf - s e r v ic e ( e b a y , c r a ig s lis t ) , R E S T, Ta g s , C o m m e n t s a n d c o m m u n it y , P lu g - in b u s in e s s m o d e ls , In t e r f a c e s , S e a r c h , In s t a n t U p d a t e ( A ja x ) , R a t in g s , S e r v ic e O r ie n t e d A r c h it e c t u r e ( S O A ) , R a n k in g s a n d w a y s t o k e e p s c o r e , Th e Lin k , S e n s o r s , D e s k t o p C o n t r o lle r , R e p u t a t io n s y s t e m s ( p a g e r a n k ) , B lo g r o lls , S h a r e B u t t o n s , W id g e t s a n d G a d g e t s , F e e d s ( R S S , A t o m , Tw it t e r , F B ) , Th e P la t f o r m P a t t e r n , S o f t w a r e a s a S e r v ic e , D a t a is t h e N e x t “ In t e l In s id e ” , E a s e o f D e v e lo p m e n t , In n o v a t io n in A s s e m b ly , M a s h u p , Le v e r a g e C o m m o d it y E c o n o m ic s , Vir t u a lis a t io n : R u n o n s o m e o n e e ls e ' s d a t a c e n t e r , Th e b ig g e s t p ile P a t t e r n , O p t in g o u t , n o t o p t in g in , Vo t in g ( e x p lic it a n d im p lic it ) , Th e C a t a lo g ( f lic k r p h o t o s , y o u t u b e , m p 3 ) , R e a l T im e A u c t io n ? , N o n - in t r u s iv e a d s , F r o n t -e n d / b a c k - e n d s e p a r a t io n r e lia b le b a c k - e n d , E a s e o f D e v e lo p m e n t
13
2007 Adobe Systems Incorporated. All Rights Reserved.
S o h o w d o e s t h is a f f e c t
t h e w a y y o u a r c h it e c t
y o u r IT In f r a s t r u c t u
r e ?
14
2007 Adobe Systems Incorporated. All Rights Reserved.15
W e b 2 . 0 R e f e r e n c e A r c h it e c t u r e
Controller
Data/StateManagement
Communication Services
Design,Development& GovernanceTools
ClientApplicationTier
SecurityContainer/Model
VirtualMachine
Rendering& Media
ServiceTier
Registry-Repository
Service Invocation Layer
Service Provider Interface
Service Container Core Services Business Rules/Workflow
Resource Tier EIS Databases DirectoriesECM
RepositoryMessageQueues
LegacySystems
• Consistent object & event models• Consistent architectural models
Standard Technologies& Protocols
2007 Adobe Systems Incorporated. All Rights Reserved.16
S e r v ic e O r ie n t e d C o m p u t in g
Re-purposing core functionality as service to be consumed.
But wait! What about the clients? Do they have to be different?
Service Oriented Clients (SOC’s)?
S e r v ic e O r ie n t e d C lie n t s a r e , in m o s t c a s e s , W e b 2 . 0 a p p lic a t io n s !
2007 Adobe Systems Incorporated. All Rights Reserved.17
S e r v ic e O r ie n t e d C lie n t s - W e b 2 . 0 A p p lic a t io n A r c h it e c t u r e
Mashing up multiple formats
Using services to deliver rich user experiences
Rendering/Media engines let users control the way they use your applications.
Are no longer standalone - use knowledge of other users applications.
2007 Adobe Systems Incorporated. All Rights Reserved.
P e o p le a r e s t a r t in g t o s e e “ B A D ” p a t t e r n s t o o ….
18
2007 Adobe Systems Incorporated. All Rights Reserved.
A n t i p a t t e r n s t o S O A / W e b 2 . 0 ?
Composite Applications. Based on UML Composition relationship, yes!
Aggregate Applications is more accurate.
Blob - A large class with too many attributes and is the "heart" of the system.
Walled Gardens – the open web is the way to go!
Spaghetti code - Program code that has no structure (lots of “goto” statements)
Golden Hammer/Swiss Army Knife - Forcing everything to fit a selected tool
More?
19
2007 Adobe Systems Incorporated. All Rights Reserved.20
Revolutionizingh o w t h e w o r ld e n g a g e s
w it h id e a s a n d in f o r m a t io n
In true Web 2.0 manner:
You are hereby free to use these slides in any way you want. You are responsible for
Making sure you have any rights associated with any graphics etc and have to take responsibilityfor honoring any copyrights etc.
PLEASE: make sure the logo owners are cool if you want to use them!
No attribution is necessary - they are yours to claim as your own
and go out and do with what you want!