Desta vez, quero falar sobre algo não específico do InterSystems IRIS, mas que acho importante se você deseja trabalhar com Docker e seu servidor no trabalho é um PC ou laptop com Windows 10 Pro ou Enterprise.

Como você provavelmente sabe, a tecnologia de contêineres vem basicamente do mundo Linux e, hoje em dia, está em hosts Linux onde apresenta potencial máximo. Quem usa o Windows normalmente vê que tanto a Microsoft quanto o Docker têm feito esforços importantes nos últimos anos que nos permitem rodar contêineres baseados em imagens Linux em nosso sistema Windows de uma maneira muito fácil... mas é algo que não é suportado para sistemas em produção e, este é o grande problema, não é confiável se quisermos manter os dados persistentes fora dos contêineres, no sistema host... principalmente devido às grandes diferenças entre os sistemas de arquivos Windows e Linux. No final, o próprio Docker para Windows usa uma pequena máquina virtual Linux (_MobiLinux) para executar os contêineres... ele faz isso de forma transparente para o usuário do Windows... e funciona perfeitamente bem se, como eu disse, você não exigir que seus bancos de dados sobrevivam mais do que o contêiner...

Bem... vamos direto ao ponto... o ponto é que muitas vezes, para evitar problemas e simplificar, precisamos de um sistema Linux completo e, se nosso servidor for baseado em Windows, a única maneira de fazê-lo é por meio de uma máquina virtual. Pelo menos até o WSL2 no Windows ser lançado, mas isso será uma outra história e com certeza levará um pouco de tempo para se tornar robusto o suficiente.

Neste artigo, vou lhe dizer, passo a passo, como instalar um ambiente onde você poderá trabalhar, se precisar, com contêineres Docker em um sistema Ubuntu em seu servidor Windows. Vamos lá...

2 0
0 741

Olá Comunidade,

Chegou a hora de iniciarmos o desenvolvimento dos relatórios utilizando o InterSystems IRIS Reports, powered by Logi Analytcs.

Lembrando que na primeira parte do artigo falamos o que é o InterSystems IRIS Reports, e como ele vem facilitar a vida dos desenvolvedores na entrega de relatórios, e na segunda parte executamos o procedimento de instalação dos ambientes server e designer e o procedimento para fazer o download dos binários de instalação!

Alguns conceitos importantes antes de iniciarmos o desenvolvimento sobre os tipos de relatórios que podemos desenvolver:

  • Estáticos: Os relatórios e seus resultados não podem ser modificados pelo usuário final. O layout e os dados inclusos são definidos pelo desenvolvedor.
  • Dinâmicos: Os relatórios podem ser modificados pelos usuários finais, como no estático o layout e dos dados são inclusos pelo desenvolvedor, porém o usuário final consegue modificá-los em tempo de execução.
  • Ad Hoc – Relatórios e dados são construídos e modificados em tempo de execução pelo usuário final.
3 2
0 293

Olá comunidade,

Vamos para a 2º parte do artigo InterSystems IRIS Reports.

Somente relembrando na primeira parte do artigo falamos dos desafios existentes para atender a demanda das áreas de negócios, clientes ou usuários finais com a entrega de relatórios em diversos formatos e suas melhorias, e como o InterSystems IRIS Reports vem para facilitar está demanda, facilitando o desenvolvimento, a administração, o deploy de relatórios em diversos formatos, bem como a automação da distribuição por e-mail ou pastas e integração (build-in) em suas aplicações já existentes!

