Limpiar filtro
Pregunta
Yuri Marx Pereira Gomes · 9 jun, 2021
¿Es posible ver el plan de ejecución de una sentencia SQL en IRIS?
Como esto:
explain plan for
select e.ename,r.rname
from employees e
join roles r on (r.id = e.role_id)
join departments d on (d.id = e.dept_id)
where e.staffno <= 10
and d.dname in ('Department Name 1','Department Name 2');
Que devuelve esto:
EXPLAIN es también un comando SQL soportado por InterSystems IRIS. Se puede llamar desde la shell como cualquier otro comando.
Igualmente, para el ver el plan tambien se puede hacer en el Explorador SQL, pulsando el botón "Mostrar Plan" con la sentencia SQL en cuestión.
Artículo
Yuri Marx Pereira Gomes · 8 sep, 2021
Como arquitecto de software, es un reto diseñar una arquitectura corporativa que cumpla con los requisitos actuales de los negocios. Hay que conseguir el nivel 5 de la imagen anterior.
Con InterSystems IRIS es posible. Con un solo producto, tienes SQL + NoSQL + ESB + BI + Open Analytics + Modelos analíticos virtuales en tiempo real + NLP + AutoML + ML (con Python) y cloud Avanzada + soporte a sharding.
Con Oracle, por ejemplo, necesitas Oracle DB + Oracle NoSQL + Oracle BI + Oracle SOA Suite + algunas extensiones, como Oracle R, Partitioning y RAC; y algunos productos cloud de Oracle para NLP y características de IA. Con IBM tenemos un escenario similar. Microsoft utiliza Biztalk (gracias, @Robert.Bira).
Artículo
Jose-Tomas Salvador · 20 abr, 2022
Encontré este pequeño artículo de @brendan.bannon de hace unos años... pero creo que es muy útil para cuando tengamos estructuras de almacenamiento basadas puramente en globals y queramos tener la posibilidad de acceder a ellas desde el punto de vista de Objetos y/o Relacional.
El fichero ZIP adjunto contiene un paquete de ejemplos de mapeos SQL Storage (válido para IRIS y Caché) que he hecho y recopilado a lo largo de estos años.
Si tienes globals existentes y quieres exponerlos vía Objectos o SQL, necesitas configurar el mapeo SQL Storage en InterSystems IRIS o Caché. Si no ves un ejemplo que te ayude con tu caso, envíame un ejemplo y puedo ayudarte.
(Para bajarte el archivo ZIP, ve a la publicación original)
Anuncio
David Reche · 4 mayo, 2020
La versión 2020.1 de HealthShare ya ha sido liberada.
Incluye muchas funcionalidades nuevas:
Support for HL7® FHIR® Release 4, including mapping of InterSystems SDA to FHIR R4
North American customers can access to the CommonWell® health data network, including integration with the HealthShare Unified Care Record and Clinical Viewer
New Clinical Viewer enhancements, including configurations to display icons and specific filtered views for COVID-19 testing status
Clinical Viewer audits showing when a user accessed a patient’s information
Separate kits for Unified Care Record and Clinical Viewer to allow more flexible update options
Simpler/faster user experience for clinical and administrative users with new navigation, application chooser, and system utility menu (initial version, expanding to include more applications in the next releases)
Health Insight now built on IRIS for Health™, with improved performance and scalability
Health Insight streamlined upgrade protocols to significantly reduce downtime during version upgrades
Health Insight data consistency check tool enhancements, including new features and updated dashboards
Provider Directory push service to publish newly updated provider records to FHIR repository and to external systems
Personal Community login can use login credentials from external systems.
Integrated Healthwise® educational content available in Personal Community
Patient-completed forms and questionnaires from Personal Community can be accessed directly in InterSystems TrakCare®.
Más información
Con tus credenciales para acceder al Centro de Soporte Internacional (WRC) de InterSystems, puedes:
Descargar el Software desde la página de distribución de software del WRC
Revisar las notas de la versión:
Unified Care Record 2020.1 Notes
Health Insight 2020.1 Notes
Patient Index 2020.1 Notes
Personal Community 2020.1 Notes
Provider Directory 2020.1 Notes
Health Connect 2020.1 Notes
Revisar la documentación sobre HealthShare 2020.1
También puedes contactar con el Centro de Soporte Internacional (WRC) en support@intersystems.com o en +1.617.621.0700
Anuncio
Esther Sanchez · 17 jun, 2021
¡Hola Comunidad!
Os invitamos a un nuevo webinar en español: "Interoperabilidad en FHIR", el miércoles 23 de junio, a las 4:00 PM (CEST).
¿Cómo puede FHIR convivir e integrarse con otros protocolos?
En este webinar partiremos de un servidor FHIR ya existente y veremos cómo integrarlo con diferentes productores y consumidores de datos. También veremos las herramientas que permite InterSystems IRIS for Health para navegar entre distintos protocolos y presentar distintas fachadas de un repositorio. ¡Y algunas cosas más!
¡Os esperamos!
➡️ Podéis registraros aquí >>
Empieza la cuenta atrás... ¡mañana ya es el webinar sobre Interoperabilidad en FHIR!
Durante la presentación, explicaremos cómo puede FHIR convivir e integrarse con otros protocolos.
¡Os esperamos! 😃
0 Publicaciones•0 Seguidores
Artículo
Muhammad Waseem · 9 dic, 2021
En este artículo, mostraré los conceptos básicos de la autenticación OAuth2 con la cuenta de GitHub con la ayuda de la demostración onlinehttps://dappsecurity.demo.community.intersystems.com/csp/user/index.csp usando SuperUser | SYS
Recomendaciones:
Descripción general de OAuth2 : https://learning.intersystems.com/course/view.php?id=252
Documentación: Using an InterSystems IRIS Web Application as an OAuth2 Client
Artículos: Implementación de la estructura Open Authorization (OAuth 2.0) en InterSystems IRIS - Parte 1
A continuación, necesitamos 3 pasos:
Paso 1: Registrar la aplicación con el servidor de autenticación de GitHub
Paso 2: Configurar el cliente OAuth 2.0 desde el portal de administración de InterSystems
Paso 3: Llamar a la API para iniciar sesión con una cuenta de GitHub
Así que... ¡empecemos!
Paso 1: Registrar la aplicación con el servidor de autenticación de GitHub
Para registrar la aplicación con el servidor de autenticación de GitHub, necesitamos una cuenta de GitHub.Inicia sesión en la cuenta de GitHub, ve a https://github.com/settings/developers y, en la pestaña OAuth Apps (Aplicaciones OAuth), haz clic en el botón New OAuth App (Nueva aplicación OAuth).
Escribe el nombre de la aplicación, la URL de la página de inicio, la descripción y la URL callback para la autorización.Ten en cuenta que la URL callback para la autorización debe hacer referencia a la clase OAuth2.Response.cls ({dominio} /csp/sys/oauth2/OAuth2.Response.cls)Haz clic en Register Application (Registrar aplicación):
Esto abrirá la página de detalles. Haz clic en Generate a new client secret (Generar un nuevo secreto de cliente) y guarda el ID de Cliente y la Clave Secreta que usaremos al configurar el cliente IRIS OAuth2.La aplicación se registró correctamente.
Paso 2: Configurar el cliente OAuth 2.0 desde el portal de administración de InterSystems
Ve a System > Security Management > OAuth 2.0 Client y haz clic en el botón Create Server Description (Crear descripción del servidor):Haz clic en el botón Manual en la parte superior, introduce los detalles en el formulario y guarda la descripción del servidor:Vuelve a System > Security Management > OAuth 2.0 Client y haz clic en Client Configurations (Configuraciones del cliente):En la pestaña General, completa los detalles. Ten en cuenta que la URL de redireccionamiento del cliente es la misma que pusimos en la URL callback para la autorización al registrar nuestra aplicación en GitHub.En la pestaña Client Credentials (Credenciales de cliente), introduce la ID de cliente y el secreto del cliente que generamos al registrar nuestra aplicación en GitHub y guarda la configuración del cliente.
Paso 3: Llamar a la API para iniciar sesión con una cuenta de GitHub
Ve a la demostración online: https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp e inicia sesión con SuperUser | SYSHaz clic en Login with Github account (Iniciar sesión con la cuenta de Github) en el menú superior:
Esto abrirá la página Oauth.cls. Asegúrate de cerrar sesión en GitHub antes de intentar iniciar sesión. Haz clic en Github Sign in (Iniciar sesión en Github):El sistema navegará al servidor de autenticación de GitHub usando el método GetAuthorizationCodeEndpoint de la clase% SYS.OAuth2.Authorizationhttps://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?&LIBRARY=%25SYS&PRIVATE=1&CLASSNAME=%25SYS.OAuth2.Authorization
Cuando hayas iniciado sesión correctamente, el sistema lo redireccionará a la página OauthRe.cls
El código está disponible en este repositorio https://github.com/mwaseem75/Data_APP_Security
Pregunta
Evgeny Shvarov · 29 jun, 2019
¡Hola chicos!Como saben, hay dos (al menos) formas de obtener el valor almacenado de una propiedad de una clase InterSystems IRIS si se conoce el ID de una instancia (o un registro).1. Obtenerlo mediante la propiedad de una instancia con "Acceso a objetos":
ClassMethod GetPropertyForID(stId As %Integer) As %String
{
set obj=..%OpenId(stId)
return obj.StringData
} +++ ++
2. Obtenerlo mediante una columna del registro con "acceso SQL":
ClassMethod GetColumnForID(stId As %Integer) As %String
{
&sql(select StringData into :sd from Ideal.StoredData where id = :stId)
return sd
}
¿Qué prefieren?
¿Y por qué?
Para reproducir el escenario y jugar con él, en InterSystems IRIS 2019.2 pueden usar el repositorio de ObjectScript .Contiene la clase persistente Ideal.StoredData con una propiedad StringData y una simple utilidad para poblar los registros.
Para configurar el escenario en su equipo, hagan lo siguiente (por ejemplo, en mac, suponiendo que tengan instalado git y docker):
# clone git@github.com:evshvarov/objectscript.git
# docker-compose build
# docker-compose up -d
# docker-compose exec iris iris session iris
USER>zn "OSCRIPT"
OSCRIPT>d ##class(Ideal.StoredData).AddRecords()
OSCRIPT>w ##class(Ideal.StoredData).GetPropertyForID(1)
Value1
OSCRIPT>w ##class(Ideal.StoredData).GetColumnForID(1)
Value1
OSCRIPT>
Hola,Si conoces el ID para mi es siempre mejor usar el acceso a objetos.Pero si no conoces el ID y buscas a través de una SQL posiblemente la única opción viable es la segunda, aunque siempre puedes acceder directamente a los globals.Saludos
Pregunta
Dani Fibla · 27 abr, 2021
Tengo una duda referente al Visual Studio Code, el Studio del Iris permite hacer debug de cualquier business operation/proces que este en la producción añadiendo el proceso que se le haya asignado dentro de las opciones Debug(Attach), al reenviar un mensaje que entre dentro de esta operación/proceso se parará en nuestro punto de interrupción.
¿Como puedo conseguir esto con el Visual Studio Code?
He revisado varios pluggins para hacer debug pero he sido incapaz de conseguirlo.
Mil gracias por leer la consulta, si encima me la resuelves te estaré eternamente agradecido, incluso te daría puntos para unos calcetines de Intersystems. Hay varias cosas que tener en cuenta aquí. Lo primero es que el VSCode debe estar en la misma máquina que la instancia de IRIS para que puedan compartir procesos de sistema operativo. Lo demás es poder adjuntarse al proceso del BO y luego poder parar en la línea de código.
Echa un ojo a esto si no lo has hecho ya:
https://intersystems-community.github.io/vscode-objectscript/rundebug/
Para adjuntarte a un proceso utiliza esta configuración en el fichero .vscode/launch.json
{
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "objectscript",
"request": "attach",
"name": "ObjectScript Attach",
"processId": "${command:PickProcess}",
"system": true
}
]
} David,
El VSCode lo tengo en mi maquina local y la instancia de IRIS está dentro de un docker en un servidor, quizás no te haya entendido bien al decir que el VSCode debe estar en la misma máquina que la instancia de IRIS, aun así lo he probado y funciona perfectamente, al darle al play me muestra todos los procesos del servidor, selecciono el mío, reenvío un mensaje y se para en mi punto de interrupción!!!!!!!
Mil gracias, te debo unos calcetines ;-) Ja ja ja ... pues la verdad pensaba que tenía que estar en el mismo “entorno” los procesos de IRIS y el VSCode pero mira si somos buenos que no hace falta 🤣 Demasiado buenos
Artículo
Alberto Fuentes · 15 jun, 2021
¿Os gustaría poder acceder al Terminal Web directamente desde vuestro VSCode?
.png)
Este es otro genial artículo de la serie de [Tani Frankel](https://community.intersystems.com/user/tani-frankel) sobre "Trucos y consejos de VSCode" y es bastante similar al anterior sobre el Asistente SOAP.
Es el mismo principio y se obtiene el mismo resultado, aunque el caso de uso es diferente.
Supongamos que quieres abrir desde VSCode el WebTerminal (para quienes aún no están familiarizados con esta excelente herramienta diseñada por el increíble [@Nikita.Savchenko](https://community.intersystems.com/user/nikita-savchenko-0), consulten la [web del proyecto](https://intersystems-community.github.io/webterminal/)).
Puedes adoptar un enfoque similar al del artículo anterior. Describimos nuevamente cuáles son los pasos:
* En la configuración (*settings*) de JSON, abre la extensión de ObjectScript
* En el objeto "*conn*", añade un objeto "links"
* Dentro de "links" añade esta línea:
"$(terminal) WebTerminal": "${serverUrl}/terminal/?ns=${ns}${serverAuth}"
Esto se verá así:
.png)
Una vez hecho esto, cuando hagas clic en la opción *Connection* en la parte inferior de la barra de estado de VSCode, deberías encontrar el Terminal web en el menú.
Esto se mencionó en [este debate](https://github.com/intersystems-community/vscode-objectscript/pull/444) sobre Problemas con VSCode que se encuentra en el GitHub VSCode ObjectScript (acerca de las variables ${...} que se utilizaron en la URL anterior), con comentarios de @John.Murray
Os dejo un breve GIF mostrando el proceso (comienza con el menú estándar y termina con la opción de lanzar el Terminal web).

Artículo
Ricardo Paiva · 11 ago, 2022
Gracias a las últimas mejoras al soporte de Python en IRIS y al continuo trabajo en el soporte a la DB-API de Python por parte de InterSystems, he implementado el soporte de IRIS en el proyecto Django, en el que la DB-API de Python se usa para trabajar con otras bases de datos.
Vamos a probar una sencilla aplicación en Django, que almacena sus datos en IRIS.
La aplicación está disponible en GitHub, vamos a clonarla
git clone https://github.com/caretdev/django-iris-todo
cd django-iris-todo
Y podemos crearla y empezar con Docker-compose
docker-compose up -d --build
Llevará un tiempo, cuando IRIS se inicie, y la aplicación Django se cargue los modelos y se arranque. Una vez iniciada, estará disponible en http://localhost:8000/ y deberá presentar la pantalla arriba.
Cómo funciona
Para que funcione, necesita la DB-API de Python instalada. Viene en la última versión de prueba, por lo que hace falta la versión 2022.1.0.114.0 o superior y está situada en la carpeta de la instancia <INSTALL_DIR>/dev/python/. Este fichero también se puede descargar de este repo en GitHub
pip3 install intersystems_irispython-3.2.0-py3-none-any.whl
El backend de IRIS de Django es implementado por otro proyecto, que puede ser instalado con pip, y necesitamos django por sí solo, vamos a instalarlo
pip3 install django django-iris
Otra forma de instalar los paquetes requeridos en Python es usar el archivo requirements.txt
pip3 install -r requirements.txt
El contenido de este fichero son estas 3 lineas
https://raw.githubusercontent.com/intersystems-community/iris-driver-distribution/main/intersystems_irispython-3.2.0-py3-none-any.whl
Django~=4.0.2
django-iris~=0.1.5
Vamos a conectar nuestra aplicación Django a IRIS. Abrimos el fichero todoApp/settings.py
DATABASES define la configuración de las conexiones a la base de datos
ENGINE debería ser django_IRIS
NAME debería apuntar a Namespace en IRIS
Solo cámbialo a algo, donde puede conectar. Por ejemplo
DATABASES = {
'default': {
'ENGINE': 'django_iris',
'NAME': 'DJANGOTODO',
'HOST': 'localhost',
'PORT': 1972,
'USER': '_SYSTEM',
'PASSWORD': 'SYS',
}
}
Y empieza la migración
python3 manage.py migrate
No hay errores, todas las tablas en el lado de IRIS se crearon
Y estamos listos para empezar nuestra aplicación
python3 manage.py runserver
Django viene con un panel de administración
python3 manage.py createsuperuser
Está disponible en http://localhost:8000/admin/,
Cómo se almacenó en IRIS
Todavía hay trabajo por hacer para tener un soporte completo. Hay trabajo en marcha con el driver DB-API de Python desde InterSystems, y también con este proyecto django-iris.
Tened en cuenta que puede que no funcione tan bien en la versión Community Edition, por la forma como Django se conecta a la base de datos, puede que use todas las lincencias muy rápido.
Artículo
Ricardo Paiva · 27 oct, 2022
Este artículo es una continuación de [este otro](https://es.community.intersystems.com/post/herramienta-de-migraci%C3%B3n-de-datos-parte-i-de-postgres-iris) sobre cómo migrar de bases de datos populares (como PostgreSQL y MySQL) a IRIS.
Utilizaremos los mismos procedimientos utilizados para migrar desde PostgreSQL. Sin embargo, verás que es aún más fácil ya que los tipos de datos en MySQL son muy similares a los de IRIS. Por eso no necesitaremos crear reglas de transformación en las columnas.
## Obtención de los datos de muestra para realizar el proceso de migración
En Github es posible descargar un proyecto de Docker Compose para crear y ejecutar 2 bases de datos:
* Source Database (Base de datos de origen): Instancia Docker de la base de datos ejemplo MySQL.
* Target Database (Base de datos objetivo): Instancia Docker de InterSystems IRIS con un esquema preparado para recibir la base de datos de origen.
Para obtener la muestra y ejecutarla, sigue estos pasos:
1. Ve al repositorio git https://github.com/yurimarx/migration-mysql-iris.
2. Clona el proyecto: git clone https://github.com/yurimarx/migration-mysql-iris.git.
3. Ve a la carpeta del proyecto migration-mysql-iris.
4. Realiza una compilación: docker-compose build.
5. Ejecuta los contenedores: docker-compose up -d.
6. Comprueba en el escritorio de tu docker con las instancias si todo está bien:
.png)
## Sobre los datos que se van a migrar
Los datos que se van a migrar son el mismo modelo de datos utilizado en la Parte I, y se representan aquí:
.png)
Por lo tanto, el proceso será migrar de MySQL a IRIS:
* 8 tablas.
* 5000 filas de "sale".
* 2,500 filas de "users".
* 200 filas de "product".
* 50 filas de "store".
* 100 filas de "country".
* 30 filas de "city".
* 5 filas de "status_name".
El destino de la migración será el esquema dc_test que se encuentra dentro del namespace USER en la base de datos de InterSystems IRIS.
## Herramienta open-source para migrar de MySQL a IRIS: DBeaver
En la Parte I, utilizamos la Community Edition de DBeaver para migrar. Lo usaremos otra vez.
DBeaver es una herramienta de base de datos para conectar, crear, remover, seleccionar, actualizar y eliminar objetos de datos en las principales bases de datos del mercado. Descárgala en: https://openexchange.intersystems.com/package/DBeaver. Ahora, sigue las instrucciones de instalación para tener este magnífico producto en tu portátil o equipo de sobremesa.
DBeaver puede utilizarse para migrar datos entre conexiones de bases de datos, incluso si son de diferentes fabricantes y versiones.
## Cómo conectar las bases de datos de origen y destino mediante DBeaver
**Ahora vamos a establecer las conexiones de bases de datos que se van a migrar.**
Para establecer la conexión de MySQL a DBeaver:
1. En DBeaver, ve a File > New.
2. Selecciona Database Connection y haz clic en Next:
.png)
3. Haz clic en la pestaña SQL > MySQL y luego en Next:
.png)
4. Completa los campos de conexión a MySQL en la pestaña Main, como se muestra en esta imagen:
● Host: localhost● Port: 3306● Database: db● Username: user● Password: password
5. Ve a la pestaña "Driver properties" y establece la propiedad "allowPublicKeyRetrieval" con el valor TRUE:
.png)
6. En la misma pestaña "Driver properties" establece "useSSL" con el valor FALSE:
.png)
7. Si DBeaver solicita descargar el driver de MySQL, haz clic en Sí u Ok.
8. Haz clic en Finish.
**Para configurar la conexión de InterSystems IRIS a DBeaver:**
En la parte I, configuraste la conexión IRIS, pero si no la tenías guardada, haz lo siguiente:
1. En DBeaver, ve a File > New.
2. Selecciona Database Connection y haz clic en Next:
.png)
3. Haz clic en la pestaña SQL > InterSystems IRIS y luego en Next:
.png)
4. Si DBeaver solicita descargar el driver de InterSystems IRIS, haz clic en Sí u Ok.
5. Completa los campos de conexión de InterSystems IRIS como se muestra en esta imagen:
● Host: localhost● Database/Schema: user● Username: _SYSTEM● Password: SYS● Haz clic en Text Connection y en Finish.
Las conexiones (db y user) están disponibles en Database Navigator:
.png)
## Realizar la migración
El proceso de migración es muy similar al descrito en la Parte I. Solo hay que seguir los siguientes pasos:
1. Expande la conexión db > Bases de datos > db > Tablas y selecciona todas las tablas. Haz clic derecho con el ratón sobre las tablas seleccionadas y elige Export Data, así:
.png)
2. Selecciona Database, como se ve en esta imagen y haz clic en Next:
.png)
3. Haz clic en el botón Choose:
.png)
4. Selecciona dc_test y haz clic en Ok (Si necesitas crear transformaciones avanzadas entre las columnas de destino y de origen, haz clic en el botón Columnas).
.png)
5. Ahora, haz clic en Next.
.png)
6. Establezce Fetch size en 1,000,000 y haz clic en Next.
.png)
7. Acepta los valores predeterminados en Data load settings y haz clic en Next.
.png)
8. En Confirm haz clic en Proceed.
.png)
9. Ahora, si abres el Navegador de Base de datos, podrás ver todas las Tablas MySQL dentro del esquema InterSystems IRIS dc_test.
.png)
Igual que la migración a PostgreSQL, el proceso de migración a MySQL fue muy sencillo para las tablas. Sin embargo, para las vistas, funciones, activadores y procedimientos almacenados, será necesario reescribir el código fuente SQL utilizando ObjectScript o SQL.
Artículo
Ricardo Paiva · 11 jul, 2023
¡Hola Comunidad!
Seguramente habéis tod@s escuchado algo sobre Salesforce – la empresa y su software. En este articulo nos dedicaremos a la conectividad al software de CRM – Salesforce CRM. De una manera muy genérica, Salesforce CRM tiene la capacidad de administrar las interacciones con los clientes de una organización a través de varios métodos, como llamadas telefónicas, consultas por correo electrónico, comunidades, medios y redes sociales. Se dice que Salesforce maneja todas las relaciones con los clientes - centrándose en los procesos de ventas, soporte y marketing. Este servicio/software está disponible en la nube.
Qué bueno sería que pudiésemos conectarnos a Salesforce desde nuestro entorno InterSystems IRIS o cualquier otro producto de InterSystems.
La verdad es que acceder a los objetos (datos) de Salesforce es bastante simple e intuitivo. Este artículo se dedica a describir los pasos necesarios para establecer conectividad y acceder a los datos disponibles en Salesforce.
APIs de Salesforce
Salesforce dispone de una multiplicidad de APIs. Para nosotros, y a lo largo de este artículo, nos dedicaremos a la API REST. Esta API proporciona una interfaz de servicios web basada en REST - poderosa, conveniente y simple para interactuar con Salesforce. Sus ventajas incluyen la facilidad de integración y desarrollo, siendo una excelente opción tecnológica para usar con aplicaciones móviles y proyectos web. Para determinados proyectos, puede utilizarse la API REST con otras APIs de Salesforce. Para más información sobre las APIs de Salesforce, podéis consultarlo aquí.
Configuración en Salesforce
Aún que no sea el objetivo de este artículo, os dejo aquí el enlace al tutorial de configuración del REST endpoint en Salesforce - se trata de la guía en la base de este articulo. De manera muy resumida, los pasos necesarios son:
Paso 1: Regístrese en Salesforce Developer Edition proporciona una solución fácil y gratuita para que pueda utilizar Salesforce para pruebas y desarrollo.
Paso 2: configurar la autenticación para enviar solicitudes con éxito, la API REST requiere un token de acceso obtenido mediante autenticación. Es cierto que uno puede crear y autenticarse en su propia ConnectedApp (aplicación conectada). Sin embargo, usaremos la CLI de Salesforce para mayor comodidad. Salesforce CLI es una ConnectedApp que puede autenticar y no requiere ningún trabajo para configurar. Para ello habrá que acceder a la consola de Salesforce:
Navegar a Apps -> App Manager -> Create ConnectedApp
Los parámetros de configuración son:
Connected App Name
API Name
Contact Email
Enable OAuth Settings: sí
Callback URL: https://localhost
Selected OAuth Scopes: Full access (full)
Grabar/Continuar (podrá tardar hasta unos 10 minutos)
En cuanto se termine la generación del endpoint tendremos nuestro ConsumerKey y ConsumerSecret – habrá que copiar y guardarlos.
Paso 3: Nos falta una última configuración en Salesforce.
Acceder a Setup -> Platform Tools -> Apps -> Connected Apps -> Manage Connected Apps
Editar las características de la App:
Desde nuestra ConnectedApp hemos de editar las políticas (edit policies) y cambiar los siguientes parámetros tal y como se adjunta:
Permitted Users: all users may self-authorize
IP Relaxation: Relax IP restrictions for activated devices
Desde InterSystems IRIS:
Paso 1: Usaremos Python embebido para nuestra conexión a Salesforce. Lo primero que hemos de hacer es instalar el paquete necesario para establecer las conexiones HTTP – Requests. De manera a instalarlo en un container es necesario:
$ pip3 install --target /usr/irissys/mgr/python requests
Paso 2: A continuación, tenemos una clase ejemplo con código de muestra para acceder a los recursos de Salesforce. En este caso se hace una solicitud para obtener los objectos disponibles. Antes de probar este ejemplo, hay que asegúrese de completar los requisitos previos y obtener un token de acceso en la configuración de Salesforce.
Class salesforce.PyConnTest
{
ClassMethod connTest() [ Language = python ]
{
import requests
#create access token
CONSUMER_KEY='XXXXXXXXXX'
CONSUMER_SECRET='XXXXXXXXXX'
DOMAIN_NAME='https://intersystems4-dev-ed.develop.my.salesforce.com'
USERNAME='mymail@domain.com'
PASSWORD='mypassword'
json_data={
'grant_type': 'password',
'client_id': CONSUMER_KEY,
'client_secret': CONSUMER_SECRET,
'username': USERNAME,
'password': PASSWORD
}
response_access_token=requests.post(DOMAIN_NAME + '/services/oauth2/token', data=json_data)
print(response_access_token.status_code)
print(response_access_token.reason)
print(response_access_token.json())
if response_access_token.status_code == 200:
access_token_id=response_access_token.json()['access_token']
print('access token created')
#retrieve available objects
headers={
'Authorization': 'Bearer ' + access_token_id
}
response_sObject=requests.get(DOMAIN_NAME + '/services/data/v53.0/sobjects', headers=headers)
print(response_sObject.reason)
print(response_sObject.json())
}
}
Los parámetros más relevantes son:
grant_type: en este ejemplos usamos 'password'.
client_id: se trata del identificador publico para la App. Es generado en el momento de creación de la ConnectedApp.
client_secret: se trata de un secreto conocido solamente por el servidor de Autorización y por la App. Se genera en el momento de creación de la ConnectedApp.
username: usuario registrado en Salesforce
password: contraseña del usuario de Salesforce.
Con esta configuración básica se establece la conexión entre InterSystems IRIS (o cualquier otro producto de InterSystems) y Salesforce. Este articulo se basa en la guía rápida de Salesforce y se dedica a la API REST de Salesforce.
Anuncio
Esther Sanchez · 1 jun, 2020
¡Hola Desarrolladores!
Ya hemos realizado el sorteo entre todas las personas que respondieron correctamente a la pregunta del concurso por el primer aniversario de la Comunidad de Desarrolladores en español.
Los ganadores de dos tarjetas regalo de Amazon valoradas en 50€ cada una han sido @Jacobo.RiosBordas y @Carlos.CollazoFernández.
Aquí podéis ver el vídeo del sorteo entre todos los participantes.
Y los polos de InterSystems han sido para las dos primeras personas que respondieron correctamente a la pregunta y para sus amigos desarrolladores: @Pedro.Gonzalo y su amigo @Jorge Prieto Espina; y para @Francisco.López1549 y su amigo @Félix.deFederico.
¡Enhorabuena a todos!
Y a los demás, ¡muchas gracias por participar en el sorteo! Muchas gracias y felicidades a @Jacobo Rios Bordas y @Carlos Collazo Fernández por su premio. Menuda potra!!! Muchas gracias!!! Muchas gracias y enhorabuena a los ganadores! Ja ja ja... que lo disfrutes con salud... manda foto de lo que te compres... si es que se puede
Anuncio
Esther Sanchez · 26 nov, 2020
¡Hola a tod@s!
Os invitamos a un nuevo webinar en español: "Sacando el máximo rendimiento a Kubernetes", el miércoles 9 de diciembre, a las 4:00 PM (CET).
En este webinar, vamos a ver las características básicas de Kubernetes y cómo instanciar la plataforma de datos InterSystems IRIS en Alta Disponibilidad. Para ello, vamos a emplear diferentes centros de datos de Google Cloud.
No es necesario que tengas conocimientos previos de orquestación de Kubernetes. Aprenderás a provisionar contenedores, a actualizarlos y a conseguir que tu aplicación escale y tenga tolerancia a fallos.
¡Os esperamos!
➡️ Podeis registraros aquí >> ¡Recordad! Hoy miércoles 9 es el webinar gratuito sobre cómo sacar el máximo rendimiento a Kubernetes.
A las 16:00 PM (CET) 👍
Aún podéis registraros aquí >>