Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Índice
outlinetrue
exclude.*ndice
stylenone

 

Objetivo

Para utilizar os recursos do componente SDK, existem alguns pré-requisitos e exigências a serem seguidos, como:

  • Esta documentação é destinada ao desenvolvedor

...

  • cliente e parceiro do fluig que deseja consumir interna e externamente os recursos disponíveis na API Pública e no componente SDK.
  • As operações na API Pública estão disponíveis através de chamadas REST, que são consumidas via HTTP.
  • As operações no componente SDK estão disponíveis após configuração do fluig-sdk-api no classpath da aplicação

...

  • dessa forma, através de um ServiceLocator, é realizada a chamada ao serviço desejado. 

Consumindo um serviço na API Pública

Para utilizar um serviço da API Pública, deve ser utilizado o protocolo OAuth de autenticação, que através das chaves ConsumerKey, ConsumerSecret, configurados no OAuthConsumer é gerado através do OAuthProvider com um novo TokenAccess e um TokenSecret.

  • O client deve ser desenvolvido para suportar autenticação OAuth 1.0a.

Consumindo um serviço no componente SDK

Para utilizar o recursos do componente SDK, existem alguns pré-requisitos e exigências a serem seguidos, como:

  • Incluir as configurações do servidor do nexus no Maven para realizar o download de artefatos de dependência. (settings.xml)
Bloco de código
languagexml
themeEclipse
titlesettings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<mirrors>
		<mirror>
			<id>nexus</id>
			<mirrorOf>*</mirrorOf>
			<name>Fluig Nexus Repository.</name>
			<url>http://nexus.fluig.com/content/groups/public</url>
		</mirror>
	</mirrors>
</settings>

...

  • Configurar o componente fluig-sdk-api no classpath.
  • No caso de criação de um novo projeto WEB ou Widget, seguir o seguinte padrão de projeto Maven Maven fluigsdk.sample.
  • O novo projeto Maven deve ter por padrão as seguintes configurações no pom.xml:
Bloco de código
languagexml
themeEclipse
titlepom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.fluig</groupId>
				<artifactId>fluig-sdk-bom</artifactId>
				<version>1.6.0</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
 		<dependencies>		
		<dependency>
			<groupId>com.fluig</groupId>
			<artifactId>fluig-sdk-api</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fluig</groupId>
			<artifactId>fluig-sdk-common</artifactId>
		</dependency>
		<dependency>
			<groupId>javax</groupId>
			<artifactId>javaee-api</artifactId>
			<scope>provided</scope>
		</dependency>
	</dependencies>
	<build>
		<finalName>fluigsdk.sample</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
					<failOnMissingWebXml>false</failOnMissingWebXml>
					<archive>
						<manifestEntries>
							<Dependencies>org.slf4j, com.fluig.api, com.fluig.api.common</Dependencies>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
  • Se atentar para as configurações padrão de autenticação e security-role localizadas no jboss-web.xml e web.xml conforme abaixo:

 jboss-web.xml  


Bloco de código
languagexml
themeEclipse
titlejboss-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
	<context-root>/sample</context-root>
	<disable-cross-context>false</disable-cross-context>
	<security-domain>TOTVSTech</security-domain>
	<security-role>
		<role-name>user</role-name>
		<principal-name>totvstech</principal-name>
	</security-role>
	<security-role>
		<role-name>totvstech</role-name>
		<principal-name>totvstech</principal-name>
	</security-role>
	<security-role>
		<role-name>sysadmin</role-name>
		<principal-name>wcmadmin</principal-name>
	</security-role>
	<security-role>
		<role-name>admin</role-name>
		<principal-name>wcmadmin</principal-name>
	</security-role>	
</jboss-web>

No arquivo web.xml:

Bloco de código
languagexml
themeEclipse
titleweb.xml
 
	<security-constraint>
		<display-name>REST</display-name>
		<web-resource-collection>
			<web-resource-name>REST</web-resource-name>
			<description>REST</description>
			<url-pattern>/api/rest/*</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<description>REST</description>
			<role-name>user</role-name>
		</auth-constraint>
	</security-constraint>
	<login-config>
		<auth-method>FORM,FLUIGAUTH</auth-method>
		<realm-name>TOTVSTech</realm-name>
		<form-login-config>
			<form-login-page>/login.jsp</form-login-page>
			<form-error-page>/loginfail.jsp</form-error-page>
		</form-login-config>
	</login-config>
 
	<security-role>
		<role-name>totvstech</role-name>
	</security-role>
	<security-role>
		<role-name>user</role-name>
	</security-role>
	<security-role>
		<role-name>sysadmin</role-name>
	</security-role>
  • Realizar lookup do serviço via ServiceLocator. Seguir padrão da Super Classe FluigAPIfluigAPI.

 

Serviços disponíveis no componente SDK

 

Exemplo para

...

Instanciar Serviço do SDK

Veja a seguir o exemplo para a chamado ao serviço no SDK:

Bloco de código
languagejava
themeEclipse
private UserService getUserServiceSDK() throws SDKException {
	return new FluigAPI().getUserService();
}

 

Consumindo um

...

Serviço do

...

Componente SDK a partir de

...

Eventos de

...

JavaScript

Informações
titleEventos de Workflow e Eventos de Personalização Social
Este recurso está disponível para eventos javascript de Workflow (que podem ser encontrados aqui) e também para Eventos de Personalização Social (que podem ser encontrados aqui).

 

Auto

...

Completar Eventos da fluigAPI

Este serviço permite visualizar no Studio uma lista com todos os métodos disponíveis no fluigAPI. Digitando "fluigAPI." e em seguida apertando o atalho CTRL + Espaço, a lista de métodos será apresentada. Por exemplo, ao usar um método com retorno, por exemplo, fluigAPI.getWorkflowService(), o usuário poderá listar os métodos deste retorno, como fluigAPI.getWorkflowService().createObervation().

Também é possível criar facilmente os objetos que são utilizados nos métodos. Para isso, basta digitar, por exemplo, new ProcessObservationVO e acionar CTRL + Espaço que o plugin irá alterar o trecho automaticamente para new com.fluig.sdk.api.workflow.ProcessObservationVO();

Informações
titleImportante!

Este serviço está disponível a partir da Atualização 1.5.13 da plataforma. Siga os procedimentos do Guia de atualização fluig Studio para atualizar o plugin.

 

Exemplos para utilização Utilização do componente Componente SDK via eventos Eventos de JavaScript

Exemplo 1

Bloco de código
languagejava
themeEclipse
function beforeTaskCreate(colleagueId){
	log.info(fluigAPI.getUserService().getCurrent());
}

...

Informações
titleObservação

Veja também o exemplo de uma aplicação web utilizando o fluig SDK através do artefato fluig-sdk-api. Diponível no git.fluig.