aplicaciones empresariales sobre plataformas j2ee...

49
Aplicaciones Empresariales sobre Plataformas J2EE Open Source Jorge Arias ( [email protected]) Senior Technical Consultant Novell Inc ( Andean Region)

Upload: vodung

Post on 14-Oct-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Aplicaciones Empresariales sobre Plataformas J2EE Open Source

Jorge Arias ( [email protected])Senior Technical ConsultantNovell Inc ( Andean Region)

© October 7, 2004 Novell Inc.2

AgendaAgenda

Motivación y Contexto

Implementación J2EE: Jboss AS

1

3

4

Agenda

Conclusiones5

Nivel de madurez de JBoss

Q&A6

Características de un aplicación empresarial2

© October 7, 2004 Novell Inc.3

Sistema Operacional

Office Suite

Web Browser

GroupwareRuntime MS

Viewers

Escritorio de trabajo

Aplicaciones de Negocio, Clientes a aplicaciones

Runtime JAVA

Abstracción de realidades

Categorización del mundo del desktop

¿ Para cuales capas de funcionalidaddebería pagar por un producto comercial ?

© October 7, 2004 Novell Inc.4

Sistema Operacional ( Enterprise Release)

Base dedatos

( RDBMS)

Servidor de Aplicaciones

J2EEDirectorio

de Servicios

Runtime MS

Runtimes

Consolas de operación y administración

Aplicaciones de negocio, CRM, ERP

Runtime JAVA

Abstracción de realidades

Categorización del mundo del datacenter

¿ Para cuales capas de funcionalidaddebería pagar por un producto comercial ?

© October 7, 2004 Novell Inc.5

AgendaAgenda

Motivación

Implementación J2EE: Jboss AS

1

3

4

Agenda

Conclusiones5

Nivel de madurez de JBoss

Q&A6

Características de un aplicación empresarial2

© October 7, 2004 Novell Inc.6

Prototipo de Aplicación Empresarial

Cliente

SAN

AppServer

Lógica Negocio (componentes)

Datos

Lógica Presentación

Datos

WebServer

DBServer

CRM ( Siebel )

ERP ( SAP)

AppServer

Lógica Negocio (componentes)

Empresas Externas

Cliente

HTTP, SOAP, WML, XML

RMI, CORBA, SOAP

Balanceo de CargaWebservices

LDAP ServerAutenticación Autorización

Integración

Replicacion & Clustering

Transacciones Distribuidas

¿ Escalable a cuántos usuarios ? ¿ Tiempos de respuesta bajos ? ¿ Robustez ?

© October 7, 2004 Novell Inc.7

Abstracción de sistemas vía webservices

Composición de procesos de negocio

Sistemas y plataformas consumiendo procesos de negocio

Aplicaciones Empresariales bajo un enfoque SOA (Services Oriented Architecture)

© October 7, 2004 Novell Inc.8

Aplicaciones Empresariales bajo un enfoque SOA

Procesos de negocio Integrados

Soluciones de negocio

Servicios estandarizados

Datos Aplicaciones

© October 7, 2004 Novell Inc.9

Evolución de paradigmas de para aplicaciones empresariales

Fuente: Gartner Group

Objetos

Componentes

Servicios

Servicios WebSOAP

Protocolo de comunicación:

Alcance

Ambientes empresarialesde gran escala

Integración B2B

MOM

ORB

Pequeñas empresasAplicaciones integradas

Aplicaciones distribuidas

Aplicación

Fuerte DébilAcoplamiento

Paradigma de desarrollo: OOD CBD SODA SODA

© October 7, 2004 Novell Inc.10

Arquitecturas de software para aplicaciones corporativas

Manejo Transaccional Seguridad Clustering

Integración Replicación Persistencia

Plataforma de ComponentesDistribuidos

Capa

Pr

esen

taci

ón

Capa

Se

rvic

ios

Del

neg

ocio

Capa

Dat

os y

Pe

rsis

tenc

ia

Capa

In

tegr

ació

n

AplicaciónCorporativaMulti-capas

Servidor de Aplicaciones

© October 7, 2004 Novell Inc.11

Caracteristicas externas de una aplicación empresarial

Guías de arquitectura, patrones de diseño

