Buscar

Limpiar filtro
Anuncio
Esther Sanchez · 15 mar, 2021

Código de Conducta de la Comunidad de Desarrolladores de InterSystems

## Nuestro compromiso Con el propósito de promover un ambiente abierto y cordial, nosotros como colaboradores y gestores, nos comprometemos a hacer que la participación en la Comunidad de Desarrolladores de InterSystems sea una experiencia libre de acoso para todos, con independencia de la edad, aspecto físico, capacidad, etnia, género, experiencia, nacionalidad, raza, religión e identidad sexual. ## Nuestras normas Ejemplos de conductas que contribuyen a crear un ambiente positivo: * Usar un lenguaje cordial e inclusivo * Ser respetuoso con los diferentes puntos de vista y experiencias * Aceptar las críticas constructivas con elegancia y respeto * Centrarse en lo que es mejor para la Comunidad * Mostrar empatía hacia otros miembros de la Comunidad Ejemplos de conductas inaceptables por parte de los participantes: * Uso de lenguaje o imágenes sexualizadas y atenciones o insinuaciones molestas * Comentarios provocadores o despectivos, insultos, ataques personales o políticos * Acoso público o privado * Publicación de información privada de otras personas, como direcciones físicas o electrónicas sin permiso explícito * Otras conductas que razonablemente pudieran ser consideradas inapropiadas en un entorno profesional * Aceptamos reclamaciones y valoraciones con relación al funcionamiento y las características de las plataformas de datos de InterSystems, pero no aceptamos ni hablamos sobre el comportamiento ni el nivel de servicio de los departamentos o empleados de InterSystems * Nos reservamos el derecho a eliminar cualquier publicación (sin dar ninguna razón) que creamos no ofrece información útil a miembros de la Comunidad * Nos reservamos el derecho a restringir el acceso a la Comunidad (sin dar ninguna razón) a personas cuyas publicaciones hayan sido eliminadas varias veces ## Nuestras Responsabilidades Los mantenedores del proyecto son responsables de aclarar las normas de conducta aceptables y los que tomarán las medidas correctoras adecuadas y justas ante cualquier caso de comportamiento inaceptable. Los mantenedores del proyecto tienen el derecho y la responsabilidad de eliminar, editar y rechazar comentarios, "commits", código, publicaciones, ediciones en páginas "wiki" y otras contribuciones que no estén alineadas con este Código de Conducta; o de expulsar temporal o permanentemente a cualquier colaborador por otros comportamientos que consideren inapropiados, amenazadores, ofensivos o dañinos. ## Ámbito de aplicación Este Código de Conducta aplica a cualquier contribución a la Comunidad de Desarrolladores de InterSystems que se encuentre en community.intersystems.com, es.community.intersystems.com y openexchange.intersystems.com. En el futuro, una representación de la Comunidad puede ser definida y aclarada por la gestión de la Comunidad InterSystems. ## Aplicación Los casos de comportamiento abusivo y de acoso, u otros comportamientos inaceptables, deben ser reportados poniéndose en contacto con el equipo del proyecto en support@intersystems.com. El equipo de la Comunidad revisará e investigará todas las quejas y responderá de la forma que consideren adecuada a las circunstancias. El equipo de la Comunidad está obligado a mantener confidencialidad respecto a las personas que reportan los problemas. Se publicarán más detalles sobre el cumplimiento de las normas en otra publicación. Los miembros de la Comunidad de Desarrolladores de InterSystems que no sigan o apliquen el Código de Conducta con buena fe, pueden sufrir consecuencias temporales o permanentes, según lo determinen otros miembros de la Dirección de la Comunidad. ## Atribución Este Código de Conducta está adaptado del [Contributor Covenant][homepage], versión 1.4, disponible en [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/
Artículo
Ricardo Paiva · 1 abr, 2021

¿Es difícil crear un informe con InterSystems Reports?

Spoiler ¡No! ¡Es súper fácil! Creé dos ejemplos sencillos utilizando InterSystems IRIS + InterSystems Reports e intentaré compartir lo fácil que es configurar estas dos aplicaciones juntas! En los siguientes párrafos, describo una guía paso a paso de la facilidad y simplicidad de este proceso. Después de instalar el Logi Report Designer, abre y selecciona el icono de InterSystems IRIS.Para el segundo paso, tienes la opción de seleccionar un Catálogo existente o crear uno nuevo. Crearemos un nuevo catálogo, lo guardaremos en la carpeta seleccionada y después crearemos un nuevo DataSource. Completa los campos con el nombre de la IP o DNS del servidor, puerto, namespace, usuario y contraseña. A continuación, puedes añadir tablas, vistas y consultas a tu fuente de datos. Con la información de tu conexión, tus tablas, vistas y/o consultas configuradas, seguimos adelante. Haz clic en Nuevo, luego en Nuevo informe. Para nuestro informe, yo seleccioné Tabla (Grupo Izquierdo): El Asistente para tablas nos guiará seleccionando la fuente de datos, visualización de datos, agrupación, resumen, gráficos, filtros y estilo. Para la fuente de datos en este informe de ejemplo estoy utilizando la tabla de Covid que @Evgeny.Shvarov creó para la plantilla-iris-analytics. Los campos seleccionados son Confirmados y Defunciones. El grupo para este informe será País\Región. El Resumen para el grupo País\Región será Confirmed, con la Aggregate Function (SUM), el Break Field será Country_Region en la posición Footer. Dentro del paso Chart (Gráfico), seleccioné el gráfico de barras con País\Región como mi Categoría y el campo Confirmed como Show values. Estoy aplicando uno de los estilos preexistentes, y el seleccionado fue "Clásico". La imagen de abajo muestra el informe después de que finaliza el asistente. El archivo covid19\_cases\_-_WorldCount-Sample.pdf es una "muestra impresa" del informe. Si quieres otra muestra sencilla, mi repositorio tiene el archivo refugees\_CitiesImpacted\_ReportSample.pdf Mostrando el informe para el conjunto de datos para la Admisión de refugiados en Estados Unidos a finales del año 2018, el conjunto de datos está disponible en Admisión de refugiados en Estados Unidos a finales del año 2018 - Conjunto de datos proporcionados por associatedpress | data.world
Anuncio
Esther Sanchez · 19 abr, 2021

¡Ya puedes votar en el Concurso para Desarrolladores de InterSystems!

