#Caché

3 Seguidores · 223 Postagens

  

InterSystems Caché é um sistema de gerenciamento de banco de dados (DBMS) multimodelo e servidor de aplicações. Veja mais detalhes aqui.

Documentação.

InterSystems Oficial Angelo Bruno Braga · jan 16, 2023

Acabamos de lançar uma pequena atualização no gerenciador de pacotes, que foi renomeado de ZPM para IPM, conforme expliquei em Novembro.  É puramente uma versão de correção de bug, interpretando corretamente os códigos de retorno ROBOCOPY e corrigindo uma regressão que impedia a instalação de determinados pacotes.

Obtenha aqui:

https://github.com/intersystems/ipm/releases/tag/v0.5.2

0
0 137
Artigo Danusa Calixto · jan 11, 2023 20m read

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.

0
0 153
Artigo Danusa Calixto · Dez. 22, 2022 6m read

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?
  • CI/CD do GitLab 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.

Neste artigo, falaremos sobre os contêineres e como (e por que) podem ser usados.

0
0 103
Artigo Danusa Calixto · Dez. 22, 2022 10m read

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, ab

0
0 116
Artigo Danusa Calixto · Dez. 15, 2022 5m read

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 164
Artigo Danusa Calixto · Nov. 19, 2022 20m read

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

Na parte anterior desta série curta, aprendemos sobre o caso de uso simples – atuando como um cliente OAUTH[1]. Agora, é hora de levar nossa experiência a um nível completamente novo. Vamos construir um ambiente muito mais co

0
0 231
InterSystems Oficial Angelo Bruno Braga · Nov. 10, 2022

Tenho o prazer de anunciar um marco no ciclo de vida do gerenciador de pacotes ObjectScript, ZPM. O gerenciador de pacotes oferece aos desenvolvedores a capacidade de empacotar o código ObjectScript e as configurações de implantação e as informações de versão de maneira conveniente. Ao longo dos últimos anos, evoluiu muito para uma parte integrante de muitos fluxos de trabalho de desenvolvimento.

Ele provou ser tão importante que a InterSystems decidiu usá-lo para empacotar nossos próprios componentes, e isso nos levou a uma decisão de mover o repositório GitHub da comunidade para o nosso cor

0
0 204
Artigo Danusa Calixto · Nov. 9, 2022 10m read

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 artigo anterior, 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. Ainda assim, nosso foco foi na parte da implementação do desenvolvimento de software, mas esta parte apresenta:

  • Fluxo de trabalho do GitLab — um processo completo do ciclo de vida do software, desde a ideia até o feedback do usuário
  • Entrega Contínua — uma abordagem de engenharia de software em que as equipes produzem software em ciclos curtos, garantindo que o software possa ser lançado de forma confiável a qualquer momento. Seu objetivo é construir, testar e lançar software com mais rapidez e frequência.
0
0 332
Artigo Danusa Calixto · Nov. 9, 2022 1m read