Herramientas de

productividad

Administración y depuración remota

Servicios Profesionales y soporte

Entrenamiento

Software

Aplicación Empresarial

© October 7, 2004 Novell Inc.12

AgendaAgenda

Motivación

Implementación J2EE: Jboss AS

1

3

4

Agenda

Conclusiones5

Nivel de madurez de JBoss

Q&A6

Características de una aplicación empresarial2

Datos Generales JBoss

© October 7, 2004 Novell Inc.14

¿ Qué es JBoss AS?

• Implementación J2EE Open Source

• Basado en modelo de licencia GLP

• Estructurado alrededor de un kernel JMX

• Certificado para la especificación J2EE 1.4

JBoss SX

Java Management Extesions (JMX)

JBoss CX WebServer Deployment

EJB Container JBoss TX

JBoss AppServer

JBoss HA Platform JBoss Portal

JBoss SOA Impl.

© October 7, 2004 Novell Inc.15

¿ Qué es Jboss Inc. ?

• JBoss Inc. federa proyectos open source bajo el modelo “Professional Open Source ™ “

• JBoss Inc. emplea los desarrollares líderes de los siguientes proyectos. JBoss Application Server: J2EE based Tomcat Hibernate JBossCache/JGroups: Nukes, Workflow, rules, connectors

• JBoss inc, provee Soporte 24/7 Programa de indemnización. Certificaciones – J2EE, JASP ( JBoss Authorized Services Partner )

© October 7, 2004 Novell Inc.16

JBoss en números

• Una comunidad en crecimiento 40,000 kits de documentación vendidos. 500 contribuyentes de codigo a través del tiempo

• Un estandar en el mercado : #1 en uso de desarrollos J2EE Más de 4 Millones de downloads en los últimos dos años.

• Un estandar en el mercado: #1 en OEM

• Un estandar para los integradores de sistemas: #2 en crecimiento. ( CRN Survey)

• Un estandar en el mercado: # 3 en implantaciones en producción BZResearch survey.

• 13% in 2002

• 27% in 2003,

• Crecimiento más representativo de todas las implementaciones J2EE. JDJ survey: 70% de los usuarios lo emplean en deployments rápidos

© October 7, 2004 Novell Inc.17

Proveer una solución robusta y madura de J2EE

Evolución Corporativa de JBoss

Small ConsultancyJBoss Group

JBoss inc Professional Open Source

TrainingDocumentation

Consulting

Developer Support

Production Support

9/039/021/026/0110/00

Dev

elop

er

Tac

tical

E

nter

pris

e

New Projects

1/04

© October 7, 2004 Novell Inc.18

Implantaciones exitosas de JBoss

Arquitectura JBoss

© October 7, 2004 Novell Inc.20

Evolución Arquitéctonica de JBoss

EJB

Application Server

Microkernel, JMX, J2EE API’s

Clustering, Tomcat, Web Services

Aspects, J2EE 1.4

4.03.23.02.01.0

Dev

elop

er

Tac

tical

E

nter

pris

e

• O/R Mapping• Portal• Byte Code Manipulation• …

JBoss Version

© October 7, 2004 Novell Inc.21

Contenedor EJB en JBoss

BeanLock Cache CMP

EngineTr

ansa

ctio

n

Lock

Conn

ectio

n

Sync

hron

izatio

n

Secu

rity

Cach

e

Microkernel

Data Source TransactionManager

Sync

hron

izatio

n

Repl

icatio

nCl

uste

ring

Sync

hron

izatio

nLo

ad b

alanc

ing

Sync

hron

izatio

nLo

ad b

alanc

ing

SOA

Conn

ecto

rs

EJB-Container

SOAP

RMI/JRMP

RMI/IIOP

© October 7, 2004 Novell Inc.22

Modelo de Invocación x Container

Client JVM

JMX Microkernel

Server JVM

EJB Container MBean

011101010101

RemoteInvoker

Typed Interface

Client Proxy

RemoteInvoker

EJB Container MBean

Service MBean

Invocation

Port 1234

Port 4321Client

Cadena de interceptores

Typed Interface

Cadena de interceptores

© October 7, 2004 Novell Inc.23

Projectos manejados x JBoss

