发布新帖

検索

文章
· 六月 30 阅读大约需 3 分钟

Construindo a Interface por Prompting vs Backend InterSystems IRIS: Lovable, Spec First e REST API

Olá, desenvolvedores!

Observando a avalanche de ferramentas para desenvolvedores movidas por IA e baseadas em vibe-coding que vêm surgindo quase todo mês, com recursos cada vez mais interessantes, eu fiquei me perguntando se seria possível aproveitá-las com o InterSystems IRIS. Pelo menos para construir um frontend. E a resposta é: sim! Pelo menos com a abordagem que eu segui.

Aqui está minha receita para construir a interface via prompting conectada ao backend IRIS:

  1. Tenha uma REST API no lado do IRIS, que siga uma especificação Open API (swagger).
  2. Gere a interface com alguma ferramenta de vibe-coding (por exemplo, Lovable) e aponte essa interface para o endpoint da REST API.
  3. Pronto!

Aqui está o resultado do meu próprio exercício — uma interface 100% criada via prompt conectada a uma REST API IRIS, que permite listar, criar, atualizar e excluir registros de uma classe persistente (Open Exchange, código do frontend, vídeo):

Qual é a receita em detalhes?

Como obter a especificação Open API (Swagger) a partir do backend IRIS

Peguei o template com a classe persistente dc.Person, que contém alguns campos simples: Nome, Sobrenome, Empresa, Idade, etc.

Achei que o ChatGPT poderia gerar a especificação Swagger, mas talvez fosse tímido para fazer isso com ObjectScript (embora talvez consiga agora). Então, gerei o DDL da classe pelo terminal do IRIS:

Do $SYSTEM.SQL.Schema.ExportDDL("dc_Sample","*","/home/irisowner/dev/data/ddl.sql")

E passei esse DDL para o ChatGPT junto com o seguinte prompt:

Por favor, crie uma especificação Open API no formato JSON versão 2.0 a partir do seguinte DDL, que permita obter todos os registros e registros individuais, além de criar, atualizar e excluir entradas. Adicione também um endpoint _spec com OperationId GetSpec. Por favor, atribua nomes significativos para todos os operationId dos endpoints. O DDL: CREATE TABLE dc_Sample.Person( %PUBLICROWID, Company VARCHAR(50), DOB DATE, Name VARCHAR(-1), Phone VARCHAR(-1), Title VARCHAR(50) ) GO CREATE INDEX DOBIndex ON dc_Sample.Person(DOB) GO

E funcionou muito bem — aqui está o resultado.

Depois disso, usei a ferramenta de linha de comando %REST para gerar as classes backend.

Em seguida, implementei a lógica da API REST no IRIS usando ObjectScript para os métodos GET, PUT, POST e DELETE. Na maior parte, manualmente 😉, com alguma ajuda do Co-pilot no VSCode.

Testei a REST API manualmente com o swagger-ui e, depois que tudo estava funcionando, fui construir a interface:

A interface foi criada usando a ferramenta Lovable.dev via prompt:

