SlideShare una empresa de Scribd logo
1 de 31
ArquitecturasqueCreceny Arquitecturasque No Agustín Ramos Fonseca
¿QuéesArquitectura?
¿De quéformaspuedecrecer un sistema de software? En la cantidad de…  Usuariosque lo usan Datosquemaneja. Transaccionesqueprocesa. Funcionalidadqueimplementa. Contextos en los queesusado. Plataformasquesoporta.
Metáforas
Un Organismo Vivo
El procesobiológicoquelleva a un organismo a desarrollarsu forma característica. Morphogénesis
Se origina (unacélula) Se forma Madura Cambia constantemente. Alcanza la vejez, y muere. ...¿Puedecrearse software así? ¿Québeneficiostraería? Ciclo de vida
Especialización y restricciones
Especialización y restricciones En lasetapasembrionarias, muchascriaturas son muyparecidas. Conformepasa el tiempo, se daneventosquedan forma y restringen el conjunto de eventosquepuedenocurrirdespues, asícomolasformasque se puedenalcanzar... En software… ¿porquétomardecisionesanticipadas?
El desarrollodepende del contexto En software…                                           ¿Cuáles el contextoadecuado? El entorno socio-económico y tecnológico en el cual se inserta… ¿Moraleja? ¡Release It!
Diseño de Lenguajes
¿Quéconstituye un lenguaje? Un vocabulario if, for, public, myVar Unasintaxis válido:  public void do() {} Inválido: void public do() {} Unasemántica
Dos extremos Lenguajes con muchascaracterísticas(Muycompletos). Un ampliovocabulario. Unasintaxismuyelaborada. Lenguajespequeñosperoextensibles. ¿Cuálesmejor?
Growing a Language Guy Steele, OOPSLA 1998 “A language design can no longer be a thing. It must be a pattern—a pattern for growth—a pattern for growing the pattern for defining the patterns that programmers can use for their real work and their main goal.” “So I think the sole way to win is to plan for growth with help from users... Parts of the language must be designed to help the task of growth. “
Christopher Alexandery las 15 propiedades
No comprendimos a Alexander Élhablaba de esto.
No comprendimos a Alexander Perointerpretamosesto
Esto no puedecrecer
Poresoreformulósuteoría “The Nature of Order” (4 tomos) "living structure, wherever it appears, is composed of fundamental structural features  -- roughly fifteen of them, at least."
Las 15 propiedades 1. Levels of scale. 2. Strong centers. 3. Boundaries. 4. Alternating repetition. 5. Positive space. 6. Good shape. 7. Local symmetries. 8. Deep interlock and ambiguity. . 9. Contrast. 10. Gradients. 11. Roughness. 12. Echoes. 13. The Void. 14. Simplicity and Inner Calm. 15. Not-separateness.
Ejemplo: Niveles de Escala
En software Unaarquitectura micro-kernel
Principios
Modularización Sin unabuenamodularización, los sistemas son rígidos(difíciles de cambiar) ¿Quéesunabuenamodularización? ModularizaciónEfectiva 	http://slidesha.re/9siQFY Modular Architecture http://modularity.kirkk.com/ Diseñaexplícitamentetusmódulos, y cuidaquesuspropiedades se mantengan
Ortogonalidad Las responsabilidades de los componentesdebentenerfronterasbiendefinidas. Solo de estamanera se logra la flexibilidad y reversibilidadrequerida.
DecisionesReversibles Cuando se tomaunadecisióntecnológica, esnecesarioevaluarsiestapodríacambiar en un futuro. De serasídebemosintroducir los mecanismosnecesariosparalograrrevertir la decisión. Abstracciones. Componentesdébilmenteacoplados. Intermediarios(Adapter, Proxy, etc)
PatronesArquitectónicos
CQRS Command Query Responsibility Segregation
Actores No hay un solo hilo de control. “Objetos” que se comunican con mensajesasíncronos. No hay estadocompartido. Cuando un mensajeesrecibido, un actor puede Cambiarsuestadointerno. Crearmásactores. Enviarmásmensajes ¿Quéofrece? Escalabilidad. Es un modelo natural de cómputodistribuido. Tolerancia a fallas. Cuando un actor no funciona, se creaunonuevo en sulugar.
Actores ¿Con quéexperimentar? Erlang Scala Akka (librería Java) Gpars (Groovy)
¡Gracias! Agustín Ramos Fonseca @MachinesAreUs zentimental.software@gmail.com

Más contenido relacionado

Similar a Arquitecturas que crecen y arquitecturas que no

Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificiallei_quiza
 
WIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaWIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaSorey García
 
