Name Last Update
docker Loading commit data...
manuais Loading commit data...
src Loading commit data...
.gitignore Loading commit data...
CHANGELOG Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
pom.xml Loading commit data...
protocolo-web-db.sql Loading commit data...

README.md

PROTOCOLO ELETRÔNICO WEB

License: CC BY-NC-SA 4.0 License: GPL v3

INTRODUÇÃO

Sistema de Protocolo Eletrônico é uma ferramenta de gestão de processos administrativos utilizada no âmbito do Ministério do Planejamento, Desenvolvimento e Gestão. Essa ferramenta permite que quaisquer pessoas físicas ou pessoas jurídicas, por meio de seus representantes legais, protocolem documentos mediante a realização de um breve cadastro.

REQUESITOS DE HARDWARE

Os requisitos de hardware dependem quase que inteiramente do tamanho e do número de arquivos que estão sendo processados. Essas recomendações devem ser consideradas como o mínimo para um sistema de produção e para testes de funcionalidade:

  • Processador: 2 núcleos de CPU;
  • Memória: 4GB;
  • Espaço em disco (processamento): 20 GB.

REQUESITOS DE SOFTWARE

  • Java (JDK8)
  • MySQL 5.7 ou superior (Banco de Dados)
  • Apache 2 (Servidor de aplicação)
  • Linux (Sistema Operacional)

O sistema de Protocolização Web faz o uso de um diretório do sistema operacional para guardar os arquivos físicos em PDF. As configurações ficam no banco de dados.

INSTALAÇÃO

Assume-se aqui que o seu sistema operacional host é o Ubuntu. Isso pode ser modificado para um sistema operacional diferente baseado em Unix, como o Mac OS X ou outra distribuição do Linux, como o CentOS. Essas instruções não funcionarão se você estiver usando o Windows como o sistema operacional host. Para instalações no Windows, você pode criar uma máquina virtual e seguir as instruções de instalação manual.

INSTRUÇÕES

O Protocolo Eletrônico já está dockerizado, portanto ele pode ser instalado utilizando o docker ou em um servidor de aplicação direto do servidor. Estas instruções serão separadas em duas partes uma para docker e outra via Tomcat.

1. Instalação via Tomcat

PRÉ-REQUISITOS

Para que a configuração da aplicação seja efetuada corretamente será necessário ter instalado no ambiente desejado os seguintes requisitos:

  • JDK8 ou superior;
  • Mysql 5.7 ou superior;
  • Maven 3 ou superior.

CONFIGURANDO DE BANCO DE DADOS

Crie uma base de dados chamada “protocolo” dentro do seu banco de dados Mysql;

Execute o seguinte comando

mysql -uMYSQL_USER -pMYSQL_PASSWORD protocolo < protocolo-web-db.sql

CONFIGURANDO O SISTEMA

Adicione no arquivo “conf/context.xml” do tomcat 8.5 a tag xml abaixo dentro da tag Context:

    <Resource
        name="jdbc/protocoloDB"
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="100"
        maxIdle="30"
        maxWait="10000"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://MYSQL_HOST:MYSQL_PORT/MYSQL_DB?useSSL=false"
        username="MYSQL_USER"
        password="MYSQL_PASSWORD" 
    />

Criar uma pasta chamada “protocolo_arquivos” dentro da “/opt” e dar permissão de escrita 777;

Compilação

Entrar na pasta onde o projeto foi clonado e executar o comando abaixo como root;

mvn dependency:resolve-plugins clean install

Após o projeto ter sido compilado entre na pasta /target e Copie o arquivo protocolo.war para a pasta webapps do seu tomcat 8.5;

2. Instalação via Docker

Assume-se aqui que o seu sistema operacional host é o Debian 8 ou superior. Isso pode ser modificado para um sistema operacional diferente baseado em Unix, como o Mac OS X ou outra distribuição do Linux, como o CentOS. Essas instruções não funcionarão se você estiver usando o Windows como o sistema operacional host. Para instalações no Windows, você pode criar uma máquina virtual e seguir as instruções de instalação manual.

INSTRUÇÕES

$
$ echo "Parametros "
$ 
$ set HOSTNAME="Informe aqui o hostname da aplicação"
$
$ set REPOSITORIO-GIT="Informe aqui a url do repositorio Git"
$
$ set GRUPO-GIT="Informe aqui o nome do grupo do projeto no repositorio Git"
$
$ set TAG="Informe aqui a tag criada para o projeto no repositorio Git"
$
$ echo "Container para o serviço de banco de dados MySQL 5.7 "
$
$ docker run \
    --restart unless-stopped \
    --name protocolo-banco \
    --publish 3306:3306 \
    --volume /opt/protocolo/mysql:/var/lib/mysql \
    --env ALLOW_EMPTY_PASSWORD=yes \
    --env MYSQL_ROOT_PASSWORD=root \
    --env MYSQL_USER=protocolo \
    --env MYSQL_PASSWORD=protocolo \
    --env MYSQL_DATABASE=protocolo \
    --detach \
    mysql:5.7 --character-set-server=utf8  --collation-server=utf8_unicode_ci
$ 
$ echo "Gerando a aplicação Protocolo Web "
$
$ git clone http://${REPOSITORIO-GIT}/${GRUPO-GIT}/protocolo.implementacao.git
$
$ cd protocolo.implementacao
$
$ sed -i -e "s|<version>TAG</version>|<version>${TAG}</version>|" pom.xml
$
$ sed -i -e "s|url *=.*|url=\"jdbc:mysql://${HOSTNAME}:3306/protocolo?useSSL=false\"|" \
         -e "s|username *=.*|username=\"protocolo\"|" \
         -e "s|password *=.*|password=\"protocolo\"|" \
         docker/FILES/context.xml
$
$ mvn clean \
      install \
      -Dflyway.user=protocolo \
      -Dflyway.password=protocolo \
      -Dflyway.url=jdbc:mysql://${HOSTNAME}:3306/protocolo?useSSL=false \
      flyway:migrate
$
$ cp -f target/protocolo.war docker/FILES/
$
$ cd docker/
$
$ docker build --tag ${GRUPO-GIT}/protocolo.implementacao:${TAG} .
$
$ echo "Subindo aplicacao Protocolo... "
$
$ docker run \
    --restart unless-stopped \
    --name protocolo \
    --env JAVA_OPTS="-Xmx1024m -Duser.timezone=America/Sao_Paulo"
    --publish 8080:8080 \
    --detach \
    ${GRUPO-GIT}/protocolo.implementacao:${TAG}
$
$ echo "Abra o navegador e acesse a url: http://<Host aonde estao os serviços>:8080/protocolo"
$
$ echo "Faça o login com as credenciais: "
$
$ echo "Usuario: admin@admin.com"
$
$ echo "Senha: 123456"
$

Licenças

GPL v3

Este programa é um software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU, conforme publicado pela Free Software Foundation, seja a versão 3 da Licença ou (a seu critério) qualquer versão posterior.

Este programa é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; sem a garantia implícita de COMERCIALIZAÇÃO OU ADEQUAÇÃO A UM DETERMINADO PROPÓSITO. Veja a Licença Pública Geral GNU para obter mais detalhes.

Veja em: https://www.gnu.org/licenses/gpl-3.0.pt-br.html

Creative Commons

Protocololização Web é licenciado sob a licença Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional 4.0 .

Veja em: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.pt## PROTOCOLO ELETRÔNICO WEB License: CC BY-NC-SA 4.0 License: GPL v3