O InterSystems IRIS Reports, powered by Logi Report se encontra disponível para download no WRC (https://wrc.intersystems.com/wrc/coDistribution.csp), lembrando que para clientes que já possuem o licenciamento InterSystems IRIS Advanced Server ou InterSystems IRIS Advanced for Health, precisam somente abrir um chamado solicitando o serial para a instalação do InterSystems IRIS Reports, sem custo adicional.

Como mencionando no artigo anterior o InterSystems IRIS Reports é divido em dois componentes:

Server: O ambiente servidor tem a sua finalidade de administrar as configurações e segurança. É também onde os usuários finais via browser têm acesso aos relatórios, você pode agendar execução de relatórios, aplicar filtros e modificar os relatórios disponibilizados.

Designer: O ambiente designer por sua vez é onde os relatórios são desenvolvidos. É possível visualizar os relatórios antes de disponibilizar acessando diretamente a bases de dados.

3 0
0 218
Artigo
· Dez. 14, 2020 3min de leitura
Mostrar Global por meio do SQL SELECT
Este é um exemplo de codificação funcionando no IRIS 2020.1 e no Caché 2018.1.3 
Ele não será sincronizado com as novas versões      
E também NÃO é atendido pelo Suporte da InterSystems!   

Globais no Caché / Ensemble / IRIS são normalmente invisíveis ao acessar o SQL
Este exemplo mostra como contornar esse limite.

0 0
0 171
Artigo
· Fev. 23, 2021 2min de leitura
Intersystems IRIS Reports

Olá comunidade,

Todos nós já conhecemos o poder da solução InterSystems IRIS Data platform ou IRIS for Health, a facilidade de desenvolver aplicações utilizando Object Script, Java, Node.JS, Python, .NET, com alto desempenho e confiabilidade do nosso banco de dados multi-modelo altamente escalável de forma horizontal ou vertical, o poder da interoperabilidade entre aplicações, com outros bancos de dados, a possibilidade de integrar utilizando diversos protocolos como REST, SOA, MQTT, FTP, etc., a nossa solução de BI, NLP, tudo em um mesmo binário, em uma mesma plataforma, o que facilita a vida do desenvolvedor a entregar soluções inovadoras e confiáveis!

Mesmo entregando soluções inovadoras, existe um desafio diário para muitos desenvolvedores, demandada pelas áreas de negócios, seja para entregar informação para clientes e ou usuários internos/externos etc., que são os relatórios.

4 0
0 145

Olá comunidade,

Nesta 4ª parte vamos falar de uma funcionalidade do InterSystems IRIS Reports chamada de “Bursting”. Vamos primeiro relembrar o que já vimos até o momento.

Entendemos o que é o InterSystems IRIS Reports, instalamos os ambientes: Designer e Server, verificamos os diversos tipos e formatos de relatórios que podemos desenvolver, e entendemos como distribuir um relatório em diversos formatos.

Mas afinal o que é o “Bursting”? Antes de demonstrar está funcionalidade em ação, vamos primeiro refletir sobre a sua necessidade.

Todos nós já nos deparamos com necessidade de processar relatórios com milhares de linhas, e este tipo de relatório normalmente tem um alto custo de processamento no banco de dados com milhares de linhas que não são destinadas a um único usuário, você precisa segregar as informações por região, por alguma categoria seja de produto ou um tipo de exame, ou por alguma hierarquia existente para o seu tipo de negócio. Sem o InterSystems IRIS Reports, você precisaria desenvolver uma ou mais queries aplicando técnicas para filtrar dados com as opções de “filtro” que usuário precisa ou pode ter acesso, e podem ocorrer mais de uma execução por diversos usuários ao longo do dia.

1 0
0 143

Olá desenvolvedores!

Só quero compartilhar uma prática recomendada antiga, mas sempre relevante, sobre a alteração de namespaces @Dmitry Maslennikov compartilhada comigo (de novo).

Considere o método:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

set ns=$namespace

zn "%SYS"

// try-catch in case there will be an error

try {

// do something, e.g. config change

}

catch {}

 zn ns    ; returning back to the namespace we came in the routine

return sc

}

E com o novo $namespace, o método pode ser reescrito como:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

new $namespace

set $namespace="%SYS"

// do something

return sc

}

Então! A diferença é que não precisamos alterar o namespace manualmente, pois ele voltará automaticamente assim que retornarmos o método.

e não precisamos do try-catch (pelo menos para esse propósito) também.

3 0
0 100
Artigo
· Maio 7, 2021 1min de leitura
Dica do portal: modo de sistema

Se você trabalha com o Portal em várias instâncias do Caché, Ensemble ou HealthShare, pode achar útil definir o Modo do Sistema das várias instâncias, de modo a dar a si mesmo um lembrete visual da função daquela em que você está trabalhando atualmente.

Por exemplo:

3 0
0 94
Artigo
· Jun. 1, 2023 2min de leitura
API para importar/exportar rotinas

Esse é um artigo da página de "Perguntas frequentes" (FAQ) da InterSystems.

1. Exportar API

a. Use $system.OBJ.Export() para especificar rotinas individuais para exportar. Por exemplo:

do $system.OBJ.Export("TEST1.mac,TEST2.mac","c:\temp\routines.xml",,.errors)

O formato que você deve especificar é: NomeDaRotina.extensão, e a extensão pode ser: mac, bas, int, inc, obj.

1 0
0 72
Artigo
· Mar. 27, 2023 1min de leitura
Obtendo a lista de rotinas programaticamente

InterSystems FAQ

Você pode recuperar datas e tamanhos de rotina programaticamente usando a consulta RoutineList da classe %Library.Routine (ou apenas %Routine).

