Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
As aplicações desenvolvidas no Cronapp não possuem lock-in e podem ser exportadas para serem desenvolvidas em outras plataformas, pois o conteúdo é extraído em código padrão, sem componentes proprietários, de forma organizada, otimizada e atualizada em linguagem padrão de mercado.
Veremos abaixo como importar e exportar os projetos e recursos desenvolvidos no Cronapp.
Âncora | ||||
---|---|---|---|---|
|
Importar projeto
Para importar um projeto, clique com o botão direito do mouse sobre o nome do projeto na árvore de arquivos e , selecione a opção Importar e, em seguida, escolha um dos formatos (Figura 1). Na nova janela, selecione as opções: Soap ou Zip.
Figura 1 - Opções para importar projetos
- Soap: o web service SOAP (Simple Object Access Protocol) é utilizado para disponibilizar serviços interativos e possibilitar a comunicação entre diferentes aplicações através do protocolo SOAP. Através dessa opção será possível gerar Blocos de programação desses recursos.
- OpenApi/Swagger: uma OpenAPI, ou Interface de Programação de Aplicações Aberta, é uma especificação e conjunto de regras que permitem que diferentes softwares se comuniquem entre si de maneira padronizada. Através dessa opção é possível utilizar uma especificação OpenAPI para gerar Blocos de programação e Fonte de dados desses recursos.
Zip: permite importar um projeto compactado em um arquivo
*.zip
.
Âncora | ||||
---|---|---|---|---|
|
Soap
Abra a opção Importar, conforme a Figura 1. Na nova janela (Figura 1.1), selecione a opção Soap e clique em Finalizar. Preencha as informações na janela Importar SOAP e clique em Importar ao final.
Informações |
---|
Acesse a documentação Consumindo Web Service SOAP para detalhes sobre os campos da janela Importar SOAP. |
Figura 1.1 - Importar web service SOAP
Âncora | ||||
---|---|---|---|---|
|
OpenAPI/Swagger
Abra a janela Importar, conforme a Figura 1. Na nova janela (Figura 1.2), selecione a opção OpenApi/Swagger e clique em Avançar. Preencha as informações na janela OpenAPI e clique em Avançar.
Image Added
Figura 1.2 - Importar OpenApi/Swagger
Âncora | ||||
---|---|---|---|---|
|
Zip
Abra a opção Importar, conforme a Figura a Figura 1. Na Na nova janela (Figura 1.23), selecione a opção Zip e clique em Finalizar. Clique em Selecionar na próxima janela para escolher o arquivo em seu Sistema Operacional, espere carregar e clique em OK.
Nota |
---|
Ao importar um projeto Zip a partir de um projeto aberto, o conteúdo do projeto atual será substituído pelo conteúdo do arquivo. Recomendamos importar um projeto Zip selecionando a opção "O projeto está em um arquivo ZIP?" ao Criar projeto. |
Figura 1.2 3 - Importar arquivo .zip
Âncora | ||||
---|---|---|---|---|
|
Exportar projeto
Clique com o botão direito do mouse sobre o nome do projeto na árvore de arquivos e selecione a opção Exportar (Figura 2). Na nova janela, abrirão as opções: War, Exportar para repositório Git, Biblioteca e Zip.
Figura 2 - Opções para exportar projetos
- War: o WAR (Web application ARchive) é um arquivo com o conteúdo da aplicação compactado em uma estrutura pronta para ser executada Pacote para deploy: gera pacotes para publicação em um servidor de aplicação Java web, como o Apache Tomcat.
- Exportar para repositório Git: o repositório Git é um sistema de controle de versões distribuído. Versionar um projeto com o Git é uma boa prática no desenvolvimento de software, principalmente no desenvolvimento colaborativo.
- Biblioteca: a funcionalidade de biblioteca permite fazer uma cópia de alguns recursos selecionados de um projeto Cronapp e utilizá-lo, de forma totalmente independente, em outro projeto, dentro ou fora da plataforma Cronapp.
- Zip: essa opção compacta todo o conteúdo do projeto em um único arquivo
*.zip
, mantendo a mesma estrutura de arquivos.
Âncora | ||||
---|---|---|---|---|
|
Exportar para repositório Git
Abra opção Exportar, conforme a Figura 2. Na nova janela (Figura 2.1), selecione a opção Exportar para repositório git e clique em Avançar. Preencha as informações da janela Versionar o projeto para um repositório Git e clique em Finalizar. Aguarde o progresso e verifique no seu repositório se o projeto foi exportado.
Informações |
---|
Acesse o tópico "Exportar projetos" da documentação Versionamento usando Git para detalhes sobre os campos da janela Versionar o projeto para um repositório Git. |
Figura 2.1 - Exportar para repositório Git
Âncora | ||||
---|---|---|---|---|
|
Biblioteca
Abra opção Exportar, conforme a Figura 2. Na nova janela (Figura 2.2), selecione a opção Biblioteca e clique em Finalizar.
Figura 2.2 - Exportar Biblioteca
Na janela Informações de Geração de Biblioteca, confira os dados apresentados e clique em OK para iniciar a compilação da biblioteca e, depois de algum tempo, iniciará automaticamente o download do arquivo *.jar
. Acesse a documentação Importar e exportar bibliotecas para mais detalhes.
- Id do Contrato: identificador do seu contrato dentro do Cronapp.
- Recursos: exibe a lista de Fontes de dados e Blocos de programação servidor marcados com a opção Exportar Biblioteca.
Âncora | ||||
---|---|---|---|---|
|
Zip
Abra a opção Exportar e na nova janela (Figura 2.3), selecione a opção Zip (destaque 1 da figura 2.3) e clique em Finalizar. O download será feito automaticamente.
Figura 2.3 - Exportar para repositório Zip
Âncora | ||||
---|---|---|---|---|
|
Pacote para Deploy
Abra a opção Exportar, conforme a Figura 2. Na nova janela (Figura 2.4), selecione a opção War Pacote para Deploy e clique em Finalizar. Na janela para abrir a janela Opções da Geração de WarPacote para Deploy, configure suas propriedades e , clique em OK e aguarde o processamento. O download será feito automaticamente.
Image RemovedImage Added
Figura 2.4 - Exportar Pacote de deploy do projeto
Janela Opções de Geração de Pacote para Deploy:
Tipo de Artefato: define o formato do artefato gerado.
Informações O front-end mobile só será incluído no pacote ao selecionar a opção Exportar PWA.
- War Completo: arquivo
*.war
contendo todo o projeto (back-end e front-end). - War Servidor: arquivo
*.war
contendo apenas o back-end do projeto. - War Front-end: arquivo
*.war
contendo apenas o front-end do projeto
- War Completo: arquivo
- .
Zip Front-end: arquivo
*.zip
contendo os arquivos estáticos do front-end.Dica Essa opção pode ser utilizada para publicar sem a necessidade de um servidor de aplicação como o tomcat, servindo diretamente ao nginx, por exemplo.
- Dockerfile: inclui no pacote o arquivo
Dockerfile
. - Certificado SSL (HTTPS): permite selecionar um certificado Let's Encrypts gerado e criado no Serviços de Cloud. Esse campo ficará ativo apenas ao habilitar a opção "Dockerfile".
- Perfil: perfis dos bancos de dados usados no desenvolvimento do projeto: Desenvolvimento, Produção ou outro criado no context.xml.na ferramenta de banco de dados.
- Tipo de Geração: define as ações que serão tomadas com o banco de dados.
- Manter como configurado: mantém as mesmas configurações aplicadas no momento da geração da persistência no Diagrama de Classe;
- Criar ou Atualizar Tabelas: use essa opção para gerar as tabelas do banco de dados pela primeira vez ou caso tenha adicionado novas classes e não tenha feito alterações nas que já existem. Essa opção não apaga os dados do banco de dados;
- Apagar e Recriar Tabelas: apaga todas as tabelas, incluindo seus dados, do banco de dados e recria tudo novamente com as novas alterações feitas;
- Utilizar Tabelas Existentes: não realiza alterações no banco de dados;
- Endereço do Servidor: esse campo é obrigatório ao exportar artefatos contendo apenas o front-end, ele espera receber a URL (domain) da aplicação servidor do projeto.
- Auto Popular Dados: após criar as tabelas do banco de dados, os dados contidos no arquivo populate.json serão inseridos automaticamente.
- Dados de Conexão Embutidos: ao desmarcar, tanto os dados de conexão com o banco de dados quanto os parâmetros do sistema configurados não serão incluídos no arquivo
*.war
, sendo necessário configurá-los posteriormente no servidor da aplicação. - Exportar PWA ou Incluir Projeto Mobile: inclui no pacote
*.war
o diretóriomobileapp/
com o conteúdo do projeto mobile. Esse recurso pode ser utilizado para o PWA. Mais detalhes na documentação Cronapp PWA.
Âncora | ||||
---|---|---|---|---|
|
Dockerfile
Ao selecionar essa opção na janela de Opções de Geração de Pacote para Deploy, o pacote sofrerá algumas alterações:
- O pacote virá compactado em um arquivo
*.zip
. - O arquivo
Dockerfile
será incluído dentro do arquivo compactado, junto com o artefato, e seu conteúdo será modificado com base nas opções selecionadas. - Selecionando o tipo de artefato Front-end zip, o Tomcat não será necessário, podendo servir apenas ao Nginx.
Os arquivos
run.bat
erun.sh
serão incluídos dentro do arquivo compactado, junto com o artefato. Eles possuem comandos docker para simplificar ainda mais a virtualização da aplicação.Bloco de código language bash theme RDark title Executando a aplicação no Linux bash run.sh
Image Added
Figura 2.5 - Configuração do pacote e o conteúdo compactado aberto após o download
Âncora | ||||
---|---|---|---|---|
|
Certificado SSL
Essa opção ficará ativa após habilitar a opção Dockerfile e permitirá a seleção de um dos certificados Let's Encrypts gerado e criado no Serviços de Cloud. Com isso, o pacote sofrerá algumas alterações:
- Os arquivos
fullchain.pem
eprivkey.pem
serão incluídos dentro do arquivo compactado, junto com o artefato. - O
Dockerfile
será modificado e apontará para os caminhos dos arquivos*.pem
. - O Nginx será configurado para atender HTTPS, servindo na porta
443
e redirecionando a porta80
para ela.- Se não for selecionado um certificado, o Nginx atenderá HTTP e servirá apenas na porta
80
.
- Se não for selecionado um certificado, o Nginx atenderá HTTP e servirá apenas na porta
Deploy independente
Ao separar os artefatos do projeto em back-end e front-end, será possível manter duas publicações distintas se comunicando. Para isso, é necessário atender aos critérios abaixo:
- O back-end e front-end devem ser exportados de um mesmo projeto Cronapp.
- Durante a criação do front-end, é necessário informar a URL (domain) do back-end da aplicação.
Nota |
---|
Projetos Cronapp criados antes da versão 2.9.6-SP.44 precisam que o arquivo |
Banco H2
Caso o Perfil selecionado contenha um banco de dados local (H2), mesmo que não utilizado, e a opção Dados de Conexão Embutidos esteja marcada, uma mensagem de alerta será exibida. (Figura 2.5)
Image Modified
Figura 2.5 - Mensagem de confirmação de uso de banco de dados local
Ao clicar em Sim, a IDE irá criar um novo arquivo para o banco H2 no pacote *.war
da aplicação, não carregando os registros do banco de dados em ambiente de desenvolvimento.
Exportando war via comando (High-code)
É possível parametrizar as propriedades da janela Opções de Geração de war no comando Maven "mvn package
". Esses parâmetros são úteis para usuários que automatizam entregas/integração contínuas (CD/CI pipeline) através de ferramentas externas, como por exemplo, o Jenkins.
Os parâmetros extras do "mvn package" são:
- -Dcronapp.artifactType: define o formato do artefato gerado. Deve ser utilizado com uma das chaves abaixo.
- all: arquivo
*.war
contendo todo o projeto (back-end e front-end) (Padrão). - server:
- all: arquivo
- arquivo
*.war
contendo apenas o back-end do projeto. - front-end-war: arquivo
*.war
contendo apenas o front-end do projeto. - front-end-zip: arquivo
*.zip
contendo os arquivos estáticos do front-end.
- arquivo
- -Dcronapp.dockerfile: adiciona o
Dockerfile
no arquivo compactado, junto com o artefato (true/false - Padrão: true). - -Dcronapp.profile: define o perfil da aplicação cronapp.profile: tipo de perfil (DEV, PROD etc - Padrão: DEV).cronapp
- -Dcronapp.generationType:indica qual o tipo de geração de entidades (Para mais detalhes, acesse a documentação do do eclipseLink):. Deve ser utilizado com uma das chaves abaixo.
- create-tables: manter como configurado;.
- create-or-extend-tables: criar ou atualizar tabelas;.
- drop-and-create-tables: apagar e recriar tabelas;.
- none: manter como configurado (Padrão)..
- -Dcronapp.hostApp: URL (domain) da aplicação servidor, necessário para os pacotes que contém apenas o front-end.
- -Dcronappcronapp.populate: indica indica se deve incluir o populate.json json (true/false - Padrão: true);.cronapp
- -Dcronapp.useContext: indica indica se deve incluir o context.xml com os dados de conexão conexão (true/false - Padrão: true);.
- cronapp-Dcronapp.mobileapp: indica se deve incluir o projeto mobile (true/false - Padrão: false).
- -Dcronapp.fullChain: caminho do certificado (
fullchain.pem
). - -Dcronapp.privkey: caminho da chave privada (
privkey.pem
). - -Dcronapp.gzip: utiliza compactação nas requisições (on/off - Padrão: on).
- -Dcronapp.timezone: define o fuso horário do container no servidor da aplicação, veja mais detalhes na lista de timezones Java (padrão: America/Fortaleza).
- -Dcronapp.mem: percentual de memória usada do container pelo tomcat (0~100 - Padrão: 80).
Cada parâmetro deve ser precedido com "-D", como no exemplo abaixo:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
mvn package -Dcronapp.profile=DEV -Dcronapp.populate=true -Dcronapp.useContext=true -Dcronapp.generationType=create-tables -Dcronapp.mobileapp=true -Dcronapp.artifactType=all -Dcronapp.dockerfile=true |
Image Modified
Figura 2.6 - Exportar o arquivo .war do projeto por linha de comando
Os arquivos .war gerados são encaminhados No terminal, o comando deve ser executado a partir do diretório "~/ project/
" e o pacote gerado será encaminhado para o diretório "~/project/target
" e ficam acessíveis /
", ficando acessível apenas via terminal.
Nesta página
Índice |
---|
Saiba mais