Spring Integration. Saiba como desenhar uma solução completa utilizando padrões EAI com o Spring Integration

Tamanho: px
Começar a partir da página:

Download "Spring Integration. Saiba como desenhar uma solução completa utilizando padrões EAI com o Spring Integration"

Transcrição

1 capa_ Aplicando padrões EAI com Spring Integration Saiba como desenhar uma solução completa utilizando padrões EAI com o Spring Integration Giuliano Bem Hur Firmino giulianofirmino@yahoo.com.br especialista em Engenharia de Software pelo Instituto da Computação da Unicamp e certificado pela Sun (SCJP). Atua na área de desenvolvimento de softwares há 12 anos. Com a plataforma JAVA nos ambientes Web, Mobile e Enterprise. Aplicações raramente vivem isoladas, normalmente são desenvolvidas para se comunicar com outras aplicações, banco de dados, sistemas de mensagem, sistemas legados e até mesmo com redes sociais. Como lidar com os desafios que essas integrações oferecem? EAI propõe uma forma abstrata e prática de lidar com esses desafios, através de padrões. E o Spring Integration se propõe a implementar esses padrões de forma simples, sem a necessidade de grandes mudanças no processo de desenvolvimento. 5 \

2 EAI (Enterprise Application Integration) O termo EAI já existia dede o início de 2000, mas o problema que ele se propõe a resolver é muito antigo, vem desde os primórdios da computação, quando nos deparamos com a necessidade de fazer aplicações se comunicarem. Podemos resumir a integração entre uma aplicação e outra como uma conversa. Se ela não for conduzida em uma determinada linguagem e em um determinado padrão, o que chamamos protocolo de comunicação, não há diálogo. Hoje temos basicamente as seguintes formas de comunicação entre aplicações: File Transfer: aplicações transferem ou disponibilizam, em local comum, arquivos para que outras aplicações possam ler. Shared Database: aplicações acessando um ou mais banco de dados em comum, com intuito de compartilhar informações. Remote Procedure Call: aplicações acessando outras aplicações através de chamadas remotas. Abrangendo diversas tecnologias, como CORBA, RMI e WebService. Messaging: aplicações enviando mensagens a outras aplicações. Em uma arquitetura empresarial, tende a existir diversos sistemas e aplicações, para atender a diversos departamentos e serviços que uma empresa pode oferecer e consumir. É muito comum que todos esses recursos estejam distribuídos dentro da organização. No entanto para obter os benefícios desse tipo de distribuição, é necessário se preocupar com a forma com que essas aplicações se integram. Hoje temos os seguintes tipos de integrações entre aplicações. Point-to-Point: neste tipo de integração as conexões são feitas de forma direta. A vantagem é que o mesmo atende bem necessidades pontuais, dentro de uma arquitetura pequena. A desvantagem ocorre quando queremos aumentar o número de aplicações participantes, neste caso, temos um aumento exponencial do número de conexões. Veja um exemplo na figura 1. Hub and Spoke: todas as aplicações se comunicam através de um mediador e é esse mediador que se comunica com as outras aplicações. A vantagem é que todas aplicações se convergem em uma só conexão, simplificando a manutenção e o gerenciamento das conexões. A desvantagem é justamente pelo fato de centralizar todas as conexões, pois quando o serviço fica indisponível, todas as aplicações sofrem com isso. Veja um exemplo na figura 2. Figura 2. Tipo de integração Hub and Spoke. Diferentemente do que parece, EAI não trabalha diretamente com nenhum dos tipos de integrações mencionados acima, tão pouco atende especificamente a alguma forma de comunicação existente. EAI possui simplesmente uma notação genérica e baseada em padrões. Cada framework/ferramenta/ plataforma implementa a especificação de EAI da forma que lhe convir. Existe um padrão dentro da especificação EAI, por exemplo, chamado Message Bus que visa representar uma boa prática de integração entre aplicações (Hub and Spoke, mencionado anteriormente), veja como funciona o mesmo na figura 3. Esse padrão foi responsável pelo surgimento de diversas interpretações, nomeadas de ESB (Enterprise Service Bus). application application message bus application Figura 1. Tipo de integração Point-to-Point. Figura 3. Exemplo de funcionamento do padrão Message Bus. / 6

3 data message message channel message data endpoint endpoint sender application receiver application Figura 4. Elementos básicos da notação EAI. O Framework Spring Integration Spring Integration é uma extensão do Spring (framework de inversão de controle) que possibilita a utilização da notação EAI de forma declarativa e/ou programática. O mesmo disponibiliza uma interface de integração com os adaptadores do Spring, abstraindo a complexidade de acessar vários tipos de plataformas, sistemas, tecnologias e protocolos como HTTP, TCP/ UDP, Banco de Dados, Arquivos, FTP, RMI, JMS, e- -mail, até a redes sociais, como Twitter, possibilitando ainda reaproveitar e acessar outros tipos de recursos externos através de serviços customizados. No Spring Integration podemos observar os seguintes elementos para utilização de EAI, acompanhando na figura 4. Data: representa os dados a serem processados. Message: no Spring Integration, é formada por Header (cabeçalho) e Payload (corpo) conforme a ilustração da figura 5. No Header podemos trafegar informações adicionais que serão usadas para tomada de decisões no fluxo, e no corpo estão os dados propriamente ditos. message header payload Figura 5. Estrutura da mensagem. Message channel: é o canal de comunicação de mensagens. Um canal possui duas pontas, por onde as mensagens trafegam: Entrada: por onde os produtores enviam as mensagens. Saída: por onde os receptores conseguem resgatar as mensagens enviadas pelos produtores. Os canais ainda podem ser categorizados de duas formas: Handoff: que podem ser síncronos, ou seja, a mensagem é recebida diretamente pelo receptor. Ou assíncronos, ou seja, a mensagem é armazenada no canal antes de ser enviada ao receptor. Delivery: que podem ser point-to-point, ou seja, um produtor envia uma mensagem diretamente para um receptor ou publish- -subscribe, onde um produtor envia uma mensagem e N receptores podem se inscrever para receber a mesma mensagem. Message Endpoints: são todos os componentes que efetivamente sabem receber/manipular/enviar as mensagens. São divididos basicamente em Gateway, Sevice Activator, Router, Splitter e Aggregator. Os mesmos serão detalhados no decorrer da explicação da implementação do projeto de exemplo a seguir. Diferentemente de muitas das soluções de mercado, Spring Integration não é considerado um ESB, pois não é baseado no padrão Message Bus. Mas por se tratar de um framework robusto, provê uma boa base para implementação do mesmo. Projeto de exemplo Meu intuito é mostrar não só os padrões EAI e como utilizá-los no Spring Integration, mas um exemplo prático e funcional de aplicação dos principais padrões de integração em um cenário fictício, mas suficientemente complexo que será explorado abaixo. História Grandes empresas varejistas e atacadistas ainda aceitam um grande volume de cheques diariamente de seus clientes. O banco Sua Poupança vendo um nicho de mercado ainda pouco explorado, decide criar um novo produto e atrair esses clientes. Sabendo do trabalho que estas empresas têm em depositar esse grande volume de cheques, decide criar um processo que facilite este trabalho. 7 \

