SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
High-Level Services
Athento Platform v.1.3.3
Víctor Sánchez ~ R&D
Yerbabuena Software

Yerbabuena Software ~ 2013
¿Qué son?

Los high-level services de Athento son
servicios de la plataforma capaces de ser
accedidos mediante un conector de
entrada.
✔ Se definen en la capa de HLS que conecta
la capa de Core Service con los conectores
de entrada mediante el servicio de
interoperabilidad.
✔

Yerbabuena Software ~ 2013
Document Manager
✔ Workflow: JBPM5 ~ Drools
✔ Reporting
✔ Monitoring
✔ Export and import
✔ Sign
✔ Popmail
✔ Batch
✔ Notifier
✔ ENI
✔ Audit
✔ Search
✔ Publication ...
✔

●

Yerbabuena Software ~ 2013

Ejemplos
Servicio: ¿Cómo crear uno?
Para crear un servicio, siempre un nuevo
componente.
✔

<implementation class="org.yerbabuena.athento.MyServiceImplementation" />
<service>
<provide interface="org.yerbabuena.athento.MyServiceInterface" />
</service>
<extension-point name="anExtensionPoint">
<object class="org.yerbabuena.athento.YourObjectDescriptor" />
</extension-point>

Yerbabuena Software ~ 2013
¿Cómo acceder al servicio?
✔

Sólo necesitamos llamar al método:

Framework.getService(MyServiceInterface.class)

Si el servicio esta correctamente definido, se
devolverá una nueva instancia.
✔ No es necesario hacer ningún casting,
obtendremos el objeto MyServiceInterface.
✔

Yerbabuena Software ~ 2013
Servicios y puntos de extensión
La implementación de nuestro componente debe
extender de la clase DefaultComponent e
implementar la interfaz indicada en el XML definido.
✔ DefaultComponent provee de:
✔ Un método registerContribution(...)
✔ Un método activate(...)
✔

Yerbabuena Software ~ 2013
Puntos de extensión

Sabemos que para contribuir siempre es
necesario un EP.
✔ Cada contribución será mapeada con
descriptores de objeto.
✔ El mapeo será realizado con XMap.
✔

✔

Herramienta para mapear XML a objeto Java. (by Nuxeo)

El método registerContribution(...) será
llamado con el descriptor del punto de extensión.
✔

Yerbabuena Software ~ 2013
✔

Archivo XML

<persona nombre=”Juan”
apellidos=”Español”>
<edad>31</edad>
</persona>

Cómo mapea XMap
✔

Clase Java

@XObject("persona")
public class PersonaDescriptor {
@XNode("@nombre")
protected String nombre;
@XNode("@apellidos")
private String apellidos;
@XNode("edad")
private int edad;
// getters and setters
...
}

Yerbabuena Software ~ 2013
Registrando contribuciones
Cada vez que OSGi Runtime encuentra una
contribución de un EP, llama al método
registerContribution del servicio que lo
contiene.
✔ En el método, obtenemos el parámetro que será el
objeto java descriptor del XML que describe el EP.
✔ Podemos gestionarlo a nuestro gusto.
✔

Yerbabuena Software ~ 2013
Haciéndolo High-Level Service

Para hacer nuestro servicio high-level service de
Athento Manager debemos anotar nuestra interfaz de
servicio con la anotación @Service.
✔

Como hablamos al principio podemos restringir el
acceso a los servicios de Athento Manager a llamadas
en modo GET y/o POST. Para ello, usaremos las
anotaciones @Get ó @Post a nivel de método de la
implementación del servicio.
✔

Yerbabuena Software ~ 2013
@Service

High-Level Service: ejemplo

public interface DocumentManager {
PlatformFolder createFolder(String name, String
destinyPath) throws DocumentException;
DocumentRef copyDocument(String docId, String
destinyPath) throws DocumentException;
// More methods...
}

Yerbabuena Software ~ 2013
High-Level Service: ejemplo (2)

@AllowedAll

