1 Nuxeo EP 5 Qué es ECM
2 ¿Qué es ECM? ● Producción ● Logística ● Distribución ● Recursos Humanos ● Contabilidad ● Gestión de activos ●... 1990-2000... ERP
3 ¿Qué es ECM? ● Documentos (Registros, email, medios) ● Motor de búsqueda ● Archivado ● Colaboración ● Publicación web ● Control de acceso ● Cumplimiento con estándares/legalidad ●... 2000- 20... ECM
4 ¿Qué es ECM? ● Tecnologías usadas para – Capturar – Crear – Gestionar – Almacenar – Preservar – Reusar – Entregar en una empresa
5 ¿Qué es ECM? www.iloveecm.com
6 Nuxeo EP 5 Arquitectura
7 Nuxeo Enterprise Platform ● Una plataforma ECM – Servicios y componentes genéricos con un modelo de extensión y customización. ● Un framework para construir aplicaciones ECM – Clientes Ligeros (Web) – Clientes Ricos (RCP) – Pila de Servicios ECM ● Aplicaciones ECM paquetizadas – Nuxeo EP 5 WebApp – Nuxeo EP 5 + Apogee
8 Nuxeo Enterprise Platform Cliente web Cliente Flex Cliente RCP Audit Workflow Nuxeo Core Relations Transformation s Search/Index Directories Import/Export... Rest/WS API WebApp Presentació n Servici o Repositori o Nuxeo Runtime. Modelo de componentes
9 Nuxeo EP 5 – Capas principales ● Runtime layer: Infraestructura OSGi – Provee el modelo de extensión y componentes – Provee servicios de desplegado ● Core layer: Repositorio de documentos embebido. – Servicios extensibles orientados a almacenamiento ● Service layer: Conjunto extensible de servicios ECM. – Conjunto de servicios genéricos y configurables ● Client layer: Bloques de la interfaz gráfica – Acciones añadibles y gestión de vistas – Basadas en Web o en Clientes ricos
10 Nuxeo EP 5 – Claves Arquitecturales ● Transparencia en el despliegue – Plataforma OSGi (Eclipse RCP) o Plataforma JEE(JBoss AS) – Los componentes pueden ser desplegados en la parte del cliente o en la de servidor ● Extensibilidad – Los componentes de Nuxeo proveen de un Sistema de Puntos de Extensión – Los componentes pueden ser configurados y extendidos ● Via XML ● Via clases Java
11 Nuxeo EP 5 – Claves Arquitecturales ● Flexibilidad – Elegir los componentes de acuerdo a las necesidades del negocio ● Basado en estándares – JEE: EJB3, JSF, JMS, JTA – Java: OSGi, JCR – XML: XSD (Definición de los tipos de documento), RDF (relaciones) – Software Libre: Lucene, Jena RDF, JackRabbit, Seam, Restlets – Web: http y webdav – Servicios Web: JAX-RPC, JAX-WS, XML-RPC, REST
12 Nuxeo EP 5 – Claves Arquitecturales ● APIs para todos los gustos: – API POJO para servicios locales – EJB3 para servicios remotos – API de Servicios Web (JAX-WS y WS-Addressing – REST API – WebDAV API – JS API para Ajax ● Sistema de empaquetado y compilación integrado – Maven 2.0 para compilar, testear y empaquetar – Nuxeo deployer para el despliegue de los componentes
13 Nuxeo EP 5 – Claves Arquitecturales Open Source
14 Nuxeo EP 5 Core Framework
15 Nuxeo EP 5 – Extensibilidad Modelo de Seguridad Política de Ciclos de vida Versionado Modelo de documentos Sistema de Eventos Modelo de almacenamiento XM L Co de XS D
16 Nuxeo EP 5 – Nuxeo Core Oferta de puntos de extensión
17 Nuxeo EP 5 – Nuxeo Core Contribución a través de puntos de extensión ...
18 Nuxeo EP 5 – Nuxeo Core ● Servicio de Repositorio de Documentos – Diseñado para ser altamente pluggable (JCR, SQL) – Backend de almacenamiento independiente – Standalone o integrado con Nuxeo 5 EP ● Nuxeo EP puede usar varios repositorios al mismo tiempo
19 Nuxeo EP 5 – Claves ● Declaración de esquemas y tipos de documentos basada en XSD – Soporte para tipos complejos – Soporte para la herencia de esquemas y tipos de documento ● Modelo de seguridad pluggable ● Versionado pluggable – Política de versionado – Almacenamiento del versionado
20 Nuxeo EP 5 – Claves ● Backend de almacenamiento pluggable – JCR: Sistema de Ficheros o backend JDBC – En desarrollo otros backend no basados en JCR (almacenamiento SQL nativo) ● Gestión del ciclo de vida configurable ● Tubería Import/Export pluggable ● Carga perezosa de documentos – Pre-fetching configurable
21 Nuxeo EP 5 – Claves ● Soporte a las consultas – Lenguaje de consultas NXQL (ex: querymodel-contrib.xml) – Conector BIRT ODA ● API Flexible – API POJO – API EJB3 – WS: JAX-RPC – WebDAV API
22 Nuxeo EP 5 – Nuxeo Core ● Esquemas ● Tipos de documento ● Ciclo de vida ● Repositorio ● Seguridad
23 Nuxeo EP 5 – Nuxeo Core Esquemas...
24 Nuxeo EP 5 – Nuxeo Core
25 Nuxeo EP 5 – Nuxeo Core Esquemas: el equivalente XML Sylar 38 1962-06-11
26 Nuxeo EP 5 – Nuxeo Core Tipos de documento
27 Nuxeo EP 5 – Nuxeo Core Ciclo de vida approve obsolete...
28 Nuxeo EP 5 – Nuxeo Core Ciclo de vida... Approve the document Obsolete the document
29 Nuxeo EP 5 Pila de servicios ECM
30 Nuxeo EP 5 – Claves ● Pila de Servicios ECM de Nuxeo EP 5 – Provee servicios genéricos de ECM – Los servicios están pobremente acoplados y pueden ser utilizados independientemente ● La mayoría de los servicios proveen 2 tipos de acceso – API Local: POJO – API Remota: EJB3 – Localización transparente del servicio a través de las Nuxeo API: ● Framework.getService() ● La pila de servicios puede estar dividida en varias JVMs
31 Nuxeo EP 5 – Ejemplo de Servicios Web ● WorkflowService – Motor de BPM (jBPM por defecto) y Abstract Workflow ● RelationService – Motor de Abstract Relation (RDF/Jena) ● SearchService – Motor de Consultas (NXQL) e Indexación (Compass/Lucene) ● DirectoryService – Motor de registros con soporte SQL/LDAP ● MimetypeService – Servicio de detección de Mimetypes
32 Nuxeo EP 5 – Ejemplo de Servicios Web ● EventService – API de mensajería sobre JMS ● FileManagerService – API de gestión de archivos ● LayoutService – Servicio para gestionar los layouts asociados a tipos de documentos ● ActionService – Gestiona acciones y condiciones ● AuthenticationService – Gestiona la autenticación sobre JAAS
33 Nuxeo EP 5 Clientes ECM
34 Cliente Web Estándar ● Acceso a toda la plataforma a través del navegador ● Integra las últimas tecnologías web JEE – JSF 1.2 y Facelets – Seam (enlaza JSF y EJB3) – Ajax4JSF ● Integra un servicio de themes ● Pluggable – Contribuciones de configuración – Contribuciones para vistas – Contribuciones para acciones – Contribuciones para themes –...
35 Interfaz Web – Claves ● Totalmente pluggable – Cada componente contribuye a alguna parte de la UI – Cada servicio debe incorporar su parte web ● Integración Seam – Los servicios de Nuxeo son accedidos de forma transparente como objetos Seam ● Infrastructura incorporada – Motor de Formularios / Layout – Consultas – Componentes NX JSF ● JSF mejorado – Navegación REST
36 Interfaz Web – Contribuciones a las vistas NXWorkflo w NXRelation s NXAudi t
37 Apogée – Cliente Rico ● Utilizado principalmente para alta carga de contribuciones al contenido y tratamiento de medios – Edición de texto estructurada – Gestión de imágenes – Necesidades de alta productividad ● Sistema de plugins de Eclipse (basado en OSGi) – El mismo modelo que el cliente web – Algunos servicios comunes con el cliente web – Contribuciones para la configuración – Contribuciones para portlets – Contribuciones para acciones –...
38 Nuxeo Shell – Cliente de línea de comandos ● Orientado a usuarios técnicos – Administración técnica – Importación masiva de documentos – Testeo ● Sistema de plugins para contribuir nuevos comandos
39 Cliente rico embebido - eRCP ● Utilización de Proyecto Eclipse: eRCP – eSWT – eworkbench – eJFaces ● Comunicación via Restlets ● Extensibilidad – Sistema de plugins de Eclipse (basado en OSGi) ● Compatible con dispositivos CDC
40 Cliente Flash ● Utilizado para algunos proyectos específicos – Características simples – Look&Feel muy específico ● Utiliza la REST API de Nuxeo para comunicar con el servidor
41 Cliente WCM ● Nuevo WebEngine orientado a WCM – Wiki, Blogs,... – Gestión de contenidos para sitios webs ● Basado en tecnologías conocidas por los webmasters – Freemaker – Scripts ● Integrado con el modelo de componentes de Nuxeo Runtime – Contribuciones de plantillas – Contribuciones de scripts –...
42 Clientes de integración con el escritorio ● Soporte de Drag&drop – IE(.NET)/FF(XPI) plugin – Acceso al servidor a través de Restlet y Seam ● Integración del editor (liveedit v2) – Protocolo nxedit ● Win32: manejador.net ● Multiplataforma: plugin de Firefox – El proceso de lanzamiento del editor depende del mime – Objetivos principales ● OpenOffice a través de Java/UNO ● MSOffice a través de.NET COM Interop + MSO plugin – Comunicación con el servidor a través de JAX-WS/Restlets
43 Nuxeo EP 5 APIs
44 ● Java API – Disponible en todos los componentes (Servicios y Núcleo) ● Remote Java API (EJB3) – Disponible en la mayoría de los componentes ● WS JAX-RPC – API de lectura para la mayoría de los datos ● WS JAX-WS – Infraestructura preparada (WS-Addressing) ● WebDAV – Acceso pluggable al repositorio de contenido
45 APIs ● XML-RPC – Infraestructura pluggable ● REST API – API fácilmente pluggable – La API actual ya provee las características básicas ● Portlet JSR 168 – Portlets simples – Portlets API ● JavaScript API via Seam Remoting
46 Nuxeo EP 5 Modelo de Puntos de Extensión
47 APIs ● XML-RPC – Infraestructura pluggable ● REST API – API fácilmente pluggable – La API actual ya provee las características básicas ● Portlet JSR 168 – Portlets simples – Portlets API ● JavaScript API via Seam Remoting
48 Yerbabuena Software www.yerbabuena.es [email protected] T. 902 995 246