4 Problema Para atender essa quantidade de cheques, hoje o banco conta com profissionais que avaliam um a um os cheques os separando e os enviando através de malotes para os respectivos bancos. Esse processo é lento e também envolve a burocracia do banco de destino. Ao final o banco de destino envia os dados confirmando o débito na conta do cliente. O tempo total do depósito do cheque gira em torno de 5 dias. Solução de negócio Esses cheques são na grande maioria preenchidos por impressoras nos caixas, por isso são passíveis de serem lidos sem a necessidade de intervenção humana. Para a leitura automática dos cheques, foram encontradas várias opções de impressoras que conseguem processar centenas de cheques por minuto, gerando imagens de qualidade e capturando dados via OCR. Essas impressoras seriam disponibilizadas para os clientes para que os mesmos possam enviar mais rapidamente as imagens e os dados dos cheques através de um serviço a ser disponibilizado para o mesmo. Este serviço por sua vez, agruparia os cheques por banco e os enviaria aos bancos que já possuem uma política de recebimento de cheques digitalizados. A previsão é que o tempo do depósito de cheques desses clientes caia para 2 dias. Solução técnica Esse processo é um tanto complexo, pois envolve integração com várias tecnologias, então a equipe de negócio pede a equipe de Arquitetura que desenhe a solução e escolha a melhor forma de resolver o problema. Em uma reunião, a equipe de arquitetura chegou a conclusão que seriam necessárias duas aplicações, para atender a solução. A figura 6 mostra o diagrama de arquitetura levantado. 1. Uma aplicação Desktop que irá capturar as imagens scaneadas e dados extraídos dos cheques, através do OCR presente no scanner de cheques. Esses cheques formarão um lote a ser enviado ao serviço Web a ser desenvolvido. Um lote pode possuir N cheques e depende da capacidade do scanner de cheques. 2. Serviço Web que irá separar os cheques e enviá-los a seus respectivos bancos de destino. Os únicos bancos que possuem serviços que recebem e processam cheques digitalizados é o Banco do Povo e o Banco de Todos. O Banco do Povo disponibiliza um servidor FTP para enviar os dados e as imagens dos cheques e o Banco de Todos disponibiliza um servidor de filas para enviar os dados via remessa, com todas as imagens e informações dos cheques. O serviço precisará acessar um componente EJB que está em outro servidor, para buscar informações do cliente (beneficiário) uma vez que só será enviado o código do mesmo. Para desenvolver o serviço Web, foi optado pelo framework Spring Integration e para chegar nessa decisão, foram considerados os seguintes critérios:» A integração deve ser feita de forma menos trabalhosa e mais flexível possível, uma vez que as tecnologias podem mudar, o número de clien- Figura 6. Diagrama de arquitetura da solução. / 8