@AuthorizationRequired
public class DocumentManagerImpl extends
AthentoHighLevelService
implements DocumentManager {
@Get
PlatformFolder createFolder(String name, String
destinyPath) throws DocumentException {...}
@Post
DocumentRef copyDocument(String docId, String
destinyPath) throws DocumentException {..}
// More methods...
Yerbabuena Software ~ 2013
}
Anotando parámetros
Cuando queremos asociar el nombre a un parámetro
de un método de un servicio para poder asociarlo en
una llamada a conector de entrada usaremos la
anotación @ParamName.
✔

@Get
@Post
PlatformFolder createFolder(
@ParamName(“nombre”) String name,
@ParamName(“destino”) String destinyPath)
throws DocumentException;

Yerbabuena Software ~ 2013
Seguridad y acceso
Es posible aplicar control de acceso mediante
conectores a los high-level services de Athento
Manager:
✔ Podemos permitir acceso.
✔

<services allowedAll="true">
<allowed>org.yerbabuena.athento.manager.HighLevelServie</allowed>
</services>

✔

Podemos denegar acceso.

<services allowedAll="false">
<denied>org.yerbabuena.athento.manager.HighLevelServie</denied>
</services>

Yerbabuena Software ~ 2013
Representaciones
Las representaciones son utilizadas para definir
elementos que puedan usarse como elemento
interoperable en un HLS.
✔ Una representación podrá visualizarse en XML,
JSON, JavaObject, etc. (o cualquier mimetype definid
por el usuario).
✔ Toda representación debe implementar la interfaz
Representable, para visualizarse como elemento
en una operación resultado, o bien,
RepresentationAdapter, para manejarse como
argumento a la entrada de una funcionalidad de un
HLS.
✔

Yerbabuena Software ~ 2013
Representaciones (2)
✔

Ejemplos.

✔

Documento

