Artigo
· Jun. 10, 2023 9min de leitura
Revendo 20 anos

20 anos.

Agora em 2023 eu completo 20 anos trabalhando com tecnologia, desenvolvendo sistemas, implementando, criando novas soluções e posso afirmar que trabalhar com tecnologia InterSystems fez e faz parte da minha vida. Afinal, foram 18 anos trabalhando todos os dias com essa tecnologia.

Comecei a trabalhar com o Caché 4, lá atrás em 2003, vivenciei as mudanças para o Caché 5, Caché e Ensemble 2008, 2010, 2012, 2014, 2017, 2018 e até finalmente chegarmos no InterSystems IRIS.

19 4
0 139

Sua aplicação está implantada e tudo está funcionando bem. Ótimo, bate aqui! Então, do nada, o telefone começa a tocar sem parar – são os usuários reclamando que, às vezes, a aplicação está "lenta". Mas o que isso significa? Às vezes? Quais ferramentas você tem e quais estatísticas você deve examinar para encontrar e resolver essa lentidão? A infraestrutura do seu sistema está à altura da tarefa de carga do usuário? Que perguntas de design de infraestrutura você deveria ter feito antes de entrar em produção? Como você pode planejar a capacidade de um novo hardware com confiança sem excesso de especificações? Como você pode parar o telefone de tocar? Como você poderia ter impedido o telefone de tocar em primeiro lugar?

0 0
0 138

Criado por Daniel Kutac, Engenheiro de vendas, InterSystems

Aviso: se você ficar confuso com os URLs usados: a série original usou telas de uma máquina chamada dk-gs2016. As novas capturas de tela foram tiradas em uma máquina diferente. Você pode tratar o URL WIN-U9J96QBJSAG como se fosse o dk-gs2016 com segurança.

Parte 2. Servidor de autorização, servidor OpenID Connect

0 0
0 124
Artigo
· Mar. 18, 2021 3min de leitura
Aproveitando ao máximo $ Query

Encontrei um caso de uso interessante do ObjectScript hoje com uma solução geral que gostaria de compartilhar.

Caso de uso:

Eu tenho uma matriz JSON (especificamente, no meu caso, uma matriz de problemas de Jira) que desejo agregar em alguns campos - digamos, categoria, prioridade e tipo de problema. Em seguida, desejo nivelar os agregados em uma lista simples com o total de cada um dos grupos. Claro, para a agregação, faz sentido usar uma matriz local na forma:

1 0
0 112

Nesta série de artigos, quero apresentar e discutir várias abordagens possíveis para o desenvolvimento de software com tecnologias da InterSystems e do GitLab. Vou cobrir tópicos como:

  • Git básico
  • Fluxo Git (processo de desenvolvimento)
  • Instalação do GitLab
  • Fluxo de trabalho do GitLab
  • Entrega contínua
  • Instalação e configuração do GitLab
  • CI/CD do GitLab

No primeiro artigo, abordamos os fundamentos do Git, por que um entendimento de alto nível dos conceitos do Git é importante para o desenvolvimento de software moderno e como o Git pode ser usado para desenvolver software.

No segundo artigo, abordamos o fluxo de trabalho do GitLab: um processo inteiro do ciclo de vida do software e a entrega contínua.

Neste artigo, vamos discutir:

  • Instalação e configuração do GitLab
  • Conexão dos seus ambientes ao GitLab
0 0
0 108

Na última postagem, agendamos a coleta de métricas de desempenho durante 24 horas usando pButtons. Nesta postagem, vamos ver algumas métricas essenciais que estão sendo coletadas e como elas estão ligadas ao hardware do sistema. Também começaremos a explorar a ligação entre as métricas do Caché (ou de qualquer plataforma de dados InterSystems) e as métricas do sistema. Além disso, veremos como você pode usar essas métricas para entender a integridade diária de seus sistemas e diagnosticar problemas no desempenho.

0 0
0 107

Como todos nós sabemos, o InterSystems IRIS possui uma ampla gama de ferramentas para melhorar a escalabilidade dos sistemas de aplicação. Em particular, muito foi feito para facilitar o processamento paralelo de dados, incluindo o uso de paralelismo no processamento de consultas SQL e o recurso mais chamativo do IRIS: o sharding. No entanto, muitos desenvolvimentos maduros que começaram no Caché e foram transportados para o IRIS usam ativamente os recursos de multimodelos deste DBMS, que são entendidos como permitindo a coexistência de diferentes modelos de dados dentro de um único banco de dados. Por exemplo, o banco de dados HIS qMS contém modelos de dados semânticos relacionais (registros médicos eletrônicos), relacionais tradicionais (interação com PACS) e hierárquicos (dados de laboratório e integração com outros sistemas). A maioria dos modelos listados é implementada usando a ferramenta qWORD do SP.ARM (um mini-DBMS que é baseado no acesso direto a globais). Portanto, infelizmente, não é possível usar os novos recursos de processamento de consulta paralela para escalonamento, uma vez que essas consultas não usam o acesso IRIS SQL.

