4 - architetture software - architecture portfolio
DESCRIPTION
TRANSCRIPT
![Page 1: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/1.jpg)
A portfolio of software architectural descriptions
Paolo Ciancarini
![Page 2: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/2.jpg)
![Page 3: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/3.jpg)
Agenda
• The visualization of software architectures
• Basic architectures • Reference architectures • Middleware architectures • Model-driven architectures
![Page 4: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/4.jpg)
Goal of this lecture
• Show a number of practical, real examples of software architectures
• Compare visualization styles • Elicit (common) architectural patterns
![Page 5: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/5.jpg)
Software architecture • “In most successful software projects, the developers
working on that project have a shared understanding of the system design; this shared understanding is called ‘architecture’.
• This understanding includes how the system is divided into components and how the components interact through interfaces. These components are usually composed of smaller components, but the architecture only includes the components and interfaces that are understood by all the developers” Ralph Johnson
![Page 6: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/6.jpg)
Software architecture
• The global organization of a software system
• A software structure decomposable in subsystems – Define their interfaces – Define how they interact
![Page 7: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/7.jpg)
Software architects
Bill Gates, CSA Microsoft till 2006 Ray Ozzie, CSA MS 2006-2010 Kevin Lynch, CSA Adobe
Vishal Sikka, CSA SAP Don Ferguson, former CSA IBM
Nora Denzel, former CSA HP
![Page 8: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/8.jpg)
8
The role of the Software Architect
• The role of the software architect involves not just technical activities, but others that are more “political” and strategic in nature, and more like those of a consultant
• Not all good technologists have the skills that make them good architects
• The best architects are good technologists, that command respect in the technical community, but also are good strategists, organizational politicians and leaders
![Page 9: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/9.jpg)
A (useless) SA description • Ci sono 4 elementi, che sono
connessi in qualche modo, i tre in basso hanno qualcosa in comune
• Natura degli elementi? • Loro responsabilità? • Significato delle connessioni? • Significato della struttura?
Control Process
(CP)
Noise Model
(MODN)
Reverb Model
(MODR)
Loss Model
(MODP)
![Page 10: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/10.jpg)
A portfolio
• The following pictures are taken from the Web • I used queries related to the concept of “software architecture” of typical software systems, like editors, compilers, operating systems, software tools
• They are examples of our main topic • Ask yourself: what do I see?
![Page 11: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/11.jpg)
Editor
![Page 12: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/12.jpg)
Expert system
![Page 13: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/13.jpg)
Mathematica
![Page 14: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/14.jpg)
JVM
![Page 15: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/15.jpg)
Applet architecture
![Page 16: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/16.jpg)
J2EE
![Page 17: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/17.jpg)
Tomcat
![Page 18: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/18.jpg)
JINI architectural
example
![Page 19: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/19.jpg)
A game engine dundee.cs.queensu.ca/wiki/index.php/CAX_Game_Architecture
![Page 20: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/20.jpg)
Classic Unix
![Page 21: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/21.jpg)
Monolithic vs microkernel
![Page 22: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/22.jpg)
Linux
![Page 23: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/23.jpg)
Windows NT
![Page 24: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/24.jpg)
Minix
![Page 25: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/25.jpg)
Windows 95 and 98
![Page 26: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/26.jpg)
Windows 2000
![Page 27: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/27.jpg)
Windows XP
I/O Manager
Security Reference
Monitor IPC
Manager Virtual
Memory Manager
Process Manager
Plug and Play
Manager Power
Manager Window Manager and GDI
Computer Hardware
Executive Services
User Mode Kernel Mode
Hardware Abstraction Layer (HAL)
Graphics Device Drivers
Object Manager Device Drivers Microkernel
File Systems
Win 32-bit App Win 32-bit
App Win 32-bit App Win 32-bit
App
Win32 Subsytem
(Win32 API)
![Page 28: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/28.jpg)
MS Windows Vista
![Page 29: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/29.jpg)
MS Office
![Page 30: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/30.jpg)
MS Office: structure of documents
MS Word MS Powerpoint
![Page 31: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/31.jpg)
Mac OS
![Page 32: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/32.jpg)
Symbian
![Page 33: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/33.jpg)
Android
![Page 34: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/34.jpg)
Data Distribution Service
![Page 35: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/35.jpg)
Con
tent
Del
iver
y N
etw
ork
![Page 36: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/36.jpg)
Eclipse
![Page 37: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/37.jpg)
X Windows
![Page 38: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/38.jpg)
Mozilla + Gecko
![Page 39: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/39.jpg)
Floc
k br
owse
r
![Page 40: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/40.jpg)
MS Exchange (email) Server
![Page 41: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/41.jpg)
Spam Firewall Architecture
![Page 42: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/42.jpg)
Apa
che
serv
er
![Page 43: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/43.jpg)
Concurrency on Apache Unix
![Page 44: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/44.jpg)
MVC style architectures
![Page 45: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/45.jpg)
MS Silverlight
![Page 46: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/46.jpg)
Adobe AIR
![Page 47: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/47.jpg)
Ruby on Rails
![Page 48: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/48.jpg)
AJAX intreraction style
![Page 49: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/49.jpg)
Search architecture
![Page 50: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/50.jpg)
![Page 51: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/51.jpg)
CORBA
![Page 52: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/52.jpg)
J2EE
![Page 53: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/53.jpg)
J2EE operating environment
![Page 54: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/54.jpg)
Java
web
app
licat
ion
![Page 55: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/55.jpg)
JBoss application
server
![Page 56: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/56.jpg)
Web services architecture
![Page 57: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/57.jpg)
Grid-like architecture
![Page 58: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/58.jpg)
SOA
![Page 59: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/59.jpg)
SOA
![Page 60: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/60.jpg)
Amazon SOA
![Page 61: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/61.jpg)
IBM WebSphere
![Page 62: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/62.jpg)
DRM architecture
![Page 63: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/63.jpg)
Business architecture
![Page 64: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/64.jpg)
MS BizTalk
![Page 65: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/65.jpg)
Social network architecture
![Page 66: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/66.jpg)
What is a software architecture?
• An architecture defines structure • An architecture defines behavior • An architecture focuses on significant elements • An architecture balances stakeholders needs • An architecture conforms to an architectural style • An architecture is influenced by its environment • An architecture influences its environment • An architecture influences its development team
structure
![Page 67: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/67.jpg)
Architectures and entities
The definition of a business entity is one of the most difficult things in the software architecture world. The problem that we have is this combination of words “business” and “entity”, the first depicts something very complicated and the second states for something simple – so we are trying to define something like “complicated-simplicity”…
Adam Boczek
![Page 68: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/68.jpg)
Self test questions
• What do these representations have in common?
• Do they focus more on the structure or on the behavior of software architectures?
• Which analyses, reasoning and evaluations are possible on these pictures?
• Would it be possible to have a uniform architectural representation model?
• Have you recognized patterns or styles? • Can you imagine architectural alternatives?
![Page 69: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/69.jpg)
Readings • www-128.ibm.com/developerworks/rational/library/feb06/
eeles/index.html!• www.dehats.com/drupal/?q=node/32!• la.sei.cmu.edu/sad-wiki/index.php/High_Level_Module_View!
![Page 70: 4 - Architetture Software - Architecture Portfolio](https://reader034.vdocuments.us/reader034/viewer/2022051513/5479573bb47959a4098b475a/html5/thumbnails/70.jpg)
Questions?