Encontrar

Artigo
· 23 hr atrás 12min de leitura

Traçage des applications InterSystems IRIS à l'aide de Jaeger

Nous présentons ici le processus d'utilisation de la célèbre solution Jaeger pour tracer les applications InterSystems IRIS. Jaeger est un produit open source permettant de suivre et d'identifier des problèmes, en particulier dans les environnements distribués et de microservices. Ce backend de traçage, apparu chez Uber en 2015, a été inspiré par Dapper de Google et OpenZipkin de Twitter. Il a ensuite rejoint la Fondation Cloud Native Computing (CNCF) en tant que projet en incubation en 2017, avant d'obtenir le statut gradué en 2019.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Ago. 28 4min de leitura

Una guía para principiantes para crear tablas en SQL y verlas como clases

El artículo de la August Article Bounty en Global Masters llamó mi atención, y uno de los temas propuestos me pareció bastante interesante para tratarlo. Así que esto es lo que me gustaría contarles a mis estudiantes sobre las tablas en IRIS y cómo se relacionan con el modelo de objetos.

Ante todo, InterSystems IRIS cuenta con un modelo de datos unificado. Esto significa que, cuando trabajáis con datos, no estáis atados a un único paradigma. Los mismos datos pueden ser accedidos y manipulados como una tabla SQL tradicional, como un objeto nativo o incluso como un array multidimensional (un global).

Esto quiere decir que, cuando creáis una tabla en SQL, IRIS genera automáticamente una clase de objeto correspondiente. Y, cuando definís una clase de objeto, IRIS la pone automáticamente a disposición como una tabla SQL. Los datos en sí mismos se almacenan una sola vez en el motor de almacenamiento multidimensional de IRIS, que es muy eficiente. El motor SQL y el motor de objetos son simplemente diferentes “lentes” para ver y trabajar con los mismos datos.

Primero, veamos la correlación entre el modelo relacional y el modelo de objetos:

Relacional Objeto
Tabla Clase
Columna Propiedad
Fila Objeto
Clave primaria Identificador de objeto

No siempre hay una correlación 1:1, ya que podéis tener varias tablas que representen una misma clase, por ejemplo. Pero es una regla general.

En este artículo, hablaré sobre cómo crear una tabla listando sus columnas.

El enfoque más básico:

CREATE TABLE [IF NOT EXISTS] table (
   column1 type1 [NOT NULL], 
   column2 type2 [UNIQUE], 
   column3 type3 [PRIMARY KEY]
   ...
   [CONSTRAINT fKeyName FOREIGN KEY (column) REFERENCES refTable (refColumn)]
)

[ ] indican las partes opcionales.

Vamos a crear una tabla DC.PostType, que consiste en tres columnas: TypeID (clave primaria), Name y Description:

CREATE TABLE DC.PostType (
  TypeID        INT NOT NULL,
  Name          VARCHAR(20), 
  Description   VARCHAR(500),
  CONSTRAINT Type_PK PRIMARY KEY (TypeID)
)

Como resultado, obtendremos la siguiente clase después de ejecutar la instrucción SQL anterior:

/// 
Class DC.PostType Extends %Persistent [ ClassType = persistent, DdlAllowed, Final, Owner = {UnknownUser}, ProcedureBlock, SqlRowIdPrivate, SqlTableName = PostType ]
{

Property TypeID As %Library.Integer(MAXVAL = 2147483647, MINVAL = -2147483648) [ Required, SqlColumnNumber = 2 ];
Property Name As %Library.String(MAXLEN = 20) [ SqlColumnNumber = 3 ];
Property Description As %Library.String(MAXLEN = 500) [ SqlColumnNumber = 4 ];
Parameter USEEXTENTSET = 1;
/// Bitmap Extent Index auto-generated by DDL CREATE TABLE statement.  Do not edit the SqlName of this index.
Index DDLBEIndex [ Extent, SqlName = "%%DDLBEIndex", Type = bitmap ];
/// DDL Primary Key Specification
Index TypePK On TypeID [ PrimaryKey, SqlName = Type_PK, Type = index, Unique ];
Storage Default
{
<Data name="PostTypeDefaultData">
<Value name="1">
<Value>TypeID</Value>
</Value>
<Value name="2">
<Value>Name</Value>
</Value>
<Value name="3">
<Value>Description</Value>
</Value>
</Data>
<DataLocation>^B3xx.DXwO.1</DataLocation>
<DefaultData>PostTypeDefaultData</DefaultData>
<ExtentLocation>^B3xx.DXwO</ExtentLocation>
<IdFunction>sequence</IdFunction>
<IdLocation>^B3xx.DXwO.1</IdLocation>
<Index name="DDLBEIndex">
<Location>^B3xx.DXwO.2</Location>
</Index>
<Index name="IDKEY">
<Location>^B3xx.DXwO.1</Location>
</Index>
<Index name="TypePK">
<Location>^B3xx.DXwO.3</Location>
</Index>
<IndexLocation>^B3xx.DXwO.I</IndexLocation>
<StreamLocation>^B3xx.DXwO.S</StreamLocation>
<Type>%Storage.Persistent</Type>
}

}

Observaciones clave

  • TABLE DC.PostType se convierte en Class DC.PostType.
  • La clase Extends %Persistent,, lo que indica a IRIS que debe almacenar sus datos en la base de datos.
    VARCHAR se convirtió en %String.
  • VARCHAR se convierte en %String.
  • INT se convierte en %Integer.
  • La restricción PRIMARY KEY creó un Index con la palabra clave PrimaryKey.

