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: 2018/02/12 19:35 por stefan