Documente Academic
Documente Profesional
Documente Cultură
Conceptos
Evolucin de la tecnologa
Patrones
Ejemplo
Conceptos
Evolucin de la tecnologa
Patrones
Ejemplo
Arquitectura
Arquitectura de Computadores
Arquitectura de Software
Arquitectura de Sistemas
Mainframe terminales
PCs
Arquitectura cliente servidor
Arquitectura de tres capas
An ms complejidad
Complejidad tecnolgica
Complejidad humana
09/11/2015
Conceptos
Evolucin de la tecnologa
Patrones
Ejemplo
Conceptos
Evolucin de la tecnologa
Patrones
Ejemplo
Patrones
Antipatrones
09/11/2015
Conceptos
Evolucin de la tecnologa
Complejidad actual
Arquitectura
Arquitectura de Computadores
Arquitectura de Software
Arquitectura de Sistemas
Arquitectura
(Del lat. architect ra)
1. f. Arte de proyectar y construir edificios.
2. f. Inform. Estructura lgica y fsica de los componentes
de un computador.
Diccionario de la Real Academia Espaola
09/11/2015
Arquitectura de Computadores
Cmo se organiza una computadora?
Arquitectura de Software
La organizacin fundamental de un sistema, representada por
sus componentes, sus relaciones entre ellos y con su entorno,
y los principios que gobiernan su diseo y evolucin.
IEEE 1471-2000: Recommended Practice for Architecture Description of
Software-Intensive Systems
09/11/2015
Arquitectura de Sistemas
IEEE: An architecture is the highest-level concept of a
system in its environment
Arquitectura como diseo, y arquitectura como estilo
Arquitectura de Sistemas
Martin Fowler: Yo defino la arquitectura como una palabra
que usamos cuando queremos hablar de diseo pero
queremos que suene importante
Arquitectura = diseo de alto nivel ... pero es importante !
Como en un edificio: bosquejo, primeros planos, maqueta,
vecinos, entrada de garage, basura, sombras, electricidad,
sanitaria, datos, terminaciones ...
Casi al terminar quisiramos hacer un cambio en la
estructura de la planta baja ...
09/11/2015
Arquitectura de Sistemas
Responde: cmo se organiza un Sistema de Informacin?
Es un modelo conceptual
que define estructura,
comportamiento, y vistas
de un sistema
Es til para propsitos
tcnicos y organizativos
Arquitectura de Sistemas
- Para qu?
- Para
09/11/2015
Arquitectura de Sistemas
Una buena arquitectura mejorar las posibilidades de
cambiar la estructura de la planta baja
Arquitectura de Sistemas
No se ve igual en la academia y en la industria
Estilos arquitectnicos que oirn:
Arquitecturas Orientadas a Objetos
Arquitecturas en capas
Model-View-Controller (MVC)
Arquitecturas Orientadas a Servicios (SOA)
09/11/2015
Conceptos
Evolucin de la tecnologa
Ejemplo
Mainframe terminales
PCs
Arquitectura cliente servidor
Arquitectura de tres capas
An ms complejidad
Complejidad tecnolgica
Complejidad humana
Mainframe terminales
El procesamiento se realiza en el mainframe
La terminal no sirve para otra cosa
Problemas: costo, limitaciones de las
tecnologas para mainframe, aparicin de
las PCs
09/11/2015
09/11/2015
An ms complejidad
Middleware basado en RPC (Remote Procedure Call), como Java RMI
(PolyGUI)
Colas de mensajes (MQSeries, JMS)
Web Services, BPEL
Virtualizacin, Proxy, Firewall, DMZ, VPN (Virtual Private Network), Load
Balancer, Cluster, SAN (Storage Area Network)
... una organizacin mediana/grande puede tener todas estas
tecnologas distribuidas en decenas de nodos
09/11/2015
CTO
(Director de Sistemas)
Architect
sysadmin
Net Admin
DBA
AS Admin
Developer
Tester
Project Manager
Functional
CSO (User)
09/11/2015
Conceptos
Evolucin de la tecnologa
Patrones
Ejemplo
Patrones
Antipatrones
Patrones
Una solucin conocida a un problema recurrente
Un patrn codifica conocimiento especfico acumula-do
por la experiencia en un dominio
Todos los sistemas bien estructurados siguen patrones
09/11/2015
Patrones
Segn GoF, un patrn debe tener 4 elementos:
Nombre, para identificarlo
Problema, indica cundo aplicarlo
Solucin, indica el diseo a seguir
Consecuencias, costos y beneficios
Patrones
Ejemplo: Patrn Adapter o Wrapper, convierte la interface de
una clase en lo que espera el cliente (ODBC, JDBC)
09/11/2015
Antipatrones
Sirven para identificar malas
prcticas
Proveen alternativas para
malas decisiones comunes
Ejemplos: hard-coded,
spaguetti-code, lava-flow,
God-object, JayWalking
Conceptos
Evolucin de la tecnologa
Patrones
Ejemplo
09/11/2015
"
Lder funcional
PhD en gentica
3 desarrolladores
Ing. en Comp.
2 funcionales
Lic. en Biologa
CTO
Architect
DBAs
AS Admin
Tester
Net Admin
Sysadmins
"
09/11/2015
"
"
09/11/2015
"
"
09/11/2015
"
"