usu:smartweb:introduccion_a_smartwebdoc
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| usu:smartweb:introduccion_a_smartwebdoc [2018/02/12 19:35] – creado stefan | usu:smartweb:introduccion_a_smartwebdoc [2020/08/05 16:44] (actual) – stefan | ||
|---|---|---|---|
| Línea 3: | Línea 3: | ||
| ===== Instalación ===== | ===== Instalación ===== | ||
| - | Se instala preferiblemente en la misma red donde está instalada la base de datos de Smart, para que la lectura de los datos sea lo más rápida. | + | Se instala preferiblemente en la misma red donde está instalada la base de datos de Smart, para que la lectura de los datos sea lo más rápido. |
| {{ : | {{ : | ||
| SmartWebDoc se puede instalar tanto en un servidor **Windows** como en uno con el sistema operativo **Linux**. Por lo tanto es posible instalarlo en el mismo servidor de la base de datos, aunque esto no es recomendable por motivos de seguridad. | SmartWebDoc se puede instalar tanto en un servidor **Windows** como en uno con el sistema operativo **Linux**. Por lo tanto es posible instalarlo en el mismo servidor de la base de datos, aunque esto no es recomendable por motivos de seguridad. | ||
| + | |||
| + | Para Windows se puede usar el programa de instalación // | ||
| + | Una vez terminada la instalación hay que revisar el fichero de configuración, | ||
| + | |||
| + | <code xml> | ||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | <bd> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </bd> | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Lo principal es cambiar el acceso a la base de datos y el usuario y la contraseña de la base de datos. **Luego hay que reiniciar el servicio //Servicio SmartWebDoc puerto 8000// desde el panel de control de todos los servicios, para que el programa lea de nuevo la configuración.** | ||
| ===== Comunicación ===== | ===== Comunicación ===== | ||
| - | Se puede configurar SmartWebDoc para que use el protocolo **http** o **https**, con el puerto que se desea, por defecto 8000. | + | Se puede configurar SmartWebDoc para que use el protocolo **http** o **https**, con el puerto que se desea. Por defecto |
| Se accede al servicio con el método //POST//, pasando los datos en formato //JSON//. | Se accede al servicio con el método //POST//, pasando los datos en formato //JSON//. | ||
| Method: POST | Method: POST | ||
| - | URL: /services/IDocService/? | + | URL: /smartwebdoc/select/? |
| Query: format=json | Query: format=json | ||
| - | HeaderLine: POST /services/IDocService/? | + | HeaderLine: POST /smartwebdoc/select/? |
| Content: | Content: | ||
| { " | { " | ||
| Línea 27: | Línea 63: | ||
| [[" | [[" | ||
| | | ||
| + | |||
| + | Existen dos URLs para acceder al servicio web, que son intercambiables: | ||
| + | - http:// | ||
| + | - http:// | ||
| + | **Se recomienda utilizar siempres la segunda URL, es posible que la primera en un futuro deja de funcionar.** | ||
| + | |||
| + | El query '' | ||
| + | |||
| + | ==== HTTPS en un entorno de pruebas ==== | ||
| + | Los certificados usados por SmartWebDoc funcionando con https suelen ser // | ||
| + | |||
| + | A continuación se explica como configurar el explorador //Firefox// para que funcione bien con SmartWebDoc. | ||
| + | |||
| + | En primer lugar tenemos que importar el certificado de la autoridad de certificación de raíz. Este certificado nos lo puede facilitar Smart y suele llamarse // | ||
| + | |||
| + | Vamos a la configuración de Firefox como se muestra a continuación: | ||
| + | {{ : | ||
| + | |||
| + | Dentro del // | ||
| + | |||
| + | Luego vamos a la pestaña // | ||
| + | {{ : | ||
| + | |||
| + | Cuando se muestre el certificado podemos dar en '' | ||
| ===== Protócolo JSON ===== | ===== Protócolo JSON ===== | ||
| - | Los datos //JSON// que recibe el servicio web tienen que llevar siempre el campo '' | + | Existen dos tipos de interfaz, //Select// y //Raw//. Ambos usan el formato //JSON// para pasar los datos. |
| + | |||
| + | ==== JSON tipo " | ||
| + | (ver ejemplo en el párrafo anterior) | ||
| + | |||
| + | En este caso, los datos //JSON// que recibe el servicio web tienen que llevar siempre el campo '' | ||
| El //JSON// de vuelta contiene una matriz de dos dimensiones con los registros que devuelve el procedimiento. | El //JSON// de vuelta contiene una matriz de dos dimensiones con los registros que devuelve el procedimiento. | ||
| Línea 36: | Línea 101: | ||
| Documentos, imagenes etc. que devuelve el servicio se codifican en base 64. | Documentos, imagenes etc. que devuelve el servicio se codifican en base 64. | ||
| + | |||
| + | ==== JSON tipo " | ||
| + | A continuación se muestra un ejemplo de una petición //Raw// al servicio SmartWebDoc: | ||
| + | < | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | [ | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | </ | ||
| + | Se puede enviar una serie de comando, que se ejecutan dentro de una misma transacción. El resultado contiene un bloque por cada comando con el correspondiente resultado: | ||
| + | < | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | </ | ||
| + | También es posible enviar imagenes u otros datos binarios (documentos de office etc.) al serivico web, pero entonces hay que codificar el parámetro en //base64// y añadir al nombre del parámetro el anexo '' | ||
| + | < | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | [ | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | El formato //Raw// permite cualquier interacción con los datos, siempre dentro de los límites de seguridad que se explican a continuación. | ||
| ===== Seguridad ===== | ===== Seguridad ===== | ||
| El servicio web se conecta a la base de datos con un usuario con privilegios restringidos. Solo va a tener acceso a los datos imprescindibles para la aplicación web. | El servicio web se conecta a la base de datos con un usuario con privilegios restringidos. Solo va a tener acceso a los datos imprescindibles para la aplicación web. | ||
usu/smartweb/introduccion_a_smartwebdoc.1518460525.txt.gz · Última modificación: por stefan