Recentemente, houve um thread de e-mail interno no qual o servidor SMTP deve ser usado em demonstrações. Eu pensei em compartilhar os comentários desse tópico:

  • Pessoa 1: tentei o Gmail (smtp.gmail.com, porta 465) esta manhã, funciona bem. Para usar o Gmail, você deve ativar a verificação em duas etapas para sua conta do Google e gerar a senha do aplicativo. https://support.google.com/mail/answer/185833?hl=pt
  • Pessoa 2:  Eu uso https://www.hmailserver.com 
  • Pessoa 3: Eu também uso o hMailServer como um servidor SMTP local em minhas VMs de demonstração, com um cliente de email (geralmente Out
0
0 100
Anúncio Cristiano Silva · Out. 25, 2022

Eu gostaria de anunciar o lançamento de algo realmente bastante interessante - revolucionário na verdade. Isso pode soar exagerado, mas acho que você não viu nada parecido com isso, ou mesmo pensou que fosse possível!

Lançamos um novo módulo JavaScript/Node.js chamado glsdb, mais informações:

https://github.com/robtweed/glsdb

No entanto, para os propósitos deste anúncio aqui, quero apenas focar em uma parte do glsdb: suas APIs que abstraem classes IRIS (ou Caché) como objetos JavaScript equivalentes.

Vamos dar uma olhada rápida no que quero dizer com isso, porque quero dizer Objetos JavaSc

0
0 125
Pergunta Gilmar Silveira · Set. 13, 2021

tem este wsdl

https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/Aten…

<xs:element name="consultaCEP" type="tns:consultaCEP"/>

tem um method  consultaCEP

quero passar um Cep e receber o retorno

<script language=cache runat=server>
       // instancia a classe cliente SOAP
               Set cliente=##class(AtendeClienteService.AtendeClientePort).%New()
               set cep="",cep="88133150"
               set resp=cliente.consultaCEP(cep)
              resp              
             
</script>

Alguém no grupo já conseguiu fazer isso

teria como ajudar

2
0 555
Artigo Danusa Calixto · Out. 10, 2022 1m read

Se estiver manipulando XML, muitas vezes ele pode ser não formatado para exibição humana.

Usando um pouco de magia XSLT você pode formatar o XML em apenas duas linhas de código...

ClassMethod Format(pXmlStream As %CharacterStream, Output pXmlStreamFormatted As %CharacterStream) As %Status
{
    set xslt=##class(%Dictionary.XDataDefinition).%OpenId(..%ClassName(1)_"||XSLT",-1,.sc)
    quit ##class(%XML.XSLT.Transformer).TransformStream(pXmlStream,xslt.Data,.pXmlStreamFormatted)
}
XData XSLT
{
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-dec
0
0 202
Artigo Julio Esquerdo · Out. 10, 2022 15m read

Olá,

De acordo com a Wikipédia, o kafka é:

"uma plataforma open-source de processamento de streams desenvolvida pela Apache Software Foundationescrita em Scalae JavaO projeto tem como objetivo fornecer uma  plataforma unificada, de alta capacidade e baixa latência para tratamento de dados em tempo real. Sua camada de armazenamento é, essencialmente, uma "fila de mensagens de publishers/subscribers maciçamente escalável projetada como um log de transações distribuído", tornando-o altamente valioso para infra-estruturas corporativas que processam transmissão de dados."

Neste pequeno exemplo,



0
0 581
Artigo Julio Esquerdo · Abr. 12, 2022 6m read

Julio Esquerdo e Lucio Mattos

Atualmente temos muitos recursos dentro do IRIS como por exemplo suporte REST, programação em Python, suporte a SQL, orientação a objetos, ML, IA, e uma infinidade de outras funcionalidades.

Mas aqueles que programam os códigos que serão utilizados, mesmo com os atuais recursos disponíveis, sabem que será necessário trazer dados para uma área de utilização, para posterior trabalho.

O IRIS tem suporte ao que chamamos de Variáveis Locais, que são estruturas armazenadas dentro do processo corrente, só estão disponíveis para o processo que as armazena e ao término

1
0 330
Artigo Danusa Calixto · Ago. 12, 2022 4m read

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:

ClassMethod ActivateSQL(customerId) as %Status
{
   &sql(Update Test.Customer Set Active=1 Where ID=:customerId)
   If SQLCODE'=0 {
      Set exception = ##class(%Exception.SQL).CreateFromSQLCODE(SQLCODE, $Get(%msg))
      Quit exception.AsStatus()
   } 





0
0 125
Pergunta Alexandre Lago · Jun. 21, 2022

Olá, comecei a trabalhar com Caché a pouco, e estou em treinamento.

Me surgiu uma dúvida de uma determinada atividade, aonde a regra solicita que o usuário digite uma string, e selecione uma das opções listradas, e uma delas e informar a palavra com maior número de carácteres da string.

Já tentei de tudo, porém não consegui chegar a nenhuma conclusão.

Desde já agradeço

3
0 323
Pergunta Walter Brandes · Ago. 2, 2022

estou com um erro neste metodo abaixo  de uma classe WEBSERVICES:

Method CONSULTATUDO() As %List [ WebMethod ]
{
set mylist=##class(%ListOfDataTypes).%New()
M="" VET
F  M=$O(^IGREJA(M),1,REG) Q:M=""  NOME=$P(REG,"^",1),IDADE=$P(REG,"^",2),VET(NOME,M)=IDADE
(N,M)=""
F  N=$O(VET(N)) Q:N=""  F  M=$O(VET(N,M)) Q:M=""  X=M_"^"_N_"^"_VET(N,M) do mylist.Insert(X)
;K ^WB for I=1:1:mylist.Count() S ^WB(I)=mylist.GetAt(I)
quit mylist
}}
Method CONSULTATUDO() As %List [ WebMethod ]
{
set mylist=##class(%ListOfDataTypes).%New()
M="" VET
F  M=$O(^IGREJA(M),1,REG) Q:M=""  NOME=$P(REG,"^",1)

4
0 190
Pergunta Anderson F · Abr. 5, 2022

Bom dia a todos.

Preciso consultar informações das tabelas/classes que estejam em lock

Eu achei na documentação a classe %SYS.LockQuery mas no exemplo ela parece ser uma Class Query(não estou acostumado com esse conceito) e só consigo consumir os dados via Object Script usando um %ResultSet

Existe alguma forma de consumir essas informações diretamente via SQL ?

Grato por qualquer ajuda

2
0 312
Pergunta Luiz Henrique Carvalho Martarelli · Mar. 31, 2022

Bom dia, tarde, noite!

Estou com um problema com o processo de mapeamento das conexões gateway SQL com o banco da Oracle.

Foi realizado todo o processo de conexão pelo Portal e ele funciona perfeitamente. Porem toda vez que é feito alguma operação, ele cria uma nova conexão e deixa aberta.

queria saber se tem como reutilizar a mesma conexão. ou matar ela após executar as operações (Select, Update, Detele, ....)

Desde já agradeço!

Att

Luiz Martarelli

3
0 164
Pergunta Arian Botine · Mar. 19, 2022

Antes de mais nada, o exemplo abaixo trata-se da manutenção de um código legado e em uma nova implementação não usaria a ^CacheTemp dessa forma.

Em determinado momento na codificação, realizamos um $GET em uma variavel do tipo global na CacheTemp da seguinte forma:

Set dataHora = $GET(^CacheTemp.ResAnteriores("DataColeta",pUsuario,pSessao,paciente,objOs.%Id(),pProcedimento),"")

Sendo que a global, nesses termos, está <UNDEFINED>, porém em tempo de execução o retorno é um dump de memoria, fazendo com que nos logs de console (cconsole.log) o erro abaixo seja apresentado e o processo seja in

1
0 184
Artigo Fernando Ferreira · Mar. 18, 2022 8m read

Olá comunidade! Nesta parte do artigo temos um cenário onde o nosso ambiente InterSystems Caché/Ensemble possui um ou mais servidores com Shadow e/ou Mirror.

Como comentado no início do artigo, componentes de um software possuem uma evolução natural e outros componentes são deprecados. E uma tecnologia muito utilizada pelos nossos clientes que está deprecada no InterSystems IRIS é o Shadow (esta informação está na página 18 do documento InterSystems IRIS Adoption Guide que volto a recomendar que você faça o download no WRC).

Como o Shadow é um componente deprecado, o cenário que vamos uti

0
1 333