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

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
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
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
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
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
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
 

Último (20)

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
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
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
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...
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
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
 

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