Sumário
- Introdução
- Controle de Versão
- Exportando Classes
- Exportando Classes de BI Analytics
- Exportando Globals
Introdução
Neste artigo, cobriremos um início rápido para o desenvolvimento com Git na Comunidade de Desenvolvedores InterSystems e as práticas de controle de versão ao trabalhar com IRIS InterSystems. Abordaremos cenários em que precisamos exportar classes de Interoperabilidade, globals e elementos de analytics, como cubos e dashboards. Esses cenários englobam as principais práticas de controle de versão com o IRIS.
Para começar, você precisará:
- Registrar-se e fazer login no GitHub
- Ser um membro da organização intersystems-community no Git.
Começar com o IRIS InterSystems é muito simples!
O controle de versão com IRIS não é fundamentalmente diferente de qualquer outro projeto. Fazemos alterações nos arquivos e as enviamos (commit) para o repositório. Com o IRIS InterSystems, as alterações feitas dentro do IRIS não são exportadas para o sistema de arquivos externo automaticamente; precisamos de ferramentas especializadas para isso.
Vamos começar criando um repositório e enviando seu código para ele.
Acesse github.com e crie um repositório vazio. Você será solicitado a nomeá-lo, selecionar as configurações de privacidade e usar o template intersystems-community/iris-interoperability-template (isso é possível se você fizer parte da organização InterSystems Community).
Este template contém tudo o que você precisa para começar rapidamente com o IRIS e seus sistemas centrais: classes de interoperabilidade, globals e classes de dados para trabalhar com analytics.
Após preencher os campos, clique em Create repository.
Pronto! Agora temos um repositório. Em seguida, basta cloná-lo em seu disco rígido, construir um container Docker com a imagem do IRIS e começar a codar.
Clone o repositório nos seus arquivos.
.Abra o Visual Studio Code, navegue até o diretório e execute os comandos para construir o projeto:
Em seguida, construímos (build) o projeto:
docker compose build - -no-cache - -progress=plain
E, em seguida:
docker compose up -d
A instalação e o lançamento do seu projeto estão concluídos
Controle de Versão
Para enviar as alterações do seu projeto ao repositório, você precisa retirá-las do container e colocá-las no diretório de trabalho. Para rastrear alterações no IRIS, use o aplicativo git-source-control Ele permite monitorar o estado dos arquivos dentro do sistema de arquivos do IRIS sem configuração adicional e checar a cada mudança.
Nosso template já possui o pacote git-source-control pré-instalado, então podemos ver como funciona e focar no controle de versão. O pacote está no arquivo iris.cls. Note as seguintes linhas:
zpm "install git-source-control"
do ##class(%Studio.SourceControl.Interface).SourceControlClassSet("SourceControl.Git.Extension")
A primeira linha instala o aplicativo a partir do Gerenciador de Pacotes InterSystems (InterSystems Package Manager) ou IMP (ex: ZPM). A segunda linha define a classe do aplicativo git-source-control: "SourceControl.Git.Extension" como um argumento para a classe de sistema %Studio.SourceControl.Interface, o que permite que o VSCode se comunique com a classe de controle de origem. Esta configuração é feita ao construir o contêiner no Dockerfile ou installer.cls, ou, neste caso, no iris.cls.
Exportando classes.
Agora vamos tentar fazer algumas alterações em nosso código e ver o que acontece. Criaremos um cubo de dados para uma das tabelas fornecidas neste template. Para fazer isso, habilite o analytics para o namespace atual executando o seguinte comando no console:
do EnableDeepSee^%SYS.cspServer("/csp/USER/")
Depois disso, acessamos o endereço Management Portal -> Analytics -> Architect e veremos esta janela:
Clique em New (Novo) e preencha os campos no formulário para criar um novo cubo. Para o nosso cubo, usaremos o modelo de dados dc.Demo.PostMessages.
Este é aproximadamente o resultado que você deve obter:
Em seguida, salvamos e compilamos o novo cubo.
Vamos voltar ao VSCode e ver o que mudou.
O novo cubo é carregado para o sistema de arquivos exatamente como o criamos! É simples assim. A seguir, modificaremos uma das classes de produção de negócio.
Acesse o IRIS e navegue até Management Portal -> Interoperability -> Configure -> Production. Lá, veremos o processo de negócio dc.Demo.RedditService em execução.
Vamos fazer uma alteração na definição da classe dc.Demo.RedditService e atribuir a ela uma categoria. Em seguida, clique em Apply (Aplicar).
Voltamos ao VSCode e vemos que a classe do processo de negócio já foi carregada para o nosso sistema de arquivos e contém todas as alterações feitas
Agora, tudo o que temos que fazer é colocar as classes nos diretórios apropriados e enviá-las (commit) para o repositório.
Exportando classes de BI Analytics
A seguir, veremos outro método para exportar arquivos usando elementos de análise de negócios (business analytics) como exemplo. Lembre-se do cubo de dados que criamos com base nas mensagens do Reddit. Vamos criar um pivot e um dashboard para visualizar os dados e tentar exportá-los .Para fazer isso, acesse o IRIS e navegue até Analytics -> Analyzer. Aqui, temos o cubo de dados RedditMessages selecionado e a medida básica Count.
Arraste a medida para o campo Measures e salve o pivot resultante como Reddit Messages Amount.
Em seguida, vamos criar um dashboard para exibir o pivot resultante. Vá para Management Portal -> User Portal. Na janela que se abre, clique no sinal de mais (+) e selecione Add Dashboard.
Preencha o nome do dashboard e clique em OK.
Em seguida, adicione o widget criado anteriormente ao dashboard e clique em OK.
Pronto! Muito simples. Começamos a desenvolver o analytics. Agora precisamos exportar esses elementos. Infelizmente, a versão atual do IRIS e do Git-Source-Control não permite rastrear alterações em classes de analytics automaticamente, mas temos outra ferramenta conveniente para essa tarefa.
Usaremos o iris-bi-utils. Este é um conjunto de utilitários para exportar ou importar quaisquer classes do IRIS para o seu sistema de arquivos. A principal diferença em relação ao Git-Source-Control é que este último rastreia automaticamente as alterações das classes, enquanto o iris-bi-utils exporta as classes manualmente. Usando o aplicativo iris-bi-utils, você pode baixar quaisquer classes e elementos contidos no IRIS.
Então, vamos começar instalando o iris-bi-utils no seu IRIS.
Execute o comando no console:
zpm "install iris-bi-utils"
Em seguida, executamos o comando para definir o diretório raiz do projeto para armazenar os objetos:
do ##class(BIInstruments.utils).workdir("/home/irisowner/dev/")
Os comandos a seguir exportam o pivot e o dashboard desejados. Observe a sintaxe da classe exportada. O nome do elemento deve ser seguido por sua categoria e tipo: .pivot.DFI para o pivot e .dashboard.DFI para o dashboard.
do ##class(BIInstruments.export).export("Reddit Messages Amount.pivot.DFI")
do ##class(BIInstruments.export).export("Reddit overview.dashboard.DFI")
Os arquivos serão exportados para o diretório /dfi. É aqui que as classes de bi analytics são armazenadas.
Nós também as colocamos no diretório apropriado e enviamos as alterações para o repositório.
Exportando globals.
Como regra, não precisamos enviar globals para o repositório durante o desenvolvimento. Muitas vezes, dados sensíveis são armazenados lá, ou o tamanho do global é grande demais. No entanto, se necessário, eles sempre podem ser exportados para um sistema de arquivos externo e enviados ao Git usando este método da classe %Library.Global:
do ##class(%Library.Global).Export("NAMESPACE", "global.name, global.name1,....", “/path/and/outputFileName”)
Isso também pode ser feito através do Portal de Administração. Para isso, vá em Management Portal -> System Explorer -> Globals. Selecione o global desejado e clique em Export. A interface possui uma função de busca conveniente. A exportação é possível para o sistema de arquivos ou para o navegador.
Ao ser exportado, o global pode ser codificado usando diversas variantes das mais comuns.
Isso é tudo! Neste artigo, criamos um repositório, vimos maneiras de exportar classes de negócio, analytics e globals, e enviamos as alterações para o repositório Git.
Links úteis para este artigo:
(2).jpg)
.png)
.png)