+ All Categories
Home > Technology > 4 - Architetture Software - Architecture Portfolio

4 - Architetture Software - Architecture Portfolio

Date post: 29-Nov-2014
Category:
Upload: majong-devjfu
View: 1,926 times
Download: 1 times
Share this document with a friend
Description:
 
70
A portfolio of software architectural descriptions Paolo Ciancarini
Transcript
Page 1: 4 - Architetture Software - Architecture Portfolio

A portfolio of software architectural descriptions

Paolo Ciancarini

Page 2: 4 - Architetture Software - Architecture Portfolio
Page 3: 4 - Architetture Software - Architecture Portfolio

Agenda

•  The visualization of software architectures

•  Basic architectures •  Reference architectures •  Middleware architectures •  Model-driven architectures

Page 4: 4 - Architetture Software - Architecture Portfolio

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

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

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

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

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

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

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

Editor

Page 12: 4 - Architetture Software - Architecture Portfolio

Expert system

Page 13: 4 - Architetture Software - Architecture Portfolio

Mathematica

Page 14: 4 - Architetture Software - Architecture Portfolio

JVM

Page 15: 4 - Architetture Software - Architecture Portfolio

Applet architecture

Page 16: 4 - Architetture Software - Architecture Portfolio

J2EE

Page 17: 4 - Architetture Software - Architecture Portfolio

Tomcat

Page 18: 4 - Architetture Software - Architecture Portfolio

JINI architectural

example

Page 19: 4 - Architetture Software - Architecture Portfolio

A game engine dundee.cs.queensu.ca/wiki/index.php/CAX_Game_Architecture

Page 20: 4 - Architetture Software - Architecture Portfolio

Classic Unix

Page 21: 4 - Architetture Software - Architecture Portfolio

Monolithic vs microkernel

Page 22: 4 - Architetture Software - Architecture Portfolio

Linux

Page 23: 4 - Architetture Software - Architecture Portfolio

Windows NT

Page 24: 4 - Architetture Software - Architecture Portfolio

Minix

Page 25: 4 - Architetture Software - Architecture Portfolio

Windows 95 and 98

Page 26: 4 - Architetture Software - Architecture Portfolio

Windows 2000

Page 27: 4 - Architetture Software - Architecture Portfolio

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

MS Windows Vista

Page 29: 4 - Architetture Software - Architecture Portfolio

MS Office

Page 30: 4 - Architetture Software - Architecture Portfolio

MS Office: structure of documents

MS Word MS Powerpoint

Page 31: 4 - Architetture Software - Architecture Portfolio

Mac OS

Page 32: 4 - Architetture Software - Architecture Portfolio

Symbian

Page 33: 4 - Architetture Software - Architecture Portfolio

Android

Page 34: 4 - Architetture Software - Architecture Portfolio

Data Distribution Service

Page 35: 4 - Architetture Software - Architecture Portfolio

Con

tent

Del

iver

y N

etw

ork

Page 36: 4 - Architetture Software - Architecture Portfolio

Eclipse

Page 37: 4 - Architetture Software - Architecture Portfolio

X Windows

Page 38: 4 - Architetture Software - Architecture Portfolio

Mozilla + Gecko

Page 39: 4 - Architetture Software - Architecture Portfolio

Floc

k br

owse

r

Page 40: 4 - Architetture Software - Architecture Portfolio

MS Exchange (email) Server

Page 41: 4 - Architetture Software - Architecture Portfolio

Spam Firewall Architecture

Page 42: 4 - Architetture Software - Architecture Portfolio

Apa

che

serv

er

Page 43: 4 - Architetture Software - Architecture Portfolio

Concurrency on Apache Unix

Page 44: 4 - Architetture Software - Architecture Portfolio

MVC style architectures

Page 45: 4 - Architetture Software - Architecture Portfolio

MS Silverlight

Page 46: 4 - Architetture Software - Architecture Portfolio

Adobe AIR

Page 47: 4 - Architetture Software - Architecture Portfolio

Ruby on Rails

Page 48: 4 - Architetture Software - Architecture Portfolio

AJAX intreraction style

Page 49: 4 - Architetture Software - Architecture Portfolio

Search architecture

Page 50: 4 - Architetture Software - Architecture Portfolio

Google

Page 51: 4 - Architetture Software - Architecture Portfolio

CORBA

Page 52: 4 - Architetture Software - Architecture Portfolio

J2EE

Page 53: 4 - Architetture Software - Architecture Portfolio

J2EE operating environment

Page 54: 4 - Architetture Software - Architecture Portfolio

Java

web

app

licat

ion

Page 55: 4 - Architetture Software - Architecture Portfolio

JBoss application

server

Page 56: 4 - Architetture Software - Architecture Portfolio

Web services architecture

Page 57: 4 - Architetture Software - Architecture Portfolio

Grid-like architecture

Page 58: 4 - Architetture Software - Architecture Portfolio

SOA

Page 59: 4 - Architetture Software - Architecture Portfolio

SOA

Page 60: 4 - Architetture Software - Architecture Portfolio

Amazon SOA

Page 61: 4 - Architetture Software - Architecture Portfolio

IBM WebSphere

Page 62: 4 - Architetture Software - Architecture Portfolio

DRM architecture

Page 63: 4 - Architetture Software - Architecture Portfolio

Business architecture

Page 64: 4 - Architetture Software - Architecture Portfolio

MS BizTalk

Page 65: 4 - Architetture Software - Architecture Portfolio

Social network architecture

Page 66: 4 - Architetture Software - Architecture Portfolio

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

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

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

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

Questions?


Recommended