• JBoss AS : Implementación J2EE, EJB, JMX, JMS, JCA, JAAS

• Hibernate : Framwork para resolver la impedancia O-R

• Tomcat : JSP/Servlet/Web server.

• JBossIDE : Eclipse integration, desarrollo dirigo por tag libraries, debugging local y remoto.

• JBossCache : Manejo distribuido de imagenes de datos ( Grid Computing).

• JGroups : Implementación IP Multicast confiable, base para laimplementación de cluster.

• Nukes : Implementación de portal y CMS ( Manejador de Contenido)

• JBossAOP : Aspect-Oriented Programming en JBoss 4.0.

• Javassist Librería de manipulación de bytecode Simple.

© October 7, 2004 Novell Inc.24

Capa de Aspectos

Sesiones Transaccionales

ACID

Acceso Seguro

Monitor en tiempo real

Configuracion cache

Monitor de tiempo y fecha

Cache de datos Persistentes

Cluster de Webservices

ClusteringRemoteInvokers ACID Monitoring PersistenceTransaction CacheSecurity

JBoss Microkernel (JMX)

JBoss AOP

© October 7, 2004 Novell Inc.25

JBoss AOP: Configuración

/** * * @@transaction(“RequiresNew”) */ public void somePOJOmethod() { … }

Explicito a través de Xdoclets

<class-metadata group=“transaction” class=“com.acme.POJO”> <method name=“get.*”> <trans-attribute>RequiresNew</transattribute> </method> </class-metadata> Implicito a través de XML

© October 7, 2004 Novell Inc.26

JBoss AOP: Aspectos a la carta

• La implementación de un middleware orientado por aspectos permite: Desarrollos fluidos e iteractivos Marca una clara separación entre la arquitectura del sistema y el

desarrollador de la aplicación.

• Las decisiones de arquitecturas pueden postergarse hasta etapas avanzadas del desarrollo ( Principio básico de Arquitectura de Software “Software Architecture Bootcap Book” )

• JBoss 4 es un verdadero middleware orientado a aspectos.

© October 7, 2004 Novell Inc.27

Jboss.net: WebServices• Especifica como pueden ser publicados los objetos como webservices:

Stateless Session Beans Web components POJO como servlet ( Plaint Old Java Object)

© October 7, 2004 Novell Inc.28

JBoss Hibernate

“Hibernate IS EJB 3.0 CMP”• Hibernate es el actual motor de persistencia de Jboss 4.x

• El mecanismo de cache de Hibernate esta integrado con la plataforma de cache de Jboss: JbossCache.

• Mapeo flexible e intuitivo

• Soporte para modelo de datos estructurados alrededor de objetos de granularidad fina.

• Potencia consultas compleadas.• Dual-Layer Caching Architecture (HDLCA)

• Persistencia transparente.

• Persistencia transitiva.

© October 7, 2004 Novell Inc.29

JBoss IDE

• JBoss IDE esta basado en Eclipse. Serie de plugins para Eclipse

• Permite el monitoreo y depuración de las instancias de Jboss.

• Permite controlar el ciclo de vida del servidor de aplicaciones ( Start, Stop, Deploy, undeploy) y assembly de los componentes web, negocio e integración.

• Soporte amigable y sofisticado con XDoclet Soporte para generación y completación. Soporte para AOP (completion and generation).

© October 7, 2004 Novell Inc.30

Jboss Cache

CACHE

EJB

WEB

CACHE

EJB

WEB

• Qué es JBossCache? Un mecanismo de caches transaccionales replicados para

Jboss. Considera componentes con o sin AOP.

• Provee funcionalidades de cache alrededor de los recursos frecuentemente más usados. Stateful Session Beans, HTTPSession Caches son usados a cualquier nivel en cualquier capa de la

arquitectura.

• Todos los accesos son a través del cache. Write-through (lazy or eager) Reads only access (Incrementa el desempeño por los hits!!) Items no residentes en el cache son cargados. (e.g. from

database) Items de bajo movimiento son bajandos del cache de

acuerdo a diferentes politicas (LRU, MRU)

© October 7, 2004 Novell Inc.31

JBoss Nukes ( Solución de Portal)

Identidades

ContainerGroupUser

