03-08-2018 03:48 AM
Muy buenas compañeros!
espero que me podáis ayudar de nuevo, ya que sigo aumentando mi conocimiento sobre Alfresco cada día.
Tenemos un script con el que saco un catálogo de enlaces, un listado.
Ese listado de enlaces, lo saco del mismo Alfresco dónde ejecute el script, pero además necesito traerme un dato de una BD ajena a la del Alfresco.
Entonces, necesito ayuda sobre cómo se podría realizar este proceso, si en el código JavaScript se podría hacer esta conexión a la BD, o haciendo un request de un servlet que hagamos aquí, o mediante webscript o webservice...
Cuántas opciones tengo y cuál sería la mejor en relación elegante - seguridad - costoTiempo.
Muchas gracias de antemano.
Saludos.
03-08-2018 03:59 AM
Bajo mi punto de vista lo mejor sería realizar un servlet en la base de datos externa y consumirlo por REST desde Alfresco. Puedes realizar invocaciones HTTP desde JavaScript de servidor.
03-08-2018 04:37 AM
03-08-2018 06:13 AM
Creo que me he precipitado...
Desde el JavaScript (Rhino) de repositorio no vas a poder (o es muy difícil) invocar a un servlet. Tendrías que desarrollar la lógica en Java en vez de en JavaScript.
03-08-2018 06:29 AM
A ver,
nosotros ya hemos conseguido que desde un script monte un HTML, los enlaces de ese HTML en el href tienen configurada la llamada a un servlet que invoca los webservice en un proyecto Maven y nos muestra en el navegador el contenido del documento al que hace referencia el enlace origen.
Desconozco lo que es Rhino, .
la "lógica" en java a qué te refieres? hacer un servlet que se conecte a la BD, por ejemplo?
Me gustaría saber si habéis hecho algún tipo de administración electrónica parecida alguna vez y qué alternativas veis al problema.
Queda claro que mis conocimientos son escasos de momento.
Gracias de antemano!
Saludos.
03-08-2018 12:45 PM
Lo cierto es que me pierdo un poco en lo que estáis haciendo.
Nosotros hemos hecho varias administraciones electrónicas diferentes, pero siempre utilizando Alfresco SDK estándar.
03-09-2018 02:24 AM
Ejecuto un Script.js en un Alfresco X que recorre un espacio y me crea un .HTML con enlaces, además de estos enlaces necesito sacar unos datos que están en otra BD, distinta a la BD de la que tira este Alfresco X, está en otro servidor y demás.
Lo que necesito es que este Script.js se conecte a esa BD y me traiga unos datos, y no sé cómo implementar esta funcionalidad, si en el mismo código del script añadir más JavaScript, o llamando desde el código a un servlet externo o como...
Disculpad las molestias.
Muchas gracias.
03-09-2018 03:37 AM
Si quieres te explico cómo lo haría yo.
Estás desarrollando un Web Script que produce una vista HTML. La lógica la implementas en JavaScript (Rhino, que es JavaScript de servidor). Las opciones para conectarse a una base de datos externa o a un servlet vía HTTP son limitadas.
Por ese motivo, cuando encuentro un escenario de este tipo programo la lógica del Web Script en Java en vez de en JavaScript. Desde Java hay muchas más herramientas que me permiten conectar a sistemas externos: JDBC, Http Client...
03-09-2018 04:25 AM
Hola:
Si el dato a consumir de base de datos es una tabla secundaria, es posible guardarla en el repositorio directamente como un CSV, por ejemplo via webdav, y de esa manera puedes hacer un getcontent desde JS, parsearlo y acceder al dato. Si es una tabla que está viva, a veces he llegado a hacer un cronjob de sistema operativo en el servidor Alfresco, que me actualiza ese CSV.
Pero en general lo que dice es la manera ortodoxa y eficiente de hacer una conexión a base de datos genérica.
Saludos.
--C.
03-09-2018 05:06 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.