Posts RSS Comments RSS 139 Posts and 54 Comments till now

Architettura, architettura, architettura

Il mantra dell’ingegneria del software, ormai quasi completamente divorato dalla deriva java-centrica, parla esclusivamente di “architettura” e “scelte architetturali”. Nelle riunioni la parola d’ordine è “decidere l’architettura”.

Basta. Il tutto a discapito di chi poi deve scrivere il codice, che subisce i crampi mentale di questa gente. Gente che ormai non scrive più codice, che ha perso contatto con la realtà.

A questi vorrei dire: “quelli che possono programmano, quelli che non possono fanno gli architetti”.

La mia domanda però è un’altra. Di cosa parliamo quando usiamo il termine architettura? Come possiamo usarlo con senso?

Ho trovato qualche risorsa che schematizza felicemente gli stili architetturali. Che devono essere distinti da Pattern e Metafore.

Mi sembra utile riprendere questa tabella esplicativa.

Architecture style Description
Client-Server Segregates the system into two applications, where the client makes a service request to the server.
Component-Based Architecture Decomposes application design into reusable functional or logical components that are location-transparent and expose well-defined communication interfaces.
Layered Architecture Partitions the concerns of the application into stacked groups (layers).
Message-Bus A software system that can receive and send messages that are based on a set of known formats, so that systems can communicate with each other without needing to know the actual recipient.
N-tier / 3-tier Segregates functionality into separate segments in much the same way as the layered style, but with each segment being a tier located on a physically separate computer.
Object-Oriented An architectural style based on division of tasks for an application or system into individual reusable and self-sufficient objects, each containing the data and the behavior relevant to the object.
Separated Presentation Separates the logic for managing user interaction from the user interface (UI) view and from the data with which the user works.
Service-Oriented Architecture (SOA) Refers to Applications that expose and consume functionality as a service using contracts and messages.
Share and Enjoy:
  • Digg
  • del.icio.us
  • Mixx
  • Google Bookmarks
  • StumbleUpon
  • Technorati
No TweetBacks yet. (Be the first to Tweet this post)

Trackback this post | Feed on Comments to this post

Leave a Reply