Ahora podéis usar esta tabla/clase desde cualquiera de los dos lados, por ejemplo, usando SQL:

INSERT INTO DC.PostType (TypeID, Name, Description) VALUES (1, 'Question', 'Ask a question from the Community')

Hay mucho más sobre cómo crear tablas usando SQL, así que leed la documentación que se proporciona a continuación.

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Ago. 27

HealthShare Unified Care Record Fundamentals – Virtual September 15-19, 2025 - Registration space available

HealthShare Unified Care Record Fundamentals – Virtual* September 15-19, 2025

*Please review the important prerequisite requirements for this class prior to  registering.

  • Learn the architecture, configuration, and management of HealthShare Unified Care Record.
  • This 5-day course teaches HealthShare Unified Care Record users and integrators the HealthShare Unified Care Record architecture and administration tasks.
  • The course also includes how to install HealthShare Unified Care Record.
  • This course is intended for HealthShare Unified Care Record developers, integrators, administrators and managers.
  • This course is applicable for users of Unified Care Record.

SELF REGISTER HERE

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Ago. 27

[Video] Practical Cybersecurity Measures for Stronger Organizational Resilience

Hi Community,

We're super excited to share the new video in the "Rarified Air" series on our InterSystems Developers YouTube:

⏯ Practical Cybersecurity Measures for Stronger Organizational Resilience

This video gives the outlines of seven practical steps to raise organizational readiness for a security event:

  • enable multi-factor authentication;
  • monitor and restrict web activity;
  • deploy endpoint detection and response (EDR);
  • pre-establish a partnership with a cybersecurity firm;
  • create a clear incident communication plan;
  • run cross-functional tabletop exercises;
  • study the NIST Cybersecurity Framework.

It also encourages building a security culture through interest groups, events, and dedicated communication channels.

🗣 Presenter: @John Paladino, Vice President of Client Services, InterSystems

Enjoy watching, and subscribe for more videos! 👍

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Ago. 27 3min de leitura

Celebrando uma Voz Pioneira na Comunidade de Desenvolvedores

Entre os muitos colaboradores que moldam a Comunidade de Desenvolvedores da InterSystems, alguns trazem não apenas conhecimento técnico profundo, mas uma visão de longo prazo e paixão por capacitar os outros. Uma dessas vozes excepcionais pertence a @John Murray, um veterano das tecnologias InterSystems, defensor do código aberto e membro fundador da Comunidade de Desenvolvedores.

👏 Vamos dar uma olhada mais de perto na notável jornada de John e seu legado contínuo no ecossistema InterSystems.

John começou a trabalhar com os produtos da InterSystems em 1998, exatamente quando o Caché foi lançado. Naquela época, ele fez a transição da Micronetics — um antigo concorrente do M/MUMPS — para as tecnologias da InterSystems após o descontinuamento do MSM. Foi um momento crucial. Em vez de desistir, John se adaptou. Ele se juntou à George James Software (GJS), levando consigo uma dedicação às ferramentas de desenvolvedor que definiriam sua carreira.

Quando a Comunidade de Desenvolvedores da InterSystems foi lançada em 2015, John não hesitou em se envolver, contribuindo desde o primeiro dia e ajudando a moldar o espaço no que ele é hoje. Seu papel contínuo como moderador da comunidade garante que a plataforma permaneça aberta, solidária e valiosa para desenvolvedores de todos os níveis.

O foco profissional de John sempre foi a experiência do desenvolvedor. Desde as primeiras contribuições para ferramentas como Serenji e Umlanji até ajudar os usuários do MSM a migrarem para o Caché, seu impacto tem sido generalizado. No entanto, uma de suas contribuições mais notáveis foi a ascensão do VS Code.

Em março de 2016, John publicou um post intitulado "Alguém usando o Visual Studio Code?" — uma visão muito à frente de seu tempo. Essa percepção inicial levou ao desenvolvimento de extensões personalizadas pela GJS, lançando John no mundo do TypeScript e do código aberto. Desde 2019, John contribuiu com mais de 150 pull requests para a base de código oficial do VS Code, ajudando a moldar o editor usado por milhões de desenvolvedores em todo o mundo.

Desde o primeiro dia, John acreditou no valor de pessoas reais ajudando pessoas reais. Ele incentiva os recém-chegados a buscar respostas por meio de artigos existentes ou fazendo perguntas, enfatizando que, embora a IA tenha suas utilidades, a interação humana genuína é frequentemente a maneira mais poderosa de aprender.

À medida que a Comunidade cresceu, John permaneceu ativo, garantindo que ela continue sendo um lugar para colaboração construtiva e compartilhamento de conhecimento. Seja escrevendo artigos, moderando discussões ou desenvolvendo ferramentas, seu impacto está entrelaçado em toda a nossa plataforma.

Fora de suas atividades profissionais, John encontra alegria e propósito em sua comunidade local e em sua fotografia — um hobby que proporciona equilíbrio e inspiração criativa ao lado de seu trabalho técnico

As contribuições de John Murray — passadas, presentes e contínuas — exemplificam o que significa ser a pedra angular da Comunidade de Desenvolvedores. Por meio de excelência técnica, mentoria e um compromisso com o progresso, ele continua a tornar a InterSystems melhor para todos.

🙏 Junte-se a nós para agradecer a John por sua dedicação duradoura, percepção e liderança na Comunidade de Desenvolvedores.

Discussão (0)2
Entre ou crie uma conta para continuar