ModelacióN, SimulacióN, TéCnicas Auxiliares De AnáLisis
ModelacióN, SimulacióN, TéCnicas Auxiliares De AnáLisisModelacióN, SimulacióN, TéCnicas Auxiliares De AnáLisis
ModelacióN, SimulacióN, TéCnicas Auxiliares De AnáLisisAlejandra Esther
 
El rol de Analista de Sistemas, los mundos y las tecnicas
El rol de Analista de Sistemas, los mundos y las tecnicasEl rol de Analista de Sistemas, los mundos y las tecnicas
El rol de Analista de Sistemas, los mundos y las tecnicasAlejandra Esther
 
Taller ingenieria de software
Taller ingenieria de softwareTaller ingenieria de software
Taller ingenieria de softwareAvanet
 
SISTEMAS EXPERTOS
SISTEMAS EXPERTOSSISTEMAS EXPERTOS
SISTEMAS EXPERTOStecnica66
 
robotica y sistemas expertos
robotica y sistemas expertosrobotica y sistemas expertos
robotica y sistemas expertostecnica66
 
Todavía no he desayunado
Todavía no he desayunadoTodavía no he desayunado
Todavía no he desayunadoUX Nights
 
Hci curso comsocial-2014
Hci curso comsocial-2014Hci curso comsocial-2014
Hci curso comsocial-2014Tm-CS
 
Ado.net entity framework
Ado.net entity frameworkAdo.net entity framework
Ado.net entity frameworkCein
 
CONCEPTOS BASICOS DE LA INFORMATICA
CONCEPTOS BASICOS DE LA INFORMATICACONCEPTOS BASICOS DE LA INFORMATICA
CONCEPTOS BASICOS DE LA INFORMATICAdavid smith
 
Sistema experto para determinar la personalidad de un individuo
Sistema experto para determinar la personalidad de un individuoSistema experto para determinar la personalidad de un individuo
Sistema experto para determinar la personalidad de un individuoBndy Quilcate
 
Inteligencia artificial aplicada a la salud en el seguimiento de pacientes cr...
Inteligencia artificial aplicada a la salud en el seguimiento de pacientes cr...Inteligencia artificial aplicada a la salud en el seguimiento de pacientes cr...
Inteligencia artificial aplicada a la salud en el seguimiento de pacientes cr...Jose Avila De Tomas
 
Lo que odiamos de la agilidad
Lo que odiamos de la agilidadLo que odiamos de la agilidad
Lo que odiamos de la agilidadLeonardo Soto
 
Universo Agile
Universo AgileUniverso Agile
Universo Agilelucsat
 
Sistemica docente (gestalt)
Sistemica docente (gestalt)Sistemica docente (gestalt)
Sistemica docente (gestalt)Ese Lobo
 

Similar a Arquitecturas que crecen y arquitecturas que no (20)

Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
El TAO de la programación
El TAO de la programaciónEl TAO de la programación
El TAO de la programación
 
WIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaWIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnología
 
ModelacióN, SimulacióN, TéCnicas Auxiliares De AnáLisis
ModelacióN, SimulacióN, TéCnicas Auxiliares De AnáLisisModelacióN, SimulacióN, TéCnicas Auxiliares De AnáLisis
ModelacióN, SimulacióN, TéCnicas Auxiliares De AnáLisis
 
El rol de Analista de Sistemas, los mundos y las tecnicas
El rol de Analista de Sistemas, los mundos y las tecnicasEl rol de Analista de Sistemas, los mundos y las tecnicas
El rol de Analista de Sistemas, los mundos y las tecnicas
 
Módulo 2
Módulo 2Módulo 2
Módulo 2
 
Taller ingenieria de software
Taller ingenieria de softwareTaller ingenieria de software
Taller ingenieria de software
 
Gaceta
GacetaGaceta
Gaceta
 
SISTEMAS EXPERTOS
SISTEMAS EXPERTOSSISTEMAS EXPERTOS
SISTEMAS EXPERTOS
 
robotica y sistemas expertos
robotica y sistemas expertosrobotica y sistemas expertos
robotica y sistemas expertos
 
Ii corte presentacion iii
Ii corte presentacion iiiIi corte presentacion iii
Ii corte presentacion iii
 
Todavía no he desayunado
Todavía no he desayunadoTodavía no he desayunado
Todavía no he desayunado
 
Hci curso comsocial-2014
Hci curso comsocial-2014Hci curso comsocial-2014
Hci curso comsocial-2014
 
Ado.net entity framework
Ado.net entity frameworkAdo.net entity framework
Ado.net entity framework
 
CONCEPTOS BASICOS DE LA INFORMATICA
CONCEPTOS BASICOS DE LA INFORMATICACONCEPTOS BASICOS DE LA INFORMATICA
CONCEPTOS BASICOS DE LA INFORMATICA
 
