-
Notifications
You must be signed in to change notification settings - Fork 0
/
chapter-01.tex
185 lines (147 loc) · 8.48 KB
/
chapter-01.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
\chapter{Preparação do Ambiente}
Nesta seção detalharemos o processo de preparação do ambiente de desenvolvimento
com o \texttt{AndroMDA}, onde serão enumeradas as ferramentas utilizadas e seus
respectivos procedimentos de instalação.
Ferramentas necessárias:
\begin{itemize}
\item Máquina Virtual Java - JDK (Java 6)
\item JBoss (versão 4.2.3-GA)
\item Maven (versão 1.0.2)
\item Magic Draw (versão 9.5)
\item Eclipse Kepler (Java EE)
\end{itemize}
\section{JDK - Java 6}
É necessário que o \texttt{JDK} esteja instalado no computador. O
download pode ser feito em \texttt{http://java.sun.com/} ou utilizando
algum repositório, como mostrado abaixo:
\begin{lstlisting}[language=bash]
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
\end{lstlisting}
Assegure-se de baixar a \texttt{jdk} para o \texttt{java 6}. Alguns dos recursos
utilizados pelo \texttt{MDArte} ainda não são compatíveis com o \texttt{java 7}
e você poderá ter problemas se baixar a versão errada.
\section{JBoss e Maven}
Antes de instalarmos tais ferramentas é importante que entendamos um pouco do
que elas são e qual a finalidade dela dentro do desenvolvimento com o
\texttt{MDArte}.
\subsection{Jboss}
O \texttt{JBoss} é um servidor de aplicações baseado em \texttt{Java}. Um
servidor de aplicações é um software que provê um ambiente completo para que outras
aplicações sejam executadas dentro dele usando uma gama de serviços provida pelo
servidor de aplicações. No caso das aplicações desenvolvidas neste tutorial,
será o servidor, por exemplo, que cuidará do acesso e conexões do sistema com o
banco de dados.
A grande vantagem de um servidor de aplicações é que os desenvolvedores podem se
concentrar nas necessidades de negócio. Aspectos como conexões a bancos de
dados, autenticação e gerenciamento de recursos são gerenciados pelo servidor de
aplicações.
Veremos como instalar a versão do \texttt{JBoss} compatível com o
\texttt{MDArte} logo adiante.
\subsection{Maven}
O
\texttt{Maven}\footnote{\href{http://maven.apache.org/}{http://maven.apache.org/}}
é uma ferramenta de automação e gerenciamento de projetos, gerenciando desde as
dependências para compilação até a compilação e \texttt{deploy} da aplicação e
tornando muito mais fácil a integração e utilizando de diversas ferramentas
empregadas no processo de desenvolvimento de software.
A versão compatível atualmente é a 1.02. O \texttt{Maven}, durante sua execução,
faz acesso a repositórios remotos, de onde poderão ser obtidos diversos artefatos
necessários às tarefas de automação. Por exemplo bibliotecas (arquivos
\texttt{*.jar}) necessárias para compilação e execução de um projeto podem ser
automaticamente obtidas. Esses artefatos e bibliotecas externos, depêndencias do
projeto, a serem obtidos e incorporados pelo \texttt{Maven} no momento da
geração e compilação, são definidos nos arquivos \texttt{project.xml}. Um mesmo
projeto pode conter vários \texttt{project.xml}, permitindo que possamos definir
dependências específicas para modulos e pacotes diferentes do nosso sistema de
forma independente, segundo as nossas necessidades.
O script disponibilizado pelo pacote de instalação do \texttt{MDArte} já faz
todas as configurações necessárias para o uso do \texttt{Maven}, inclusive
criação de variáveis de ambiente e configuração do repositório externo a ser
usado. Caso queira saber como configurar a url do repositório ou mudar algum
detalhe na configuração padrão visite o \texttt{apêndice\ref{maven-config}}.
\section{Varíaveis de Ambiente}
Variáveis de ambiente são uma forma eficiente de influenciar o comportamento das
aplicações rodando em um sistema \texttt{Linux}. A variável \texttt{Lang}, por
exemplo, determina qual o idioma que os programas deverão usar para se comunicar
com o usuário.Se seu \texttt{Linux} tiver sido instalado em inglês, a variável \texttt{Lang}
provavelmente possuirá o valor \texttt{"en\_US.UTF-8" }, por exemplo.
Variáveis de ambiente consistem de nomes os quais possuem valores definidos para
si. Variáveis de ambiente não possuem restrições quanto ao seu formato, tudo o
que for atribuido a ela será salvo como texto, sendo responsabilidade das
aplicações que as usarão interpretar seu significado e seus dados.
O MDArte usa as seguintes variáveis de ambiente durante sua execução:
\begin{itemize}
\item \texttt{JAVA\_HOME} - Define o caminho para a pasta onde o \texttt{Java}
se encontra instalado;
\item \texttt{MAVEN\_HOME} - Define o caminho para a pasta onde o
\texttt{Maven} se encontra instalado;
\item \texttt{MAVEN\_OPTS} - Parâmetros de lançamento para JVM no momento da
execução do \texttt{Maven};
\item \texttt{JBOSS\_HOME} - Define o caminho para a pasta onde o
\texttt{JBoss} se encontra instalado;
\end{itemize}
Além disso, a variável \texttt{PATH}, responsável por definir os possíveis
caminhos para um executável no terminal do \texttt{Linux}, precisa ser alterada
para que possamos acionar o \texttt{Maven} simplesmente digitando o comando
\texttt{maven}.
No entanto, você não precisa configurar nenhuma destas variáveis manualmente,
uma vez que o pacote de instalação do \texttt{MDArte} também faz essa
configuração.
\subsection{Instalando ferramentas e configurando o ambiente}
Para instalar e configurar tais ferramentas baixe o pacote de instalação do
\texttt{MDArte} no seguinte
\href{https://github.com/MDArte/mdarte-installer}{repositorio}.
Caso tenha baixado o pacote comprimido, extraia-o em alguma pasta e então
execute o seguinte comando, dentro da pasta do instalador:
\begin{lstlisting}[language=bash]
sh install.sh
\end{lstlisting}
O script de instalação fará uma série de perguntas, como no momento estamos
instalando o ambiente do zero, responda a todas elas \texttt{yes(y)}.
Feito isto, será necessário reiniciar a sessão do usuário para essas variáveis
serem atualizadas no sistema ou utilizar o seguinte comando abaixo.
\begin{lstlisting}[language=bash]
source ~/.bashrc
\end{lstlisting}
\section{MDArte}
O MDArte, na verdade, não é um aplicativo, mas sim um conjunto de bibliotecas de
classes. Em nosso processo de desenvolvimento, utilizaremos o MDArte como um
plugin do \texttt{Maven}. O \texttt{Maven}, por sua vez, possui um mecanismo
próprio para obtenção de plugins. Através de parâmetros na linha de comando
podemos especificar ao \texttt{Maven} qual plugin queremos instalar e ele se
encarrega de buscar este plugin no(s) repositório(s) para o(s) qual(is) estiver
configurado.
No caso do plugin do MDArte, o seguinte comando deve ser executado para a
instalação (ao copiar o comando, verificar se foi copiado corretamente,
inclusive os hifens):
\begin{lstlisting}[language=bash]
maven plugin:download -DgroupId=andromda
-DartifactId=maven-andromdapp-plugin-coppetec -Dversion=3.1.1.3.4.19-RC10
\end{lstlisting}
Após a execução desse comando o \texttt{Maven} terá instalado o plugin do
\texttt{AndroMDA} no cache local do usuário e tarefas referentes ao MDArte
poderão ser executadas através do \texttt{Maven}.
Eventualmente, dependendo das tarefas executadas, o \texttt{Maven} poderá buscar
outros artefatos nos repositórios, contudo isso será feito de forma transparente
e automática.
\section{MagicDraw}
O download do \texttt{MagicDraw} pode ser feito em
\texttt{http://www.magicdraw.com}.
O \texttt{MagicDraw} é uma ferramenta para modelagem em \texttt{UML} e é
recomendada para uso com o MDArte devido a seu suporte a diagramas de atividade,
utilizados pelo cartucho \texttt{BPM4Struts}. Ainda, para que os modelos sejam
corretamente utilizados pelo MDArte eles deverão conter estereótipos
específicos, disponíveis através de um profile fornecido com o MDArte, que será
mostrado com mais detalhes na seção “Iniciando o projeto no \texttt{MagicDraw}”.
\section{Eclipse}
O download do Eclipse pode ser feito em \texttt{http://www.eclipse.org/}.
Durante a geração de um projeto, o MDArte gerará automaticamente os arquivos de
configuração \texttt{.project} e \texttt{.classpath} de um projeto
\texttt{Eclipse}. Esses arquivos podem ser usados diretamente para importação do
projeto ao \texttt{Eclipse}. O \texttt{.classpath} é o arquivo onde será
indicado as bibliotecas para o \texttt{eclipse} que serão utilizados pelo
projeto. Assim, o eclipse saberá completar as informações automaticamente. Já o
\texttt{.project} é uma descrição das opções do projeto.
Citation of Einstein paper~\cite{Einstein}.