5 tes pode aumentar e, no futuro, o número de bancos atendidos também pode aumentar. Ser open-source, pois há um risco de investir em ferramenta e treinamento e a solução não ter o retorno esperado. Desenvolver uma versão piloto no menor tempo possível, pelo mesmo motivo do item anterior. Aproveitamento da equipe de desenvolvimento, pelo mesmo motivo do item anterior. Aproveitar a infraestrutura já existente, pelo mesmo motivo do item anterior. Configuração de Ambiente Maven Plugin do eclipse Maven Integration for Eclipse Plugin do eclipse Spring Tool Suite for Eclipse Criando o projeto Crie um novo workspace. Clique com botão direito e selecione New > Other.... Selecione Maven > Maven Project e clique em Next >. Em New Maven Project, Select project name and location, marque a opção Create a single project (skip archetype selection) e clique em Next >. Em New Maven Project, Enter a group id and the artifact, preencha os campos Group Id e Artifact Id, selecione war em Packaging e clique em Finish. Configurando o projeto No projeto dentro da pasta src/main/webapp, crie a pasta WEB-INF e em seguida o arquivo web.xml. Como nosso projeto disponibilizará um serviço Web, devemos criar o arquivo web.xml que ficaria conforme a Listagem 1. Por se tratar de um projeto Spring não poderia faltar o arquivo de configuração do mesmo, veja na Listagem 2 o básico para o projeto funcionar. Iremos explicar a configuração do arquivo spring-integration.xml no decorrer da explicação. No arquivo pom.xml adicione a dependência conforme a Listagem 3, para que o projeto funcione com o Spring MVC, Spring Integration e como o serviço será um REST, usamos o JAXB que faz os parses de Objeto Java para XML e vice-verça, através da extensão O/X Mappers do Spring. Listagem 1. Arquivo web.xml. <?xml version= 1.0 encoding= UTF-8?> <web-app...> <servlet> <servlet-name>dispatcher-servlet</servlet-name> <servlet-class>org.springframework.web.servlet. DispatcherServlet</servlet-class> <init-param> <param-name>contextconfiglocation </param-name> <param-value> classpath:application-context.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher-servlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> Listagem 2. Arquivo application-context.xml. <beans xmlns= schema/beans xmlns:xsi= XMLSchema-instance xmlns:context= xsi:schemalocation= schema/beans beans/spring-beans.xsd org/schema/context context/spring-context.xsd > <context:component-scan base-package= mundoj.springintegration /> <import resource= spring-integration.xml /> </beans> Listagem 3. Arquivo pom.xml. <dependency> <groupid>org.springframework.integration</groupid> <artifactid>spring-integration-core</artifactid> <version>${spring.integration.version</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${spring.version</version> 9 \

6 </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>${servlet-api.version</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-oxm</artifactid> <version>${spring.version</version> </dependency> Explicação do fluxo Para desenhar o fluxo, foi optada pela utilização da forma declarativa, ou seja via XML, pois o plugin Spring Tool Suite consegue exibi-lo facilmente na forma gráfica, facilitando a geração de documentação. Como nosso foco é mostrar o funcionamento dos padrões EAI, para explicar o fluxo, omitiremos alguns padrões que se repetem ao longo da solução. Para facilitar a explicação os padrões foram enumerados, conforme pode ser visto na figura 7. Ao receber uma notificação HTTP, o Spring através do Servlet org.springframework.web.servlet. DispatcherServlet registrado no web.xml, repassa a requisição para o Spring Integration, no caso, chamando o primeiro elemento do fluxo a ser explicado, o padrão Gateway. Gateway É um padrão de adaptação, disponibilizando conexão a algum recurso de entrada (inbound) ou saída (outbound). Este padrão repassa a mensagem ao recurso adaptado e então fica esperando uma resposta, conforme pode ser observado na figura 8. Ainda pode atender a diversos formatos, como HTTP, TCP/ UDP, FTP, Feed (RSS), JDBC, JMS, JMX, JPA, Arquivos e muitos outros. No nosso exemplo o Gateway é de entrada e representa uma chamada HTTP, veja como ficou a configuração do mesmo na forma declarativa na Listagem 4. Como é um serviço web para representar o endereço a ser disponibilizado, utilizamos a propriedade name. Podemos também estipular o tipo de entrada através da propriedade request-payload, no caso, enviamos um XML no corpo da mensagem e como a Classe mundoj.springintegration.to.lote está mapeada utilizando anotações da biblioteca Jaxb, o Spring Integration se encarrega de fazer a conversão sem a necessidade de código algum. Além dos canais de entrada e saída, configurados através das propriedades request-channel e reply-channel, respectivamente, e o canal onde os erros que ocorrem no fluxo serão encaminhados error-channel. Listagem 4. Exemplo de configuração do padrão Gateway. <int- request-channel= inputchannel reply-channel= outputchannel name= /lote supported-methods= POST request-payload-type= mundoj.springintegration.to.lote error-channel= errorchannel /> Figura 7. Modelagem do fluxo da solução baseada nos padrões EAI. GatEway GatEway application a output application b output Figura 8. Funcionamento do padrão Gateway. / 10

7 Channel O segundo padrão é o Channel. No exemplo de configuração da Listagem 5, utilizamos o canal de comunicação DirectChannel que é uma implementação síncrona e do tipo point-to-point. Este é o canal mais simples suportado pelo Spring Integration, por isso não exige qualquer configuração especial, simplesmente um id para identificar o mesmo. Por padrão esse tipo de canal implementa um balanceamento de carga que é baseado em uma abordagem round-robin, ou seja, se existirem mais de um receptor acoplado ao canal as mensagens serão repassadas de forma rotativa. Um recurso também interessante a ser mencionado no balanceamento de carga, é a configuração do atributo failover como true, neste caso se o receptor que está atendendo uma mensagem emitir uma exceção, a mensagem é repassada automaticamente ao receptor subsequente. Ainda no balanceador é possível estabelecer a ordem de execução dos receptores através da propriedade order, configurada em cada receptor. Listagem 6. Exemplo de configuração do padrão Filter. <int:filter input-channel= lotechannel output-channel= lotevalidochannel ref= lotefilter method= filtrar /> Listagem 7. Exemplo de implementação do padrão public class LoteFilter { public boolean filtrar(final Lote lote) { checkargument(lote.getnumerolote()!= null, Numero do lote não pode ser vazio ); checkargument(lote.getbeneficiario()!= null, Código do beneficiário não pode ser vazio ); checkargument(lote.getcheques()!= null &&!lote.getcheques().isempty(), A lista de cheques não pode ser vazia ); Listagem 5. Exemplo de configuração do padrão Channel. <int:channel id= inputchannel /> //... return true; Filter É responsável por decidir se a mensagem deve continuar no fluxo ou ser descartada, conforme ilustrado na figura 9. Também é muito simples de ser implementado, exigindo um canal de entrada input- -channel e um canal de saída de mensagens output- -channel, conforme pode ser observado na Listagem 6. Além disso, é necessário indicar uma implementação através do atributo ref e method, ou mesmo passar uma expressão de decisão do tipo SpEL (Spring Expression Language). A implementação pode ser vista na Listagem 7, no caso, estamos apenas validando os campos obrigatórios para que a mensagem possa ser processada sem erros. Note a presença da responsável por mapear os Endpoints do Spring Integration como beans do Spring. Service Activator Este padrão é similar ao padrão de programação orientada a objeto Delegate que simplesmente tem a função de delegar chamadas, conforme pode ser observado na figura 10. Conforme pode ser visto na Listagem 8, além dos canais de entrada e saída, através das propriedades input-channel e output- -channel, respectivamente, o Service Activator necessita também do bean a ser chamado através da propriedade ref e o método propriedade method. No lugar do bean, podemos utilizar uma expressão SpEL, quando queremos executar uma operação mais simples, como uma operação aritmética, por exemplo. Em isolado, seria necessário configurar o canal de entrada e saída, com as propriedades input-channel e output-channel, respectivamente. widget quote gadget quote widget quote widget quote widget quote message filter Figura 9. Funcionamento do padrão Filter. 11 \

8 A implementação do mesmo pode ser analisada na Listagem 9, onde simplesmente chamamos um serviço EJB, mapeado como beneficiarioservice (veja configuração na Listagem 10, no nosso exemplo, estamos utilizando o OpenEJB e o MockEJB), mas o serviço poderia ser outro recurso, como, uma chamada a um programa Mainframe, ou simplesmente a um POJO. Note que estamos trabalhando com uma mensagem que contém um Lote é importante trabalhar desta forma, pois apesar do Spring Integration cuidar de criar uma mensagem de saída. Às vezes, queremos por exemplo, adicionar informações ao Header da mensagem, mas o Spring Integration, não deixa você simplesmente adicionar uma informação no Header, para isso, devemos criar um novo Header, que encapsula o original, adicionar a nova informação, no caso, o objeto Beneficiario, retornado pelo serviço e utilizar a classe utilitária MessageBuilder para gerar uma nova mensagem. Listagem 8. Exemplo de configuração do padrão Service Activator. <int:service-activator input-channel= lotevalidochannel output-channel= lotebeneficiariochannel ref= beneficiarioserviceactivator method= consultar /> Listagem 9. Exemplo de implementação do padrão Service public class BeneficiarioServiceActivator private BeneficiarioService beneficiarioservice; public Message<Lote> consultar(final Message<Lote> message) { Integer codigobeneficiario = message. getpayload().getbeneficiario(); Beneficiario beneficiario = beneficiarioservice. obterporcodigo(codigobeneficiario); if (beneficiario == null) { throw new BeneficiarioInvalidoException( String.format( Beneficiário %d inválido, codigobeneficiario)); Map<String, Object> headers = Maps.newHashMap (message.getheaders()); headers.put( beneficiario, beneficiario); return MessageBuilder.withPayload( message.getpayload()).copyheaders(headers). build(); Listagem 10. Configuração do EJB BeneficiarioService. requestor request reply service activator replier Figura 10. Funcionamento do padrão Service Activator. service <jee:remote-slsb id= beneficiarioservice jndi-name= java:openejb/ejb/beneficiarioservice business-interface= mundoj.springintegration.ejb.service.beneficiarioservice /> Content Enricher Este padrão representa uma ação de enriquecimento do conteúdo da mensagem, conforme podemos observar na figura 11. O Spring Integration possui duas variações desse padrão: header-enricher: enriquece apenas o Header da mensagem, podemos ver um exemplo na Listagem 10. Para configurá-lo são necessários os canais de entrada e saída e as informações a serem adicionadas ao Header. No nosso exemplo, é informado o correlation-id que será utilizado no padrão Aggregator a ser explicado mais a frente. Mas podemos ser mais genéricos utilizando a tag header, passando o nome a ser utilizado, através da propriedade name e o valor, propriedade value. enricher: enriquece apenas o Payload. Nele po- / 12

9 basic message demos atribuir propriedades do objeto contido no Payload, através da tag property e das propriedades name, expression ou value, para atribuir seus valores. enricher Figura 11. Funcionamento do padrão Content Enricher. enriched message Listagem 10. Exemplo de configuração do padrão Content Enricher. <int:header-enricher input-channel= lotebeneficiariochannel output-channel= lotebeneficiarioenriquecidochannel > <int:correlation-id expression= payload.numerolote /> </int:header-enricher> Splitter Como o próprio nome diz, ele é responsável por dividir a mensagem em N mensagens, conforme pode ser observado na figura 12. Sua configuração é simples, bastando fornecer os canais de entrada e saída, através das propriedades input-channel e output- -channel, assim como o bean e seu método a ser chamado, através das propriedades ref e method, conforme é mostrado na Listagem 11. A complexidade da sua implementação dependerá da função do mesmo no fluxo, no nosso caso, como pode ser observado na Listagem 12, temos como entrada um lote e queremos retornar todos os cheques para serem processados individualmente. Note que criamos a classe QuantidadeCheques que será utilizada como contador de cheques. Essa contagem de cheques é feita por banco e será utilizada pelo agrupador de cheques, a ser explicado mais a frente, necessário para enviar informações ao Banco de todos mais especificamente. Listagem 11. Exemplo de configuração do padrão Splitter. <int:splitter input-channel= lotebeneficiarioenriquecidochannel output-channel= chequeschannel ref= lotesplitter method= split /> Listagem 12. Exemplo de implementação do padrão public class LoteSplitter { public Collection<Message<Cheque>> split(message<lote> message) { Collection<Cheque> cheques = message.getpayload().getcheques(); Map<String, Object> headers = Maps.newHashMap( message.getheaders()); for (Cheque cheque : cheques) { String chavechequebanco = String.format( CHEQUES_BANCO_%d, cheque.getbanco()); if (headers.containskey(chavechequebanco)) { QuantidadeCheques quantidade = (QuantidadeCheques) headers.get(chavechequebanco); quantidade.incrementar(); else { headers.put(chavechequebanco, new QuantidadeCheques()); Collection<Message<Cheque>> messages = Lists.newArrayList(); for (Cheque cheque : cheques) { messages.add( MessageBuilder.withPayload(cheque). copyheaders(headers).build()); return messages; splitter order item 1 order item 2 order item 3 new order Figura 12. Funcionamento do padrão Splitter. 13 \

10 Router É um padrão de decisão e desvio de fluxo, onde a mensagem que é recebida pode ser enviada para determinado canal, através da satisfação de determinada condição, conforme podemos acompanhar na ilustração da figura 13. Para facilitar, o Spring Integration provê uma série de variações desse padrão. Todas essas variações seguem a mesma estrutura, tendo pequenas mudanças entre uma e outra abordagem. Basicamente, precisamos configurar um canal de entrada, propriedade input-channel e um canal para condições não mapeadas, se necessário, neste caso pela propriedade default-output-channel. Os mapeamentos de desvios também devem possuir um canal mapeado, propriedade channel. Seguem as implementações disponíveis: payload-type-router: onde é possível, através do tipo do dado contido no Payload da mensagem, estipular o caminho que a mensagem deve seguir. header-value-router: possibilita rotear uma mensagem através das informações contidas no Header da mensagem. recipient-list-router: decisão através de expressões que podem ser referentes tanto ao Header como ao Payload da mensagem. exception-type-router: permite executar o roteamento da mensagem que contenham uma exceção encapsulada. router: permite criar uma implementação customizada de um roteador. Se quiser utilizar o plugin do Spring para gerar o diagrama, não é aconselhável a utilização de um bean para essa variação, pois não permite ao Spring Integration saber de imediato, quais serão os caminhos a serem tomados, quebrando o gráfico. Neste caso, aconselho recuperar as informações em uma etapa anterior, ficando somente uma expressão ou valor para a decisão de roteamento, como no exemplo da Listagem 13. Listagem 13. Exemplo de configuração do padrão Router. <int:router input-channel= chequeschannel expression= payload.banco > <int:mapping value= 341 channel= chequesbancodopovochannel /> <int:mapping value= 237 channel= chequesbancodetodoschannel /> </int:router> Wire Tap Padrão responsável por copiar uma mensagem de um canal e repassá-la a outro canal, conforme podemos acompanhar na figura 14. Isto é muito útil quando queremos monitorar as mensagens de um canal, ou até mesmo fazer outro processamento em paralelo com a mesma mensagem, como é o caso do nosso fluxo. Podemos observar na Listagem 14 que estamos utilizando a tag interceptors dentro da tag channel para interceptar a mensagem e a tab wire-tap para copiar a mesma. source wire tap Figura 14. Funcionamento do padrão Wire Tap. destination outqueue 1 inqueue outqueue 2 message router Figura 13. Funcionamento do padrão Router. / 14

11 Listagem 14. Exemplo de configuração do padrão Wire Tap. <int:channel id= chequesbancodopovochannel > <int:interceptors> <int:wire-tap channel= chequesbancodopovowirechannel /> </int:interceptors> </int:channel> Aggregator Se trata de um agrupador de mensagens, conforme mostrado na figura 15. Ao contrário do padrão Splitter que divide as mensagens o Aggregator junta N mensagens. A sua configuração é simples de entender, conforme podemos notar na Listagem 15, além das típicas propriedades referentes aos canais de entrada e saída, o mesmo possui algumas propriedades específicas. Basicamente para que o Aggregator possa transmitir uma mensagem são necessários três passos a serem explicados abaixo: Estratégia de correlação: é a estratégia responsável por identificar quais mensagens serão consideradas no agrupamento. Por padrão o Aggregator utiliza a informação correlation-id presente no Header da mensagem. No nosso caso, o mesmo é configurado utilizando o padrão header-enricher e tomando como base o número do lote, conforme podemos constatar na Listagem 16. A mesma ainda pode ser implementada de forma mais sofisticada, utilizando as propriedades correlation-strategy, passando o bean que contém a estratégia, a propriedade correlation-strategy-method, contendo o método do bean de estratégia a ser chamado, ou simplesmente correlation-strategy-expression, contendo uma expressão SpEL. Estratégia de liberação: é responsável por identificar em que momento a mensagem está pronta para ser transmitida. No caso do fluxo, tivemos que implementar uma estratégia, a setando através das propriedades release-strategy e release-strategy-method. A implementação, pode ser avaliada na Listagem 17, no método verificar, onde simplesmente estamos verificando se a quantidade de cheques, até o momento, corresponde a quantidade de cheques do banco informada no Header da mensagem. Outra forma de implementar essa estratégia é através da propriedade release-strategy-expression. Estratégia de envio: efetivamente transmite a mensagem. A mesma só é acionada se as outras estratégias explicadas anteriormente forem verdadeiras. Para utilizá-la, basta setarmos o bean e o método nas propriedades ref e method. Veja na Listagem 17, no método enviar que estamos juntando as mensagens em um novo lote. Esse lote é referente a um banco e um número de lote. Como todas as mensagens contêm as mesmas informações no Header, então estamos o copiando, da primeira mensagem. Listagem 15. Exemplo de configuração do padrão Aggregator. <int:aggregator input-channel= chequesbancodetodoschannel output-channel= lotebancodetodoschannel ref= chequeaggregator method= enviar release-strategy= chequeaggregator release-strategy-method= verificar /> Listagem 16. Exemplo de configuração da Estratégia de correlação do padrão Aggregator. <int:header-enricher input-channel= lotebeneficiariochannel output-channel= lotebeneficiarioenriquecidochannel > <int:correlation-id expression= payload.numerolote /> </int:header-enricher> inventory item 1 inventory item 2 inventory item 3 aggregator inventory order Figura 15. Funcionamento do padrão Aggregator. 15 \

12 Listagem 17. Exemplo de implementação do padrão public class ChequeAggregator { public boolean verificar( Collection<Message<Cheque>> messages) { Message<Cheque> primeiramensagem = messages.iterator().next(); String chavechequebanco = String.format( CHEQUES_BANCO_%d, primeiramensagem.getpayload().getbanco()); QuantidadeCheques quantidadecheques = ((QuantidadeCheques) primeiramensagem.getheaders(). get(chavechequebanco)); return messages.size() == quantidadecheques. getvalue(); public Message<Lote> enviar(final Collection<Message<Cheque>> messages) { Map<String, Object> header = Maps.newHashMap(messages.iterator(). next().getheaders()); Lote lote = new Lote(); lote.setcheques(lists.<cheque>newarraylist()); for (Message<Cheque> message : messages) { lote.getcheques().add(message.getpayload()); return MessageBuilder.withPayload(lote). copyheaders(header).build(); translator Message Translator Esse padrão tem uma função bem simples, transformar mensagens. Ou seja, a mensagem produzida é a mensagem que foi utilizada, mas em outro formato, conforme pode ser observado na figura 16. Por exemplo, entra um objeto Java e sai um objeto Serializado / JSON / XML ou vice-versa. Normalmente utilizado, para adaptar os tipos internos as chamados de aplicativos externos. No nosso fluxo, é utilizado principalmente para atender aos tipos exigidos pelos bancos, supondo que devemos enviar mensagens para uma fila no Banco De Todos em formato XML, temos que fazer uma transformação do objeto interno Lote, para esse XML, já para o Banco do Povo por se tratar de um FTP, devemos converter o objeto em bytes a serem salvos como arquivos. Assim como o padrão Router existem algumas implementações prontas com intuito de facilitar a transformação de mensagens. Todas as variações possuem uma configuração similar, necessitando basicamente dos canais de entrada e saída. Abaixo uma listagem desses facilitadores: object-to-string-transformer: simplementes transforma o objeto em String, chamam o método tostring(). payload-serializing-transformer: serializa o objeto JAVA. payload-deserializing-transformer: deserializa o objeto JAVA. object-to-map-transformer: transforma o objeto em um Map. Esse map será formado por chave (atributo) e valor (valor do atributo). map-to-object-transformer: transforma um Map em um objeto, o inverso de object-to- -map-transformer. object-to-json-transformer: transforma o objeto JAVA em objeto JSON. json-to-object-transformer: transforma objeto JSON em objeto JAVA. transformer: é um transformador genérico. Se a transformação for simples basta montar uma expressão, utilizando a propriedade expression. Se for mais sofisticada, podemos definir um bean e método que irão executar a transformação, através das propriedades ref e method, respectivamente, conforme a configuração da Listagem 18. No exemplo, é transformado um objeto cheque interno para um cheque no formato específico do Banco do Povo, como pode ser constatado na implementação da Listagem 19. Listagem 18. Exemplo de configuração do padrão Message Translator. incoming message translated message Figura 16. Funcionameto do padrão Message Translator. <int:transformer input-channel= dadoschequebancodopovochannel output-channel= ftpbancodopovochannel ref= imagemchequeparabytestransformator method= transformar /> / 16

13 Listagem 19. Exemplo de implementação do padrão Message public class ChequeParaChequeBancoDoPovoTransformer { public Message<ChequeBancoDoPovo> transformar( final Message<Cheque> message) throws Exception { Cheque cheque = message.getpayload(); Beneficiario beneficiario = (Beneficiario)message.getHeaders(). get( beneficiario ); ChequeBancoDoPovo chequebancodopovo = new ChequeBancoDoPovo(); chequebancodopovo.setagenciabeneficiario( beneficiario.getagencia()); chequebancodopovo.setcontabeneficiario( beneficiario.getconta()); chequebancodopovo.setvalor(cheque.getvalor()); return MessageBuilder.withPayload( chequebancodopovo). copyheaders(message.getheaders()).build(); Chain O funcionamento do mesmo pode ser observado na figura 17. Ele não é mencionado dentre os padrões EAI, pois é simplesmente um facilitador, que o Spring Integration oferece, onde podemos ligar os Endpoints em sequência sem a necessidade de um canal para conectá-los, formando um elemento composto. Na Listagem 20, o utilizamos para agrupar dois Message Translators. Note que os Endpoints não indicam quais serão os canais de entrada e saída, pois os mesmo são definidos no Chain. chain /chain Figura 17. Exemplo de funcionamento do padrão Chain. Listagem 20. Exemplo de configuração do elemento Chain. <int:chain input-channel= lotebancodetodoschannel output-channel= jmsbancodetodoschannel > <int:transformer ref= lotepararemessabancodetodostransformer method= transformar /> <int:transformer ref= objetoparaxmltransformer method= transformar /> </int:chain> Channel Adapter É o padrão de adaptação responsável por prover uma conexão de entrada ou saída há algum recurso. Assim como o Gateway pode atender a diversos recursos diferentes. Basicamente a única diferença entre esses padrões é que o Channel Adapter não fica esperando a resposta, conforme pode ser visto na figura 18. No nosso fluxo, estamos utilizando adaptadores do tipo saída. Um, para acessar um servidor FTP e outro, para acessar uma fila de mensagens através de JMS, conforme pode ser acompanhado na Listagem 21. Para configurá-los, necessitamos basicamente de um canal setando a propriedade channel e então temos as configurações especiais para cada tipo de recurso acessado. No caso do servidor FTP, temos que estipular o bean SessionFactory (sua configuração pode ser vista na Listagem 22, no exemplo estamos utilizando o framework FakeFTP), através da propriedade session-factory, o separador de arquivos, propriedade remote-file-separator, se o diretório será criado automaticamente ou não, propriedade auto-create- -directory e o diretório remoto onde os arquivos serão criados, propriedade remote-directory-expression. A mensagem repassada a este adaptador deve encapsular três tipos: um array de bytes, uma String ou um tipo java.util.io.file. No caso, estamos criando dois tipos de arquivos, um de imagem que é gerado se utilizando do atributo imagem do Cheque e o outro é um XML do tipo ChequeBancoDoPovo. No caso da fila de mensagens com JMS, temos que apenas referenciar os beans da fábrica de conexão e da fila propriamente dita, através das propriedades connection-factory e destination, respectivamente. Na Listagem 23, temos as configurações necessárias para apontar para o servidor de mensagens. Para o projeto de exemplo, estamos utilizando o framework Active- MQ da Apache. 17 \

14 channel adapter channel adapter application a INput application b Figura 18. Funcionamento do padrão Channel Adapter. Listagem 21. Exemplos de configuração do padrão Channel Adapter. <int-ftp:outbound-channel-adapter id= ftpbancodopovo channel= ftpbancodopovochannel session-factory= ftpbancodopovosessionfactory remote-file-separator= / auto-create-directory= true remote-directory-expression= /123/ /> <int-jms:outbound-channel-adapter id= jmsbancodetodos channel= jmsbancodetodoschannel destination= bancodetodosqueue connection-factory= bancodetodosconnectionfactory /> Listagem 22. Configuração do Session Factory do servidor FTP do Banco do Povo. <bean id= ftpbancodopovosessionfactory class= org.springframework.integration.ftp.session. DefaultFtpSessionFactory > <property name= host value= localhost /> <property name= port value= 9981 /> <property name= username value= mundoj /> <property name= password value= mundoj /> </bean> Listagem 23. Configuração da fila de mensagens do Banco De Todos. <jee:jndi-lookup id= bancodetodosconnectionfactory jndi-name= jms/bancodetodosconnectionfactory /> <jee:jndi-lookup id= bancodetodosqueue jndi-name= jms/bancodetodosqueue /> Bridge Este padrão estabelece uma ponte entre dois canais, não alterando a mensagem, ou seja, a mesma mensagem que chega através do canal de entrada é transmitida ao canal de saída, conforme exibido na figura 19. O mesmo pode ser utilizado tanto para facilitar os testes, pulando trechos do fluxo, como para o nosso exemplo, onde temos um canal de tratamento de erro que pode se ligar tanto a um canal de log, quanto a um canal de resposta, conforme o administrador optar. Veja na Listagem 24, dois exemplos utilizados no fluxo que ilustram bem as configurações deste padrão. Note a presença da propriedade auto- -startup, que pode ser usada na maioria dos padrões, indicando se o mesmo será startado (true) ao iniciar o fluxo ou ficará stopado (false). Se omitido o valor padrão é true. Listagem 24. Exemplos de utilização do padrão Bridge. <int:bridge id= logbridge input-channel= errorchannel output-channel= logerrorchannel auto-startup= true /> Figura 19. Funcionamento do padrão Bridge. / 18

15 message flow control bus Figura 20. Funcionamento do padrão Control Bus. <int:bridge id= errorbridge input-channel= errorchannel output-channel= outputchannel auto-startup= false /> Control Bus O Control Bus é um padrão muito importante dentro de uma solução EAI, pois o mesmo é responsável por prover uma administração de todo o fluxo em tempo de execução, conforme ilustrado na figura 20. No Spring Integration, o mesmo não é acoplado a nenhum EndPoint. Basta apenas disponibilizar acesso externo ao mesmo que esse elemento tem controle sobre todo o fluxo. No nosso caso é feito via um Gateway HTTP, através do endereço conforme podemos constatar na Listagem 25. No Spring Integration, o Control Bus funciona a base de comandos, no nosso caso, iremos habilitar ou desabilitar os dois Bridges mencionados anteriormente. Veja na Listagem 26 um exemplo de utilização do mesmo, onde, estamos stopando o Brigde logbridge e startando o Bridge errorbridge, fazendo com que os erros que antes eram logados, passem a ser lançados para a aplicação cliente. Listagem 25. Exemplo de configuração do padrão Control Bus. <int- request-channel= controlchannel name= /control supported-methods= POST /> <int:channel id= controlchannel /> <int:control-bus input-channel= controlchannel /> Listagem 26. Exemplo de utilização do padrão Control Bus. ); ); Rodando o projeto Para rodar o projeto que está disponível no site da revista, basta executar o comando do Maven: mvn integration-test Isso fará com que o Jetty suba, junto também é startado os servidores/containers OpenEJB, Apache ActiveMQ e de FakeFTP, tudo isso para que você não precise subir nada a parte, para ver o exemplo rodando. Ao final da execução, os testes irão verificar se os arquivos foram copiados no servidor FTP e se as mensagens foram enviadas ao servidor MQ. Considerações finais Como podemos observar, EAI não é nenhum bicho de sete cabeças. Muito pelo contrário, o mesmo utiliza uma notação funcional. Por trabalhar com uma estrutura simples, voltada à utilização de padrões, facilita em muito o desenho de soluções, a separação de tarefas e a reutilização de componentes. Já o Spring Integration é open source, utiliza a madura plataforma Java e o famoso framework Spring como base, possuindo integração com diversas tecnologias, protocolos, plataformas e sistemas. O que faz como que seja uma ótima opção na hora de escolher uma ferramenta EAI. Se você está pensando em implementar SOA na sua empresa e pretende investir fortemente em uma ferramenta ESB, equipamentos, treinamentos e contratações, fica a dica, vale a pena avaliar as opções open source antes. > Enterprise Application Integration /referências > Documentação Spring Integration htmlsingle/ > Exemplos de utilização do Spring Integration 19 \

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

Criação de um novo projeto no Eclipse utilizando Maven

Criação de um novo projeto no Eclipse utilizando Maven 1. Faça o download da versão mais atual do Eclipse IDE for Java EE Developers em https://www.eclipse.org/downloads/. 2. No Eclipse, crie um novo projeto Maven, em File >> New >> Maven Project 3. Marque

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Configurando o DDNS Management System

Configurando o DDNS Management System Configurando o DDNS Management System Solução 1: Com o desenvolvimento de sistemas de vigilância, cada vez mais usuários querem usar a conexão ADSL para realizar vigilância de vídeo através da rede. Porém

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima INFORMÁTICA FUNDAMENTOS DE INTERNET Prof. Marcondes Ribeiro Lima Fundamentos de Internet O que é internet? Nome dado a rede mundial de computadores, na verdade a reunião de milhares de redes conectadas

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client 2.0.0.X TecnoSpeed Tecnologia da Informação Storage Client Manual do Storage Client 1 Conteúdo 1. Apresentação... 3 1.1. Apresentação do Produto... 3 1.2. Sobre este Manual... 3 2. Sobre o Storage Client...

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

CSAU 10.0. Guia: Manual do CSAU 10.0 como implementar e utilizar.

CSAU 10.0. Guia: Manual do CSAU 10.0 como implementar e utilizar. CSAU 10.0 Guia: Manual do CSAU 10.0 como implementar e utilizar. Data do Documento: Janeiro de 2012 Sumário 1. Sobre o manual do CSAU... 3 2. Interface do CSAU 10.0... 4 2.1. Início... 4 2.2. Update...

Leia mais

TRANSMISSOR ECF. Sistema de transmissão de arquivos Nota Fiscal Paulista. Manual de Utilização

TRANSMISSOR ECF. Sistema de transmissão de arquivos Nota Fiscal Paulista. Manual de Utilização TRANSMISSOR ECF Sistema de transmissão de arquivos Nota Fiscal Paulista Manual de Utilização 1. Histórico de alterações Data Versão Alteração 04/12/2012 1 Criação do documento 28/02/2013 2 Revisão 2. Proposta

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Trecho retirando do Manual do esocial Versão 1.1

Trecho retirando do Manual do esocial Versão 1.1 Trecho retirando do Manual do esocial Versão 1.1 A rotina de acesso direto ao XML do S-1000, o usuário pode encontrar na opção de cadastro de Empresas do SIP. Sempre que o usuário localizar a figura ao

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6 EJB Enterprise Java

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

www.nddigital.com.br Manual de Administração DPS Printer 2.1 NDDigital S/A - Software

www.nddigital.com.br Manual de Administração DPS Printer 2.1 NDDigital S/A - Software www.nddigital.com.br Manual de Administração DPS Printer 2.1 NDDigital S/A - Software 2 Introdução Este manual foi elaborado para administradores, para entendimento do funcionamento do produto e administração

Leia mais

Manual de Instalação

Manual de Instalação Manual de Instalação Produto: n-control MSI Versão: 4.6 Versão do Doc.: 1.0 Autor: Aline Della Justina Data: 17/06/2011 Público-alvo: Clientes e Parceiros NDDigital Alterado por: Release Note: Detalhamento

Leia mais

e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Controladoria-Geral da União

e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Controladoria-Geral da União e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Sumário 1. Acesso ao sistema... 3 2. Funcionalidades do sistema... 5 3. Como tratar manifestações... 14 3.1 Detalhar...

Leia mais

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles: Instalação do Netz Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles: Instalação do Java SE 6, que pode ser instalado através da JDK.

Leia mais

4 Um Exemplo de Implementação

4 Um Exemplo de Implementação 4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação

Leia mais

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania Sumário Objetivos do Blog... 2 Log-in... 3 Esqueci minha senha... 4 Utilizando o Blog... 5 Encontrando seu Blog... 5 Conhecendo o

Leia mais

5 Estudo de caso: utilizando o sistema para requisição de material

5 Estudo de caso: utilizando o sistema para requisição de material 61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de

Leia mais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos Este procedimento corresponde ao fluxo de trabalho de Indexação de código de barras e de separação de documentos no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se

Leia mais

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br JXTA Alessandro Vasconcelos Ferreira de Lima Roteiro Motivação Introdução Arquitetura de JXTA Elementos de JXTA Os Protocolos Comparações e Desvantagens Conclusão Motivação Limitações do Modelo Cliente

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Guia De Configuração do Sistema de Comunicação GPRS ID DATA

Guia De Configuração do Sistema de Comunicação GPRS ID DATA Guia De Configuração do Sistema de Comunicação GPRS ID DATA www.iddata.com.br Sumário 1. Introdução... 3 2. Requisitos Mínimos... 4 3. Modos de Configuração da Estrutura de Comunicação... 5 3.1. Conexão

Leia mais

MINISTÉRIO DA EDUCAÇÃO

MINISTÉRIO DA EDUCAÇÃO MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA CAMPUS SÃO JOSÉ REDES DE COMPUTADORES Laboratório 2 Wireshark

Leia mais

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP MANUAL DE FTP Instalando, Configurando e Utilizando FTP Este manual destina-se auxiliar os clientes e fornecedores da Log&Print na instalação, configuração e utilização de FTP O que é FTP? E o que é um

Leia mais

Passo a Passo. WebSphere Message Broker. Fluxo como WebService

Passo a Passo. WebSphere Message Broker. Fluxo como WebService Passo a Passo WebSphere Message Broker Fluxo como WebService Alexandre José Batista ajbatist@ibest.com.br Criado em: 07/11/08 Página 1 de 38 Índice 1. OBJETIVOS DO DOCUMENTO... 4 2. CRIANDO UM FLUXO NO

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O sistema de nome de domínio (DNS) é um sistema que nomeia computadores e serviços de rede e é organizado em uma hierarquia de domínios.

Leia mais

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal MANUAL DO ADMINISTRADOR LOCAL Entidade Municipal Abril / 2011 ÍNDICE Objetivos do Sistema de Registro de Integrado - REGIN... 3 Principais Módulos do Sistema... 4 Módulo Controle de Acesso... 5 Módulo

Leia mais

MANUAL TISS Versão 3.02.00

MANUAL TISS Versão 3.02.00 MANUAL TISS Versão 3.02.00 1 INTRODUÇÃO Esse manual tem como objetivo oferecer todas as informações na nova ferramenta SAP que será utilizada pelo prestador Mediplan, a mesma será responsável para atender

Leia mais

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7 Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7 Para criar um grupo doméstico e compartilhar arquivos é necessário que tenhamos pelo menos dois computadores ligados entre si (em

Leia mais

Manual de Utilização do Zimbra

Manual de Utilização do Zimbra Manual de Utilização do Zimbra Compatível com os principais navegadores web (Firefox, Chrome e Internet Explorer) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário, tarefas

Leia mais

Manual Integra S_Line

Manual Integra S_Line 1 Introdução O é uma ferramenta que permite a transmissão Eletrônica de Resultado de Exames, possibilitando aos Prestadores de Serviços (Rede Credenciada), integrarem seus sistemas com os das Operadoras

Leia mais

Manual de Utilização do Sistema Financeiro Opções Disponíveis a partir da versão 8.0.40 do Sistema Micropost

Manual de Utilização do Sistema Financeiro Opções Disponíveis a partir da versão 8.0.40 do Sistema Micropost O Novo Gerenciador Financeiro Micropost é acessado através do botão "Gerenciador Financeiro" na tela principal do sistema (como mostra a figura 1). Caso o botão esteja desabilitado deve-se entrar nas configurações

Leia mais

Cadastrar Categorias e Produtos

Cadastrar Categorias e Produtos Cadastrar Categorias e Produtos 1- Introdução Bom, agora que você conseguiu configurar a sua loja com sucesso, incluindo as informações do PagSeguro, precisamos cadastrar o principal: Os Produtos, afinal,

Leia mais

VVS Sistemas (21)3405-9500

VVS Sistemas (21)3405-9500 Índice Assunto Página Apresentação... 2 Funcionamento do Módulo... 3 Instalação do Módulo... 4 Configurações no C-Plus NF-e... 9 Acessando os arquivos... 11 Apresentação Apresentamos o módulo C-Plus NF-e

Leia mais

Principais Novidades Abril/2013 a Junho/2013

Principais Novidades Abril/2013 a Junho/2013 Principais Novidades Abril/2013 a Junho/2013 Sumário 1. Ambiente Group Shopping... 3 2. Alteração na Tela de Contratos e Controle de Edições... 7 3. Propagação de Contratos... 10 4. Configuração de Impressora

Leia mais

O que há de novo. Audaces Idea

O que há de novo. Audaces Idea O que há de novo Audaces Idea Com o propósito de produzir tecnologia de ponta, o principal requisito da Política de Qualidade da Audaces é buscar a melhoria contínua de seus produtos e serviços. Inovadora

Leia mais

Persistência de Dados

Persistência de Dados Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD

Leia mais

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela Aula 01 - Formatações prontas e Sumário Formatar como Tabela Formatar como Tabela (cont.) Alterando as formatações aplicadas e adicionando novos itens Removendo a formatação de tabela aplicada Formatação

Leia mais

SISTEMAS OPERACIONAIS LIVRES GERENCIAMENTO DE SERVIÇOS NO WINDOWS. Professor Carlos Muniz

SISTEMAS OPERACIONAIS LIVRES GERENCIAMENTO DE SERVIÇOS NO WINDOWS. Professor Carlos Muniz SISTEMAS OPERACIONAIS LIVRES GERENCIAMENTO DE SERVIÇOS NO WINDOWS Se todos os computadores da sua rede doméstica estiverem executando o Windows 7, crie um grupo doméstico Definitivamente, a forma mais

Leia mais

Manual de configuração do sistema

Manual de configuração do sistema Manual de configuração do sistema (v.1.5.x Beta) Rua México, 119 Sala 2004 Centro Rio de Janeiro, RJ www.doctors-solution.com.br www.simdoctor.com.br contato@simdoctor.com.br Sumário 1. Fazendo seu primeiro

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Registro e Acompanhamento de Chamados

Registro e Acompanhamento de Chamados Registro e Acompanhamento de Chamados Contatos da Central de Serviços de TI do TJPE Por telefone: (81) 2123-9500 Pela intranet: no link Central de Serviços de TI Web (www.tjpe.jus.br/intranet) APRESENTAÇÃO

Leia mais

Manual das funcionalidades Webmail AASP

Manual das funcionalidades Webmail AASP Manual das funcionalidades Webmail AASP 1. Configurações iniciais 2. Regras 3. Histórico da conta 4. Autorresposta 5. Dados de acesso (alterando senha de acesso) 6. Identidade (assinatura) 7. Redirecionamento

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Como instalar uma impressora?

Como instalar uma impressora? Como instalar uma impressora? Antes de utilizar uma impressora para imprimir seus documentos, arquivos, fotos, etc. é necessário instalá-la e configurá-la no computador. Na instalação o computador se prepara

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

EAI Manual do Administrador

EAI Manual do Administrador EAI Manual do Administrador 1 Definição de Host Application O que é um Host Application? Significa Aplicativo Hospedeiro, é o nome dado ao ambiente EAI que estará executando no seu computador ou em um

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

Procedimentos para Configuração de Redirecionamento de Portas

Procedimentos para Configuração de Redirecionamento de Portas 1 Procedimentos para Configuração de Redirecionamento de Portas O DIR 635 tem duas opções para liberação de portas: Virtual server: A opção Virtual Server permite que você defina uma única porta pública

Leia mais

GUIA INTEGRA SERVICES E STATUS MONITOR

GUIA INTEGRA SERVICES E STATUS MONITOR GUIA INTEGRA SERVICES E STATUS MONITOR 1 - Integra Services Atenção: o Integra Services está disponível a partir da versão 2.0 do software Urano Integra. O Integra Services é um aplicativo que faz parte

Leia mais

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona. Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

Manual de Administração

Manual de Administração Manual de Administração Produto: n-host Versão do produto: 4.1 Autor: Aline Della Justina Versão do documento: 1 Versão do template: Data: 30/07/01 Documento destinado a: Parceiros NDDigital, técnicos

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel Tabela e Gráficos Dinâmicos Como estruturar! Para que serve a Tabela e o Gráfico Dinâmico?! Como criar uma Tabela Dinâmica?! Como criar um Gráfico Dinâmico?! Como podemos atualizar dos dados da Tabela

Leia mais

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 4)

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 4) Prof. Breno Leonardo Gomes de Menezes Araújo brenod123@gmail.com http://blog.brenoleonardo.com.br ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 4) Serviço de diretório Serviço de diretório é um conjunto

Leia mais

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Tutorial para envio de comunicados e SMS

Tutorial para envio de comunicados e SMS Tutorial para envio de comunicados e SMS Conteúdo 1. Enviando comunicado para os alunos... 1 2. Verificando a situação do envio dos e-mails para os alunos... 5 3. Enviando comunicado para colaboradores

Leia mais

CONFIGURAÇÃO MINIMA EXIGIDA:

CONFIGURAÇÃO MINIMA EXIGIDA: Este tutorial parte do princípio que seu usuário já possua conhecimentos básicos sobre hardware, sistema operacional Windows XP ou superior, firewall, protocolo de rede TCP/IP e instalação de software.

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Data Transformation Services (DTS) por Anderson Ferreira Souza

Data Transformation Services (DTS) por Anderson Ferreira Souza Data Transformation Services (DTS) por Anderson Ferreira Souza O Sql Server possui um recurso extremamente poderoso que é muito pouco utilizado pelos administradores e programadores. Com certeza, sendo

Leia mais

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede VirtueMart v1.0 Manual de Instalação do Módulo estamos todos ligados 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 Permissões 4 4.2 Instalação e ativação

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM...

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM... 1 de 30 INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 3.1. ONDE SE DEVE INSTALAR O SERVIDOR BAM?... 4 3.2. ONDE SE DEVE INSTALAR O PROGRAMADOR REMOTO BAM?... 4 3.3. COMO FAZER

Leia mais

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO Compra Direta - Guia do Fornecedor PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO Página As informações contidas neste documento, incluindo quaisquer URLs e outras possíveis referências a web sites, estão sujeitas

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS Servidor: O servidor é todo computador no qual um banco de dados ou um programa (aplicação) está instalado e será COMPARTILHADO para outros computadores,

Leia mais

Escritório Virtual Administrativo

Escritório Virtual Administrativo 1 Treinamento Módulos Escritório Virtual Administrativo Sistema Office Instruções para configuração e utilização do módulo Escritório Virtual e módulo Administrativo do sistema Office 2 3 1. Escritório

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1 MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento Toledo PR Página 1 INDICE 1. O QUE É O SORE...3 2. COMO ACESSAR O SORE... 4 2.1. Obtendo um Usuário e Senha... 4 2.2. Acessando o SORE pelo

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação

Leia mais

Introdução... 2. Contratando o produto Link2NFe... 2. Assistente de configuração de emissor... 3. Configurações Avançadas do Emissor...

Introdução... 2. Contratando o produto Link2NFe... 2. Assistente de configuração de emissor... 3. Configurações Avançadas do Emissor... 0 Conteúdo Introdução... 2 Contratando o produto Link2NFe.... 2 Assistente de configuração de emissor.... 3 Configurações Avançadas do Emissor... 5 Conhecendo o Gerenciador de Recursos da Link2business....

Leia mais

Manual do Google agenda. criação e compartilhamento de agendas

Manual do Google agenda. criação e compartilhamento de agendas Manual do Google agenda criação e compartilhamento de agendas 1 O que é o Google Agenda? Google Agenda é um serviço de agenda on line gratuito do Google, onde você pode anotar compromissos e tarefas, organizando

Leia mais