A consulta RoutineList tem um argumento e o nome da rotina a ser pesquisado pode ser especificado por correspondência de prefixo ou correspondência intermediária. (Para curingas, especifique * ou ?)

No exemplo a seguir. *.MAC é especificada como argumento.

0 0
0 63

Olá desenvolvedores!

Algumas vezes precisamos inserir ou fazer referência aos dados de classes persistentes diretamente através das globais.

E talvez muitos de vocês estejam esperando que a estrutura de dados da global com os registros seja:

^Sample.Person(Id)=$listbuild("",col1,col,2,...,coln).

Este artigo é um aviso que nem sempre isso é verdade. Não espere que sempre seja assim!

1 0
0 63

Você já deve ter ouvido falar que, a partir das versões IRIS e HealthShare HealthConnect 2023.2, o Apache Server interno será removido da instalação padrão, então será necessário ter um servidor de aplicativos externo como Apache Server ou NGINX.

Neste artigo, procederei à instalação de um HealthShare HealthConnect 2023.1 para que funcione com um servidor Apache pré-instalado. Para isso usarei uma máquina virtual na qual instalei um Ubuntu 22.04.

3 0
0 60

Bom dia / tarde / noite!

Onde trabalhamos usamos 2 versões de cache, a de 2015 (uma base de teste) e uma versão 2018 (Produção) a versão de produção eu consegui rodar normalmente no vscode, já a versão de 2015 não tive sucesso, ele não carrega os namespace, gostaria de saber se realmente não é compatível com a versão, ou se a configuração tem que ser outra, caso seja, alguém pode compartilhar um modelo ou um tutorial?

desde já agradeço a ajuda!

att

Luiz Martarelli

0 1
0 58

Quando você compila rotinas ou classes no terminal, os resultados da compilação são exibidos na tela, portanto, mesmo que ocorra um erro, é fácil verificar.Se você deseja obter apenas informações de erro, precisa planejar um pouco.

O seguinte descreve como obter informações de erro do resultado da compilação em lote de rotinas/classes.

0 0
0 55

Olá Comunidade,

Deseja obter ajuda, discutir um recurso interessante, fazer um anúncio ou compartilhar seu conhecimento? Neste post, vamos dizer-lhe como fazer tudo isso.

Para facilitar a navegação neste "como fazer" basta seguir o conteúdo:

Diretrizes Gerais

Para começar, você precisa clicar no botão "Nova postagem" no menu superior do site da Comunidade de desenvolvedores:

Depois disso, você verá o editor que lhe dará a opção de criar uma Pergunta, um Anúncio, um Artigo ou uma Discussão. Diferentes tipos de postagens têm seus próprios conjuntos de campos obrigatórios e opcionais.

2 0
0 52

Se você sabe vários idiomas e gostaria de compartilhar seu conhecimento com usuários de outras partes do mundo que não falam Português?

Agora é sua hora de brilhar! 🤩

Com nossa Comunidade de Desenvolvedores é fácil associar seu artigo original com a sua tradução em outro idioma (ou mesmo solicitar que seja feita a tradução).

Vamos conversar um pouco sobre como criar sua própria tradução:

1 0
0 48

Olá Desenvolvedores!

Como você provavelmente percebeu, no IRIS 2021 os nomes das globais são randômicos.

E, se você criar classes do IRIS classes com DDL e quiser se certificar qual global foi criada, você provavelmente gostaria de escolher seu nome.

E, de fato, você consegue fazê-lo.

Utilize WITH %CLASSPARAMETER DEFAULTGLOBAL='^GLobalName' na instrução CREATE Table para fazê-lo. Documentação. Veja o exemplo abaixo:

1 0
0 47
Artigo
· Abr. 4, 2023 2min de leitura
Folha de Dicas InterSystems SQL

Olá desenvolvedores!

Como você sabe, o IRIS da InterSystems além de globais, objetos, documentos e modelos de dados XML também suporta relacional onde o SQL é esperado como uma linguagem para lidar com os dados.

E como em outros DBMS relacionais, o InterSystems IRIS possui seu próprio dialeto.

Começo esta postagem para dar suporte a uma folha de dicas SQL e convido você a compartilhar seus favoritos - atualizarei o conteúdo com os comentários recebidos.

Aqui vamos nós!

1 0
0 40

Rubrica de perguntas frequentes da InterSystems

Para resolver o erro <PROTECT>, remova o atributo somente leitura do banco de dados da biblioteca de todo o sistema (IRISLIB para InterSystems IRIS, CACHELIB para Caché/Ensemble/HealthShare (baseado em Caché))

Quando terminar de importar a rotina, lembre-se de alterá-la novamente para somente leitura.

0 0
0 30