<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.processos.ufsc.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tomas.f.drews</id>
	<title>EAPn - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.processos.ufsc.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tomas.f.drews"/>
	<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Especial:Contribui%C3%A7%C3%B5es/Tomas.f.drews"/>
	<updated>2026-09-02T16:01:56Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=258</id>
		<title>Criação de Conectores</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=258"/>
		<updated>2022-06-08T17:12:07Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: /* Exemplo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Conectores são pontos de extensão que podem ser adicionados a um processo para estender os recursos do Bonita Runtime. Eles são um pedaço de código com entradas definidas como &#039;&#039;&#039;Expressões&#039;&#039;&#039; e saídas definidas como &#039;&#039;&#039;Operações&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Instalando as ferramentas==&lt;br /&gt;
Deve-se instalar o Java JDK e Maven na sua máquina.&amp;lt;br&amp;gt;&lt;br /&gt;
Maven 3.3+ requer JDK 1.7 ou mais recente.&amp;lt;br&amp;gt;&lt;br /&gt;
Abra o terminal Linux (Debian) e execute as seguintes linhas de código:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Instalando OpenJDK===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt update &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt install default-jdk &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verifique a instalação do OpendJDK com:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;java -version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A saída deve ser algo do tipo:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code class=&amp;quot;language-output&amp;quot;&amp;gt;&lt;br /&gt;
openjdk version &amp;quot;11.0.7&amp;quot; 2020-04-14&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Maven===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; wget https://www-us.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -P /tmp &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo tar xf /tmp/apache-maven-*.tar.gz -C /opt &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo ln -s /opt/apache-maven-3.6.3 /opt/maven &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo nano /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; export JAVA_HOME=/usr/lib/jvm/default-java&lt;br /&gt;
&amp;lt;br&amp;gt;export M2_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export MAVEN_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export PATH=${M2_HOME}/bin:${PATH}&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo chmod +x /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; source /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; mvn -version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; Maven home: /opt/maven&lt;br /&gt;
Java version: 11.0.7, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64&amp;lt;br&amp;gt;&lt;br /&gt;
Default locale: en_US, platform encoding: UTF-8&amp;lt;br&amp;gt;&lt;br /&gt;
OS name: &amp;quot;linux&amp;quot;, version: &amp;quot;5.4.0-26-generic&amp;quot;, arch: &amp;quot;amd64&amp;quot;, family: &amp;quot;unix&amp;quot;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fazendo o build===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; &lt;br /&gt;
   mvn archetype:generate \&lt;br /&gt;
  -DarchetypeGroupId=org.bonitasoft.archetypes \&lt;br /&gt;
  -DarchetypeArtifactId=bonita-rest-api-extension-archetype&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao executar esse comando, é iniciado o processo de criar a REST API, especificando atributos conforme as perguntas aparecem no terminal. Siga as instruções para cada campo:&lt;br /&gt;
*GroupId e package: digitar org.bonitasoft.archetypes&lt;br /&gt;
*ArtifactId: bonita-rest-api-extension-(qualquer coisa aqui) Não tenho certeza se precisa desse texto em específico ou se pode ser quaisquer palavras separadas por -&lt;br /&gt;
*Version: 1.0-SNAPSHOT Altera o número da versão como preferir&lt;br /&gt;
*BonitaVersion: É a technical Id da versão, verificar qual a technicalId da sua versão abrindo o bonita studio, indo em Help e clicando em sobre&lt;br /&gt;
*Linguagem: Groovy, java ou kotlin, kotlin está dando erro no momento(05/2022)&lt;br /&gt;
*PathTemplate: qualquer coisa desde que seja separado por hífen, exemplo: miguel-thiago-tomas&lt;br /&gt;
*HttpVerb: a função desejada da REST API, a lista das funções aparece no terminal&lt;br /&gt;
*DisplayName: qualquer nome&lt;br /&gt;
*ApiName: nome da sua REST API&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
O exemplo a seguir segue os passos presentes nesse link: https://documentation.bonitasoft.com/bonita/2022.1/process/connector-archetype-tutorial&lt;br /&gt;
Neste exemplo, vamos criar um conector para se comunicar com a API de Star Wars. Ele receberá um nome de personagem de Star Wars e retornará detalhes sobre esse personagem.&lt;br /&gt;
Veremos então como implantar esse conector nos pacotes do Github para instalá-lo como uma extensão no Bonita Studio de qualquer lugar.&lt;br /&gt;
O primeiro passo é gerar o projeto maven usando o arquétipo:&lt;br /&gt;
&amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; &lt;br /&gt;
mvn archetype:generate \&lt;br /&gt;
    -DarchetypeGroupId=org.bonitasoft.archetypes \&lt;br /&gt;
    -DarchetypeArtifactId=bonita-connector-archetype&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Com essas informações: &lt;br /&gt;
*groupId: com.company.connector&lt;br /&gt;
*artifactId: connector-starwars&lt;br /&gt;
*version: 1.0.0&lt;br /&gt;
*package: com.company.connector&lt;br /&gt;
*bonitaVersion: [Technichal Bonita id] (ex: 7.13.0)&lt;br /&gt;
*className: ConnectorStarWars&lt;br /&gt;
*language: groovy&lt;br /&gt;
*wrapper: true&lt;br /&gt;
Adicione as seguintes propriedades e dependências às existentes no pom.xml:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
    &amp;lt;retrofit.version&amp;gt;2.9.0&amp;lt;/retrofit.version&amp;gt;&lt;br /&gt;
    &amp;lt;logging-interceptor.version&amp;gt;3.11.0&amp;lt;/logging-interceptor.version&amp;gt;&lt;br /&gt;
    &amp;lt;converter-jackson.version&amp;gt;2.4.0&amp;lt;/converter-jackson.version&amp;gt;&lt;br /&gt;
    &amp;lt;mockwebserver.version&amp;gt;3.14.8&amp;lt;/mockwebserver.version&amp;gt;&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dependencies&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;com.squareup.retrofit2&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;retrofit&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;${retrofit.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;com.squareup.okhttp3&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;logging-interceptor&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;${logging-interceptor.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;com.squareup.retrofit2&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;converter-jackson&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;${converter-jackson.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;exclusions&amp;gt;&lt;br /&gt;
            &amp;lt;exclusion&amp;gt;&lt;br /&gt;
                &amp;lt;groupId&amp;gt;com.fasterxml.jackson.core&amp;lt;/groupId&amp;gt;&lt;br /&gt;
                &amp;lt;artifactId&amp;gt;jackson-databind&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
            &amp;lt;/exclusion&amp;gt;&lt;br /&gt;
        &amp;lt;/exclusions&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;com.squareup.okhttp3&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;mockwebserver&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;${mockwebserver.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/dependencies&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Definindo input do conector===&lt;br /&gt;
As entradas do conector são definidas na definição do conector.&lt;br /&gt;
Abra o arquivo src/main/resourcesources-filteredrces/connector-starwars.def&lt;br /&gt;
Primeiro vamos criar duas entradas para o conector:&lt;br /&gt;
&lt;br /&gt;
*Um nome de entrada, que conterá o nome de um personagem de Star Wars&lt;br /&gt;
&lt;br /&gt;
*Um URL de entrada, que conterá o URL do servidor de API (portanto, se o URL do servidor de API mudar no futuro, o serviço ainda poderá ser usado).&lt;br /&gt;
&lt;br /&gt;
Remova a entrada padrão da definição e inclua as duas entradas a seguir:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&amp;lt;input mandatory=&amp;quot;true&amp;quot; name=&amp;quot;name&amp;quot; type=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;input mandatory=&amp;quot;true&amp;quot; name=&amp;quot;url&amp;quot; type=&amp;quot;java.lang.String&amp;quot; defaultValue=&amp;quot;http://swapi.dev/&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Então vamos criar uma página e dois widgets para essas entradas. Páginas e widgets são usados ​​pelo Bonita Studio para criar uma interface de usuário a partir da definição do conector.&lt;br /&gt;
&lt;br /&gt;
Substitua a página padrão pela seguinte:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;page id=&amp;quot;starWarsPage&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    A widget has a type (Text, combo box ...), an id and an input name.&lt;br /&gt;
    - The name must reference an existing input&lt;br /&gt;
    - The id is used in the property file to reference the widget&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;widget xsi:type=&amp;quot;definition:Text&amp;quot; id=&amp;quot;nameWidget&amp;quot; inputName=&amp;quot;name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;widget xsi:type=&amp;quot;definition:Text&amp;quot; id=&amp;quot;urlWidget&amp;quot; inputName=&amp;quot;url&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Para cada página e widget, um nome e uma descrição devem ser incluídos no arquivo de propriedades, caso contrário o Studio não poderá exibir o elemento.&lt;br /&gt;
Abra o arquivo src/main/resources-filtered/connector-starwars.properties e substitua o conteúdo da página e widgets padrão pelo seguinte:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
starWarsPage.pageTitle=Star Wars connector - configuration page&amp;lt;br/&amp;gt;&lt;br /&gt;
starWarsPage.pageDescription=Indicate a Star Wars character name, and the service base URl if required.&amp;lt;br/&amp;gt;&lt;br /&gt;
nameWidget.label=Character name&amp;lt;br/&amp;gt;&lt;br /&gt;
nameWidget.description=The name of the character to retrieve&amp;lt;br/&amp;gt;&lt;br /&gt;
urlWidget.label=URL&amp;lt;br/&amp;gt;&lt;br /&gt;
urlWidget.description=The service base url&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Criar o serviço Retrofit e o modelo===&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=257</id>
		<title>Criação de Conectores</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=257"/>
		<updated>2022-05-23T16:54:17Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Conectores são pontos de extensão que podem ser adicionados a um processo para estender os recursos do Bonita Runtime. Eles são um pedaço de código com entradas definidas como &#039;&#039;&#039;Expressões&#039;&#039;&#039; e saídas definidas como &#039;&#039;&#039;Operações&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Instalando as ferramentas==&lt;br /&gt;
Deve-se instalar o Java JDK e Maven na sua máquina.&amp;lt;br&amp;gt;&lt;br /&gt;
Maven 3.3+ requer JDK 1.7 ou mais recente.&amp;lt;br&amp;gt;&lt;br /&gt;
Abra o terminal Linux (Debian) e execute as seguintes linhas de código:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Instalando OpenJDK===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt update &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt install default-jdk &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verifique a instalação do OpendJDK com:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;java -version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A saída deve ser algo do tipo:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code class=&amp;quot;language-output&amp;quot;&amp;gt;&lt;br /&gt;
openjdk version &amp;quot;11.0.7&amp;quot; 2020-04-14&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Maven===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; wget https://www-us.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -P /tmp &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo tar xf /tmp/apache-maven-*.tar.gz -C /opt &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo ln -s /opt/apache-maven-3.6.3 /opt/maven &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo nano /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; export JAVA_HOME=/usr/lib/jvm/default-java&lt;br /&gt;
&amp;lt;br&amp;gt;export M2_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export MAVEN_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export PATH=${M2_HOME}/bin:${PATH}&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo chmod +x /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; source /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; mvn -version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; Maven home: /opt/maven&lt;br /&gt;
Java version: 11.0.7, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64&amp;lt;br&amp;gt;&lt;br /&gt;
Default locale: en_US, platform encoding: UTF-8&amp;lt;br&amp;gt;&lt;br /&gt;
OS name: &amp;quot;linux&amp;quot;, version: &amp;quot;5.4.0-26-generic&amp;quot;, arch: &amp;quot;amd64&amp;quot;, family: &amp;quot;unix&amp;quot;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fazendo o build===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; &lt;br /&gt;
   mvn archetype:generate \&lt;br /&gt;
  -DarchetypeGroupId=org.bonitasoft.archetypes \&lt;br /&gt;
  -DarchetypeArtifactId=bonita-rest-api-extension-archetype&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao executar esse comando, é iniciado o processo de criar a REST API, especificando atributos conforme as perguntas aparecem no terminal. Siga as instruções para cada campo:&lt;br /&gt;
*GroupId e package: digitar org.bonitasoft.archetypes&lt;br /&gt;
*ArtifactId: bonita-rest-api-extension-(qualquer coisa aqui) Não tenho certeza se precisa desse texto em específico ou se pode ser quaisquer palavras separadas por -&lt;br /&gt;
*Version: 1.0-SNAPSHOT Altera o número da versão como preferir&lt;br /&gt;
*BonitaVersion: É a technical Id da versão, verificar qual a technicalId da sua versão abrindo o bonita studio, indo em Help e clicando em sobre&lt;br /&gt;
*Linguagem: Groovy, java ou kotlin, kotlin está dando erro no momento(05/2022)&lt;br /&gt;
*PathTemplate: qualquer coisa desde que seja separado por hífen, exemplo: miguel-thiago-tomas&lt;br /&gt;
*HttpVerb: a função desejada da REST API, a lista das funções aparece no terminal&lt;br /&gt;
*DisplayName: qualquer nome&lt;br /&gt;
*ApiName: nome da sua REST API&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Neste exemplo, vamos criar um conector para se comunicar com a API de Star Wars. Ele receberá um nome de personagem de Star Wars e retornará detalhes sobre esse personagem.&lt;br /&gt;
Veremos então como implantar esse conector nos pacotes do Github para instalá-lo como uma extensão no Bonita Studio de qualquer lugar.&lt;br /&gt;
O primeiro passo é gerar o projeto maven usando o arquétipo:&lt;br /&gt;
&amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; &lt;br /&gt;
mvn archetype:generate \&lt;br /&gt;
    -DarchetypeGroupId=org.bonitasoft.archetypes \&lt;br /&gt;
    -DarchetypeArtifactId=bonita-connector-archetype&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Com essas informações: &lt;br /&gt;
*groupId: com.company.connector&lt;br /&gt;
*artifactId: connector-starwars&lt;br /&gt;
*version: 1.0.0&lt;br /&gt;
*package: com.company.connector&lt;br /&gt;
*bonitaVersion: [Technichal Bonita id] (ex: 7.13.0)&lt;br /&gt;
*className: ConnectorStarWars&lt;br /&gt;
*language: groovy&lt;br /&gt;
*wrapper: true&lt;br /&gt;
Adicione as seguintes propriedades e dependências às existentes no pom.xml:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
    &amp;lt;retrofit.version&amp;gt;2.9.0&amp;lt;/retrofit.version&amp;gt;&lt;br /&gt;
    &amp;lt;logging-interceptor.version&amp;gt;3.11.0&amp;lt;/logging-interceptor.version&amp;gt;&lt;br /&gt;
    &amp;lt;converter-jackson.version&amp;gt;2.4.0&amp;lt;/converter-jackson.version&amp;gt;&lt;br /&gt;
    &amp;lt;mockwebserver.version&amp;gt;3.14.8&amp;lt;/mockwebserver.version&amp;gt;&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dependencies&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;com.squareup.retrofit2&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;retrofit&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;${retrofit.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;com.squareup.okhttp3&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;logging-interceptor&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;${logging-interceptor.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;com.squareup.retrofit2&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;converter-jackson&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;${converter-jackson.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;exclusions&amp;gt;&lt;br /&gt;
            &amp;lt;exclusion&amp;gt;&lt;br /&gt;
                &amp;lt;groupId&amp;gt;com.fasterxml.jackson.core&amp;lt;/groupId&amp;gt;&lt;br /&gt;
                &amp;lt;artifactId&amp;gt;jackson-databind&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
            &amp;lt;/exclusion&amp;gt;&lt;br /&gt;
        &amp;lt;/exclusions&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;com.squareup.okhttp3&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;mockwebserver&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;${mockwebserver.version}&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&amp;lt;/dependencies&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Definindo input do conector===&lt;br /&gt;
As entradas do conector são definidas na definição do conector.&lt;br /&gt;
Abra o arquivo src/main/resourcesources-filteredrces/connector-starwars.def&lt;br /&gt;
Primeiro vamos criar duas entradas para o conector:&lt;br /&gt;
&lt;br /&gt;
*Um nome de entrada, que conterá o nome de um personagem de Star Wars&lt;br /&gt;
&lt;br /&gt;
*Um URL de entrada, que conterá o URL do servidor de API (portanto, se o URL do servidor de API mudar no futuro, o serviço ainda poderá ser usado).&lt;br /&gt;
&lt;br /&gt;
Remova a entrada padrão da definição e inclua as duas entradas a seguir:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&amp;lt;input mandatory=&amp;quot;true&amp;quot; name=&amp;quot;name&amp;quot; type=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;input mandatory=&amp;quot;true&amp;quot; name=&amp;quot;url&amp;quot; type=&amp;quot;java.lang.String&amp;quot; defaultValue=&amp;quot;http://swapi.dev/&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Então vamos criar uma página e dois widgets para essas entradas. Páginas e widgets são usados ​​pelo Bonita Studio para criar uma interface de usuário a partir da definição do conector.&lt;br /&gt;
&lt;br /&gt;
Substitua a página padrão pela seguinte:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;page id=&amp;quot;starWarsPage&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    A widget has a type (Text, combo box ...), an id and an input name.&lt;br /&gt;
    - The name must reference an existing input&lt;br /&gt;
    - The id is used in the property file to reference the widget&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;widget xsi:type=&amp;quot;definition:Text&amp;quot; id=&amp;quot;nameWidget&amp;quot; inputName=&amp;quot;name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;widget xsi:type=&amp;quot;definition:Text&amp;quot; id=&amp;quot;urlWidget&amp;quot; inputName=&amp;quot;url&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Para cada página e widget, um nome e uma descrição devem ser incluídos no arquivo de propriedades, caso contrário o Studio não poderá exibir o elemento.&lt;br /&gt;
Abra o arquivo src/main/resources-filtered/connector-starwars.properties e substitua o conteúdo da página e widgets padrão pelo seguinte:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
starWarsPage.pageTitle=Star Wars connector - configuration page&amp;lt;br/&amp;gt;&lt;br /&gt;
starWarsPage.pageDescription=Indicate a Star Wars character name, and the service base URl if required.&amp;lt;br/&amp;gt;&lt;br /&gt;
nameWidget.label=Character name&amp;lt;br/&amp;gt;&lt;br /&gt;
nameWidget.description=The name of the character to retrieve&amp;lt;br/&amp;gt;&lt;br /&gt;
urlWidget.label=URL&amp;lt;br/&amp;gt;&lt;br /&gt;
urlWidget.description=The service base url&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Criar o serviço Retrofit e o modelo===&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_REST_API&amp;diff=256</id>
		<title>Criação de REST API</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_REST_API&amp;diff=256"/>
		<updated>2022-05-16T15:57:04Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Extensões da API REST===&lt;br /&gt;
Crie extensões de API REST para usar dados de sistemas de terceiros (bancos de dados, serviços web, Bonita Engine, etc) em formulários e páginas.&lt;br /&gt;
&lt;br /&gt;
As extensões da API REST podem ser usadas para consultar dados de negócios, APIs do Bonita Engine ou um sistema de informações externo (como um banco de dados, serviço da Web, diretório LDAP…). Eles também ajudam a manter uma separação clara entre o front-end (formulários, páginas e interfaces visíveis para os usuários) e o back-end (processos).&lt;br /&gt;
===Exemplo===&lt;br /&gt;
As seções a seguir mostram como criar uma extensão de API REST. Como exemplo, criamos uma extensão de API REST que usa o Bonita BPM Engine para fornecer informações do usuário (nome, sobrenome, endereço de e-mail).&lt;br /&gt;
&lt;br /&gt;
===Gerar um novo esqueleto de extensão da API REST===&lt;br /&gt;
*No menu Desenvolvimento, escolha REST API Extension e, em seguida, New…​.&lt;br /&gt;
&lt;br /&gt;
*Insira um nome, por exemplo, informações do usuário, extensão da API REST.&lt;br /&gt;
&lt;br /&gt;
*Insira uma Descrição, por exemplo, Query Bonita Engine para recuperar informações do usuário.&lt;br /&gt;
&lt;br /&gt;
*Insira um nome de pacote, use para definir o ID do grupo do artefato, por exemplo: com.company.rest.api&lt;br /&gt;
&lt;br /&gt;
*Insira um nome de projeto, por exemplo userInformationRestAPIExtension&lt;br /&gt;
&lt;br /&gt;
*Clique em Avançar.&lt;br /&gt;
&lt;br /&gt;
*Insira o pathTemplate para esta extensão da API REST, por exemplo userInformation. Este será o ponto de&amp;lt;br&amp;gt; acesso da API e segue este padrão: {bonita_context}/API/extension/userInformation.&lt;br /&gt;
&lt;br /&gt;
*Como essa extensão da API REST não acessa dados corporativos, você pode desmarcar com segurança a caixa de seleção &amp;quot;Adicionar dependências BDM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*Defina um nome de permissão para a extensão (substitua o padrão), por exemplo read_user_information. Este é o nome da permissão que os usuários devem ter para ter acesso à extensão (consulte Uso de extensões da API REST)&lt;br /&gt;
&lt;br /&gt;
*Clique em Avançar&lt;br /&gt;
&lt;br /&gt;
*Esta tela define os parâmetros de URL que serão passados ​​para a API. Por padrão, os parâmetros p e c são definidos para habilitar o resultado paginado, isso se aplica bem em nossos exemplos, pois queremos retornar uma lista de usuários.&lt;br /&gt;
&lt;br /&gt;
*Clique em Criar.&lt;br /&gt;
&lt;br /&gt;
===Escreva o código===&lt;br /&gt;
&lt;br /&gt;
O primeiro passo seria remover arquivos e códigos relacionados à configuração da API REST, pois não precisamos definir parâmetros de configuração para nossa API REST:&lt;br /&gt;
&lt;br /&gt;
Excluir configuration.properties da pasta src/main/resources&lt;br /&gt;
&lt;br /&gt;
Excluir testConfiguration.properties de src/test/resources&lt;br /&gt;
&lt;br /&gt;
Remova a configuração do arquivo de configuração mock. Edite IndexTest.groovy, vá para o método setup() e remova a linha que começa com resourceProvider....&lt;br /&gt;
&lt;br /&gt;
Remova o exemplo de uso de configuração no arquivo Index.groovy (veja o comentário começando com: &amp;quot;Here is an example...&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Agora podemos adicionar nossa lógica de negócios. Em Index.groovy, no método doHandle, localize o comentário &amp;quot;Your code goes here&amp;quot; e adicione o código abaixo no seu(removendo o result existente e a declaração de retorno):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
// Convert parameters from string to int&lt;br /&gt;
p = p as int&lt;br /&gt;
c = c as int&lt;br /&gt;
&lt;br /&gt;
// Initialize the list to store users information&lt;br /&gt;
def usersInformation = []&lt;br /&gt;
&lt;br /&gt;
// Get the list of user&lt;br /&gt;
List&amp;lt;User&amp;gt; users = context.apiClient.identityAPI.getUsers(p*c, c, UserCriterion.FIRST_NAME_ASC)&lt;br /&gt;
&lt;br /&gt;
// Iterate over each user&lt;br /&gt;
for (user in users) {&lt;br /&gt;
	// Get user extra information (including email address)&lt;br /&gt;
	ContactData contactData = context.apiClient.identityAPI.getUserContactData(user.id, false)&lt;br /&gt;
&lt;br /&gt;
	// Create a map with current user first name, last name and email address&lt;br /&gt;
	def userInformation = [firstName: user.firstName, lastName: user.lastName, email: contactData.email]&lt;br /&gt;
&lt;br /&gt;
	// Add current user information to the global list&lt;br /&gt;
	usersInformation &amp;lt;&amp;lt; userInformation&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Prepare the result&lt;br /&gt;
def result = [p: p, c: c, userInformation: usersInformation]&lt;br /&gt;
&lt;br /&gt;
int startIndex = p*c&lt;br /&gt;
int endIndex = p*c + users.size() - 1&lt;br /&gt;
&lt;br /&gt;
// Send the result as a JSON representation&lt;br /&gt;
return buildPagedResponse(responseBuilder, new JsonBuilder(result).toString(), startIndex, endIndex, context.apiClient.identityAPI.numberOfUsers)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
CTRL+SHIFT+O para importar o que faltar&lt;br /&gt;
===Teste o código-fonte===&lt;br /&gt;
Agora precisamos atualizar o teste para verificar o comportamento de nossa extensão de API REST editando IndexTest.groovy.&lt;br /&gt;
&lt;br /&gt;
O primeiro passo é definir alguns mocks para nossas dependências externas, como a API Engine Identity. Adicione a seguinte declaração de mocks após as existentes:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 def apiClient = Mock(APIClient) &amp;lt;br&amp;gt;&lt;br /&gt;
 def identityAPI = Mock(IdentityAPI) &amp;lt;br&amp;gt;&lt;br /&gt;
 def april = Mock(User) &amp;lt;br&amp;gt;&lt;br /&gt;
 def william = Mock(User)&amp;lt;br&amp;gt;&lt;br /&gt;
 def walter = Mock(User) &amp;lt;br&amp;gt;&lt;br /&gt;
 def contactData = Mock(ContactData)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora precisamos definir o comportamento genérico de nossos mocks. O método setup() deve ter o seguinte conteúdo:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
context.apiClient &amp;gt;&amp;gt; apiClient&amp;lt;br&amp;gt;&lt;br /&gt;
apiClient.identityAPI &amp;gt;&amp;gt; identityAPI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
identityAPI.getUsers(0, 2, _) &amp;gt;&amp;gt; [april, william]&amp;lt;br&amp;gt;&lt;br /&gt;
identityAPI.getUsers(1, 2, _) &amp;gt;&amp;gt; [william, walter]&amp;lt;br&amp;gt;&lt;br /&gt;
identityAPI.getUsers(2, 2, _) &amp;gt;&amp;gt; [walter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
april.firstName &amp;gt;&amp;gt; &amp;quot;April&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
april.lastName &amp;gt;&amp;gt; &amp;quot;Sanchez&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
william.firstName &amp;gt;&amp;gt; &amp;quot;William&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
william.lastName &amp;gt;&amp;gt; &amp;quot;Jobs&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
walter.firstName &amp;gt;&amp;gt; &amp;quot;Walter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
walter.lastName &amp;gt;&amp;gt; &amp;quot;Bates&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
identityAPI.getUserContactData(*_) &amp;gt;&amp;gt; contactData&amp;lt;br&amp;gt;&lt;br /&gt;
contactData.email &amp;gt;&amp;gt; &amp;quot;test@email&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora você pode definir um método de teste. Substitua o método should_return_a_json_representation_as_result existente pelo seguinte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
def should_return_a_json_representation_as_result() {&lt;br /&gt;
  given: &amp;quot;a RestAPIController&amp;quot;&lt;br /&gt;
  def index = new Index()&lt;br /&gt;
  // Simulate a request with a value for each parameter&lt;br /&gt;
  httpRequest.getParameter(&amp;quot;p&amp;quot;) &amp;gt;&amp;gt; &amp;quot;0&amp;quot;&lt;br /&gt;
  httpRequest.getParameter(&amp;quot;c&amp;quot;) &amp;gt;&amp;gt; &amp;quot;2&amp;quot;&lt;br /&gt;
  when: &amp;quot;Invoking the REST API&amp;quot;&lt;br /&gt;
  def apiResponse = index.doHandle(httpRequest, new RestApiResponseBuilder(), context)&lt;br /&gt;
  then: &amp;quot;A JSON representation is returned in response body&amp;quot;&lt;br /&gt;
  def jsonResponse = new JsonSlurper().parseText(apiResponse.response)&lt;br /&gt;
  // Validate returned response&lt;br /&gt;
  apiResponse.httpStatus == 200&lt;br /&gt;
  jsonResponse.p == 0&lt;br /&gt;
  jsonResponse.c == 2&lt;br /&gt;
  jsonResponse.userInformation.equals([&lt;br /&gt;
    [firstName:&amp;quot;April&amp;quot;, lastName: &amp;quot;Sanchez&amp;quot;, email: &amp;quot;test@email&amp;quot;],&lt;br /&gt;
    [firstName:&amp;quot;William&amp;quot;, lastName: &amp;quot;Jobs&amp;quot;, email: &amp;quot;test@email&amp;quot;]&lt;br /&gt;
  ]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certifique-se de adicionar todas as importações ausentes (atalho padrão CTRL+SHIFT+o).&lt;br /&gt;
&lt;br /&gt;
Agora você deve ser capaz de executar seu teste de unidade. Clique com o botão direito do mouse no arquivo IndexTest.groovy e clique em REST API Extension &amp;gt; Run JUnit Test. A visualização JUnit exibe os resultados do teste. Todos os testes devem passar.&lt;br /&gt;
&lt;br /&gt;
===Build, deploy e teste a extensão REST API===&lt;br /&gt;
&lt;br /&gt;
O Studio permite que você crie e implante a extensão da API REST no ambiente de teste incorporado.&lt;br /&gt;
&lt;br /&gt;
A primeira etapa é configurar o mapeamento de segurança para sua extensão no ambiente de teste incorporado do Studio:&lt;br /&gt;
&lt;br /&gt;
*No menu Desenvolvimento, escolha REST API Extension e Edit permissions mapping.&lt;br /&gt;
&lt;br /&gt;
*Acrescente esta linha no final do arquivo: profile|User=[read_user_information] Isso significa que qualquer pessoa logada com o perfil de usuário recebe essa permissão.&lt;br /&gt;
&lt;br /&gt;
*Salve e feche o arquivo.&lt;br /&gt;
&lt;br /&gt;
Agora você pode realmente compilar e implantar a extensão:&lt;br /&gt;
&lt;br /&gt;
*No menu Desenvolvimento, escolha REST API Extension &amp;gt; Deploy…​&lt;br /&gt;
&lt;br /&gt;
*Selecione a extensão da API REST userInformationRestAPIExtension.&lt;br /&gt;
&lt;br /&gt;
*Clique no botão Implantar.&lt;br /&gt;
&lt;br /&gt;
*Na coolbar, clique no ícone Aplicativos. Isso abre o Diretório de aplicativos Bonita em seu navegador.&lt;br /&gt;
&lt;br /&gt;
*Acesse o Aplicativo Administrador do Bonita&lt;br /&gt;
&lt;br /&gt;
*Vá para a guia Recursos e verifique se a extensão da API REST de informações do usuário está na lista de recursos de extensão da API REST.&lt;br /&gt;
&lt;br /&gt;
Agora você pode finalmente testar sua extensão da API REST:&lt;br /&gt;
&lt;br /&gt;
*Abra uma nova guia no navegador da web&lt;br /&gt;
&lt;br /&gt;
*Insira o seguinte URL: http://localhost:8080/bonita/API/extension/userInformation?p=0&amp;amp;c=10.&lt;br /&gt;
&lt;br /&gt;
*O corpo da resposta JSON deve ser exibido.&lt;br /&gt;
&lt;br /&gt;
A extensão da API REST pode ser usada em formulários e páginas no UI Designer usando uma variável de API externa.&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_REST_API&amp;diff=255</id>
		<title>Criação de REST API</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_REST_API&amp;diff=255"/>
		<updated>2022-05-05T18:58:31Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Extensões da API REST===&lt;br /&gt;
Crie extensões de API REST para usar dados de sistemas de terceiros (bancos de dados, serviços web, Bonita Engine, etc) em formulários e páginas.&lt;br /&gt;
&lt;br /&gt;
As extensões da API REST podem ser usadas para consultar dados de negócios, APIs do Bonita Engine ou um sistema de informações externo (como um banco de dados, serviço da Web, diretório LDAP…). Eles também ajudam a manter uma separação clara entre o front-end (formulários, páginas e interfaces visíveis para os usuários) e o back-end (processos).&lt;br /&gt;
===Exemplo===&lt;br /&gt;
As seções a seguir mostram como criar uma extensão de API REST. Como exemplo, criamos uma extensão de API REST que usa o Bonita BPM Engine para fornecer informações do usuário (nome, sobrenome, endereço de e-mail).&lt;br /&gt;
&lt;br /&gt;
===Gerar um novo esqueleto de extensão da API REST===&lt;br /&gt;
*No menu Desenvolvimento, escolha REST API Extension e, em seguida, New…​.&lt;br /&gt;
&lt;br /&gt;
*Insira um nome, por exemplo, informações do usuário, extensão da API REST.&lt;br /&gt;
&lt;br /&gt;
*Insira uma Descrição, por exemplo, Query Bonita Engine para recuperar informações do usuário.&lt;br /&gt;
&lt;br /&gt;
*Insira um nome de pacote, use para definir o ID do grupo do artefato, por exemplo: com.company.rest.api&lt;br /&gt;
&lt;br /&gt;
*Insira um nome de projeto, por exemplo userInformationRestAPIExtension&lt;br /&gt;
&lt;br /&gt;
*Clique em Avançar.&lt;br /&gt;
&lt;br /&gt;
*Insira o pathTemplate para esta extensão da API REST, por exemplo userInformation. Este será o ponto de&amp;lt;br&amp;gt; acesso da API e segue este padrão: {bonita_context}/API/extension/userInformation.&lt;br /&gt;
&lt;br /&gt;
*Como essa extensão da API REST não acessa dados corporativos, você pode desmarcar com segurança a caixa de seleção &amp;quot;Adicionar dependências BDM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*Defina um nome de permissão para a extensão (substitua o padrão), por exemplo read_user_information. Este é o nome da permissão que os usuários devem ter para ter acesso à extensão (consulte Uso de extensões da API REST)&lt;br /&gt;
&lt;br /&gt;
*Clique em Avançar&lt;br /&gt;
&lt;br /&gt;
*Esta tela define os parâmetros de URL que serão passados ​​para a API. Por padrão, os parâmetros p e c são definidos para habilitar o resultado paginado, isso se aplica bem em nossos exemplos, pois queremos retornar uma lista de usuários.&lt;br /&gt;
&lt;br /&gt;
*Clique em Criar.&lt;br /&gt;
&lt;br /&gt;
===Escreva o código===&lt;br /&gt;
&lt;br /&gt;
O primeiro passo seria remover arquivos e códigos relacionados à configuração da API REST, pois não precisamos definir parâmetros de configuração para nossa API REST:&lt;br /&gt;
&lt;br /&gt;
Excluir configuration.properties da pasta src/main/resources&lt;br /&gt;
&lt;br /&gt;
Excluir testConfiguration.properties de src/test/resources&lt;br /&gt;
&lt;br /&gt;
Remova a configuração do arquivo de configuração mock. Edite IndexTest.groovy, vá para o método setup() e remova a linha que começa com resourceProvider....&lt;br /&gt;
&lt;br /&gt;
Remova o exemplo de uso de configuração no arquivo Index.groovy (veja o comentário começando com: &amp;quot;Here is an example...&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Agora podemos adicionar nossa lógica de negócios. Em Index.groovy, no método doHandle, localize o comentário &amp;quot;Your code goes here&amp;quot; e adicione o código abaixo no seu(removendo o result existente e a declaração de retorno):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
// Convert parameters from string to int&lt;br /&gt;
p = p as int&lt;br /&gt;
c = c as int&lt;br /&gt;
&lt;br /&gt;
// Initialize the list to store users information&lt;br /&gt;
def usersInformation = []&lt;br /&gt;
&lt;br /&gt;
// Get the list of user&lt;br /&gt;
List&amp;lt;User&amp;gt; users = context.apiClient.identityAPI.getUsers(p*c, c, UserCriterion.FIRST_NAME_ASC)&lt;br /&gt;
&lt;br /&gt;
// Iterate over each user&lt;br /&gt;
for (user in users) {&lt;br /&gt;
	// Get user extra information (including email address)&lt;br /&gt;
	ContactData contactData = context.apiClient.identityAPI.getUserContactData(user.id, false)&lt;br /&gt;
&lt;br /&gt;
	// Create a map with current user first name, last name and email address&lt;br /&gt;
	def userInformation = [firstName: user.firstName, lastName: user.lastName, email: contactData.email]&lt;br /&gt;
&lt;br /&gt;
	// Add current user information to the global list&lt;br /&gt;
	usersInformation &amp;lt;&amp;lt; userInformation&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Prepare the result&lt;br /&gt;
def result = [p: p, c: c, userInformation: usersInformation]&lt;br /&gt;
&lt;br /&gt;
int startIndex = p*c&lt;br /&gt;
int endIndex = p*c + users.size() - 1&lt;br /&gt;
&lt;br /&gt;
// Send the result as a JSON representation&lt;br /&gt;
return buildPagedResponse(responseBuilder, new JsonBuilder(result).toString(), startIndex, endIndex, context.apiClient.identityAPI.numberOfUsers)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
CTRL+SHIFT+O para importar o que faltar&lt;br /&gt;
===Teste o código-fonte===&lt;br /&gt;
Agora precisamos atualizar o teste para verificar o comportamento de nossa extensão de API REST editando IndexTest.groovy.&lt;br /&gt;
&lt;br /&gt;
O primeiro passo é definir alguns mocks para nossas dependências externas, como a API Engine Identity. Adicione a seguinte declaração de mocks após as existentes:&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_REST_API&amp;diff=254</id>
		<title>Criação de REST API</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_REST_API&amp;diff=254"/>
		<updated>2022-05-05T18:49:22Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Extensões da API REST===&lt;br /&gt;
Crie extensões de API REST para usar dados de sistemas de terceiros (bancos de dados, serviços web, Bonita Engine, etc) em formulários e páginas.&lt;br /&gt;
&lt;br /&gt;
As extensões da API REST podem ser usadas para consultar dados de negócios, APIs do Bonita Engine ou um sistema de informações externo (como um banco de dados, serviço da Web, diretório LDAP…). Eles também ajudam a manter uma separação clara entre o front-end (formulários, páginas e interfaces visíveis para os usuários) e o back-end (processos).&lt;br /&gt;
===Exemplo===&lt;br /&gt;
As seções a seguir mostram como criar uma extensão de API REST. Como exemplo, criamos uma extensão de API REST que usa o Bonita BPM Engine para fornecer informações do usuário (nome, sobrenome, endereço de e-mail).&lt;br /&gt;
&lt;br /&gt;
===Gerar um novo esqueleto de extensão da API REST===&lt;br /&gt;
*No menu Desenvolvimento, escolha REST API Extension e, em seguida, New…​.&lt;br /&gt;
&lt;br /&gt;
*Insira um nome, por exemplo, informações do usuário, extensão da API REST.&lt;br /&gt;
&lt;br /&gt;
*Insira uma Descrição, por exemplo, Query Bonita Engine para recuperar informações do usuário.&lt;br /&gt;
&lt;br /&gt;
*Insira um nome de pacote, use para definir o ID do grupo do artefato, por exemplo: com.company.rest.api&lt;br /&gt;
&lt;br /&gt;
*Insira um nome de projeto, por exemplo userInformationRestAPIExtension&lt;br /&gt;
&lt;br /&gt;
*Clique em Avançar.&lt;br /&gt;
&lt;br /&gt;
*Insira o pathTemplate para esta extensão da API REST, por exemplo userInformation. Este será o ponto de&amp;lt;br&amp;gt; acesso da API e segue este padrão: {bonita_context}/API/extension/userInformation.&lt;br /&gt;
&lt;br /&gt;
*Como essa extensão da API REST não acessa dados corporativos, você pode desmarcar com segurança a caixa de seleção &amp;quot;Adicionar dependências BDM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*Defina um nome de permissão para a extensão (substitua o padrão), por exemplo read_user_information. Este é o nome da permissão que os usuários devem ter para ter acesso à extensão (consulte Uso de extensões da API REST)&lt;br /&gt;
&lt;br /&gt;
*Clique em Avançar&lt;br /&gt;
&lt;br /&gt;
*Esta tela define os parâmetros de URL que serão passados ​​para a API. Por padrão, os parâmetros p e c são definidos para habilitar o resultado paginado, isso se aplica bem em nossos exemplos, pois queremos retornar uma lista de usuários.&lt;br /&gt;
&lt;br /&gt;
*Clique em Criar.&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_REST_API&amp;diff=253</id>
		<title>Criação de REST API</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_REST_API&amp;diff=253"/>
		<updated>2022-05-05T18:23:55Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: Criou página com &amp;#039;https://documentation.bonitasoft.com/bonita/2022.1/api/rest-api-extensions&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://documentation.bonitasoft.com/bonita/2022.1/api/rest-api-extensions&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=EAPn_-_Escrit%C3%B3rio_de_Automa%C3%A7%C3%A3o_de_Processos_de_Neg%C3%B3cio&amp;diff=252</id>
		<title>EAPn - Escritório de Automação de Processos de Negócio</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=EAPn_-_Escrit%C3%B3rio_de_Automa%C3%A7%C3%A3o_de_Processos_de_Neg%C3%B3cio&amp;diff=252"/>
		<updated>2022-05-05T18:23:16Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: /* Recursos e Manuais de Trabalho no EAPn */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Modelagem e Automação de Processos de Negócio na disciplina gerencial BPM (Business Process Management).&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Sala de Reuniões Virtual: https://meet.google.com/sxn-zkfj-htn?authuser=0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Descrição =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