Enquanto isso, conforme o tamanho do banco de dados cresce, a maioria dos problemas inerentes a grandes bancos de dados relacionais tornam-se adequados para os não relacionais. Portanto, esse é o principal motivo pelo qual estamos interessados ​​no processamento paralelo de dados como uma das ferramentas que podem ser usadas para escalonamento.

Neste artigo, gostaria de discutir os aspectos do processamento paralelo de dados com os quais tenho lidado ao longo dos anos ao resolver tarefas que raramente são mencionadas em discussões sobre Big Data. Vou me concentrar na transformação tecnológica de bancos de dados, ou melhor, em tecnologias de transformação de bancos de dados.

1 0
0 104

No coração do IRIS e do Caché está uma arquitetura de banco de dados muito interessante que nós, na M / Gateway Developments, chamamos de "Armazenamento Global". Se você sempre quis saber mais sobre os fundamentos e recursos desse banco de dados subjacente, pode ler uma análise importante que reunimos:

https://github.com/robtweed/global_storage

Entre outras coisas, você descobrirá que:

3 0
0 101

O problema do grupo Pardini era mudar a plataforma de banco de dados "Nós construímos nosso negócio nele, então você pode imaginar como é arriscado mudar a plataforma de banco de dados abaixo dele. Ao escolhermos o InterSystems IRIS for Health conseguimos o crescimento das operações e de serviços com a velocidade que os negócios exigem", a companhia iniciou o desenvolvimento do sistema de informações laboratoriais (Lis) na plataforma de dados InterSystems Caché,

1 0
0 101

A versão mais recente do Serenji se concentra na experiência de depuração. Agora você não só pode depurar no local, não importa onde esteja ou o que estiver fazendo, mas também adicionamos alguns recursos menores que tornarão a depuração mais direta.

  • Executar e depurar CodeLenses - links clicáveis ​​acima de cada método de classe, procedimento, sub-rotina ou função extrínseca.
  • Solicitação intuitiva de pontos de entrada e argumentos - ao depurar um método de classe, produzir, sub-rotina ou função extrínseca.
  • Plano de fundo sombreado somente leitura - para diferenciar claramente entre documentos editáveis ​​e somente leitura.
  • Saída do programa no console de depuração - a saída é mostrada no console de depuração.
  • Comandos do Serenji nas árvores de namespace do Server Manager - permitindo que você inicie o Serenji por meio do Server Manager.

Saiba mais em nossas notas de lançamento aqui.

1 0
0 97

Criado por Daniel Kutac, Engenheiro de vendas, InterSystems

Parte 3. Apêndice

Explicação sobre as classes OAUTH do InterSystems IRIS

Na parte anterior da nossa série, aprendemos a configurar o InterSystems IRIS para atuar como um cliente OAUTH, além de um servidor de autorização e autenticação (pelo OpenID Connect). Nesta parte final da série, vamos descrever classes que implementam o framework OAuth 2.0 do InterSystems IRIS. Também vamos discutir casos de uso para métodos selecionados de classes de API.

As classes de API que implementam o OAuth 2.0 podem ser separadas em três grupos diferentes de acordo com a finalidade. Todas as classes são implementadas no namespace %SYS. Algumas delas são públicas (por % pacote), outras não e não devem ser chamadas diretamente pelos desenvolvedores.

1 0
0 95
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 95

O lançamento mais recente do Serenji apresenta nossa inovadora tecnologia gj :: locate. Era uma ferramenta autônoma que criamos originalmente para um concurso da Comunidade de Desenvolvedores no início deste ano, mas nós a incorporamos em nosso depurador após alguns ótimos comentários dos desenvolvedores.

Ele funciona navegando diretamente para a fonte de seus erros do lado do servidor em apenas alguns cliques - permitindo que você corrija os erros rapidamente sem a necessidade de contar linhas tediosas de código ... e sejamos realistas, quem tem tempo para que quando você está sob pressão para consertar esse bug?

É simples e fácil de usar:

1. Clique no painel gj :: locate na barra de status

2. Insira a mensagem de erro do ObjectScript ou a referência de linha de uma rotina class / .mac.

