2. Expositor
• Principal Middleware Architect Sysco AS
• Twitter: @gugalnikov
• Blogs:
‣http://blog.sysco.no/
‣https://soamythbusters.wordpress.com
‣http://oracletechnocore.blogspot.no
Francisco Arturo Viveros
3. “La Transformación Digital se refiere a los cambios asociados con la aplicación de tecnología digital en
todos los aspectos de la sociedad humana”
Transformación Digital
6. La Nueva Economía Digital
• Monetización
• Componentización
• Flexibilidad
• Escalabilidad
• Autonomía
• Etc.
7. Transformación Digital: La presión se ha incrementado en el mercado
• La explosión de dispositivos y canales
– ¿Cómo habilito la entrega de mis servicios y productos a todos estos canales?
• Las aplicaciones se han vuelto más pequeñas, especializadas y vienen y van con
gran rapidez
– ¿Cómo mantengo el paso ante el cambio constante?
• Presión competitiva forzando las necesidades de innovación
– ¿Cómo hago para mantenerme adelante o a la par de mi competencia?
• Alianzas, compras, fusiones, se establecen rápidamente y la Integración debe ser ágil
– ¿Cómo responder ante todos estos nuevos tipos de interacciones?
• La lealtad a las marcas queda siempre en entre dicho
– ¿Cómo se logra obtener y mantener dicha lealtad?
8. Cuáles son las Tecnologías más Disruptivas para las Organizaciones?
MOBILECLOUD
13. Patrones, Frameworks y Suites
• Patrones: Soluciones
genéricas reutilizables
para problemas comunes
• Agnósticos por naturaleza
• E.g. Fachada, Proxy
• Framework: Conjunto
estandarizado de
programas, librerías,
lenguaje, etc.
• Su propósito es facilitar /
acelerar el desarrollo de
software
• E.g. Spring, Struts
• Suite: Conjunto de
aplicaciones y
herramientas de software
“empaquetadas”
• Normalmente incluyen
IDEs y funcionan mejor
con productos del mismo
vendor
• E.g. Oracle SOA Suite,
Visual Studio
14. Patrones
• Diversas Categorías
• Creación (Factory)
• Estructura (Adapter, Composite)
• Comportamiento (Mediator, Publish/Subscribe)
• Concurrencia (Scheduler)
• Se pueden aplicar utilizando plantillas
• Contraindicaciones
• A menudo se confunden con “features” de la plataforma o capacidades del framework
• La distancia entre patrón - antipatrón suele ser pequeña
• El uso incorrecto o desmedido incrementa la complejidad de la solución
16. Las Arquitecturas deben diseñarse para soportar requerimientos de
Escalabilidad y Cambio Constante
17. Open Modern Software Architecture (OMESA) | omesa.io
Open Modern Software Architecture (OMESA)
omesa.io
Credits to Luis Weir, Hajo Norman et. al.
18. Open Modern Software Architecture (OMESA) | omesa.io
OBJETIVOS
1. Promover una arquitectura de referencia moderna que abarque a toda la organización
y permita combinar lo “viejo” con lo “nuevo”.
2. Proveer principios de diseño y definición de conceptos que favorezcan la aplicación e
interpretación de la arquitectura.
3. Deliver Desarrollar un modelo de capacidades agnóstico, que pueda entregarle valor
tangible a las organizaciones.
4. Traer de vuelta las mejores prácticas de arquitectura y diseño, basándonos en
experiencias reales para la construcción de soluciones modernas en todo tipo y
tamaño de organizaciones.
19. Open Modern Software Architecture (OMESA) | omesa.ioVersion: 0.4
Delivery Experience
Service Implementation
Persistence
API
20. Open Modern Software Architecture (OMESA) | omesa.ioVersion: 0.4
Delivery Experience
Service Implementation
Persistence
Single Purpose API
Multi-Purpose API
21. Open Modern Software Architecture (OMESA) | omesa.ioVersion: 0.4
Delivery Experience
Service Implementation
Persistence
Web Mobile Device
Single Purpose API
Multi-Purpose API
22. Open Modern Software Architecture (OMESA) | omesa.ioVersion: 0.4
Delivery Experience
Service Implementation
Persistence
Web Mobile Device
Single Purpose API
Multi-Purpose API
Semi-decoupled Fully-decoupled
23. Open Modern Software Architecture (OMESA) | omesa.ioVersion: 0.4
Delivery Experience
Service Implementation
Persistence
Web Mobile Device
Single Purpose API
Multi-Purpose API
Semi-decoupled Fully-decoupled
EIS RegistryEvent StoreShared Storage
Non-shared
Storage
24. Open Modern Software Architecture (OMESA) | omesa.ioVersion: 0.4
Delivery Experience
Service Implementation
Persistence
Web Mobile Device
Single Purpose API
Multi-Purpose API
Monitoring
BusinessAnalytics
Security
Management
Monolithic System RegistryEvent StoreShared Storage
Non-shared
Storage
Semi-decoupled Fully-decoupled
25. Open Modern Software Architecture (OMESA) | omesa.ioVersion: 0.4
Persistence
Single Purpose API
Multi-Purpose API
Delivery Experience
Web Mobile Device
Monolithic System RegistryEvent StoreShared Storage Non-shared Storage
Semi-decoupled Fully-decoupled
Service Interaction
Security
Orchestration
Asynchronous
Messaging
Service Mediation
Business Logic
Service State
Management Service Connectivity
Service StabilityService Virtualization
Shared Runtime
Choreography
Stateless Processing
Domain Driven
Design
Independent Runtime
Payload
Transformation
Common Data Model
Service Implementation
26. Open Modern Software Architecture (OMESA) | omesa.io
Contact
Management
Customer
Management
Bounded Contexts
MICROSERVICE ARCHITECTURE WITH OMESA
Order
Management
Experience
UI Composition
Single purpose API
Multi-purpose API
Semi-decoupled Service implementation
Fully-decoupled Service implementation
Synchronous call
Event collaboration
Persistance
27. Open Modern Software Architecture (OMESA) | omesa.io
MONOLITHIC ARCHITECTURE WITH OMESA
Contact
Management
Customer
Management
Bounded Contexts
Order
Management
Experience
UI
Single purpose API
Multi-purpose API
Semi-decoupled Service implementation
Synchronous call
Event collaboration
Persistence
28. Meterpoint Data Collection
IoT Devices
Customer
Management
Work Order
Management
Delivery Experience
Web
Data Warehouse
System
AQ
AQ
REST / FTP
SOAP
MQ
Event
Streams
REST
CQRS
Meterpoint Operator
Centralized Data Hub
Power Supplier
REST
AQ
Mobile
ENTERPRISE-WIDE ARCHITECTURE WITH OMESA
29. Semi-decoupled Fully-decoupled
Service Interaction
Security
Orchestration
Asynchronous
Messaging
Service Mediation
Business Logic
Service State
Management Service Connectivity
Service StabilityService Virtualization
Shared Runtime
Choreography
Stateless Processing
Domain Driven
Design
Independent
Runtime
Payload
Transformation
Common Data Model
Service Implementation
CORE CAPABILITIES TO DESIGN PATTERNS WITH OMESA
30. OMESA REFERENCES
• Reactive Manifesto (http://www.reactivemanifesto.org)
• 12 Factor App (https://12factor.net/)
• microservices.io
• Martin Fowler (https://martinfowler.com/)
• SOA Patterns (http://soapatterns.org/)
• Enterprise Integration Patterns (http://www.enterpriseintegrationpatterns.com)
• Etc.