Sistema experto para determinar la personalidad de un individuo
Sistema experto para determinar la personalidad de un individuoSistema experto para determinar la personalidad de un individuo
Sistema experto para determinar la personalidad de un individuo
 
Inteligencia artificial aplicada a la salud en el seguimiento de pacientes cr...
Inteligencia artificial aplicada a la salud en el seguimiento de pacientes cr...Inteligencia artificial aplicada a la salud en el seguimiento de pacientes cr...
Inteligencia artificial aplicada a la salud en el seguimiento de pacientes cr...
 
Lo que odiamos de la agilidad
Lo que odiamos de la agilidadLo que odiamos de la agilidad
Lo que odiamos de la agilidad
 
Universo Agile
Universo AgileUniverso Agile
Universo Agile
 
Sistemica docente (gestalt)
Sistemica docente (gestalt)Sistemica docente (gestalt)
Sistemica docente (gestalt)
 

Más de Agustin Ramos

Exploring Elixir Codebases with Archeometer
Exploring Elixir Codebases with ArcheometerExploring Elixir Codebases with Archeometer
Exploring Elixir Codebases with ArcheometerAgustin Ramos
 
From Elixir to Akka (and back) - ElixirConf Mx 2017
From Elixir to Akka (and back) - ElixirConf Mx 2017From Elixir to Akka (and back) - ElixirConf Mx 2017
From Elixir to Akka (and back) - ElixirConf Mx 2017Agustin Ramos
 
Pairwise and property based testing
Pairwise and property based testingPairwise and property based testing
Pairwise and property based testingAgustin Ramos
 
Sistemas Tolerantes a Fallas
Sistemas Tolerantes a FallasSistemas Tolerantes a Fallas
Sistemas Tolerantes a FallasAgustin Ramos
 
¿En qué la estamos regando en pruebas de software?
¿En qué la estamos regando en pruebas de software?¿En qué la estamos regando en pruebas de software?
¿En qué la estamos regando en pruebas de software?Agustin Ramos
 
Programación funcional con haskell
Programación funcional con haskellProgramación funcional con haskell
Programación funcional con haskellAgustin Ramos
 
Técnicas basadas en matriz de estructura de diseño
Técnicas basadas en matriz de estructura de diseñoTécnicas basadas en matriz de estructura de diseño
Técnicas basadas en matriz de estructura de diseñoAgustin Ramos
 
Acercándose a la entrega continua
Acercándose a la entrega continuaAcercándose a la entrega continua
Acercándose a la entrega continuaAgustin Ramos
 
Modelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaModelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaAgustin Ramos
 
Arqueología de software
Arqueología de softwareArqueología de software
Arqueología de softwareAgustin Ramos
 
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Agustin Ramos
 
BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoAgustin Ramos
 
La nueva imagen del gurú - El maestro artesano dentro del ingeniero
La nueva imagen del gurú - El maestro artesano dentro del ingenieroLa nueva imagen del gurú - El maestro artesano dentro del ingeniero
La nueva imagen del gurú - El maestro artesano dentro del ingenieroAgustin Ramos
 
Modularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidraModularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidraAgustin Ramos
 

Más de Agustin Ramos (15)

Exploring Elixir Codebases with Archeometer
Exploring Elixir Codebases with ArcheometerExploring Elixir Codebases with Archeometer
Exploring Elixir Codebases with Archeometer
 
From Elixir to Akka (and back) - ElixirConf Mx 2017
From Elixir to Akka (and back) - ElixirConf Mx 2017From Elixir to Akka (and back) - ElixirConf Mx 2017
From Elixir to Akka (and back) - ElixirConf Mx 2017
 
Pairwise and property based testing
Pairwise and property based testingPairwise and property based testing
Pairwise and property based testing
 
Sistemas Tolerantes a Fallas
Sistemas Tolerantes a FallasSistemas Tolerantes a Fallas
Sistemas Tolerantes a Fallas
 
¿En qué la estamos regando en pruebas de software?
¿En qué la estamos regando en pruebas de software?¿En qué la estamos regando en pruebas de software?
¿En qué la estamos regando en pruebas de software?
 
Programación funcional con haskell
Programación funcional con haskellProgramación funcional con haskell
Programación funcional con haskell
 
Técnicas basadas en matriz de estructura de diseño
Técnicas basadas en matriz de estructura de diseñoTécnicas basadas en matriz de estructura de diseño
Técnicas basadas en matriz de estructura de diseño
 
Acercándose a la entrega continua
Acercándose a la entrega continuaAcercándose a la entrega continua
Acercándose a la entrega continua
 
Modelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaModelos de paralelismo y concurrencia
Modelos de paralelismo y concurrencia
 
Arqueología de software
Arqueología de softwareArqueología de software
Arqueología de software
 