3. gj :: locate então faz o trabalho para você, levando-o diretamente para a linha correspondente em seu código-fonte.

Muito fácil ... e com tempo de sobra para fazer um café antes do prazo!

Abaixo há um link do vídeo que mostra isso em ação - diga-nos se você já tentou. Ou, se você estiver interessado em experimentá-lo, oferecemos uma licença de avaliação gratuita de 30 dias, apenas me mande uma mensagem através da Comunidade de Desenvolvedores ou envie um e-mail para info@georgejames.com.

Serenji 3.2.0 utilising gj::locate technology

1 0
0 93
Artigo
· Out. 8, 2021 1min de leitura
Depure várias sessões com Serenji 3.2

Olá desenvolvedores!

Incorporamos o suporte do VS Code para várias sessões de depuração simultâneas e consoles na versão mais recente do Serenji.

Portanto, se você estiver trabalhando com processos que se relacionam ou dependem uns dos outros, agora você pode depurá-los juntos. Basta iniciar uma segunda sessão de depuração do Serenji (F5) enquanto a primeira ainda está ativa

Este pequeno vídeo abaixo mostra como funciona. Esperamos que você ache este recurso útil!

Laurel

https://www.youtube.com/watch?v=cs6UiAvUj24

2 0
0 91

Olá Comunidade!

Quero apresentar a você um novo recurso poderoso do objectscriptQuality, nosso analisador de código estático.

Cada vez que uma nova versão do IRIS é lançada, você precisa preparar um roadmap para a migração, gastando muito tempo em testes para descobrir onde o seu código não funciona com a versão mais recente. Ou, talvez, você precise que o seu código seja compatível com várias versões do IRIS ou Caché.

0 0
0 85
Artigo
· Ago. 12, 2022 4min de leitura
Cuidado ao combinar OO e SQL

A combinação da sintaxe de objetos com SQL é um dos recursos legais no Object Script. No entanto, em um caso, forneceu resultados estranhos. Portanto, decidi isolar esse caso e descrevê-lo aqui.

Digamos que você precisa escrever um classmethod que atualiza uma única propriedade no disco. Geralmente, eu escreveria isso usando SQL, desta forma:

4 0
0 84

Nesta série de artigos, quero apresentar e discutir várias abordagens possíveis para o desenvolvimento de software com tecnologias da InterSystems e do GitLab. Vou cobrir tópicos como:

  • Git básico
  • Fluxo Git (processo de desenvolvimento)
  • Instalação do GitLab
  • Fluxo de trabalho do GitLab
  • Entrega contínua
  • Instalação e configuração do GitLab
  • CI/CD do GitLab
  • Por que contêineres?
  • Infraestrutura dos contêineres
  • CD usando contêineres

No primeiro artigo, abordamos os fundamentos do Git, por que um entendimento de alto nível dos conceitos do Git é importante para o desenvolvimento de software moderno e como o Git pode ser usado para desenvolver software.

No segundo artigo, abordamos o fluxo de trabalho do GitLab: um processo inteiro do ciclo de vida do software e a entrega contínua.

No terceiro artigo, abordamos a instalação e configuração do GitLab e a conexão dos seus ambientes a ele

No quarto artigo, escrevemos uma configuração de CD.

No quinto artigo, falamos sobre contêineres e como (e por que) eles podem ser usados.

No sexto artigo, vamos discutir os principais componentes necessários para executar um pipeline de entrega contínua com contêineres e como eles trabalham juntos.

Neste artigo, criaremos a configuração de entrega contínua discutida nos artigos anteriores.

0 0
0 81
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 74

Incrível esse legado! Esse é um dos motivos principais do sucesso da Intersystems.

Fiz um teste simples essa semana e não é que deu certo? Qual linguagem tem essa capacidade? Qual banco de dados pode-se ter Globais e Tabelas SQL? Isso sem falar na velocidade! Será covardia o BachMark entre MS-SQL e Caché. Qual o sistema que vc pode instalar em seu notebook e apresentar resultados como se estivesse em um Servidor?

0 0
0 71
Artigo
· Jun. 28, 2021 5min de leitura
Views materializadas

Uma VIEW em SQL é basicamente uma instrução SQL preparada.
Deve ser executado e montado como qualquer outra consulta SQL.
VIEW MATERIALIZADA significa que o conteúdo é coletado antes das mãos e pode ser recuperado com bastante rapidez.
Eu vi o conceito primeiro com meu concorrente favorito chamado O * e eles fizeram muito barulho sobre isso.


{ favorite: because I could win every benchmark against them devil }

1 0
0 70
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 64