¡Hola Comunidad! El plazo para participar en la última edición del Concurso para Desarrolladores de InterSystems ha terminado y empieza la fase de votación. Hemos recibido 12 interesantes aplicaciones, así que ya puedes elegir la mejor! ¿Cómo se vota? Todos los empleados de InterSystems pueden votar una vez, tanto en la Nominación de Expertos como en la Nominación de la Comunidad. Cualquier desarrollador participante en el concurso puede votar por su propia aplicación - el voto irá tanto a la Nominación de Expertos como a la Nominación de la Comunidad, de forma automática (según el nivel de Global Masters). Los miembros de la Comunidad pueden votar 3 proyectos: para el 1º, 2º y 3er puesto, según su opinión. Así es como funciona el marcador de la Comunidad: Marcador de la Comunidad: Condiciones Puesto 1º 2º 3º Si has publicado un artículo en la CD y has subido una app a Open Exchange (OEX) 9 6 3 Si has publicado al menos un artículo en la CD o has subido una app a OEX 6 4 2 Si has hecho alguna contribución válida a la CD (publicar un comentario/pregunta, etc.) 3 2 1 Y para el marcador de los Expertos, los diferentes niveles de Global Masters tienen diferentes puntos para cada puesto: Marcador de los Expertos: Nivel Puesto 1º 2º 3º Nivel VIP en Global Masters o Product Manager de InterSystems Corporation 15 10 5 Nivel Ambassador en Global Masters 12 8 4 Nivel Experto en Global Masters o Moderador de la CD 9 6 3 Nivel Specialist en Global Masters 6 4 2 Nivel Advocate en Global Masters o Empleado de InterSystems Corporation 3 2 1 Para aquellos que no tengan ninguno de los niveles descritos en la tabla, los votos contarán automáticamente en la Nominación de Expertos y en la Nominación de la Comunidad. Así es como funciona: Para votar, necesitas: Registrarte en Open Exchange – puedes hacerlo con tus credenciales de acceso a la Comunidad. Haber participado de alguna manera en la Comunidad de Desarrolladores (haciendo una pregunta, respondiendo a alguien, escribiendo un artículo, subiendo aplicaciones a Open Exchange, etc.) – entonces verás el botón "Vote" disponible. En esta publicación puedes conocer todas las opciones para participar en la Comunidad de Desarrolladores. Si en algún momento quieres cambiar el voto, puedes cancelar el que hayas dado y dárselo a otra aplicación - tienes hasta el domingo 25 de abril para votar! Los participantes en el concurso pueden corregir errores ("bugs") e introducir mejoras en sus aplicaciones durante esta semana. Para no perderte los cambios, suscríbete a los avisos sobre nuevas actualizaciones! ➡️ Y echa un vistazo a las reglas de votación para los concursos de InterSystems.
Artículo
Eduardo Anglada · 15 jul, 2021

Estadísticas sobre COVID-19 con InterSystems IRIS