Attribute

Reglas y Categorización

Manejador de ContenidoSearch

Personalización

Integración de aplicaciones

Soporte multi-idioma,

multidispositivo

AdministratorEnd-UserDeveloper

© October 7, 2004 Novell Inc.32

JBoss Clustering

Servidor Aplicaciones

Nodo B

Servidor Aplicaciones

Cluster

Nodo A

AplicaciónCliente

Jboss AppServer

Jboss Appserver

MecanismoBalanceo de carga

Esquema Round-Robin

1 3 5

2

46

Replicación de componentes & estado

Alta Disponibilidad - Replicación de Servicios

- Balanceo de carga.

© October 7, 2004 Novell Inc.33

AgendaAgenda

Motivación

Implementación J2EE: Jboss AS

1

3

4

Agenda

Conclusiones5

Nivel de madurez de JBoss

Q&A6

Características de un aplicación empresarial2

© October 7, 2004 Novell Inc.34

Valoración de Madurez de Producto

OSMM ( Open Source Madurity Model)• Metodología independiente de producto para valorar la madurez

de una solución open-source.• ¿ Está preparado el producto para una ambiente empresarial ?

Documentación

Integración Soporte

Servicios Profesionales

Entrenamiento

Software

SOLUCION OPEN-SOURCE

© October 7, 2004 Novell Inc.35

Valoración de Madurez de Producto

Documentación

Integración Soporte

Servicios Profesionales

Entrenamiento

Software

SOLUCION OPEN-SOURCE

¿ Estos indicadores los tenemos en cuenta a la hora de comprar un producto comercial ?

¿ Nuestros actuales proveedores de tecnología nos garantizan cada una de estas dimensiones de calidad y madurez de producto ?

© October 7, 2004 Novell Inc.36

Valoración de Madurez de Producto

Documentación

Integración Soporte

Servicios Profesionales

Entrenamiento

Software

JBOSS AS

© October 7, 2004 Novell Inc.37

Valoración de Madurez de JBossSoftware

Criterios de evaluación

• Funcionalidad: Certificado para J2EE 1.4, Paso la suite de pruebas de compatibilidad de SUN, pionero en kerneles JMX,AOP.• Historia: Disponible hace mas de 4 años. Más de 5 millones de downloads, Servidor de aplicaciones por excelencia de los desarrolladores. Miles de implantaciones a nivel mundial • Calidad: 1700 pruebas de compatibilidad despues de cada compilación + las 23000 pruebas del Sun CTS. 9 patches por mes.• Equipo de desarrollo: 91 miembros, Ingenieros activos 12, una de las comunidades mas activas. Compromiso de proyectos con universidades a nivel mundial ( Oxford, Cambridge, Stanford, Cornell, UCLA, etc )

Puntaje: 8/10- Aunsencia de un IDE integrado. ( Falencia ante productos comerciales)- Solución:Eclipse + Jboss Plug-in

© October 7, 2004 Novell Inc.38

Valoración de Madurez de JBoss

Opciones de soporte técnico para soluciones open-source

• Comunidad: JBoss posee una activa comunidad donde se publican preguntas y respuestas. Gran parte de las preguntas las responden empleados de Jboss ( Compromiso y calidad de las respuestas)• Comercial: Soporte pagado en dos modalidades: Desarrollo ( Orientado a los desarrollores que escriben la aplicación ) y Producción ( Orientado apoyar al staff de administración de la aplicación y datacenter)• On-site: Ingenieros de Jboss apoyando proyectos al interior de la empresa

Puntaje: 8/10- Algunas preguntas colocadas por los jueces en el foro de soporte de Jboss no fueron respondidas en el tiempo esperado o no se entrego un solucion directa al problema ( Efectividad) - Pregunta: ¿ Sí le aplicaramos la misma evaluación a las respuesta entregadas por las unidades de soporte de varias soluciones comerciales cuanto sacarían ?

Soporte

© October 7, 2004 Novell Inc.39

Valoración de Madurez de JBoss

Las opciones u ofertas de documentación para soluciones open-source

