Concurrencia en cliente con apache chemistry

cancel
Showing results for 
Search instead for 
Did you mean: 
alex_grasset
Active Member

Concurrencia en cliente con apache chemistry

Hola,

estoy implementando un cliente con apache chemistry basandome en este ejemplo, nos han proporcionado un usuario y puedo conectarme y hacer todo tipo de operaciones (crear carpetas, crear documentos).

Pero me pregunto de que manera se va a comportar la aplicación con la concurrencia de usuarios y como deberia tratar este tema en mi cliente.

Por si hace falta, añado que realmente pocos conocimientos de Alfresco.

Muchas gracias.

15 Replies
angelborroy
Alfresco Employee

Re: Concurrencia en cliente con apache chemistry

No entiendo la pregunta. ¿A qué tipo de concurrencia te refieres? ¿Puedes poner un ejemplo?

Hyland Developer Evangelist
alex_grasset
Active Member

Re: Concurrencia en cliente con apache chemistry

Hola,

me refiero a concurrencia de usuarios, no he podido probar porque tendria que solicitar un entorno en el cliente donde trabajo para que me hicieran despliegue del código, mi duda viene a que no sé que pasaria o como actuaria la clase que he implementado en caso de que dos usuarios o mas intentasen trabajar a la vez.

Muchas gracias.

angelborroy
Alfresco Employee

Re: Concurrencia en cliente con apache chemistry

Si dos usuarios intentan actualizar el mismo documento al mismo tiempo, solo uno de ellos realizará la operación con éxito, el otro recibirá un error. En cualqueir caso, depende del flujo concreto de ejecución y de las operaciones que realicen.

Hyland Developer Evangelist
alex_grasset
Active Member

Re: Concurrencia en cliente con apache chemistry

Si, pero si unicamente nos han proporcionado un usuario que es el que utiliza la clase que he implementado... No se si entiendes a donde voy a parar... No se como explicarlo mejor XD

angelborroy
Alfresco Employee

Re: Concurrencia en cliente con apache chemistry

No es el escenario ideal, es muy posible que las operaciones de modificación se crucen entre varias peticiones.

Si tienes varios usuarios, lo ideal sería bloquear el documento antes de realizar los cambios y desbloquearlo cuando termines.

Hyland Developer Evangelist
alex_grasset
Active Member

Re: Concurrencia en cliente con apache chemistry

Pero no me parece logico que tengamos que pedir un usuario para cada persona que vaya a utilizar la aplicación, debe haber otra forma...

calvo
Senior Member

Re: Concurrencia en cliente con apache chemistry

Hola,

Aunque no estoy muy seguro de haberte comprendido, entiendo que la aplicación cliente que tienes, siempre utilizará el mismo usuario para conectar con el repositorio de Alfresco. No creo que necesites más usuarios para interactuar con la biblioteca de documentos.

Supongo que lo que tienes es una aplicación externa que integra -a través de CMIS- con el repositorio de Alfresco. Por ejemplo una aplicación que carga documentos en Alfresco, permite consultarlos, descargarlos, ....

La concurrencia dependerá de la carga real del sistema, pero para un entorno de pocos usuarios quizás no sería necesario implementar nada al respecto (si las operaciones no son muy complejas y costosas, las peticiones se encolarán, aunque dependerá del volumen de peticiones). Sin embargo, en caso de que la aplicación la utilizase mucha gente, podrías valorar utilizar hilos (utilizando siempre el mismo usuario para conectar con el repositorio), pero si dos usuarios intentan acceder al mismo documento, ocurrirá el escenario descrito por Angel Borroy

Tal vez podrías hacer una previsión de la posible carga que tendría el sistema que estás implementando (usuarios, operaciones, volumen de información y peticiones,....) y actuar en consecuencia, tratando de implementar alternativas.

Un saludo

clv

alex_grasset
Active Member

Re: Concurrencia en cliente con apache chemistry

Muchas gracias, es justo eso a lo que me referia, he implementado una clase que mi intención es que hiciera de cliente pero me preocupaba justamente eso. Como no tengo experiencia con sesiones en java no sabia si podria haber problemas a la hora de crear dos sesiones para el mismo usuario a la vez.

De todas formas creo que lo que he hecho no sirve porque según me han explicado, debo acceder a alfresco desde la api, pero no tengo documentación al respecto. Algun sitio donde pueda encontrar información sobre dicha api?

Gracias

angelborroy
Alfresco Employee

Re: Concurrencia en cliente con apache chemistry

Tienes documentación interactiva en Alfresco Content Services REST API Explorer 

Y una serie de tutoriales aquí: https://community.alfresco.com/community/ecm/blog/2016/10/11/v1-rest-api-part-1-introduction 

Hyland Developer Evangelist