Hola OSGi
Hola OSGiHola OSGi
Hola OSGi
 
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
 
BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamiento
 
La nueva imagen del gurú - El maestro artesano dentro del ingeniero
La nueva imagen del gurú - El maestro artesano dentro del ingenieroLa nueva imagen del gurú - El maestro artesano dentro del ingeniero
La nueva imagen del gurú - El maestro artesano dentro del ingeniero
 
Modularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidraModularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidra
 

Último

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Último (20)

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Arquitecturas que crecen y arquitecturas que no

  • 3. ¿De quéformaspuedecrecer un sistema de software? En la cantidad de… Usuariosque lo usan Datosquemaneja. Transaccionesqueprocesa. Funcionalidadqueimplementa. Contextos en los queesusado. Plataformasquesoporta.
  • 6. El procesobiológicoquelleva a un organismo a desarrollarsu forma característica. Morphogénesis
  • 7. Se origina (unacélula) Se forma Madura Cambia constantemente. Alcanza la vejez, y muere. ...¿Puedecrearse software así? ¿Québeneficiostraería? Ciclo de vida
  • 9. Especialización y restricciones En lasetapasembrionarias, muchascriaturas son muyparecidas. Conformepasa el tiempo, se daneventosquedan forma y restringen el conjunto de eventosquepuedenocurrirdespues, asícomolasformasque se puedenalcanzar... En software… ¿porquétomardecisionesanticipadas?
  • 10. El desarrollodepende del contexto En software… ¿Cuáles el contextoadecuado? El entorno socio-económico y tecnológico en el cual se inserta… ¿Moraleja? ¡Release It!
  • 12. ¿Quéconstituye un lenguaje? Un vocabulario if, for, public, myVar Unasintaxis válido: public void do() {} Inválido: void public do() {} Unasemántica
  • 13. Dos extremos Lenguajes con muchascaracterísticas(Muycompletos). Un ampliovocabulario. Unasintaxismuyelaborada. Lenguajespequeñosperoextensibles. ¿Cuálesmejor?
  • 14. Growing a Language Guy Steele, OOPSLA 1998 “A language design can no longer be a thing. It must be a pattern—a pattern for growth—a pattern for growing the pattern for defining the patterns that programmers can use for their real work and their main goal.” “So I think the sole way to win is to plan for growth with help from users... Parts of the language must be designed to help the task of growth. “
  • 15. Christopher Alexandery las 15 propiedades
  • 16. No comprendimos a Alexander Élhablaba de esto.
  • 17. No comprendimos a Alexander Perointerpretamosesto
  • 19. Poresoreformulósuteoría “The Nature of Order” (4 tomos) "living structure, wherever it appears, is composed of fundamental structural features -- roughly fifteen of them, at least."
  • 20. Las 15 propiedades 1. Levels of scale. 2. Strong centers. 3. Boundaries. 4. Alternating repetition. 5. Positive space. 6. Good shape. 7. Local symmetries. 8. Deep interlock and ambiguity. . 9. Contrast. 10. Gradients. 11. Roughness. 12. Echoes. 13. The Void. 14. Simplicity and Inner Calm. 15. Not-separateness.
  • 24. Modularización Sin unabuenamodularización, los sistemas son rígidos(difíciles de cambiar) ¿Quéesunabuenamodularización? ModularizaciónEfectiva http://slidesha.re/9siQFY Modular Architecture http://modularity.kirkk.com/ Diseñaexplícitamentetusmódulos, y cuidaquesuspropiedades se mantengan
  • 25. Ortogonalidad Las responsabilidades de los componentesdebentenerfronterasbiendefinidas. Solo de estamanera se logra la flexibilidad y reversibilidadrequerida.
  • 26. DecisionesReversibles Cuando se tomaunadecisióntecnológica, esnecesarioevaluarsiestapodríacambiar en un futuro. De serasídebemosintroducir los mecanismosnecesariosparalograrrevertir la decisión. Abstracciones. Componentesdébilmenteacoplados. Intermediarios(Adapter, Proxy, etc)
  • 28. CQRS Command Query Responsibility Segregation
  • 29. Actores No hay un solo hilo de control. “Objetos” que se comunican con mensajesasíncronos. No hay estadocompartido. Cuando un mensajeesrecibido, un actor puede Cambiarsuestadointerno. Crearmásactores. Enviarmásmensajes ¿Quéofrece? Escalabilidad. Es un modelo natural de cómputodistribuido. Tolerancia a fallas. Cuando un actor no funciona, se creaunonuevo en sulugar.
  • 30. Actores ¿Con quéexperimentar? Erlang Scala Akka (librería Java) Gpars (Groovy)
  • 31. ¡Gracias! Agustín Ramos Fonseca @MachinesAreUs zentimental.software@gmail.com