Redhat Open Day - JBoss Middleware Portfolio
-
Upload
adrian-gigante -
Category
Documents
-
view
2.142 -
download
0
Transcript of Redhat Open Day - JBoss Middleware Portfolio
Adrián GiganteJBoss Solution Architect
● Quiénes somos?● Modelo de Negocio● Enterprise Application Platform
JBoss BRMS Platform● JBoss Fuse● JBoss Data Service Platform● JBoss Data Grid Platform● Jboss JON & Developer Studio● JBoss OpenShift
Agenda
Red Hat
Fundada en 1993 Sede en Raleigh, NC IPO, 1.999 (NYSE:RHT) Operando en 30 países Oficinas directas 67 Soporte global en 7 idiomas Más de 3 .100 empleados
● 90 empleados● Venta, servicios profesionales
y entrenamiento● Centro de soporte ● Oficina regional para AR, UY,
BR, PY
¿Por qué?
FuncionalidadArquitectura simplePlataforma uniformeModelo flexible
AgilidadModelo de desarrollo colaborativo y abiertoProceso transparenteInnovacion continua
Posibilidad de elegirNo vendor lock-inPlataforma de hardwareNivel de soporte
JBoss Enterprise Middleware
¿ Qué implica una plataforma certificada ?
JBoss Community
¿Licencias? No! Suscripciones
Basado en cores, virutales o físicos, sin importar la tecnologíasubyacente
Soporte sin límites de incidentes 7x24 con 1 hora de respuestapara incidentes críticos
Updates con acceso a últimos bugfixes
Upgrades a nuevas versiones
Acceso a Base de Conocimientos
Soporte en todos los ambientes de desarrollo
RedHat Modelo tradicional
Licencias Soporte Proyecto
¿Qué incluye la suscripción?
● Certificación– +200 plataformas de hardware y software
Soporte técnico y actualización– Incidentes sin límites– Nivel avanzado y básico. En español– Sin costos de updrade– Cada versión se mantiene por 7 años
Acceso a la Base de Conocimiento– Documentación y mejores prácticas
Open Source Assurance– Garantía legal sobre las patentes
JBoss Enterprise Middleware
ManageDesign & Develop Run & Execute
JBoss Operations
Network
Administration, Management, and
Monitoring
JBoss Developer
Studio
Fully integrated development environment
IntegratedTooling
Runtime Platform
Content Aggregation, Presentation and Personalization
JBoss Enteprise Portal Platform
Application & Service Containers, Caching, Data Persistence, &
Transactions
JBoss Enteprise Application Platform
JBoss Enteprise Web Platform
JBoss EntepriseWeb Server
JBoss Enteprise BRMS
JBoss Enteprise SOA Platform
JBoss Enterprise Data Grid
Business Process Orchestration, Service Integration, Business Rules,
Event Management, and Data Federation
High-speed, reliable multi-language messaging
Red Hat Enterprise Messaging
EclipseIDE
JBOSS ENTERPRISE APPLICATION PLATFORM
(EAP)
Infraestructura para Aplicaciones y Servicios JEE
JBoss Application Platform
● Distribución empresarial única que incluye:
− JBoss Application Server: el middleware Java más utilizado en la actualidad
− Hibernate: líder en tecnología de O/R Mapping
− Seam: herramientas que simplifican el desarrollo Web 2.0
● Simple, Flexible y Escalable:
− JVM soportadas: Sun JDK, OpenJDK, IBM JDK
− Certificado JEE
ManagementAdministration, Configuration, Management, and Monitoring
JBoss Enterprise Application Platform
REST Full Web ServiceStack
JBoss Web Framework Kit
JBoss Application Server (Full Java EE)Embedded Tomcat, Clustering,Cache,
Transactions, Messaging, REST & full Web Services stack
JBoss Application Platform
Java Virtual Machine
● Arquitectura de última generación
● Configurabilidad sencilla y extrema
● Microcontainer minimalista con servicios modulares
● El Microcontainer soporta varios modelos de componentes
− POJO, JMX, OSGi, etc.
● Infraestructura consistente de gestión
APIs / Programmings Models(POJOs, WS, REST, Java EE, Spring, Groovy, jRuby, etc.)
JBoss Microcontainer(Dependencies, Lifecycle, Management,
Class-loading)
Core Enterprise Services
Tran
saction
s
Messag
ing
Cach
ing
Rem
otin
g
Web
Services
Clu
stering
Sec
urity
Persisten
ce
JBoss EAP 6 domain model
• Despliegue tradicional standalone
– Equilavente a EAP 5– Clusterizable
• Despliegue de dominio
– Controlador de dominios– Gestion centralizada– Multiservidor– Clusters
JBoss EAP 6 cache
● EAP utiliza Inifispan como cache distribuido:● Open Source● En memoria
● Low latency & mayor concurrencia que en disco
● Distribuido● Elastico● Alta disponibilidad
JBoss EAP 6 administración
Herramientas
- CLI
- Web Console - JBoss ON
Management APIs
- JMX – JSR-77 / 160 - DMR - REST API - XML
JBoss EAP 6
● Grandes cambios de Arquitectura
− Java Modules (no más classpaths)
− Grandes mejoras en performance● Soporte de JEE6
− Soporte para CDI (JSR-299)
− Web/EE Profiles JSF2, JPA2, EJB3.1● Mejoras en la administración
− Se agregó el concepto de Dominios para facilitar la configuración
− Consola de administración mejorada
Versiones segun tipo de carga
JBoss Enterprise Web Server
Apache Web Server, Apache Tomcat, mod_jk, mod_cluster
JBoss EnterpriseApplication Platform
JBoss AS (Java EE)Apache Tomcat, Clustering, Cache, EJB
REST Full WebServices Stack
JBoss MicroContainer
HibernateFramework
Hibernate
Basic Web
Java EE+
Transactions
Messaging
JBoss Web Framework Kit
Spring framework, Struts, Richfaces
JBoss Web Framework Kit
JBOSS BRMS Platform
Creación y Administración de Reglas de Negocio
Las reglas de negocio
SISe producen
determinados evetoso condiciones
ENTONCESCiertos eventos
deberían suceder
Donde residen?
Distribuidas entre las personas y sujetas a ambiguedades
class Tarifador { public static void main(String[] args) { int tarifaBase = 76; char dia; if (dia = 'L') { precio = tarifaBase * 0.75; } else if (dia = 'M') { precio = tarifaBase * 0.75;; } else if (dia = 'V') { precio = tarifaBase * 0.75;; } else { precio = tarifaBase } System.out.format("precio = " %d, precio); }}
El Escenario Tradicional
Presentación
Lógica de negocio
Persistencia
DesarrolloNegocio
¿Por qué?
λLenguajes para la especificación muy distinto al lenguaje de programaciónλ Conocimiento e implementación de las reglas del negocio disperso en personas y aplicacionesλ IT como cuello de botellaλ Demasiado tiempo de respuesta ante necesidades del mercadoEntidades de
Negocio
Aplicación de Negocio
Agilidad! Llegada el mercado
Presentación
Lógica de negocio
Persistencia
Reglas de negocio
Administración de Reglas
Desarrollo
Negocio
Aplicación de Negocio
Entidades deNegocio
JBoss Enterprise BusinessRules Management System
Reglas de Negocio como Servicio
Presentación
Lógica de negocio
Persistencia
Dominio
Aplicación de Negocio
Entidades deNegocio
Administración de Reglas
JBoss Enterprise BusinessRules Management System
Repositorio Centralizado
de reglas
Reglas de negocio
Operaciones
Reglas de negocioLlamada a reglas
Repository
BusinessRule Definitions
Business Data
Enterprise Applications
Business Analysts
Developers
Business ProcessManager
Rule Engine
Event Processor
Business Users
Web Services
Java
Business Events
Authoring Tools for Business
Users
Authoring Tools for Developers
Operations
Business Central
JBoss BRMS Componentes
Repository
BusinessRule Definitions
Business Data
Enterprise Applications
Developers
Business ProcessManager
Rule Engine
Event Processor
Business Users
Web Services
Java
Business Events
Authoring Tools for Business
Users
Authoring Tools for Developers
Operations
Business Central
Business Analysts
JBoss BRMS Componentes
Repository
BusinessRule Definitions
Business Data
Enterprise Applications
Developers
Business ProcessManager
Rule Engine
Event Processor
Business Users
Web Services
Java
Business Events
Authoring Tools for Business
Users
Authoring Tools for Developers
Operations
Business Central
Business Analysts
JBoss BRMS Componentes
Repository
BusinessRule Definitions
Business Data
Enterprise Applications
Developers
Business ProcessManager
Rule Engine
Event Processor
Business Users
Web Services
Java
Business Events
Authoring Tools for Business
Users
Authoring Tools for Developers
Operations
Business Central
Business Analysts
JBoss BRMS Componentes
Repository
BusinessRule Definitions
Business Data
Enterprise Applications
Business Analysts
Business ProcessManager
Rule Engine
Event Processor
Business Users
Web Services
Java
Business Events
Authoring Tools for Business
Users
Authoring Tools for Developers
Operations
Business Central
Developers
JBoss BRMS Componentes
Complex Event Processing
Definimos a CEP como:• Nueva variable: el tiempo
• Capaz de procesar altos volúmenes de tráfico de eventos
• Correlación de los diferentes eventos a través del tiempo
• Detectar patrones complejos de eventos (Abstracciones)
Complex Event Processing
Tiempo
Eventos
Accionesde
negocio
Correlacionde
eventos
Beneficios
● Mayor agilidad debido a la separacion de las reglas del negocio de la logica de aplicacion
● Mayor productividad en la creacion de nuevas reglas y mantenimiento
● Reduccion del time-to-market
JBOSS FUSE
Integración & SOA
Las aplicaciones distribuidas generan
● Ineficiencia y demoras – causada por la falta de automatización y el manejo manual de informacion entre aplicaciones● Información dispersa – no unificada, distribuida entre sistemas de manera heterogenea ● Falta de estandarizacion – cada aplicacion es dueña de su informacion, el intercambio de informacion entre sistema se vuelve costo e inflexible● Multiples puntos de contacto – falta de conexion con aplicaciones que no residen en el HQ
JBoss Fuse
● Un ESB enterprise
− Plataforma de integración
− Footprint elástico
● Brinda
− Contenedor liviano: Apache Karaf
− Rutas de integración: Apache Camel
− Mesajería confiable: Apache Active MQ
JBoss Fuse
Apache Karaf + Fuse Fabric
Apache CXF
Apache Camel Apache ActiveMQ MessagingFuse IDE
Fuse Management
Console
JBoss Fuse Apache Camel
Apache Camel● Framework de integración basado en Enterprise Integration Patterns (EIP)
● Rutas y reglas de mediación puede ser definidas a través de un DSL en Java, Spring o Blueprint
● Provee soporte para Bean binding e integración seamless con frameworks como Spring, Blueprint y Guice
Jboss Fuse Camel: filtro de mensajes
1) Recibir un mesaje de la cola ActiveMQ2) Solo reenviar los mensajes que el tipo de producto sea “activo”3) Reenviar a cola de mensajes WebSphereMQ
ACTIVO?
Jboss Fuse Camel: filtro de mensajes
● Creación de rutas a través de Fuse IDE● Utilización de iconografía● Implementación de patrones de diseño enterprise (EIP)● Sintaxis sencilla
JBoss Fuse Apache CXF
● Los servicios pueden hablar una variedad de protocolos (SOAP, XML/HTTP, RESTfull HTTP) y trabajar sobre distintos transportes (HTTP, JMS, JBI)
● Incluye un front-end simplificado que permite la creación de clientes y endpoints sin anotaciones.
Apache CXF es un framework open source que ayuda a la construcción de servicios utilizando APIs
de programación como JAX-WS y JAX-RS
JBoss Fuse ActiveMQ
Basado en Apache ActiveMQ
● Confiable
● Soporte multi-protocolo
● Footprint liviano
● Cliente con lenguaje nativo
JBOSS DATA SERVICES PLATFORM
JBoss Data Services Platform
● Permite la virtualización de la información en un modelo único:
− Aplicando transformaciones
− Mediando semánticamente
− Accesible en forma estándar (SQL/WS)
● Simple, Flexible y Escalable:
− Desarrollo basado en modelos
− Integración en tiempo real
− Optimización de consultas
JBoss Data Services Platform
Transformación
Federación de Consultas
Acceso/Conectividad
Arquitectura
JBoss Enterprise Data Services
Platform
SQLWeb
Services
Relacional
<XML/>
Archivos Aplicaciones(SAP, Legacy,..)
Web Services
Data Service Data Service Data Service
Hibernate
Casos Típicos de Uso
● Business Intelligence, Análisis de Operaciones, Reporting:
− Consolidación Financiera/Tableros● Master Data Management, Reference Data Management:
− Vista Única/360 del Cliente/Proveedor/Ciudadano● Cumplimiento de Regulaciones:
− Capa de acceso unificada
− VISA PCI, Sarbanes Oxley● SOA:
− Presentar vistas unificadas de datos a los Servicios
JBOSS ENTERPRISE DATA GRID
Grid de datos = Cloud Friendly
● Almacenar información no estructurada● Diferentes interfaces de comunicación● Utilización extrema de memoria (y disco)● Acceso con baja latencia● Escalabilidad lineal y elasticidad● Grandes volúmenes de información
● Permite el almacenamiento de información de manera:
– Escalable / Elástica
– Performante
– Tolerante a falla
● Simple, Flexible y Escalable:
– Version embebible
– Monitoreo integrado
– Fácil de configurar
– Escalabilidad asegurada para altos volumenes de carga
Cluster
JBoss Enterprise Data Grid
Interface Manager
ManagementAdministration, Management, and Monitoring
JBoss Enterprise Application Platform
Key/Value Persistence Manager
JBoss Enterprise Data Grid
JBoss Enterprise Data Grid
Tolerancia a fallos
Elasticidad
Rápida
Modo de Uso
EDG
EDG
EDG
EDG
EDG
EDG
Embebido
Cliente / Servidor
... o combinado
JBOSS MIDDLWAREDesign, Develop
&Manage
JBoss Enterprise Middleware
ManageDesign & Develop Run & Execute
JBoss Operations
Network
Administration, Management, and
Monitoring
JBoss Developer
Studio
Fully integrated development environment
IntegratedTooling
Runtime Platform
Content Aggregation, Presentation and Personalization
JBoss Enteprise Portal Platform
Application & Service Containers, Caching, Data Persistence, &
Transactions
JBoss Enteprise Application Platform
JBoss Enteprise Web Platform
JBoss EntepriseWeb Server
JBoss Enteprise BRMS
JBoss Enteprise SOA Platform
JBoss Enterprise Data Grid
Business Process Orchestration, Service Integration, Business Rules,
Event Management, and Data Federation
High-speed, reliable multi-language messaging
Red Hat Enterprise Messaging
EclipseIDE
JBOSS DEVELOPER STUDIO&
FRAMEWORKS
JBoss Developer Studio
Visual/Source JSF Editor
● Entorno único e integrado para el desarrollo Web 2.0
● Herramientas para AJAX, JBoss Seam, JavaServer Faces y aplicaciones ricas
● Soporte gráfico para todas las plataformas:
− Procesos de Negocio
− Reglas de Negocio
− Servicios
− Portlets
− Despliegue/Debugging
Frameworks de desarrollo
● Frameworks soportados:− Spring− Struts− GWT− Seam (JEE5)
● Frameworks emergentes (a soportar)− Rails / Grails− JEE CDI − Play!− Wicket
JBOSS OPERATION NETWORK
JBoss Operations Network
JBoss ONServer
Software Updates Sencillo, seguro y confiable (up to date)
InventoryDescubrimiento automático de
recursos
MonitoringGráficos en tiempo real,
Alertas de Email , etc.
ControlIniciar, parar y re-iniciar los servidores remotamente
Command Line InterfaceAutomatizar tareas y scripts
operativos
Configuration Actualizar diferentes recursos sin editar XML
DeploymentInstalar y actualizar componentes
y aplicaciones
ProvisioningDefine y despliega instancias de servidores en servidores remotos
JBoss ON - Architecture
JBOSS in the Cloud
OpenShift
● OpenShift es la propuesta de “Cloud Computing Platform as a Service” (Paas) de Red Hat
● Es una plataforma de aplicacion en la nube donde los desarrolladores de aplicaciones y sus equipos pueden construir, probar, implementar y correr sus aplicaciones
● OpenShift se ocupa de toda la infraestructura, middleware y administración permitiendo a los desarrolladores concentrarse en lo que mejor hacen: diseñar y codificar aplicaciones
OpenShift Platform as a Service
OpenShift PaaS
STORAGE(RHS)
HARDWARE(x86)
VIRTUALIZATION(RHEV)
OPERATING SYSTEM(RHEL)
APPLICATION PLATFORM(JBOSS, PHP, RUBY, ETC)
APPLICATION
Public Cloud
Service
On-Premise or Private CloudSoftware
Developer Controls
Developer Controls
Operated by Red Hat at
Scale for 18
Months IT Ops Provides
OpenShift Automates, IT Ops Controls
¿Como se pude consumir OpenShift?
¿Porque OpenShift?