public class PlatformDocument extends PlatformObject implements SingleDocument,
Representable, Serializable
@XmlAccessorType(value = XmlAccessType.PROPERTY)
@XmlType(name = "documentRepresentation")
@XmlRootElement(name = "document")
public class DocumentRepresentation extends CmisObjectRepresentation implements
RepresentationAdapter, Serializable {

Yerbabuena Software ~ 2013
Ejercicio

Creando un High-level service.

Yerbabuena Software ~ 2013
Athento Platform

¡Gracias!

Yerbabuena Software ~ 2013

Más contenido relacionado

Similar a Crear un HLS para gestionar documentos en Athento

Terminal server 2008 iberico final
Terminal server 2008 iberico finalTerminal server 2008 iberico final
Terminal server 2008 iberico finalCarlos Iberico
 
Terminal server&services -exposición
Terminal server&services -exposiciónTerminal server&services -exposición
Terminal server&services -exposiciónAlberto Pretto
 
Terminal Server
Terminal ServerTerminal Server
Terminal Servercesartg65
 
Orquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace NetflixOrquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace NetflixParadigma Digital
 
Terminal services
Terminal servicesTerminal services
Terminal servicesJuanNoa
 
Core Services
Core ServicesCore Services
Core ServicesAthento
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjectsmamcx
 
Hyperv Basico Integration Services
Hyperv Basico   Integration ServicesHyperv Basico   Integration Services
Hyperv Basico Integration ServicesITSanchez
 
Building Ria Applications With Silverlight 2
Building Ria Applications With Silverlight 2Building Ria Applications With Silverlight 2
Building Ria Applications With Silverlight 2Tonymx
 
Programacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorProgramacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorAlejandro Hernandez
 
JUG DAY FLEX / JEE
JUG DAY FLEX / JEEJUG DAY FLEX / JEE
JUG DAY FLEX / JEEjcoronel
 

Similar a Crear un HLS para gestionar documentos en Athento (20)

Terminal Server 2008 R2 por Fco. Javier Acero Lucena
Terminal Server 2008 R2  por Fco. Javier Acero LucenaTerminal Server 2008 R2  por Fco. Javier Acero Lucena
Terminal Server 2008 R2 por Fco. Javier Acero Lucena
 
Terminal server 2008 iberico final
Terminal server 2008 iberico finalTerminal server 2008 iberico final
Terminal server 2008 iberico final
 
Terminal server&services -exposición
Terminal server&services -exposiciónTerminal server&services -exposición
Terminal server&services -exposición
 
Terminal Server
Terminal ServerTerminal Server
Terminal Server
 
Presentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2EPresentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2E
 
terminal server
terminal serverterminal server
terminal server
 
Terminal services
Terminal servicesTerminal services
Terminal services
 
Terminal Services_Onofre
Terminal Services_OnofreTerminal Services_Onofre
Terminal Services_Onofre
 
Orquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace NetflixOrquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace Netflix
 
Terminal services
Terminal servicesTerminal services
Terminal services
 
Servicios web
Servicios webServicios web
Servicios web
 
Core Services
Core ServicesCore Services
Core Services
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjects
 
Hyperv Basico Integration Services
Hyperv Basico   Integration ServicesHyperv Basico   Integration Services
Hyperv Basico Integration Services
 
Building Ria Applications With Silverlight 2
Building Ria Applications With Silverlight 2Building Ria Applications With Silverlight 2
Building Ria Applications With Silverlight 2
 
Programacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorProgramacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidor
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
TERNIMAL SERVER
TERNIMAL SERVERTERNIMAL SERVER
TERNIMAL SERVER
 
Servicios web java, php, perl, google
Servicios web java, php, perl, googleServicios web java, php, perl, google
Servicios web java, php, perl, google
 
JUG DAY FLEX / JEE
JUG DAY FLEX / JEEJUG DAY FLEX / JEE
JUG DAY FLEX / JEE
 

Más de Athento

Workflows en Athento
Workflows en AthentoWorkflows en Athento
Workflows en AthentoAthento
 
Prevencion fraude con Captura de Documentos
Prevencion fraude con Captura de DocumentosPrevencion fraude con Captura de Documentos
Prevencion fraude con Captura de DocumentosAthento
 
Webinar: La Seguridad de Mis Documentos en la Nube
Webinar:  La Seguridad de Mis Documentos en la NubeWebinar:  La Seguridad de Mis Documentos en la Nube
Webinar: La Seguridad de Mis Documentos en la NubeAthento
 
Gestión de Documentación de Proyectos en SaaS
Gestión de Documentación de Proyectos en SaaS Gestión de Documentación de Proyectos en SaaS
Gestión de Documentación de Proyectos en SaaS Athento
 
Gestion de Procedimientos de Compra con un Gestor Documental
Gestion de Procedimientos de Compra con un Gestor DocumentalGestion de Procedimientos de Compra con un Gestor Documental
Gestion de Procedimientos de Compra con un Gestor DocumentalAthento
 
Cubriendo el ciclo de vida de facturas con Athento
Cubriendo el ciclo de vida de facturas con AthentoCubriendo el ciclo de vida de facturas con Athento
Cubriendo el ciclo de vida de facturas con AthentoAthento
 
File Sharing Vs Gestión Documental
File Sharing Vs Gestión DocumentalFile Sharing Vs Gestión Documental
File Sharing Vs Gestión DocumentalAthento
 
¿Cómo acortar mi proyecto de digitalización y sus costes en un 30%?
¿Cómo acortar mi proyecto de digitalización y sus costes en un 30%?¿Cómo acortar mi proyecto de digitalización y sus costes en un 30%?
¿Cómo acortar mi proyecto de digitalización y sus costes en un 30%?Athento
 
Problemas frecuentes de la gestión de documentos digitalizados y cómo resolve...
Problemas frecuentes de la gestión de documentos digitalizados y cómo resolve...Problemas frecuentes de la gestión de documentos digitalizados y cómo resolve...
Problemas frecuentes de la gestión de documentos digitalizados y cómo resolve...Athento
 
Gestion Documental Cloud
Gestion Documental CloudGestion Documental Cloud
Gestion Documental CloudAthento
 
Gestión Documental en empresas de Ingeniería
Gestión Documental en empresas de IngenieríaGestión Documental en empresas de Ingeniería
Gestión Documental en empresas de IngenieríaAthento
 
Digitalizacion y Oficina Cero Papel
Digitalizacion y Oficina Cero PapelDigitalizacion y Oficina Cero Papel
Digitalizacion y Oficina Cero PapelAthento
 
Building your Brand Center with Athento -Smart Document Management-
Building your Brand Center with Athento -Smart Document Management- Building your Brand Center with Athento -Smart Document Management-
Building your Brand Center with Athento -Smart Document Management- Athento
 
Brand Asset Management y Gestión Documental con Athento
Brand Asset Management y Gestión Documental con AthentoBrand Asset Management y Gestión Documental con Athento
Brand Asset Management y Gestión Documental con AthentoAthento
 
Problemas Sin Resolver Del Software De Gestión Documental
Problemas Sin Resolver Del Software De Gestión DocumentalProblemas Sin Resolver Del Software De Gestión Documental
Problemas Sin Resolver Del Software De Gestión DocumentalAthento
 
Athento Gestiona Documentos Del Personal De Vuelo De Volotea
Athento Gestiona Documentos Del Personal De Vuelo De Volotea Athento Gestiona Documentos Del Personal De Vuelo De Volotea
Athento Gestiona Documentos Del Personal De Vuelo De Volotea Athento
 
JSF y Seam
JSF y SeamJSF y Seam
JSF y SeamAthento
 
Athento Runtime
Athento RuntimeAthento Runtime
Athento RuntimeAthento
 
2.platform
2.platform2.platform
2.platformAthento
 
Introducción a Athento Platform
Introducción a Athento PlatformIntroducción a Athento Platform
Introducción a Athento PlatformAthento
 

Más de Athento (20)

Workflows en Athento
Workflows en AthentoWorkflows en Athento
Workflows en Athento
 
Prevencion fraude con Captura de Documentos
Prevencion fraude con Captura de DocumentosPrevencion fraude con Captura de Documentos
Prevencion fraude con Captura de Documentos
 
Webinar: La Seguridad de Mis Documentos en la Nube
Webinar:  La Seguridad de Mis Documentos en la NubeWebinar:  La Seguridad de Mis Documentos en la Nube
Webinar: La Seguridad de Mis Documentos en la Nube
 
Gestión de Documentación de Proyectos en SaaS
Gestión de Documentación de Proyectos en SaaS Gestión de Documentación de Proyectos en SaaS
Gestión de Documentación de Proyectos en SaaS
 
Gestion de Procedimientos de Compra con un Gestor Documental
Gestion de Procedimientos de Compra con un Gestor DocumentalGestion de Procedimientos de Compra con un Gestor Documental
Gestion de Procedimientos de Compra con un Gestor Documental
 
Cubriendo el ciclo de vida de facturas con Athento
Cubriendo el ciclo de vida de facturas con AthentoCubriendo el ciclo de vida de facturas con Athento
Cubriendo el ciclo de vida de facturas con Athento
 
File Sharing Vs Gestión Documental
File Sharing Vs Gestión DocumentalFile Sharing Vs Gestión Documental
File Sharing Vs Gestión Documental
 
¿Cómo acortar mi proyecto de digitalización y sus costes en un 30%?
¿Cómo acortar mi proyecto de digitalización y sus costes en un 30%?¿Cómo acortar mi proyecto de digitalización y sus costes en un 30%?
¿Cómo acortar mi proyecto de digitalización y sus costes en un 30%?
 
Problemas frecuentes de la gestión de documentos digitalizados y cómo resolve...
Problemas frecuentes de la gestión de documentos digitalizados y cómo resolve...Problemas frecuentes de la gestión de documentos digitalizados y cómo resolve...
Problemas frecuentes de la gestión de documentos digitalizados y cómo resolve...
 
Gestion Documental Cloud
Gestion Documental CloudGestion Documental Cloud
Gestion Documental Cloud
 
Gestión Documental en empresas de Ingeniería
Gestión Documental en empresas de IngenieríaGestión Documental en empresas de Ingeniería
Gestión Documental en empresas de Ingeniería
 
Digitalizacion y Oficina Cero Papel
Digitalizacion y Oficina Cero PapelDigitalizacion y Oficina Cero Papel
Digitalizacion y Oficina Cero Papel
 
Building your Brand Center with Athento -Smart Document Management-
Building your Brand Center with Athento -Smart Document Management- Building your Brand Center with Athento -Smart Document Management-
Building your Brand Center with Athento -Smart Document Management-
 
Brand Asset Management y Gestión Documental con Athento
Brand Asset Management y Gestión Documental con AthentoBrand Asset Management y Gestión Documental con Athento
Brand Asset Management y Gestión Documental con Athento
 
Problemas Sin Resolver Del Software De Gestión Documental
Problemas Sin Resolver Del Software De Gestión DocumentalProblemas Sin Resolver Del Software De Gestión Documental
Problemas Sin Resolver Del Software De Gestión Documental
 
Athento Gestiona Documentos Del Personal De Vuelo De Volotea
Athento Gestiona Documentos Del Personal De Vuelo De Volotea Athento Gestiona Documentos Del Personal De Vuelo De Volotea
Athento Gestiona Documentos Del Personal De Vuelo De Volotea
 
JSF y Seam
JSF y SeamJSF y Seam
JSF y Seam
 
Athento Runtime
Athento RuntimeAthento Runtime
Athento Runtime
 
2.platform
2.platform2.platform
2.platform
 
Introducción a Athento Platform
Introducción a Athento PlatformIntroducción a Athento Platform
Introducción a Athento Platform
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (19)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Crear un HLS para gestionar documentos en Athento

  • 1. High-Level Services Athento Platform v.1.3.3 Víctor Sánchez ~ R&D Yerbabuena Software Yerbabuena Software ~ 2013
  • 2. ¿Qué son? Los high-level services de Athento son servicios de la plataforma capaces de ser accedidos mediante un conector de entrada. ✔ Se definen en la capa de HLS que conecta la capa de Core Service con los conectores de entrada mediante el servicio de interoperabilidad. ✔ Yerbabuena Software ~ 2013
  • 3. Document Manager ✔ Workflow: JBPM5 ~ Drools ✔ Reporting ✔ Monitoring ✔ Export and import ✔ Sign ✔ Popmail ✔ Batch ✔ Notifier ✔ ENI ✔ Audit ✔ Search ✔ Publication ... ✔ ● Yerbabuena Software ~ 2013 Ejemplos
  • 4. Servicio: ¿Cómo crear uno? Para crear un servicio, siempre un nuevo componente. ✔ <implementation class="org.yerbabuena.athento.MyServiceImplementation" /> <service> <provide interface="org.yerbabuena.athento.MyServiceInterface" /> </service> <extension-point name="anExtensionPoint"> <object class="org.yerbabuena.athento.YourObjectDescriptor" /> </extension-point> Yerbabuena Software ~ 2013
  • 5. ¿Cómo acceder al servicio? ✔ Sólo necesitamos llamar al método: Framework.getService(MyServiceInterface.class) Si el servicio esta correctamente definido, se devolverá una nueva instancia. ✔ No es necesario hacer ningún casting, obtendremos el objeto MyServiceInterface. ✔ Yerbabuena Software ~ 2013
  • 6. Servicios y puntos de extensión La implementación de nuestro componente debe extender de la clase DefaultComponent e implementar la interfaz indicada en el XML definido. ✔ DefaultComponent provee de: ✔ Un método registerContribution(...) ✔ Un método activate(...) ✔ Yerbabuena Software ~ 2013
  • 7. Puntos de extensión Sabemos que para contribuir siempre es necesario un EP. ✔ Cada contribución será mapeada con descriptores de objeto. ✔ El mapeo será realizado con XMap. ✔ ✔ Herramienta para mapear XML a objeto Java. (by Nuxeo) El método registerContribution(...) será llamado con el descriptor del punto de extensión. ✔ Yerbabuena Software ~ 2013
  • 8. ✔ Archivo XML <persona nombre=”Juan” apellidos=”Español”> <edad>31</edad> </persona> Cómo mapea XMap ✔ Clase Java @XObject("persona") public class PersonaDescriptor { @XNode("@nombre") protected String nombre; @XNode("@apellidos") private String apellidos; @XNode("edad") private int edad; // getters and setters ... } Yerbabuena Software ~ 2013
  • 9. Registrando contribuciones Cada vez que OSGi Runtime encuentra una contribución de un EP, llama al método registerContribution del servicio que lo contiene. ✔ En el método, obtenemos el parámetro que será el objeto java descriptor del XML que describe el EP. ✔ Podemos gestionarlo a nuestro gusto. ✔ Yerbabuena Software ~ 2013
  • 10. Haciéndolo High-Level Service Para hacer nuestro servicio high-level service de Athento Manager debemos anotar nuestra interfaz de servicio con la anotación @Service. ✔ Como hablamos al principio podemos restringir el acceso a los servicios de Athento Manager a llamadas en modo GET y/o POST. Para ello, usaremos las anotaciones @Get ó @Post a nivel de método de la implementación del servicio. ✔ Yerbabuena Software ~ 2013
  • 11. @Service High-Level Service: ejemplo public interface DocumentManager { PlatformFolder createFolder(String name, String destinyPath) throws DocumentException; DocumentRef copyDocument(String docId, String destinyPath) throws DocumentException; // More methods... } Yerbabuena Software ~ 2013
  • 12. High-Level Service: ejemplo (2) @AllowedAll @AuthorizationRequired public class DocumentManagerImpl extends AthentoHighLevelService implements DocumentManager { @Get PlatformFolder createFolder(String name, String destinyPath) throws DocumentException {...} @Post DocumentRef copyDocument(String docId, String destinyPath) throws DocumentException {..} // More methods... Yerbabuena Software ~ 2013 }
  • 13. Anotando parámetros Cuando queremos asociar el nombre a un parámetro de un método de un servicio para poder asociarlo en una llamada a conector de entrada usaremos la anotación @ParamName. ✔ @Get @Post PlatformFolder createFolder( @ParamName(“nombre”) String name, @ParamName(“destino”) String destinyPath) throws DocumentException; Yerbabuena Software ~ 2013
  • 14. Seguridad y acceso Es posible aplicar control de acceso mediante conectores a los high-level services de Athento Manager: ✔ Podemos permitir acceso. ✔ <services allowedAll="true"> <allowed>org.yerbabuena.athento.manager.HighLevelServie</allowed> </services> ✔ Podemos denegar acceso. <services allowedAll="false"> <denied>org.yerbabuena.athento.manager.HighLevelServie</denied> </services> Yerbabuena Software ~ 2013
  • 15. Representaciones Las representaciones son utilizadas para definir elementos que puedan usarse como elemento interoperable en un HLS. ✔ Una representación podrá visualizarse en XML, JSON, JavaObject, etc. (o cualquier mimetype definid por el usuario). ✔ Toda representación debe implementar la interfaz Representable, para visualizarse como elemento en una operación resultado, o bien, RepresentationAdapter, para manejarse como argumento a la entrada de una funcionalidad de un HLS. ✔ Yerbabuena Software ~ 2013
  • 16. Representaciones (2) ✔ Ejemplos. ✔ Documento public class PlatformDocument extends PlatformObject implements SingleDocument, Representable, Serializable @XmlAccessorType(value = XmlAccessType.PROPERTY) @XmlType(name = "documentRepresentation") @XmlRootElement(name = "document") public class DocumentRepresentation extends CmisObjectRepresentation implements RepresentationAdapter, Serializable { Yerbabuena Software ~ 2013
  • 17. Ejercicio Creando un High-level service. Yerbabuena Software ~ 2013