Por favor, crie uma interface moderna e prática a partir da seguinte especificação Open API, que permita listar, criar, atualizar e excluir pessoas { "swagger":"2.0", "info":{ "title":"Person API," "version":"1.0.0" }, ....(passei a especificação completa)

Depois que a interface foi construída e testada (manualmente), pedi para o Lovable direcioná-la para o endpoint da REST API no IRIS. Primeiro localmente via Docker, e depois de alguns testes e correções (também via prompts), o resultado foi publicado.

Algumas observações e lições aprendidas

  • A segurança da REST API no lado do IRIS não é muito clara de início (principalmente por questões relacionadas ao CORS). Por exemplo, precisei adicionar uma classe especial cors.cls e modificar manualmente a especificação do Swagger para que o CORS funcionasse.
  • A documentação Swagger não funciona automaticamente em containers Docker no IRIS, mas isso pode ser resolvido adicionando um endpoint _spec e algumas linhas de código em ObjectScript.
  • A especificação Swagger para IRIS deve ser na versão 2.0, e não na mais recente 3.1.

Fora isso, essa abordagem se mostrou uma forma bastante eficiente para um desenvolvedor backend IRIS construir protótipos de aplicações full-stack completos em muito pouco tempo, mesmo sem conhecimento de frontend.

Compartilhe sua opinião. Qual é a sua experiência com vibe-coding no desenvolvimento com IRIS?

Aqui está o vídeo demonstrativo:

讨论 (0)1
登录或注册以继续
问题
· 六月 30

Help with setting up SQL ODBC database connection in IRIS container

I'm running the image "containers.intersystems.com/intersystems/irishealth-community:2025.1" as a container on my local Docker desktop.

Now I want to set up an ODBC SQL connection, but I don't know how to do it.

I have tried various ways without success. Like building my own image (see "Dockerfile" description below).

I have also added ODBCINI variable in my docker-compse (see "Docker-compose.yml" description below).

Anyone done this before?

I'd really appreciate some help.

Thanks.

 

Dockerfile
FROM containers.intersystems.com/intersystems/irishealth-community:2025.1
USER root
RUN apt-get update && \
    apt-get install -y unixodbc odbc-postgresql && \
    apt-get clean && rm -rf /var/lib/apt/lists/*
COPY odbc.ini /etc/odbc.ini
COPY odbcinst.ini /etc/odbcinst.ini
USER irisowner

Docker-compose.yml
services:
  iris:
    build: .
    container_name: iris
    ports:
      - "52773:52773"
      - "1972:1972"
    environment:
      - ODBCINI=/etc/odbc.ini
    volumes:
      - ./iris-init:/irisdev/app
      - iris_data:/ISC/durable
      - /c/temp/IRIS-mnt/mgr:/opt/hc/mgr        # For storing namespace data
    networks:
      - irisnet     # Setting this to be in the same docker network as the postgres database I want to connect to.

volumes:
  iris_data:

networks:
  irisnet:
    external: true

讨论 (1)2
登录或注册以继续
InterSystems 官方
· 六月 30

InterSystems Cloud Services - Notas de la versión - 27 de junio de 2025

Referencia: Build 2025.1.0.1.24372U.25e14d55


Resumen

Esta versión introduce mejoras significativas en seguridad, capacidades de análisis y experiencia del usuario, junto con importantes mejoras operativas destinadas a reducir el tiempo de inactividad y mejorar la confiabilidad.


Nuevas funciones y mejoras

Categoría Característica / mejora Detalles
Analíticas Adaptive Analytics en Data Fabric Studio InterSystems Data Fabric Studio ahora incluye Adaptive Analytics como una función opcional, ofreciendo capacidades avanzadas de análisis directamente dentro de tu flujo de trabajo.
Seguridad    Gestión de Firewall Mejorada La página de gestión del firewall ahora permite crear reglas explícitas de entrada y salida específicamente para el puerto 22, proporcionando mayor seguridad y control de acceso.
Actualización de Seguridad en APIs Personalizadas Las APIs personalizadas han pasado de utilizar tokens de ID a tokens de acceso, fortaleciendo la seguridad mediante una mejor autenticación.
Aplicación Obligatoria de HTTPS para APIs Personalizadas Las APIs personalizadas ya no admiten HTTP; toda la comunicación ahora se realiza exclusivamente a través de HTTPS, garantizando una transmisión de datos cifrada y segura.
Mejoras Generales de Seguridad

Se han aplicado múltiples mejoras de seguridad, reforzando la seguridad en toda la plataforma.

Experiencia de usuario Anuncios y Widgets de Nuevas Funciones Se han introducido widgets adicionales para comunicar de manera efectiva nuevas funciones, anuncios y actualizaciones importantes directamente en el Portal del Servicio en la Nube.
Operaciones Mejora en el Desempeño del Cambio de Zona Horaria El tiempo de inactividad asociado con la operación de cambio de zona horaria en entornos de producción se ha reducido significativamente, de aproximadamente 2 minutos a unos 15 segundos, minimizando el impacto en las operaciones.

Acciones recomendadas

  • Explorad el Adaptive Analytics dentro de Data Fabric Studio para mejorar las capacidades de toma de decisiones basadas en datos.
  • Revisad la configuración del firewall para aprovechar las nuevas reglas de entrada/salida del puerto 22. La primera implementación que realicéis definirá las reglas. Aseguraos de revisar las reglas de salida.
  • Aseguraos de que las APIs personalizadas utilicen SDKs actualizados que empleen tokens de acceso en lugar de tokens de ID, y confirmad que las configuraciones exclusivas de HTTPS se apliquen correctamente.

Soporte

 

Para obtener asistencia, abrid un caso de soporte a través de iService o directamente desde el Portal de Servicios en la Nube de InterSystems.


Gracias por elegir InterSystems Cloud Services.

讨论 (0)1
登录或注册以继续
公告
· 六月 30

Obtenez une certification en tant que professionnel du développement

Vous avez au moins deux ans d'expérience en développement avec la plateforme de données InterSystems IRIS et des connaissances de base en InterSystems ObjectScript ?

Validez votre expertise avec le nouvel examen InterSystems IRIS Development Professional certification, notre premier examen de niveau professionnel !

Badge: InterSystems Certified. InterSystems IRIS Development Professional  

Que couvre l'examen ?

Bonnes pratiques en :

  • Architecture
  • Cycle de développement
  • Récupération de données
  • Code

Pourquoi obtenir une certification ?

👏 Obtenez une reconnaissance officielle de vos compétences et de votre expérience.
🚀 Boostez votre confiance… et votre carrière !

Comme le dit un client certifié InterSystems :

…la certification est une garantie solide que vous possédez l'étendue et la profondeur nécessaires pour opérer efficacement dans ces technologies.

讨论 (0)1
登录或注册以继续
讨论 (2)1
登录或注册以继续