A partir das experiências e com o amadurecimento da área de BPM dentro do ambiente organiacional, vem sendo proposta a implantação de um Escritório de Automação de Processos de Negócio (EAPn). Assim, o projeto original previa aprofundar os conhecimentos sobre a implantação de um EAPn, pesquisando sobre a viabilidade e benefícios da implementação e, principalmente, de um modelo para sua estruturação e implantação em IES. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O projeto visa a realização de modelagem e automação de processos de negócio de uma Instituições de Ensino Superior (IES) utilizando os princípios e práticas da disciplina gerencial Business Process Management (BPM). &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Atualmente o projeto é focado nas demandas da IES, em especial do Centro Tecnológico (CTC), mas já vem atendendo outras unidades acadêmicas. Ressalta-se que a implementação e estudo de viabilidade do EAPn tem escopo nos serviços relacionados exclusivamente à automação de processos e negócios.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O EAPn prevê que a modelagem e, principalmente, a automação dos processos de negócio seja realizada utilizando-se um BPMS (Business Process Management Suite/System) que esteja alinhado à disciplina gerencial BPM e à notação de modelagem de processos de negócio Business Process Model and Notation (BPMN) 2.0. Os processos apresentados são resultantes da criação do Escritório de Automação de Processos de Negócios (EAPn), sendo eles:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Afastamento Nacional (inclusive com Diárias e Passagens)&lt;br /&gt;
* Afastamento Exterior (Inclusive com Diárias e Passagens)&lt;br /&gt;
* Diárias e Passagens para Convidado&lt;br /&gt;
* Estacionamento&lt;br /&gt;
* Solicitações de Correções e Melhorias&lt;br /&gt;
* Cadastro para Acesso ao SIASG&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
Os processos foram modelados com o Guia de modelagem desenvolvido no EAPn. Este Guia prevê o ciclo de vida completo de processo, desde o mapemaneto de processos até a implantação do processo automatizado. Atualmente o Guia está completo para automação com o BPMS Bonita, sendo que foi uma atualização do Guia anterior do EAPn desenvolvido para o BPMS Bizagi. &lt;br /&gt;
Estes Guias servem de manuais à equipe do EAPn, e de apostila para a disciplina INE5681 - Modelagem e Automação de Processos de Negócios e estão submetidos para publicação em revistas/journals da área de automação e BPM.&lt;br /&gt;
::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Objetivos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Desenvolver no ambiente acadêmico a cultura de gerenciamento por processos através de práticas que tenham por objetivo otimizar os processos de negócios e aumentar os resultados de IES como a UFSC. A implementação da visão de gerenciamento por processos de negócio na UFSC é fundamentada na falta de uma disciplina que rege o gerenciamento de processos da instituição. Por estes processos não serem gerenciados, há o risco de existir ineficiência durante suas execuções, que podem se tornar problemas mais sérios com o passar do tempo. Tendo em vista que estes processos influenciam outros processos de diversos departamentos da universidade, aumentando ainda mais a abrangência de possíveis problemas num contexto geral de universidade.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O gerenciamento de processos de negócio é muito importante para o bom funcionamento da instituição, pois permite a melhora contínua de processos e serviços. Além disso, pode diminuir significativamente o tempo e trabalho necessários para automatizar os processos acadêmicos, trazendo benefícios para a universidade.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Através da implementação da disciplina gerencial BPM na estratégia organizacional da instituição  é obtido como benefícios principais:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Padronização de processos&lt;br /&gt;
* Redução de falhas e de desperdícios de recursos&lt;br /&gt;
* Análise e mensuração de resultados&lt;br /&gt;
* Melhoria na comunicação&lt;br /&gt;
* Transparência&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
Para isso, é pretendido estabelecer um modelo centrado em automação de processos de negócios, como na forma de um EAPn. Um EAPn poderá vir a solucionar problemas localizados que, comumente, não são automatizados devido a grande demanda que os setores de TI recebem das IES, ou são automatizados de forma inadequada pela visão de desenvolvimento de novos sistemas. Com isso, espera-se definir as interfaces do EAP tanto com departamentos de TI como com Escritórios de Processos de Negócios, e ainda com equipes internas do EAP.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Resultados =&lt;br /&gt;
&lt;br /&gt;
== Portal de processos == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Os processos estão disponíveis aos usuários através do link https://processos.ufsc.br/, nele se encontram a modelagem e o acesso para o portal de execução dos processos automatizados. Para acessar a documentação: https://documentacao.processos.ufsc.br/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Os processos automatizados são disponibilizados no Portal de Processos desenvolvido pelo EAPn permitindo ao usuário iniciar, consultar e realizar tarefas relacionadas aos processos disponíveis. O acesso ao Portal é feito através do link: https://processos.ufsc.br/bonita/apps/eapnPortal/Processos/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O método utilizado para modelagem e automação de processos de negócio foi criado pelo professor da disciplina INE5681-Modelagem e Automação de Processos de Negócios, supervisor do EAPn, e está em fase de publicação e disponível resumidamente em notas de aula [1]. Originalmente também gerou o TCC de [5], para automação com BPMS Bizagi, e depois avançou como em [&#039;] para BPMS Bonita. Sua aplicação foi relatada em Relatórios Técnicos resultantes da automação dos processos de Afastamento Nacional (inclusive com Diárias e Passagens), Afastamento Exterior (Inclusive com Diárias e Passagens) e Diárias e Passagens para Convidado, além de outros processos. O método original já gerou TCCs e trabalhos de Estágio, tendo sido completamente refeito para automação com um BPMS open source. Os relatórios técnicos referenciados em [3][4][5], compartilham os resultados do guia/manual de modelagem e automação tendo por objetivo auxiliar a comunidade acadêmica da UFSC interessada e envolvida com processos de negócio, mais especificamente interessados em automação de processos de negócios .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Publicações == &lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;&lt;br /&gt;
[1] GALIMBERTI, Maurício Floriano; HAUCK, J.; DE LUCCA, J. E.; PETERS, S. //?? Modelo...&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[2] GALIMBERTI, Maurício Floriano. Guia de Modelagem e Automação do Processos de Negócio com BPMS BonitaSoft. Notas de aula, enquanto submetido para publicação e em avaliação. Respositório Moodle da disciplina INE5681 da UFSC, 2020.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[3] GALIMBERTI, Maurício Floriano; MARIANI, Antonio Carlos; CORDEIRO, Gustavo Vicente; TRIDAPALLI, Jhonata Vinicius; ZÍLIO, Ulisses Iraí. Modelagem e Automação do Processo de Negócio ‘Cadastro para Acesso ao SIASG’. Relatório Técnico do INE. Repositório Institucional UFSC, 2020. Disponível em https://repositorio.ufsc.br/handle/123456789/208102&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[4] GALIMBERTI, Maurício Floriano; MARIANI, Antonio Carlos; CORDEIRO, Gustavo Vicente; Tridapalli, Jhonata Vinicius; De Pieri, Edson Roberto; Peters, Sérgio. Modelagem e Automação do Processo de Negócio ‘Afastamento Exterior (Inclusive com DIárias e Passagens)’. Relatório Técnico do INE. Repositório Institucional UFSC, 2019. Disponível em https://repositorio.ufsc.br/handle/123456789/201223&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[5] GALIMBERTI, Maurício Floriano; MARIANI, Antonio Carlos; GONÇALVES, Hugo Piovesan; CORDEIRO, Gustavo Vicente; TRIDAPALLI, Jhonata Vinicius. Método de Modelagem e Automação de Processos de Negócios Acadêmicos com BPMS: estudo de caso com BPMS Bizagi e IES UFSC. Relatório Técnico do INE. Repositório Institucional UFSC, 2019. Disponível em https://repositorio.ufsc.br/handle/123456789/196032&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[6] GONÇALVES, Hugo Piovesan. Guia para Modelagem e Automação de Processos: estudos de caso com processos acadêmicos da UFSC. 2016. Trabalho de Conclusão de Curso. (Bel. Sistema de Informação) – Universidade Federal de Santa Catarina. Orientador: Maurício Floriano Galimberti. Disponível em https://repositorio.ufsc.br/xmlui/handle/123456789/171424&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[7] CORDEIRO, Gustavo Vicente //?? Acrescentar Relatório de Estágio..., 2019.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[8] TRIDAPALLI, Jhonata Vinicius //?? Acrescentar Relatório de Estágio..., 2020.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Recursos e Manuais de Trabalho no EAPn =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt; &lt;br /&gt;
Todos as etapas até a implementação do processo automatizado no servidor são descritas no formato de manuais, tutoriais, dicas e boas práticas e podem ser encontradas em [[Guia Automação com BPMS Bonita]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Na página se encotram conteúdos relativos aos tópicos: &lt;br /&gt;
&lt;br /&gt;
* [[Instalação do Software BPMS Bonita]]&lt;br /&gt;
* [[Instalação e operações sobre o servidor]]&lt;br /&gt;
* [[Linguagens de Programação Utilizadas no BPMS Bonita]]&lt;br /&gt;
* [[GIT|GIT: Controle de versão dos processos]]&lt;br /&gt;
* Ciclo de vida de modelagem e automação de processos com BPMS Bonita ([[Guia Automação com BPMS Bonita]]): automação no Bonita Studio; formulários no Bonita UI Designer, etc.&lt;br /&gt;
* [[Como criar um Gerador de PDF]]&lt;br /&gt;
* [[Como realizar Debugging no Bonita]]&lt;br /&gt;
* [[Como realizar backup e restore no servidor]]&lt;br /&gt;
* [[Configuração do CAS no Bonita]]&lt;br /&gt;
* [[Instalação do MediaWiki em SO baseado em Debian]]&lt;br /&gt;
* [[Montar um servidor em máquina local]]&lt;br /&gt;
* [[Processo de instalação do software BonitaBPM Community em Sistemas operacionais GNU_2FLinux]]&lt;br /&gt;
* [[Pastas de acesso aos arquivos no servidor de produção]]&lt;br /&gt;
* [[Passo-a-Passo configuração do .bos]]&lt;br /&gt;
* Informações do Desenvolvimento da página de aplicação&lt;br /&gt;
* [[Como usar o terminal VIM no UBUNTU]]&lt;br /&gt;
* Informações de como proceder para implantar os processos no servidor&lt;br /&gt;
* [[Acessos Restritos]] (atenção)&lt;br /&gt;
* Acesso ao [[GIT]]&lt;br /&gt;
* [[Utilização de GIT no Bonita]]&lt;br /&gt;
* [[Criação de Conectores]]&lt;br /&gt;
* [[Criação de REST API]]&lt;br /&gt;
* [[FAQ Interna]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=251</id>
		<title>Criação de Conectores</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=251"/>
		<updated>2022-05-05T18:22:15Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: /* Fazendo pelo Bonita */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Conectores são pontos de extensão que podem ser adicionados a um processo para estender os recursos do Bonita Runtime. Eles são um pedaço de código com entradas definidas como &#039;&#039;&#039;Expressões&#039;&#039;&#039; e saídas definidas como &#039;&#039;&#039;Operações&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Instalando as ferramentas==&lt;br /&gt;
Deve-se instalar o Java JDK e Maven na sua máquina.&amp;lt;br&amp;gt;&lt;br /&gt;
Maven 3.3+ requer JDK 1.7 ou mais recente.&amp;lt;br&amp;gt;&lt;br /&gt;
Abra o terminal Linux (Debian) e execute as seguintes linhas de código:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Instalando OpenJDK===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt update &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt install default-jdk &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verifique a instalação do OpendJDK com:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;java -version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A saída deve ser algo do tipo:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code class=&amp;quot;language-output&amp;quot;&amp;gt;&lt;br /&gt;
openjdk version &amp;quot;11.0.7&amp;quot; 2020-04-14&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Maven===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; wget https://www-us.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -P /tmp &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo tar xf /tmp/apache-maven-*.tar.gz -C /opt &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo ln -s /opt/apache-maven-3.6.3 /opt/maven &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo nano /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; export JAVA_HOME=/usr/lib/jvm/default-java&lt;br /&gt;
&amp;lt;br&amp;gt;export M2_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export MAVEN_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export PATH=${M2_HOME}/bin:${PATH}&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo chmod +x /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; source /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; mvn -version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; Maven home: /opt/maven&lt;br /&gt;
Java version: 11.0.7, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64&amp;lt;br&amp;gt;&lt;br /&gt;
Default locale: en_US, platform encoding: UTF-8&amp;lt;br&amp;gt;&lt;br /&gt;
OS name: &amp;quot;linux&amp;quot;, version: &amp;quot;5.4.0-26-generic&amp;quot;, arch: &amp;quot;amd64&amp;quot;, family: &amp;quot;unix&amp;quot;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fazendo o build===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; &lt;br /&gt;
   mvn archetype:generate \&lt;br /&gt;
  -DarchetypeGroupId=org.bonitasoft.archetypes \&lt;br /&gt;
  -DarchetypeArtifactId=bonita-rest-api-extension-archetype&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao executar esse comando, é iniciado o processo de criar a REST API, especificando atributos conforme as perguntas aparecem no terminal. Siga as instruções para cada campo:&lt;br /&gt;
*GroupId e package: digitar org.bonitasoft.archetypes&lt;br /&gt;
*ArtifactId: bonita-rest-api-extension-(qualquer coisa aqui) Não tenho certeza se precisa desse texto em específico ou se pode ser quaisquer palavras separadas por -&lt;br /&gt;
*Version: 1.0-SNAPSHOT Altera o número da versão como preferir&lt;br /&gt;
*BonitaVersion: É a technical Id da versão, verificar qual a technicalId da sua versão abrindo o bonita studio, indo em Help e clicando em sobre&lt;br /&gt;
*Linguagem: Groovy, java ou kotlin, kotlin está dando erro no momento(05/2022)&lt;br /&gt;
*PathTemplate: qualquer coisa desde que seja separado por hífen, exemplo: miguel-thiago-tomas&lt;br /&gt;
*HttpVerb: a função desejada da REST API, a lista das funções aparece no terminal&lt;br /&gt;
*DisplayName: qualquer nome&lt;br /&gt;
*ApiName: nome da sua REST API&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=250</id>
		<title>Criação de Conectores</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=250"/>
		<updated>2022-05-05T16:51:51Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: /* Instalando as ferramentas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Conectores são pontos de extensão que podem ser adicionados a um processo para estender os recursos do Bonita Runtime. Eles são um pedaço de código com entradas definidas como &#039;&#039;&#039;Expressões&#039;&#039;&#039; e saídas definidas como &#039;&#039;&#039;Operações&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Instalando as ferramentas==&lt;br /&gt;
Deve-se instalar o Java JDK e Maven na sua máquina.&amp;lt;br&amp;gt;&lt;br /&gt;
Maven 3.3+ requer JDK 1.7 ou mais recente.&amp;lt;br&amp;gt;&lt;br /&gt;
Abra o terminal Linux (Debian) e execute as seguintes linhas de código:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Instalando OpenJDK===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt update &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt install default-jdk &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verifique a instalação do OpendJDK com:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;java -version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A saída deve ser algo do tipo:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code class=&amp;quot;language-output&amp;quot;&amp;gt;&lt;br /&gt;
openjdk version &amp;quot;11.0.7&amp;quot; 2020-04-14&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Fazendo pelo Bonita===&lt;br /&gt;
Seguir o passo a passo do link:https://documentation.bonitasoft.com/bonita/2022.1/api/rest-api-extensions&lt;br /&gt;
&lt;br /&gt;
===Maven===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; wget https://www-us.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -P /tmp &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo tar xf /tmp/apache-maven-*.tar.gz -C /opt &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo ln -s /opt/apache-maven-3.6.3 /opt/maven &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo nano /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; export JAVA_HOME=/usr/lib/jvm/default-java&lt;br /&gt;
&amp;lt;br&amp;gt;export M2_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export MAVEN_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export PATH=${M2_HOME}/bin:${PATH}&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo chmod +x /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; source /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; mvn -version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; Maven home: /opt/maven&lt;br /&gt;
Java version: 11.0.7, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64&amp;lt;br&amp;gt;&lt;br /&gt;
Default locale: en_US, platform encoding: UTF-8&amp;lt;br&amp;gt;&lt;br /&gt;
OS name: &amp;quot;linux&amp;quot;, version: &amp;quot;5.4.0-26-generic&amp;quot;, arch: &amp;quot;amd64&amp;quot;, family: &amp;quot;unix&amp;quot;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fazendo o build===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; &lt;br /&gt;
   mvn archetype:generate \&lt;br /&gt;
  -DarchetypeGroupId=org.bonitasoft.archetypes \&lt;br /&gt;
  -DarchetypeArtifactId=bonita-rest-api-extension-archetype&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao executar esse comando, é iniciado o processo de criar a REST API, especificando atributos conforme as perguntas aparecem no terminal. Siga as instruções para cada campo:&lt;br /&gt;
*GroupId e package: digitar org.bonitasoft.archetypes&lt;br /&gt;
*ArtifactId: bonita-rest-api-extension-(qualquer coisa aqui) Não tenho certeza se precisa desse texto em específico ou se pode ser quaisquer palavras separadas por -&lt;br /&gt;
*Version: 1.0-SNAPSHOT Altera o número da versão como preferir&lt;br /&gt;
*BonitaVersion: É a technical Id da versão, verificar qual a technicalId da sua versão abrindo o bonita studio, indo em Help e clicando em sobre&lt;br /&gt;
*Linguagem: Groovy, java ou kotlin, kotlin está dando erro no momento(05/2022)&lt;br /&gt;
*PathTemplate: qualquer coisa desde que seja separado por hífen, exemplo: miguel-thiago-tomas&lt;br /&gt;
*HttpVerb: a função desejada da REST API, a lista das funções aparece no terminal&lt;br /&gt;
*DisplayName: qualquer nome&lt;br /&gt;
*ApiName: nome da sua REST API&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=249</id>
		<title>Criação de Conectores</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=249"/>
		<updated>2022-05-04T18:59:05Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: /* Fazendo o build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Conectores são pontos de extensão que podem ser adicionados a um processo para estender os recursos do Bonita Runtime. Eles são um pedaço de código com entradas definidas como &#039;&#039;&#039;Expressões&#039;&#039;&#039; e saídas definidas como &#039;&#039;&#039;Operações&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Instalando as ferramentas==&lt;br /&gt;
Deve-se instalar o Java JDK e Maven na sua máquina.&amp;lt;br&amp;gt;&lt;br /&gt;
Maven 3.3+ requer JDK 1.7 ou mais recente.&amp;lt;br&amp;gt;&lt;br /&gt;
Abra o terminal Linux (Debian) e execute as seguintes linhas de código:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Instalando OpenJDK===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt update &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt install default-jdk &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verifique a instalação do OpendJDK com:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;java -version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A saída deve ser algo do tipo:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code class=&amp;quot;language-output&amp;quot;&amp;gt;&lt;br /&gt;
openjdk version &amp;quot;11.0.7&amp;quot; 2020-04-14&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Maven===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; wget https://www-us.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -P /tmp &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo tar xf /tmp/apache-maven-*.tar.gz -C /opt &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo ln -s /opt/apache-maven-3.6.3 /opt/maven &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo nano /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; export JAVA_HOME=/usr/lib/jvm/default-java&lt;br /&gt;
&amp;lt;br&amp;gt;export M2_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export MAVEN_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export PATH=${M2_HOME}/bin:${PATH}&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo chmod +x /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; source /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; mvn -version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; Maven home: /opt/maven&lt;br /&gt;
Java version: 11.0.7, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64&amp;lt;br&amp;gt;&lt;br /&gt;
Default locale: en_US, platform encoding: UTF-8&amp;lt;br&amp;gt;&lt;br /&gt;
OS name: &amp;quot;linux&amp;quot;, version: &amp;quot;5.4.0-26-generic&amp;quot;, arch: &amp;quot;amd64&amp;quot;, family: &amp;quot;unix&amp;quot;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fazendo o build===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; &lt;br /&gt;
   mvn archetype:generate \&lt;br /&gt;
  -DarchetypeGroupId=org.bonitasoft.archetypes \&lt;br /&gt;
  -DarchetypeArtifactId=bonita-rest-api-extension-archetype&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao executar esse comando, é iniciado o processo de criar a REST API, especificando atributos conforme as perguntas aparecem no terminal. Siga as instruções para cada campo:&lt;br /&gt;
*GroupId e package: digitar org.bonitasoft.archetypes&lt;br /&gt;
*ArtifactId: bonita-rest-api-extension-(qualquer coisa aqui) Não tenho certeza se precisa desse texto em específico ou se pode ser quaisquer palavras separadas por -&lt;br /&gt;
*Version: 1.0-SNAPSHOT Altera o número da versão como preferir&lt;br /&gt;
*BonitaVersion: É a technical Id da versão, verificar qual a technicalId da sua versão abrindo o bonita studio, indo em Help e clicando em sobre&lt;br /&gt;
*Linguagem: Groovy, java ou kotlin, kotlin está dando erro no momento(05/2022)&lt;br /&gt;
*PathTemplate: qualquer coisa desde que seja separado por hífen, exemplo: miguel-thiago-tomas&lt;br /&gt;
*HttpVerb: a função desejada da REST API, a lista das funções aparece no terminal&lt;br /&gt;
*DisplayName: qualquer nome&lt;br /&gt;
*ApiName: nome da sua REST API&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
	<entry>
		<id>https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=243</id>
		<title>Criação de Conectores</title>
		<link rel="alternate" type="text/html" href="https://wiki.processos.ufsc.br/index.php?title=Cria%C3%A7%C3%A3o_de_Conectores&amp;diff=243"/>
		<updated>2022-05-03T16:39:35Z</updated>

		<summary type="html">&lt;p&gt;Tomas.f.drews: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Conectores são pontos de extensão que podem ser adicionados a um processo para estender os recursos do Bonita Runtime. Eles são um pedaço de código com entradas definidas como &#039;&#039;&#039;Expressões&#039;&#039;&#039; e saídas definidas como &#039;&#039;&#039;Operações&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Instalando as ferramentas==&lt;br /&gt;
Deve-se instalar o Java JDK e Maven na sua máquina.&amp;lt;br&amp;gt;&lt;br /&gt;
Maven 3.3+ requer JDK 1.7 ou mais recente.&amp;lt;br&amp;gt;&lt;br /&gt;
Abra o terminal Linux (Debian) e execute as seguintes linhas de código:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Instalando OpenJDK===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt update &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo apt install default-jdk &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verifique a instalação do OpendJDK com:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;java -version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A saída deve ser algo do tipo:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code class=&amp;quot;language-output&amp;quot;&amp;gt;&lt;br /&gt;
openjdk version &amp;quot;11.0.7&amp;quot; 2020-04-14&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)&amp;lt;br&amp;gt;&lt;br /&gt;
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===Maven===&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; wget https://www-us.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -P /tmp &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo tar xf /tmp/apache-maven-*.tar.gz -C /opt &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo ln -s /opt/apache-maven-3.6.3 /opt/maven &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo nano /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; export JAVA_HOME=/usr/lib/jvm/default-java&lt;br /&gt;
&amp;lt;br&amp;gt;export M2_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export MAVEN_HOME=/opt/maven&lt;br /&gt;
&amp;lt;br&amp;gt;export PATH=${M2_HOME}/bin:${PATH}&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; sudo chmod +x /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; source /etc/profile.d/maven.sh &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; mvn -version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; Maven home: /opt/maven&lt;br /&gt;
Java version: 11.0.7, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64&amp;lt;br&amp;gt;&lt;br /&gt;
Default locale: en_US, platform encoding: UTF-8&amp;lt;br&amp;gt;&lt;br /&gt;
OS name: &amp;quot;linux&amp;quot;, version: &amp;quot;5.4.0-26-generic&amp;quot;, arch: &amp;quot;amd64&amp;quot;, family: &amp;quot;unix&amp;quot;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fazendo o build===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code class=&amp;quot;terminal-line&amp;quot;&amp;gt; &lt;br /&gt;
   mvn archetype:generate \&lt;br /&gt;
  -DarchetypeGroupId=org.bonitasoft.archetypes \&lt;br /&gt;
  -DarchetypeArtifactId=bonita-rest-api-extension-archetype&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao executar esse comando, é iniciado o processo de criar a REST API, especificando atributos conforme as perguntas aparecem no terminal. Siga as instruções para cada campo:&lt;br /&gt;
*GroupId e package: digitar org.bonitasoft.archetypes&lt;br /&gt;
*ArtifactId: bonita-rest-api-extension-(qualquer coisa aqui) Não tenho certeza se precisa desse texto em específico ou se pode ser quaisquer palavras separadas por -&lt;br /&gt;
*Version: 1.0-SNAPSHOT Altera o número da versão como preferir&lt;br /&gt;
*BonitaVersion: É a technical Id da versão, verificar qual a technicalId da sua versão abrindo o bonita studio, indo em Help e clicando em sobre&lt;br /&gt;
*Linguagem: Groovy, java ou kotlin, kotlin está dando erro no momento(05/2022)&lt;br /&gt;
*PathTemplate: qualquer coisa desde que seja separado por hífen, exemplo: miguel-thiago-tomas&lt;br /&gt;
*HttpVerb: a função desejada da REST API, a lista das funções aparece no terminal&lt;br /&gt;
*DisplayName: qualquer coisa entre &amp;quot;qualquer coisa&amp;quot;&lt;br /&gt;
*ApiName: nome da sua REST API&lt;/div&gt;</summary>
		<author><name>Tomas.f.drews</name></author>
	</entry>
</feed>