dwws-ufes / 2018-SMCSS

Assignment for the 2018 edition of the "Web Development and the Semantic Web" course, by Gabriel dos Anjos Costa Vila Real and Luciano Coutinho Barcellos.
1 stars 0 forks source link

2018-SMCSS

Assignment for the 2018 edition of the "Web Development and the Semantic Web" course, by Gabriel dos Anjos Costa Vila Real and Luciano Coutinho Barcellos.

Sistema de Matrículas para Cursos Stricto Sensu - SMCSS

Aplicação desenvolvida no escopo da disciplina Desenvolvimento Web e Web Semântica, em 2018/2. O sistema tem o objetivo de prover os cadastros candidatos aprovados no processo seletivo, cursos, disciplinas, períodos letivos, ofertas de disciplinas, solicitação de matrícula e aprovação da solicitação.

Requisitos

Para executar o SMCSS são necessários a IDE Eclipse, o servidor de aplicações WildFly e o banco de dados MySQL. Foram utilizados as seguintes versões e ferramentas:

Versões mais recentes destas ferramentas provavelmente também funcionarão, em especial o servidor MySQL, pois bancos de dados tendem a ser bastante estáveis com relação a atualizações.

Instalação e Configuração

Como a instalação varia dependendo do sistema operacional (Linux, MacOS, Windows), esta página não contém instruções de instalação. Após instalado o WildFly, é necessário fazer a configuração para utilizar o MySQL. Para isso, siga os seguintes passos:

  1. navegue até o diretório de instalação do WildFly e dentro do diretório modules crie a seguinte estrutura de diretórios: system\layers\base\com\mysql\main. (OBS: o uso de barra invertida \ ou de barra normal / dependerá do sistema operacional sendo utilizado para prover estes ambiente).

  2. Copie o JAR do MySQL Connector/J para o diretório criado acima. O nome do arquivo que utilizamos foi mysql-connector-java-8.0.12.jar.

  3. Em seguida, crie um arquivo XML para configurar o módulo ao WildFly, e coloque-o neste mesmo diretório criado no passo 1. Para o nosso caso, o conteúdo do XML foi:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
    <resources>
        <resource-root path="mysql-connector-java-8.0.12.jar" />
    </resources>
    <dependencies>
        <module name="javax.api"/>
    </dependencies>
</module>
  1. O próximo passo é criar um banco de dados no MySQL, e um usuário com permissão para acessar este banco. Por meio do Workbench pode-se fazer isso de forma mais fácil. Para exemplificar, aqui utilizaremos os seguintes dados:

    • banco: smcss
    • usuário: smcss
    • senha: smcss
  2. Em seguida, é necessário criar um driver e um datasource de conexão para a aplicação conseguir utilizar o MySQL por meio do WildFly. No diretório de instalação do WildFly, encontre o arquivo standalone\configuration\standalone.xml. Dentro deste XML, procure a seção <datasources> e nela inclua as linhas para configurar a conexão do sistema com os dados de exemplo utilizado na parte 4:

<datasource jta="true" jndi-name="java:jboss/datasources/SMCSS" pool-name="SMCSSPool" enabled="true" use-java-context="true">
    <connection-url>jdbc:mysql://localhost:3306/smcss?useTimezone=true&amp;serverTimezone=UTC</connection-url>
    <driver>mysql</driver>
    <security>
        <user-name>smcss</user-name>
        <password>smcss</password>
    </security>
</datasource>
  1. Ainda dentro da seção <datasources> do XML, inclua o driver do MySQL:
<driver name="mysql" module="com.mysql">
    <driver-class>com.mysql.cj.jdbc.Driver</driver-class>
</driver>
  1. Dentro do projeto do sistema, no arquivo persistence.xml inclua a linha <persistence-unit name="SMCSS" transaction-type="JTA"> para indicar que está utilizando o datasource configurado no passo 5:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="SMCSS" transaction-type="JTA">
    ...
    ...

Estas instruções foram baseadas no tutorial do JButler, disponível em: https://github.com/dwws-ufes/jbutler