¡Hola a todos! Todos los días la universidad Johns Hopkins publica nuevos datos sobre el estado de la pandemia del coronavirus COVID-19. Creé un [sencillo panel de control con InterSystems IRIS Analytics](https://covid-19.demo.community.intersystems.com/dsw/index.html#/irisapp) usando InterSystems IRIS Community Edition en Docker, implementado en Kubernetes GCP, para mostrar los datos clave sobre el avance de la enfermedad. [![](/sites/default/files/inline/images/images/screenshot_2020-03-28_12_58_33.png)](http://34.77.54.254:52773/dsw/index.html#/IRISAPP/Covid19) Este panel de control es un ejemplo de como la información en formato CSV podría ser analizada con IRIS Analytics e implementada en Kubernetes GCP, con la forma de InterSystems IRIS Community Edition. Añadí el [mapa interactivo de Estados Unidos](https://covid-19.demo.community.intersystems.com/dsw/index.html#/irisapp/Covid19/USA.dashboard): [![](https://community.intersystems.com/sites/default/files/inline/images/images/covid_usa.gif)](https://covid-19.demo.community.intersystems.com/dsw/index.html#/irisapp/Covid19/USA.dashboard) En el [siguiente panel de control se muestra la línea de tiempo](http://34.77.54.254:52773/dsw/index.html#/IRISAPP/Covid19/Daily.dashboard): [![](/sites/default/files/inline/images/images/screenshot_2020-03-28_20_48_27.png)](http://34.77.54.254:52773/dsw/index.html#/IRISAPP/Covid19/Daily.dashboard) Y se puede filtrar por país. Por ejemplo [en Estados Unidos:](http://34.77.54.254:52773/dsw/index.html#!/d/Covid19/Daily.dashboard?ns=IRISAPP&FILTERS=TARGET:*;FILTER:%5BDay%5D.%5BH1%5D.%5BMonth%5D.%26%5BNOW%5D~%5BCountryRegion%5D.%5BH1%5D.%5BCountryRegion%5D.%26%5BUS%5D) [![](/sites/default/files/inline/images/images/screenshot_2020-03-28_21_05_49.png)](http://34.77.54.254:52773/dsw/index.html#!/d/Covid19/Daily.dashboard?ns=IRISAPP&FILTERS=TARGET:*;FILTER:%5BDay%5D.%5BH1%5D.%5BMonth%5D.%26%5BNOW%5D~%5BCountryRegion%5D.%5BH1%5D.%5BCountryRegion%5D.%26%5BUS%5D) El código fuente de la aplicación está [disponible en Open Exchange.](https://openexchange.intersystems.com/package/covid-19-analytics) **¿Cómo funciona?** La demo se ejecuta usando el contenedor Docker de InterSystems IRIS Community Edition y muestra los paneles de control de la Inteligencia empresarial (BI) de InterSystems IRIS usando la capa de representación DeepSee Web con la API REST MDX2JSON. Se implementa en GCP y funciona con Google Kubernetes Engine (GKE). **¿Cómo se desarrolló?**  Los datos se toman del [repositorio de Johns Hopkins](https://github.com/CSSEGISandData/COVID-19) en formato CSV. Las clases, los cubos y las tablas dinámicas iniciales se generaron con el módulo [Analyzethis](https://openexchange.intersystems.com/package/AnalyzeThis). ¡Gracias, @Peter Steiwer! El método de importación se introdujo con el método CSVTOCLASS. ¡Gracias, @Eduard Lebedyuk! Los paneles de control se renderizan con el módulo DeepSee Web (DSW). Los [artefactos (tablas dinámicas, paneles de control)](https://github.com/evshvarov/covid-19/tree/master/src/dfi) de la Inteligencia empresarial (BI) de IRIS fueron exportados con el módulo [ISC.DEV](https://openexchange.intersystems.com/package/ISC-DEV): IRISAPP> d ##class(dev.code).workdir("/irisdev/app/src") IRISAPP> d ##class(dev.code).export("*.dfi") El código fue desarrollado utilizando [VSCode ObjectScript](https://openexchange.intersystems.com/package/VSCode-ObjectScript). ¡Gracias, @Dmitry Maslennikov! **Cómo construir imágenes en Docker para desarrollar e implementar** Toda la implementación se encuentra en el [Dockerfile](https://github.com/evshvarov/covid-19/blob/master/Dockerfile). Con Dockerfile generamos una imagen con datos, aplicaciones web y módulos instalados y configurados correctamente y después implementamos la imagen en Kubernetes GCP. Este Dockerfile es una versión modificada de esta [plantilla Dockerfile](https://github.com/intersystems-community/objectscript-docker-template/blob/master/Dockerfile), que se describe muy bien [en este artículo](https://community.intersystems.com/post/dockerfile-and-friends-or-how-run-and-collaborate-objectscript-projects-intersystems-iris). Todos los pasos preliminares se realizan en el archivo [iris.script](https://github.com/evshvarov/covid-19/blob/master/iris.script): Aquí instalamos DeepSee Web. zpm "install dsw" Esto habilita a IRIS Analytics (DeepSee) para la aplicación web, csp e irisapp: do EnableDeepSee^%SYS.cspServer("/csp/irisapp/") Este código es necesario para que la aplicación web de análisis esté disponible sin credenciales: zn "%SYS" write "Modify MDX2JSON application security...",! set webName = "/mdx2json" set webProperties("AutheEnabled") = 64 set webProperties("MatchRoles")=":%DB_IRISAPP" set sc = ##class(Security.Applications).Modify(webName, .webProperties) if sc<1 write $SYSTEM.OBJ.DisplayError(sc) Y aquí en [Dockerfile](https://github.com/evshvarov/covid-19/blob/master/Dockerfile) este comando ayuda a establecer la configuración de DSW. COPY irisapp.json /usr/irissys/csp/dsw/configs/ **Implementación en Kubernetes** El procedimiento de implementación es procesado por Github Actions, y [este flujo de trabajo](https://github.com/evshvarov/covid-19/blob/master/.github/workflows/workflow.yaml) lo administra en cada asignación al repositorio. El flujo de trabajo de Github utiliza el Dockerfile que construimos en un paso anterior junto con la configuración de [Terraform](https://github.com/evshvarov/covid-19/tree/master/terraform) y [Kubernetes](https://github.com/evshvarov/covid-19/tree/master/k8s).  El procedimiento es idéntico al descrito en [este artículo](https://community.intersystems.com/post/deploying-intersystems-iris-solution-gke-using-github-actions) de @Mikhail Khomenko. **Cómo ejecutarlo y desarrollarlo de forma local** Todo el mundo está invitado a ejecutar, desarrollar y colaborar en este proyecto. Para ejecutarlo de forma local usando Docker hay que hacer lo siguiente: Clonar el repositorio en cualquier directorio local: $ git clone https://github.com/intersystems-community/objectscript-docker-template.git Abrir el terminal en este directorio y ejecutar: $ docker-compose build Ejecutar el contenedor de IRIS: $ docker-compose up -d Una vez que el contenedor esté construido y funcionando, abre la aplicación en: localhost:yourport/dsw/index.html#/irisapp **Cómo desarrollarlo** Este repositorio está listo para codificarse en VSCode con el *plugin* ObjectScript. Instala VSCode, Docker y el *plugin* ObjectScript y abre la carpeta en VSCode. **Como contribuir** Crea un fork del [repositorio](https://github.com/evshvarov/covid-19), haz cambios y envía *pull requests*. [En este video tienes más información.](https://www.youtube.com/watch?v=1x0hC_MlRfg&t=4s) ¡Nos encantaría ver vuestras contribuciones! 
Artículo
Ricardo Paiva · 24 jun, 2021

Cómo utilizar AWS Glue con InterSystems IRIS

Publicación Original por: Anton UmnikovArquitecto Senior de soluciones en la nube en InterSystemsAWS CSAA, GCP CACE   [AWS Glue](https://aws.amazon.com/glue/) es un proceso ETL (extraer, transformar y cargar) completamente gestionado, que hace sencillo y rentable clasificar los datos, limpiarlos, enriquecerlos y moverlos de forma fiable entre diferentes almacenes de datos. En el caso de InterSystems IRIS, AWS Glue permite mover grandes cantidades de datos a IRIS desde fuentes de datos tanto en la nube como en las propias instalaciones (*on-premise*). Las fuentes de datos potenciales incluyen, pero no se limitan a, bases de datos *on-prem*, archivos CSV, JSON, Parquet y Avro que residen en buckets S3, bases de datos nativas en la nube como AWS Redshift y Aurora, y muchas otras. Este artículo asume que tienes un conocimiento básico de AWS Glue, al menos en el nivel para completar los [Tutoriales de introducción a AWS Glue ](https://aws.amazon.com/glue/getting-started/). Nos centraremos en los aspectos técnicos de la configuración de los trabajos (*Jobs*) en AWS Glue para utilizar InterSystems IRIS como Datos Objetivo, o en otros términos, "receptor de datos". Imagen de    Los Trabajos en AWS Glue se ejecutan "sin servidor". Todos los recursos necesarios para realizar el trabajo son suministrados de forma dinámica por AWS solo durante el tiempo en que el trabajo se ejecuta realmente; y se destruyen en el momento en que el trabajo se completa. Por eso, en lugar de provisionar, gestionar e incurrir en costes continuos por la infraestructura necesaria, se te factura solo por el tiempo en que el trabajo realmente se ejecuta y puedes dedicar tus esfuerzos a escribir el código del Trabajo. Durante el tiempo de "inactividad" no se consumen recursos, salvo los buckets S3, que almacenan el código del Trabajo y la configuración. Aunque hay varias opciones disponibles, normalmente los Trabajos en Glue se ejecutan con un suministro dinámico en Apache Spark y se escriben en código PySpark. El Trabajo en Glue contiene la sección _"Extraer"_ (donde los datos se extraen de las fuentes de datos), una serie de _"Transformaciones"_ (construidas utilizando la API de Glue) y finalmente la parte _"Cargar"_ o _"receptor"_, en la que después de la transformación final los datos se escriben en el sistema objetivo. Para permitir que AWS Glue interactúe con IRIS necesitamos asegurar lo siguiente: * Glue tiene acceso a la red de las instancias IRIS involucradas * El archivo JAR del controlador JDBC de IRIS es accesible para el Trabajo en Glue * El Trabajo en Glue utiliza la API compatible con InterSystems IRIS JDBC Examinemos cada uno de los pasos necesarios. ## Crear una conexión a IRIS En la consola AWS, selecciona AWS Glue->Connections->Add Connection Introduce el nombre de tu conexión y selecciona "JDBC" como Tipo de Conexión. En la URL de JDBC introduce la cadena de conexión JDBC para tu instancia de IRIS, el nombre de usuario y la contraseña. El siguiente paso es crucial, _**necesitas asegurarte de que Glue coloca sus *endpoints* en el mismo VPC que tu instancia de IRIS.**_ Selecciona la VPC y la Subred de tu instancia de IRIS. Cualquier grupo de seguridad con una regla de entrada de autorreferencias para todos los puertos TCP se ejecutaría aquí. Por ejemplo, el grupo de seguridad de tu instancia de IRIS. ## Rol de IAM con acceso al controlador JDBC Si aún no lo has hecho, carga el archivo JAR del controlador JDBC de IRIS intersystems-jdbc-3.0.0.jar en el bucket S3. En este ejemplo, estoy usando el bucket s3://irisdistr. Sería distinto para tu cuenta. Necesitas _**crear un rol de IAM para tu Trabajo en Glue, que pueda acceder a ese archivo,**_ junto con otros buckets S3 que Glue utilizaría para almacenar scripts, registros, etc. Asegúrate de que tiene acceso de lectura al bucket de tu controlador JDBC. En este caso, concedemos a esta función (GlueJobRole) acceso de solo lectura (ReadOnly) a todos los buckets, junto con el AWSGlueServiceRole predefinido. Puedes elegir limitar aún más los permisos de este rol. ## Crear y configurar el Trabajo en Glue Crear un nuevo Trabajo en Glue. Selecciona el rol de IAM, que creamos en el paso anterior. Deja todo lo demás de forma predeterminada. En "Security configuration, script libraries, y job parameters (optional)" establece en "Dependent jars path" la ubicación del intersystems-jdbc-3.0.0.jar  en el bucket S3.   Para la fuente: utiliza una de tus fuentes de datos preexistentes. Si seguiste los tutoriales mencionados más arriba, ya tendrás al menos una. Utiliza la opción "Create tables in your data target" y selecciona la conexión IRIS que has creado en el paso anterior. Deja todo lo demás de forma predeterminada. Si nos has seguido hasta ahora, deberías llegar a una pantalla similar a esta:   ¡Ya queda poco! Solo necesitamos hacer un sencillo cambio en el *script* para cargar datos en IRIS. ## Cómo ajustar el *script* El *script* que Glue generó para nosotros utiliza [AWS Glue Dynamic Frame](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-dynamic-frame.html), extensión propietaria de AWS para Spark. Aunque ofrece algunos beneficios para los trabajos de ETL, también garantiza que no puedes escribir datos en ninguna base de datos para la que AWS no haya administrado la oferta de servicios. Buenas noticias- en el momento de escribir los datos en la base de datos ya no son necesarios todos los beneficios de Dynamic Dataframe, como no aplicación de esquema para los datos "sucios" (en el momento de escribir los datos se supone que están "limpios") y podemos convertir fácilmente Dynamic Dataframe a un Dataframe nativo en Spark que no está limitado a los objetivos administrados por AWS y puede trabajar con IRIS. Así que la línea que necesitamos cambiar es la línea 40 de la imagen más arriba. Un último consejo. Este es el cambio que necesitamos hacer: #datasink4 = glueContext.write_dynamic_frame.from_jdbc_conf(frame = dropnullfields3, catalog_connection = "IRIS1", connection_options = {"dbtable": "elb_logs", "database": "USER"}, transformation_ctx = "datasink4") dropnullfields3.toDF().write \ .format("jdbc") \ .option("url", "jdbc:IRIS://172.30.0.196:51773/USER/") \ .option("dbtable", "orders") \ .option("user", irisUsername) \ .option("password", irisPassword) \ .option("isolationlevel","NONE") \ .save() Donde irisUsername e irisPassword son el nombre de usuario y las contraseñas para tu conexión JDBC en IRIS. _**Nota:** almacenar las contraseñas en el código fuente NO es conveniente. Te animamos a utilizar herramientas como [AWS Secrets Manager](https://aws.amazon.com/secrets-manager) para ello, pero entrar en este nivel de detalles de seguridad está más allá del alcance de este artículo. Este es un buen [artículo](https://aws.amazon.com/blogs/big-data/use-aws-glue-to-run-etl-jobs-against-non-native-jdbc-data-sources/) sobre el uso de AWS Secrets Manager en AWS Glue._ Ahora pulsa el botón "Run Job", siéntate y relájate mientras AWS Glue efectúa el proceso ETL por ti. Bueno... lo más probable es que cometas algunos errores al principio... Todos sabemos cómo funciona. Una errata por aquí, un puerto equivocado en el grupo de seguridad por allí... AWS Glue utiliza CloudWhatch para almacenar todos los registros de ejecución y de errores. Busca grupos de registro en: _/aws-glue/jobs/error_ y _ /aws-glue/jobs/output_, para identificar lo que salió mal. ¡Disfruta de la programación de los procesos ETL en la nube! Este artículo está etiquetado como "Mejores prácticas" ("Best practices"). Los artículos con la etiqueta "Mejores prácticas" incluyen recomendaciones sobre cómo desarrollar, probar, implementar y administrar mejor las soluciones de InterSystems.
Anuncio
Esther Sanchez · 23 jun, 2021

¿Charlamos? ¡Únete a los desarrolladores de InterSystems en Discord!

¡Hola Comunidad! Probablemente todos ya conocéis Discord y muchos de vosotros ya lo utilizáis. Por eso, os invitamos a acercaros aún más a la tecnología de InterSystems uniéndoos al club social de nuestros desarrolladores! Y podréis disfrutar de una comunicación super rápida con otros colegas: 💥 Canal de Discord de los Desarrolladores de InterSystems💥 En el servidor de Discord de la Comunidad de Desarrolladores encontraréis un canal en español, otros canales y charlas sobre InterSystems, y también canales con conversaciones más informales. Uníos a nuestro club para aprovechar al máximo y disfrutar aun más del mundo InterSystems! ¡Nos vemos en Discord!✌️ Si tenéis alguna sugerencia para mejorar nuestro Servidor de Discord o queréis crear un canal nuevo sobre un tema específico, dejad un comentario en esta publicación. ¡Os leemos! ¡Hola a todos! Para seguir en contacto con la Comunidad, únete a las conversaciones en el Servidor de Discord de los Desarrolladores de InterSystems! ¡Nos vemos por allí!
Artículo
Ricardo Paiva · 3 sep, 2021

Cómo crear el Portal de Documentación para InterSystems IRIS

El lenguaje ObjectScript de InterSystems IRIS tiene un motor de metadatos muy potente llamado XData. Esta característica permite crear definiciones de metadatos para tus clases, que serán utilizadas por el compilador o por los programas para ampliar las características estándar del lenguaje, basándose en las definiciones XData de su campo de acción. Un ejemplo es [IRIS Publisher](https://openexchange.intersystems.com/package/IRIS-Publisher), una aplicación de código abierto de la Comunidad, capaz de recopilar todas las definiciones de XData en formato HTML y/o Markdown, y que puede generar un Portal web con todos los documentos de la aplicación, recopilados a partir de estos elementos XData. Aquí puedes ver todo el proceso: ![El Publicador de IRIS en acción](https://github.com/yurimarx/iris-publisher/raw/master/IRISPublisher.gif) Vamos a ver un ejemplo práctico. Sigue estos pasos: 1. Accede al enlace para descargar IRIS Publisher 2. Clona el repositorio del proyecto en git en una carpeta local de tu elección: `git clone https://github.com/yurimarx/iris-publisher` 3. Abre el código fuente del proyecto. Está en la carpeta iris-publisher. Con él vamos a crear algunos elementos XData 4. Ve a la clase Person dentro de src/dc/Sample. Inspecciona las dos definiciones de XData de ejemplo que se encuentran entre las líneas 34 y 43 /// Documentation for Person in HTML XData PersonDocHtml [ MimeType = text/html ] { <h1>This is the Person class</h1> }   /// Documentation for Person in Markdown XData PersonDocMarkdown [ MimeType = text/markdown ] { <h1>This is the Person class in MD</h1> } 5. Hay 3 bloques grandes: el texto después de ///, donde es posible escribir una descripción del elemento XData; la propia definición de XData y MimeType (solo se capturan HTML y Markdown); y, finalmente, entre {}, todo el contenido HTML o Markdown que compondrá tu documentación. En este ejemplo utilizamos ambos, pero recomendamos definir solo uno de ellos 6. Es posible anotar todas las clases del proyecto, o parte de ellas, con XData, para crear una documentación muy completa de tu aplicación 7. Después de documentar tus clases usando XData, vamos a compilar los documentos del proyecto en el terminal. Ejecuta: `docker-compose up -d --build`![](/sites/default/files/inline/images/images/image(1348).png) 8. Después de la ejecución, tu instancia estará activa y podrás ejecutar la API de IRIS Publisher 9. Ejecuta para definir el título, la información del desarrollador y describir tu aplicación. Utiliza el siguiente contenido como ejemplo: { "SiteName":"Publisher", "Summary":"Documentation of the Publisher", "Description":"This an Application to generate documentation from XDATA", "DeveloperName":"Yuri Gomes", "DeveloperEmail": "yurimarx@gmail.com", "DeveloperWebsite": "ymservices.tech" } 10. Ejecuta para generar la documentación e iniciar el Portal de Documentos para tu aplicación 11. ¡Ve a http: // localhost: 8000 y consulta toda la documentación on line! ![](/sites/default/files/inline/images/images/image(1350).png)    
Anuncio
Esther Sanchez · 19 jul, 2021

¡Ya puedes votar en el Concurso de Programación de InterSystems!

¡Hola Comunidad! Hoy empieza la votación del concurso de programación sobre Inteligencia Artificial! Ya puedes votar la mejor solución de IA/ML utilizando InterSystems IRIS. 🔥 Aquí puedes votar 🔥 ¿Cómo se vota? Nominación de los expertos: El experimentado jurado de InterSystems elegirá las mejores apps que ganarán en la categoría "Nominación de los expertos". Estos son los miembros del jurado: ⭐️ @Evgeny.Shvarov, Developer Ecosystem Manager⭐️ @Raj.Singh5479, Product Manager - Developer Experience⭐️ @Robert.Kuszewski, Product Manager - Developer Experience⭐️ @Thomas.Dyar, Product Specialist - Machine Learning⭐️ @Aleksandar.Kovacevic, Sales Engineer⭐️ @Eduard.Lebedyuk, Sales Engineer⭐️ @Sergey.Lukyanchikov, Sales Engineer⭐️ @Guillaume.Rongier7183, Sales Engineer Nominación de la Comunidad: Para cada miembro de la Comunidad, la puntuación más alta se elige de dos categorías:: Condiciones Puesto 1º 2º 3º Si has publicado un artículo en la CD y has subido una app a Open Exchange (OEX) 9 6 3 Si has publicado al menos un artículo en la CD o has subido una app a OEX 6 4 2 Si has hecho alguna contribución válida a la CD (publicar un comentario/pregunta, etc.) 3 2 1 Nivel Puesto 1º 2º 3º Nivel VIP en Global Masters o Product Manager de InterSystems Corporation 15 10 5 Nivel Ambassador en Global Masters 12 8 4 Nivel Experto en Global Masters o Moderador de la CD 9 6 3 Nivel Specialist en Global Masters 6 4 2 Nivel Advocate en Global Masters o Empleado de InterSystems Corporation 3 2 1 Número de votos secreto El número de votos de cada app estará oculto. Y una vez al día publicaremos la clasificación en los comentarios a esta publicación. El orden en el que se mostrarán los proyectos en la página del concurso será el orden de presentación de los proyectos: las aplicaciones presentadas antes aparecerán primero en la lista. P.D. Podéis suscribiros a la publicación original en inglés haciendo clic en el icono de la campana para ser notificados cuando haya nuevos comentarios. Requisitos para poder votar: Registrarte en Open Exchange – puedes hacerlo con tus credenciales de acceso a la Comunidad. Haber participado de alguna manera en la Comunidad de Desarrolladores (haciendo una pregunta, respondiendo a alguien, escribiendo un artículo, subiendo aplicaciones a Open Exchange, etc.) – entonces verás el botón "Vote" disponible. En esta publicación puedes conocer todas las opciones para participar en la Comunidad de Desarrolladores. ¡Si en algún momento quieres cambiar el voto, puedes cancelar el que hayas dado y dárselo a otra aplicación - tienes hasta el domingo 25 de julio para hacerlo! ¡A votar! Nota: Los participantes en el concurso pueden corregir errores ("bugs") e introducir mejoras en sus aplicaciones durante esta semana. Para no perderte los cambios, suscríbete a los avisos sobre nuevas actualizaciones!
Artículo
Eduardo Anglada · 22 jul, 2021

Plugin IntelliJ IDEA para InterSystems

Os presento el soporte de InterSystems IRIS en IntelliJ IDEA. Este *plugin* añade soporte de Syntax Highlighting para ObjectScript, así como la auto importación y la compilación en el servidor después de guardar un archivo modificado. Utiliza [LanguageServer](https://openexchange.intersystems.com/package/InterSystems-LanguageServer) escrito en Rust, donde se añadió la capacidad de importar y compilar código. ![](/sites/default/files/inline/images/images/image(1672).png) ### Instalación * Necesitarás la última versión de IntelliJ IDEA, con la Edición *Community* también es compatible. Probablemente otras ediciones de los productos de IntelliJ también sean compatibles, pero no se han probado * Descarga la última versión del *plugin* desde la [página de versiones](https://github.com/caretdev/intellij-intersystems/releases), no lo extraigas * Abre IntelliJ IDEA, ve a *Settings*, *Plugins*, icono *Gear*, *Install Plugin from Disk*, y selecciona el archivo descargado * Reinicia el entorno de desarrollo integrado (IDE) Ahora puedes abrir cualquier carpeta con el código fuente de ObjectScript que ya tengas como un proyecto nuevo. Y, en primer lugar, debes configurar la conexión a IRIS. *Settings* -> *Languages & Frameworks* -> InterSystems. Ten en cuenta que hay un puerto SuperServer, no uno de WebServer. ![](/sites/default/files/inline/images/images/image(1675).png) Después, cuando modifiques el archivo mac o cls, después de guardarlo, se importará al servidor y se compilará automáticamente. ![](/sites/default/files/inline/images/images/image(1676).png)
Artículo
Alberto Fuentes · 18 ene, 2022

SQL embebido, ¿qué hay de nuevo en InterSystems IRIS?

Benjamin De Boe escribió este magnífico artículo sobre las Consultas universales en caché, pero ¿qué es una Consulta universal en caché (UCQ) y por qué deberían interesarme, si yo escribo en el antiguo y válido SQL embebido? En Caché y Ensemble, las consultas en caché o cacheadas se generaban para resolver xDBC y SQL dinámico. Ahora, en InterSystems IRIS, SQL embebido se ha sido actualizado para utilizar las consultas cacheadas (Cached Queries), de ahí que se añadiera la palabra "universal" en el nombre. Actualmente, cualquier SQL que se ejecute en IRIS lo hará desde una clase UCQ. ¿Por qué InterSystems ha implementado este cambio? ¡Esa es una buena pregunta! La gran ventaja aquí es la flexibilidad que se obtiene en un entorno real. En el pasado, si se añadía un índice o se ejecutaba TuneTable, el SQL de las Consultas en caché hacía uso de esta nueva información inmediatamente, mientras que SQL integrado permanece sin cambios hasta que la clase o rutina se compila manualmente. Si tu aplicación utilizaba clases implementadas o sólo enviaba código de tipo OBJ, compilar esto nuevamente en el sistema del cliente no era una opción. Actualmente, todas las sentencias SQL de un sistema utilizarán la última clase que se definió y los últimos datos de ajuste disponibles. En el futuro, InterSystems IRIS dispondrá de herramientas opcionales que podrán supervisar y ajustar tus sistemas de producción durante la noche, lo que permitirá personalizar los planes SQL en función de cómo se consulten las tablas. A medida que este conjunto de herramientas crezca, la capacidad de las Consultas universales en caché también lo hará. ¿Mi SQL embebido es más lento ahora? Sí y no. Llamar a una etiqueta en una rutina diferente es un poco más caro que llamar a una etiqueta en la misma rutina, así que es más lento, pero la generación de código UCQ era diferente de la embebida, y lograr que se utilicen esos cambios compensa y mucho el gasto de llamar a una rutina diferente.¿Hay casos en los que el código UCQ es más lento? Sí, pero en general se debería ver un mejor rendimiento. Yo utilizo SQL embebido desde hace mucho tiempo, y siempre me gusta señalar que SQL embebido es más rápido que SQL dinámico. Sigue siendo más rápido, pero con todo el trabajo que se ha hecho para que los objetos sean más rápidos, la diferencia entre los dos estilos es lo suficientemente pequeña como para que no me burle de los que usan SQL dinámico ¿Cómo puedo comprobar los errores ahora? La gestión de errores para el SQL embebido no ha cambiado. SQLCODE será un número negativo si encontramos un error y %msg establecerá la descripción de ese error. Lo que ha cambiado son los tipos de errores que se pueden obtener. Ahora, el comportamiento predeterminado consiste en que SQL no será compilado hasta que se inicie la consulta por primera vez. Esto significa que si escribe mal un campo o una tabla en la rutina, el error no se reportará cuando se compile esa rutina, sino la primera vez que se ejecute el SQL, igual que en SQL dinámico. SQLCODE se establece para cada comando SQL, pero si eres tan perezoso como yo, sólo compruebas SQLCODE después de un FETCH. Bueno, quizás ahora también quieras comprobarlo con OPEN. &SQL(DECLARE cur CURSOR FOR SELECT Name,junk into :var1, :var2 FROM Sample.Person) &SQL(OPEN cur) write !,"Open Status: ",SQLCODE,?20,$G(%msg) for { &SQL(FETCH cur) write !,"Fecth Status: ",SQLCODE,?20,$G(%msg) QUIT:SQLCODE'=0 w !,var1 } &SQL(CLOSE cur) write !,"Close Status: ",SQLCODE,?20,$G(%msg) QUIT En este código, tengo un campo no válido en el SELECT. Como no compilamos el SQL cuando compilamos la rutina, este error no se reporta. Cuando ejecuto el código, OPEN reporta un error en la compilación mientras que FETCH y CLOSE reportan un error de cursor no abierto. %msg no experimenta ningún cambio, por lo tanto, en cualquier momento que realices la comprobación, obtendrás información útil: USER>d ^Embedded Open Status: -29 Field 'JUNK' not found in the applicable tables^DECLARE cur CURSOR FOR SELECT Name , junk INTO compiling embedded cached query from Embedded.mac Fetch Status: -102 Field 'JUNK' not found in the applicable tables^DECLARE cur CURSOR FOR SELECT Name , junk INTO compiling embedded cached query from Embedded.mac Close Status: -102 Field 'JUNK' not found in the applicable tables^DECLARE cur CURSOR FOR SELECT Name , junk INTO compiling embedded cached query from Embedded.mac ¿Qué pasa si no quiero realizar ninguna modificación en mi SQL embebido? Puedes hacerlo utilizando los Planes de consulta congelados. Una nota rápida, cada actualización importante en IRIS suspenderá todas las sentencias SQL, de modo que no se realizará ningún cambio si no se autoriza. Puedes leer más información sobre esto aquí. Ahora, volvamos a hablar sobre el tema de las UCQ. Os muestro 3 formas de congelar los planes SQL embebidos en tu aplicación: Si envías un IRIS.DAT: do $SYSTEM.OBJ.GenerateEmbedded() para generar el UTC para SQL embebido Congelar los planes: do $SYSTEM.SQL.Statement.FreezeAll() Envía el IRIS.DAT Si utilizas archivos XML: do $SYSTEM.OBJ. GenerateEmbedded() para generar el UTC para SQL embebido Congelar los planes: do $SYSTEM.SQL.Statement.FreezeAll() Exporta los planes suspendidos: do $SYSTEM.SQL.Statement.ExportAllFrozenPlans() Después de cargar la aplicación, carga los planes suspendidos: do $SYSTEM.SQL.Statement.ImportFrozenPlans() Congelar los planes UTC en el sitio del cliente: Carga el código con SQL embebido en el sistema del cliente do $SYSTEM.OBJ.GenerateEmbedded() para generar el UTC para SQL embebido Congelar todos los planes que se generaron: do $SYSTEM.SQL.Statement.FreezeAll() ¿Puedo volver al comportamiento anterior? No, ahora funciona de esta manera. Desde el punto de vista del desarrollador, puedes recuperar el comportamiento anterior si añades la marca /compileembedded=1 en las opciones del compilador. Esto le dirá al compilador que genere la clase UCQ mientras compila la clase o la rutina. Si hay algún problema con el SQL, se informará de ello durante la compilación, como ocurría en el pasado. Compiling routine : Embedded.macERROR: Embedded.mac(5) : SQLCODE=-29 : Field 'JUNK' not found in the applicable tables^DECLARE cur CURSOR FOR SELECT Name , junk INTO compiling embedded cached query from Embedded.macDetected 1 errors during compilation in 0.034s. Si te preocupa que ocurra una sobrecarga mientras se generan las clases UCQ la primera vez que se ejecute SQL embebido, puedes añadir este paso como parte de la instalación de tu aplicación para que todas las clases se generen por adelantado: do $SYSTEM.OBJ. GenerateEmbedded(). Este es un resumen de muy alto nivel acerca de las Consultas universales en caché y SQL embebido. Realmente no he entrado en detalles sobre lo que ocurre durante todo el proceso. Solo he tratado de hablar acerca de las cosas que la gente encontraría al trabajar con SQL embebido en IRIS. En general, cambiarse a UCQ debería hacer que el rendimiento de SQL sea más consistente en todos los tipos de SQL y facilitar la actualización de SQL en un sistema en producción. Desde luego, habrá algunas modificaciones. Añadir la marca del compilador será bastante útil para mí. Ahora, solo debo acostumbrarme a buscar el código que se ha generado en un nuevo lugar. Si tienes alguna pregunta, comentario, o duda sobre SQL en InterSystems IRIS, no dudes en escribirla aquí.
Artículo
Yuri Marx · 7 feb, 2022

Algunas imágenes Docker de la Comunidad de Desarrolladores de InterSystems

Prueba las imágenes Docker Abiertas de la Comunidad de Desarrolladores de InterSystems. Fácil de utilizar: Cómo ejecutar los productos de InterSystems en contenedores Elige la tuya en: el Docker hub de InterSystems
Pregunta
Daniel Seco · 3 feb, 2022

Arquitectura en AWS para InterSystems IRIS Mirroring

Estimados, Junto con saludarles consulto han implementado InterSystems IRIS Mirroring para IRIS 2019.2 en AWS?. Necesito tener dos AZ, subredes privadas, y lograr configurar los nodos primario y secundario de IRIS base de datos. Los gateway que están en API Management (IAM) deberán enviar peticiones a una IP que esté delante de los nodos de base de datos de IRIS. Agradeceré compartir un esquema de arquitectura Hola Daniel, Para esa configuración te recomiendo que emplees Kubernetes y en especial InterSystems Kubernetes Operator (IKO), se va a encargar de la configuración y despliegue. La documentación del IKO está aquí. Los pasos a seguir son: 1. Instanciar el cluster 2. Instalar IKO con helm 3. Instanciar el mirror de IRIS, incluyendo las APIs. En la distribución del IKO hay un subdirectorio samples que contiene ejemplos, incluido un iris-sample.yaml que puedes usar para desplegar el mirror: a.) En los nodos de datos busca los que tienen la opción mirrored: true b.) Tus APIs las defines en el apartado del webgateway usando "applicationPaths" o usando el IAM Es muy importante que definas el tipo de almacenamiento usando "volumesClaims" y el servicio de red "LoadBalancer" con la opción "externalTrafficPolicy: local" En la comunidad anglosajona hay un artículo muy completo con diferentes opciones de arquitectura. Estimado Eduardo, Muchas gracias por la información que me aportas. Comento que en la actual arquitectura entregada por nuestro proveedor se ha considerado el uso de servicios EC2 y trabajar con balanceador de carga. De lo que me aportas veo que mencionas el servicio NLB. En nuestra revisión hemos considerado lo que dice en https://es.community.intersystems.com/post/mirroring-de-la-base-de-datos-sin-una-direcci%C3%B3n-ip-virtual saludos, DS
Anuncio
Esther Sanchez · 23 mar, 2022

¡Nueva Comunidad de Desarrolladores de InterSystems en francés!

¡Hola desarrolladores! Ha llegado el momento para todos los usuarios de nuestra comunidad que hablan francés. Estamos encantados de anunciar el lanzamiento oficial de la Comunidad de Desarrolladores de InterSystems en francés! 🎉 Y os presentamos a @Guillaume.Rongier7183, @Robert.Bira e @Irène.Mykhailova, las personas que gestionarán la nueva Comunidad de Desarrolladores. Repasamos algunos de los aspectos básicos sobre las traducciones: ➡️ Podéis elegir el idioma de la Comunidad con los botones situados en la parte superior derecha de la página de inicio: Si sabes hablar francés, sería genial que contribuyeras con artículos, preguntas, respuestas... en la nueva Comunidad! Además... ➡️ Puedes usar el Botón de idioma para cambiar a la versión en francés de las publicaciones. ➡️ Si publicas un artículo en español o en cualquier idioma, puede ser traducido al francés por cualquiera, para que sea útil para más personas. Ahora, cualquiera puede añadir la traducción de un artículo publicado en la Comunidad. Si quieres añadir una traducción, haz clic en el Botón de idioma, elige el idioma al que quieres traducir el artículo y aparecerán tres opciones: hacer la traducción directamente, pedir una traducción o añadir una URL si ya tienes la traducción hecha: ➡️ De la misma forma sucede con la Comunidad en francés – puedes traducir a inglés los artículos en francés. Solo debes asegurarte de que conoces bien los dos idiomas! :) ¡Bienvenidos todos a la Comunidad de Desarrolladores en francés! 🚀 ¿Qué temas os gustaría ver publicados en la Comunidad en francés? Podéis responder en esta encuesta ☑️ O podéis compartir vuestras ideas y sugerencias en los comentarios.
Anuncio
Esther Sanchez · 9 mayo, 2022

2º Gran Premio de Programación de InterSystems

¡Hoy empieza el Concurso Anual para desarrolladores de InterSystems IRIS! Os invitamos a todos a participar en el 2º Gran Premio de Programación para crear soluciones open-source utilizando InterSystems IRIS. ¿Nunca has desarrollado con InterSystems IRIS? ¡No te preocupes! Regístrate en la Comunidad y eres bienvenido al concurso. 🏆 2º Gran Premio de Programación de InterSystems 🏆 Dotación en premios: más de $22 000 Duración: 9 - 29 mayo, 2022 Período de votación: 30 mayo - 5 junio, 2022 Temática El Gran Premio de InterSystems es nuestro concurso de programación anual, para encontrar la mejor aplicación que utiliza InterSystems IRIS. ¡Se pueden presentar aplicaciones sobre cualquier tema! Presenta cualquier aplicación que utilice InterSystems IRIS como backend (API o base de datos) con cualquier tipo de modelo de datos o API InterSystems IRIS. También puedes mejorar las aplicaciones que presentaste en anteriores concursos de InterSystems y presentarlas a este Gran Premio. Por supuesto, se pueden presentar aplicaciones 100% nuevas. Requisitos generales: Aplicaciones aceptadas: aplicaciones nuevas en Open Exchange o existentes, pero con una mejora significativa. Nuestro equipo revisará todas las aplicaciones antes de aprobarlas para el concurso. La aplicación debe funcionar en IRIS Community Edition o en IRIS for Health Community Edition o en IRIS Advanced Analytics Community Edition. La aplicación debe ser Open Source y publicarse en GitHub. El fichero README de la aplicación debe estar en inglés, contener los pasos de la instalación y contener una demo en vídeo o/y una descripción de cómo funciona la aplicación. Se permiten 3 propuestas como máximo por desarrollador. Premios: 1. Nominación de los Expertos – los ganadores serán elegidos por un equipo de expertos de InterSystems: 🥇 1er premio - $7 000 🥈 2º premio - $5 000 🥉 3er premio - $3 000 🌟 Puestos 4-20 - $100 2. Ganadores de la Comunidad – las aplicacions que reciban el mayor número de votos en total: 🥇 1er premio - $3 000 🥈 2º premio - $2 000 🥉 3er premio - $1 000 ✨ Todos los premios incluyen insignias de Global Masters. Nota: Si dos o más participantes obtienen la misma cantidad de votos, todos serán considerados ganadores y el dinero del premio se repartirá entre todos. Fechas importantes: 🛠 Fase de desarrollo y registro de aplicaciones: 9 de mayo, 2022 (00:00 EST): Empieza el concurso. 29 de mayo, 2022 (23:59 EST): Fecha límite para participar. ✅ Fase de votación: 30 de mayo, 2022 (00:00 EST): Empieza la votación. 5 de junio, 2022 (23:59 EST): Termina la votación. Nota: Los desarrolladores pueden mejorar sus aplicaciones a lo largo de todo el período de registro y el de votación. ¿Quién puede participar? Cualquier miembro registrado en la Comunidad de Desarrolladores de cualquier país puede participar en el concurso, excepto los empleados de InterSystems (los "contractors" de InterSystems Corporation también pueden participar). Regístrate aquí en la Comunidad si aún no tienes una cuenta. Los desarrolladores pueden hacer equipos para crear una aplicación colaborativa. Se permiten de 2 a 5 desarrolladores en cada equipo. No os olvidéis de nombrar a todos los miembros del equipo en el README de vuestra aplicación – los perfiles de usuario de la DC. Recursos útiles: ✓ Cómo trabajar con InterSystems IRIS (para principiantes): Build a Server-Side Application with InterSystems IRIS Learning Path for beginners ✓ Para principiantes en ObjectScript Package Manager (ZPM): How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM ✓ Cómo presentar una aplicación al concurso: How to publish an application on Open Exchange How to submit an application for the contest ✓ Sample IRIS applications: objectscript-docker-template rest-api-contest-template native-api-contest-template integratedml-demo-template PythonGateway-template iris-fhir-template iris-fullstack-template iris-interoperability-template iris-analytics-template ¿Dudas, preguntas? Únete al canal sobre el concurso en el servidor de Discord de InterSystems o escríbenos en los comentarios de esta publicación. ¡Estamos deseando ver vuestros proyectos! Buena suerte a todos 👍 Participando en este concurso, aceptas los Términos oficiales de la competición. Por favor, léelos con atención antes de participar. ¡Última semana para participar en el Gran Premio de Programación! ¿Os animáis alguno??
Artículo
Yuri Marx · 7 mar, 2022

Las 10 mejores funcionalidades de InterSystems IRIS

InterSystems IRIS es una gran plataforma de datos y posee las funcionalidades que demanda el mercado. En este artículo, recojo las 10 mejores: Puesto Funcionalidad ¿Por qué? Más información 1 Análisis adaptativo Analizar los datos empresariales actuales "TAL CUAL" y en tiempo real, con menos esfuerzo de modelado, mayor velocidad de ejecución y soporte para los principales visores analíticos (incluyendo Excel) es un factor clave para la estrategia corporativa de las empresas. Enlace 2 Administrador de API Los activos digitales se consumen mediante la API REST. Se requiere controlar la reutilización, seguridad, consumo, catálogo de activos, ecosistema de desarrolladores y otros aspectos en un punto central. El Administrador de API es la herramienta adecuada para hacerlo. Por ello, todas las empresas tienen o quieren tener un administrador de API. Enlace 3 Sharding de la base de datos La cantidad total de datos creados, capturados, copiados y consumidos a nivel mundial aumenta rápidamente. Hasta 2025, se prevé que la creación de datos a nivel mundial crezca hasta más de 180 zettabytes. En este escenario, es crítico para las empresas poder procesar los datos de forma distribuida (en shards, como hadoop o mongodb), para aumentar y mantener el rendimiento. El otro aspecto importante es que IRIS es 3 veces más rápido que Caché y más rápido que las bases de datos de AWS, en la nube de AWS. Enlace 1 Enlace 2 4 Soporte a Python Python es el lenguaje más popular para hacer Inteligencia Artificial (IA). Y la IA está en el centro de la estrategia empresarial, porque permite obtener nuevos conocimientos, conseguir más productividad y reducir costes. Enlace 1 Enlace 2 Enlace 3 5 Las APIs nativas (Java, .NET, Node.js, Python) y PEX En EE. UU. hay casi un millón de ofertas de puestos de trabajo en TI (fuente: https://www.forbes.com/sites/stuartanderson/2021/03/18/over-1-million-job-vacancy-postings-in-computer-occupations-in-us/). Es muy difícil encontrar un desarrollador de ObjectScript. Por eso, es importante ser capaz de utilizar las funcionalidades de IRIS, como la interoperabilidad, con el lenguaje de programación oficial del equipo de desarrolladores (Python, Java, .NET, etc.). Enlace 1 Enlace 2 Enlace 3 Enlace 4 Enlace 5 Enlace 6 6 Interoperabilidad, FHIR y IoT Las empresas se conectan e intercambian datos constantemente. Los departamentos también deben trabajar conectados seguir procesos con mayor valor estratégico y menor coste. La mejor tecnología para ello son las herramientas de interoperabilidad, especialmente ESB, adaptadores de integración, motores de automatización de procesos empresariales (BPL), herramientas de transformación de datos (DTL) y la adopción de estándares de interoperabilidad del mercado, como FHIR y MQTT/IoT. La interoperabilidad de InterSystems soporta todo esto (para FHIR utiliza IRIS for Health). Enlace 1 Enlace 2 Enlace 3 7 Cloud, Docker y Microservicios Ahora todo el mundo quiere una arquitectura de microservicios en la nube. Quieren romper los monolitos para crear proyectos más pequeños, menos complejos, menos acoplados, más escalables, reutilizables e independientes. IRIS permite implementar microservicios de datos, aplicaciones y análisis, gracias a la compatibilidad de IRIS con shards, docker, kubernetes, computación distribuida, herramientas DevOps y menor consumo de CPU/memoria (¡IRIS soporta incluso procesadores de ARM!). Pero los microservicios requieren que la gestión de las APIs de los microservicios, usando el Administrador de API, se utilice de forma alineada con las empresas. Enlace 1 Enlace 2 Enlace 3 Enlace 4 Enlace 5 8 Informes integrados Los informes son cruciales para las empresas. El personal operativo y los responsables de la toma de decisiones utilizan los informes para respaldar su trabajo. Además, se entregan muchos informes a los clientes. Pero, con las aplicaciones móviles, y las aplicaciones de microservicios, es necesario habilitar los informes integrados. IRIS Reports soporta todo esto. Enlace 9 Soporte para VSCode VSCode es el IDE más popular e InterSystems IRIS tiene un buen conjunto de herramientas para usarlo. Enlace 1 Enlace 2 Enlace 3 10 Ciencia de Datos La capacidad de aplicar la ciencia de datos a las solicitudes y respuestas de integración y transacción de datos, utilizando Python, R e IntegratedML (AutoML) permiten que la IA sea inteligente en este momento que requieren las empresas. InterSystems IRIS proporciona IA con Python, R e IntegratedML (AutoML) Enlace 1 Enlace 2 Enlace 3 Este artículo ha sido etiquetado como "Mejores prácticas" ("Best practices"). Los artículos con la etiqueta "Mejores prácticas" incluyen recomendaciones sobre cómo desarrollar, probar, implementar y administrar mejor las soluciones de InterSystems.