• Webposting informales publicados por usuarios de la comunidad o agenos a la misma• Tutoriales y referencias•Jboss Team le ha dado una prioridad alta a la generación de documentación.•Han creado un proyecto de contribucción de documentación.•La documentación técnica escrita por Jboss se vende a US30.•Hay publicaciones formales en SAMs publishing.

Puntaje: 6/10- La documentación libre entregada por Jboss en su website es considerada poco funcional.- No hay muchas publicaciones formales.

Documentación

© October 7, 2004 Novell Inc.40

Valoración de Madurez de JBoss

Tipos de entrenamiento para soluciones open-source • Posting informales de ejemplos “how-to” escritos por usuarios finales.• Tutoriales en linea creado por los desarrolladores.• Tutoriales publicados a nivel comercial.• Entrenamiento tipo “class-room” entregado por equipos de desarrollo OpenSource.• Entrenamiento tipo “class-room” entregado por entidades comerciales.

JBoss ofrece todos los cinco tipos de entrenamiento.

Puntaje: 8/10- Ausencia de tutoriales publicados a nivel comercial.

Entrenamiento

© October 7, 2004 Novell Inc.41

Valoración de Madurez de JBoss

¿ Qué tan fácil se integra esta solución con otros productos?

• Tecnologías J2EE: JMS, RMI, CORBA, JCA ( Conectores CRM, ERP, etc)• Tecnologías web: HTTP,SOAP• Arquitectura orientada a servicios: Webservices, SOAP, JAX-RPC.• Apoyo de fabricantes de soluciones CRM, ERP, etc.• Kernel basado en JMX ( CORBA, SNMP, HTTP, RMI, etc)

Puntaje: 10/10“Es considerado el servidor de aplicaciones con más facilidades de integración” ( Fuente: Theserverside.com )

Integración

© October 7, 2004 Novell Inc.42

Valoración de Madurez de JBoss

Opciones de soporte técnico para soluciones open-source:• E-mail, Onsite, Telefono, Soporte• Desarrollo de relaciones con firmas de consultoría, integradores, empresas fabricantes• Actualmente JBoss tiene relaciones con: Novell, HP, CA.• Toda la red de soporte de Novell apoya Jboss• Grupo de consultoria de Novell ( Anteriormente Cambridge Technology Partners)• Centros autorizados de servicios ( Platinum, Gold, Silver )

Puntaje: 8/10- Falta desarrollo de canales y relaciones con empresas de consultoria

Servicios Profesionales

© October 7, 2004 Novell Inc.43

Valoración de Madurez de JBoss

Documentación 6/10

Integración10/10

Soporte ( 8/10)

Servicios Profesionales ( 8/10 )

Entrenamiento 8 /10

Software = 8/10

Valoración de madurezJBOSS > = 80%

© October 7, 2004 Novell Inc.44

Valoración de Madurez de JBossDocumentación

IntegraciónSoporte

Servicios Profesionales

Entrenamiento Software

¿ Sí realizaramos este ejercicio a cada una de las implementaciones J2EE

comerciales, cuantas de ellas estarían en un verdadero estado de madurez ?

© October 7, 2004 Novell Inc.45

AgendaAgenda

Motivación

Implementación J2EE: Jboss AS

1

3

4

Agenda

Conclusiones5

Nivel de madurez de JBoss

Q&A6

Características de un aplicación empresarial2

© October 7, 2004 Novell Inc.46

Conclusiones

• JBoss AS es una sería, robusta y madura alternativa para construir aplicaciones empresariales de gran escala, caracterizadas por altas cargas de trabajo, acceso distribuidos de información, bajos tiempos de respuesta, entre otros requerimientos no funcionales.

• El modelo arquitectónico estructura alrededor de AOP y JMX hace de JBoss el pionero en la siguiente generación de plataformas J2EE para desplegar aplicaciones empresariales de gran escala.

• La arquitectura modular y flexible de JBoss AS permite que este pueda ser potenciado para implementar solidas soluciones bajo el enfoque orientado a servicios SOA.

© October 7, 2004 Novell Inc.47

AgendaAgenda

Motivación

Implementación J2EE: Jboss AS

1

3

4

Agenda

Conclusiones5

Nivel de madurez de JBoss

Q&A6

Características de un aplicación empresarial2

© October 7, 2004 Novell Inc.48

Preguntas & Respuestas