92
IBM Tivoli Directory Integrator 5.2: Guia de Introdução S517-7939-00

IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

S517-7939-00

���

Page 2: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer
Page 3: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

S517-7939-00

���

Page 4: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Nota

Antes

de

utilizar

estas

informações

e

o

produto

suportado

por

elas,

leia

as

informações

gerais

em

Apêndice

B,

“Avisos”,

na

página

77.

Primeira

Edição

(novembro

de

2003)

Esta

edição

se

aplica

à

versão

5,

release

2

do

IBM

Tivoli

Directory

Integrator

e

a

todos

os

releases

e

modificações

subseqüentes

até

que

seja

substituída

em

novas

edições.

©

Copyright

International

Business

Machines

Corporation

2002,

2003.

Todos

os

direitos

reservados.

Page 5: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Prefácio

Este

documento

contém

as

informações

que

você

precisa

para

administrar

o

IBM

Tivoli

Directory

Integrator.

Quem

Deve

Ler

este

Manual

Este

manual

destina-se

a

administradores

de

sistema,

a

usuários

e

a

qualquer

pessoa

interessada

em

aprender

mais

sobre

o

IBM

Tivoli

Directory

Integrator.

Publicações

Leia

as

descrições

da

biblioteca

doIBM

Tivoli

Directory

Integrator

para

determinar

quais

publicações

são

úteis

para

você.

Depois

de

determinar

as

publicações

necessárias,

consulte

as

instruções

para

acessar

as

publicações

on-line.

Biblioteca

do

IBM

Tivoli

Directory

Integrator

As

publicações

que

fazem

parte

da

biblioteca

do

IBM

Tivoli

Directory

Integrator

são:

IBM

Tivoli

Directory

Integrator

5.2:

Leia-me

Contém

as

informações

recentes

sobre

o

IBM

Tivoli

Directory

Integrator

5.2.

IBM

Tivoli

Directory

Integrator

5.2:

Guia

Básico

Um

breve

tutorial

e

instruções

para

oIBM

Tivoli

Directory

Integrator

5.2.

IBM

Tivoli

Directory

Integrator

5.2:

Guia

do

Administrador

Inclui

informações

completas

sobre

a

instalação

do

IBM

Tivoli

Directory

Integrator.

Inclui

informações

sobre

como

fazer

a

migração

de

uma

versão

anterior

do

IBM

Tivoli

Directory

Integrator.

Inclui

informações

sobre

como

configurar

a

funcionalidade

de

registro

do

IBM

Tivoli

Directory

Integrator.

IBM

Tivoli

Directory

Integrator

5.2:

Guia

do

Usuário

Contém

informações

sobre

como

utilizar

a

ferramenta

do

IBM

Tivoli

Directory

Integrator

5.2.

Contém

instruções

para

projetar

soluções

utilizando

a

ferramenta

(ibmditk)

do

IBM

Tivoli

Directory

Integrator

ou

executando

soluções

previamente

feitas

a

partir

da

linha

de

comando

(ibmdisrv).

Além

disso,

fornece

informações

sobre

interfaces,

conceitos

e

criação

e

gerenciamento

de

AssemblyLine/EventHandler.

Inclui

exemplos

para

criar

interação

e

aprendizado

acessível

do

IBM

Tivoli

Directory

Integrator

5.2.

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Referência

Contém

informações

detalhadas

sobre

cada

um

dos

componentes

doIBM

Tivoli

Directory

Integrator

5.2

AssemblyLine

(Conectores,

EventHandlers,

Analisadores,

Plug-ins

e

assim

por

diante).

Publicações

Relacionadas

As

informações

relacionadas

ao

IBM

Tivoli

Directory

Integrator

estão

disponíveis

nas

seguintes

publicações:

v

O

IBM

Tivoli

Directory

Integrator

5.2

utiliza

o

cliente

JNDI

da

Sun

Microsystems.

Para

obter

informações

sobre

o

cliente

JNDI,

consulte

as

Especificações

do

Java

Naming

and

Directory

Interface™

1.2.1

no

site

da

Web

da

©

Copyright

IBM

Corp.

2002,

2003

iii

Page 6: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Sun

Microsystems

em

http://java.sun.com/products/jndi/1.2/javadoc/index.html.

v

A

Tivoli

Software

Library

fornece

uma

variedade

de

publicações

sobre

oTivoli

como

documentos,

planilha

de

dados,

demonstrações,

livros

de

registros

e

cartas

de

lançamento.

A

Tivoli

Software

Library

está

disponível

na

Web

em:

http://www.ibm.com/software/tivoli/library/

v

O

Tivoli

Software

Glossary

inclui

definições

para

muitos

dos

termos

técnicos

relacionados

ao

software

do

Tivoli.

O

Tivoli

Software

Glossary

está

disponível,

somente

em

inglês,

no

link

Glossary

no

lado

esquerdo

da

página

da

Web

da

Tivoli

Software

Library

http://www.ibm.com/software/tivoli/library/

Acessando

Publicações

On-line

As

publicações

para

este

produto

estão

disponíveis

on-line

nos

formatos

PDF

(Portable

Document

Format)

e/ou

HTML

(Hypertext

Markup

Language)

na

Tivoli

software

library:

http://www.ibm.com/software/tivoli/library.

Para

localizar

as

publicações

do

produto

na

biblioteca,

clique

no

link

Product

manuals

no

lado

esquerdo

da

página

Library.

Depois,

localize

e

clique

no

nome

do

produto

na

página

do

centro

de

informações

sobre

o

software

Tivoli.

As

informações

estão

organizadas

por

produto

e

incluem

LEIA-MEs,

guias

de

instalação,

guias

do

usuário,

guias

do

administrador

e

referências

do

desenvolvedor,

conforme

necessário.

Nota:

Para

garantir

a

impressão

correta

das

publicações

em

PDF,

selecione

a

caixa

de

opções

Fit

to

page

na

janela

de

Impressão

do

Adobe

Acrobat

(que

fica

disponível

quando

você

clica

em

File->Print).

Acessibilidade

Recursos

de

acessibilidade

ajudam

um

usuário

que

possui

necessidades

especiais,

como

mobilidade

restrita

ou

visão

limitada,

a

utilizar

os

produto

de

software

com

êxito.

Com

este

produto,

você

pode

utilizar

tecnologias

de

assistência

para

escutar

e

navegar

na

interface.

Depois

da

instalação,

é

possível

utilizar

também

o

teclado

em

vez

do

mouse

para

operar

todos

os

recursos

da

interface

gráfica

do

usuário.

Entrando

em

Contato

com

o

Suporte

do

Software

Antes

de

entrar

em

contato

com

o

suporte

do

IBM

Tivoli

Software

para

resolver

um

problema,

consulte

o

IBM

System

Management

e

o

site

da

Web

do

Tivoli

em:

http://www.ibm.com/software/sysmgmt/products/support/

Se

precisar

de

ajuda

adicional,

entre

em

contato

com

o

suporte

do

software

utilizando

os

métodos

descritos

no

Guia

de

Suporte

do

Software

IBM

no

seguinte

site

da

Web:

http://techsupport.services.ibm.com/guides/handbook.html

O

guia

fornece

as

seguintes

informações:

v

Requisitos

de

registro

e

elegibilidade

para

o

recebimento

de

suporte

v

Números

de

telefone

e

endereços

de

e-mail,

dependendo

do

país

no

qual

você

se

encontra.

iv

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 7: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

v

Uma

lista

de

informações

que

devem

ser

reunidas

antes

de

entrar

em

contato

com

o

suporte

do

software.

Prefácio

v

Page 8: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

vi

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 9: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Índice

Prefácio

.

.

.

.

.

.

.

.

.

.

.

.

.

. iii

Quem

Deve

Ler

este

Manual

.

.

.

.

.

.

.

.

. iii

Publicações

.

.

.

.

.

.

.

.

.

.

.

.

.

. iii

Biblioteca

do

IBM

Tivoli

Directory

Integrator

.

. iii

Publicações

Relacionadas

.

.

.

.

.

.

.

.

. iii

Acessando

Publicações

On-line

.

.

.

.

.

.

. iv

Acessibilidade

.

.

.

.

.

.

.

.

.

.

.

.

. iv

Entrando

em

Contato

com

o

Suporte

do

Software

.

. iv

Capítulo

1.

Introdução

.

.

.

.

.

.

.

.

. 1

Sobre

este

Manual

.

.

.

.

.

.

.

.

.

.

.

. 1

Linguagem

de

Criação

de

Scripts

.

.

.

.

.

.

. 2

Instalando

o

IBM

Tivoli

Directory

Integrator

.

.

.

. 2

Instalando

os

Arquivos

Tutoriais

.

.

.

.

.

.

.

. 2

Capítulo

2.

Simplificar

e

solucionar

.

.

. 3

Como

Comer

um

Elefante?

.

.

.

.

.

.

.

.

. 3

Integração

é

Comunicação

.

.

.

.

.

.

.

.

.

. 3

Arquitetura

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 6

AssemblyLines

.

.

.

.

.

.

.

.

.

.

.

.

. 7

Conectores

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 7

Analisadores

.

.

.

.

.

.

.

.

.

.

.

.

.

. 9

EventHandlers

.

.

.

.

.

.

.

.

.

.

.

.

.

. 9

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

.

.

.

.

.

.

.

.

. 11

Desenvolvimento

Rápido

de

Integração

.

.

.

.

. 11

Criando

uma

Nova

Configuração

.

.

.

.

.

.

. 12

Criando

um

AssemblyLine

.

.

.

.

.

.

.

.

. 14

Incluindo

o

Conector

de

Entrada

.

.

.

.

.

.

. 17

Mapeando

Atributos

no

AssemblyLine

.

.

.

.

. 24

Incluindo

o

Conector

de

Saída

.

.

.

.

.

.

.

. 34

Executando

o

Seu

AssemblyLine

.

.

.

.

.

.

. 39

Trabalhando

com

Ganchos

.

.

.

.

.

.

.

.

. 43

Conversão

do

Esquema

.

.

.

.

.

.

.

.

.

. 46

Incluindo

o

Conector

de

Ligação

.

.

.

.

.

.

. 48

Configurando

os

Critérios

de

Links

.

.

.

.

.

. 52

EventHandlers

.

.

.

.

.

.

.

.

.

.

.

.

. 58

Considerações

Finais

.

.

.

.

.

.

.

.

.

.

. 73

Apêndice

A.

index.html

e

OtherPage.html

.

.

.

.

.

.

.

.

.

.

. 75

index.html

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 75

OtherPage.html

.

.

.

.

.

.

.

.

.

.

.

.

. 75

Apêndice

B.

Avisos

.

.

.

.

.

.

.

.

. 77

Instruções

para

Componentes

de

Terceiros

.

.

.

. 79

Instrução

para

Apache

.

.

.

.

.

.

.

.

.

. 79

Instrução

para

Rhino

.

.

.

.

.

.

.

.

.

. 80

Marcas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 80

©

Copyright

IBM

Corp.

2002,

2003

vii

Page 10: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

viii

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 11: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Capítulo

1.

Introdução

Sobre

este

Manual

Este

manual

é

uma

introdução

simples

para

um

sistema

simples.

Sem

dúvida,

a

palavra

simples

é

usada

aqui

em

seu

contexto

mais

positivo

e

forte,

porque

a

melhor

maneira

de

envolver

sua

mente

em

um

problema

complexo

é

simplificá-lo.

Divida-o

em

partes

mais

gerenciáveis

e,

em

seguida,

controle

as

partes

que

compõem

o

todo.

Dividir

e

conquistar.

Essa

é

uma

técnica

que

você

utiliza

instintivamente

para

resolver

igualmente

problemas

diários

e

que

é

igualmente

pertinente

à

troca

de

informações

de

engenharia

entre

escritórios,

empresas

ou

ao

redor

do

mundo.

O

IBM

Tivoli

Directory

Integrator

foi

projetado

e

construído

na

premissa

de

que

os

problemas

de

integração

podem

ser

divididos

em

três

componentes

básicos:

v

Os

sistemas

envolvidos

na

comunicação.

v

Os

fluxos

de

dados

entre

esses

sistemas.

v

E

os

eventos

que

acionam

os

fluxos

de

dados.

Com

o

IBM

Tivoli

Directory

Integrator

você

transforma

esse

entendimento

atômico

do

problema

de

integração

diretamente

na

solução.

Você

pode

construir

sua

solução

em

incrementos,

um

fluxo

por

vez,

com

feedback

e

verificação

contínuos.

Isso

significa

tornar

os

projetos

de

integração

mais

fáceis

de

estimar

e

planejar.

Às

vezes,

o

planejamento

pode

ser

reduzido

para

simplificar

a

contabilidade

e

determinar

o

custo

dos

fluxos

de

dados

individuais

a

serem

implementados.

E,

que

está

desenvolvendo

a

solução

fluxo-a-fluxo

de

maneira

visual

e

interativa,

você

pode

relatar

(e

demonstrar)

o

progresso

da

solução

para

a

gerência

do

projeto

e

da

empresa

de

uma

vez.

O

IBM

Tivoli

Directory

Integrator

gerencia

a

parte

técnica

da

conexão

e

da

interação

com

diversas

origens

de

dados

às

quais

você

deseje

se

integrar,

afastando-se

dos

detalhes

sobre

suas

APIs,

transporte,

protocolos

e

formatos.

Em

vez

de

concentrar-se

nos

dados,

o

IBM

Tivoli

Directory

Integrator

direciona

sua

atenção

para

o

nível

de

informações,

permitindo

que

você

se

concentre

na

transformação,

filtragem

e

outra

lógica

de

negócios

necessária

para

executar

cada

troca.

O

IBM

Tivoli

Directory

Integrator

permite

que

você

construa

bibliotecas

de

lógica

de

negócios

e

componentes

que

possam

ser

mantidas,

estendidas

e

reutilizadas

para

vencer

novos

desafios.

Os

projetos

de

desenvolvimento

de

sua

organização

podem

compartilhar

os

recursos

do

IBM

Tivoli

Directory

Integrator,

o

que

resulta

em

projetos

independentes

(mesmo

em

soluções

de

ponta)

que

se

adaptam

imediatamente

a

uma

infra-estrutura

integrada

e

coerente.

Essa

abordagem

resulta

em

uma

utilização

de

recursos

mais

racional

e

previsível,

uma

vez

que

sua

origem

de

dados

e

seus

especialistas

em

tecnologia

são

incluídos

logo

no

início

de

um

projeto

para

configurar

suas

bibliotecas.

Quando

estabelecidos,

esses

recursos

de

integração

são

disponibilizados

em

toda

a

rede,

permitindo

que

você

os

utilize

como

uma

alavanca

para

criar

novas

soluções

e

aperfeiçoar

as

soluções

existentes.

©

Copyright

IBM

Corp.

2002,

2003

1

Page 12: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Este

documento

fornece

uma

introdução

a

essa

abordagem,

bem

como

informações

sobre

como

penetrar

na

elegante

e

fundamental

simplicidade

do

IBM

Tivoli

Directory

Integrator.

Linguagem

de

Criação

de

Scripts

O

IBM

Tivoli

Directory

Integrator

fornece

um

ambiente

elegante

e

intuitivo

para

construir

rapidamente

a

estrutura

de

sua

solução

de

integração.

No

entanto,

você

poderá

querer

adicionar

uma

lógica

mais

avançada

de

manipulação

e

transformação

de

dados,

bem

como

regras

de

negócios

para

filtragem

dos

dados

e

controle

do

comportamento

dos

fluxos

de

dados.

Tudo

isso

é

feito

com

a

escrita

do

script

em

sua

solução.

Como

o

IBM

Tivoli

Directory

Integrator

utiliza

o

Beans

Scripting

Framework,

você

pode

escolher

em

uma

seleção

ampla

de

linguagens

de

script,

incluindo

JavaScript,

VBScript

e

PerlScript.

Para

obter

informações

adicionais

sobre

linguagens

de

criação

de

scripts,

consulte

o

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Referência.

Instalando

o

IBM

Tivoli

Directory

Integrator

O

IBM

Tivoli

Directory

Integrator

é

um

middleware

de

integração

leve

e

rapidamente

implementado.

Ao

contrário

do

middleware

tradicional,

o

IBM

Tivoli

Directory

Integrator

é

instalado

em

minutos

e

você

pode

começar

a

construir,

testar

e

implementar

soluções

imediatamente.

O

sistema

é

executado

em

várias

plataformas,

incluindo

o

Windows

e

uma

série

de

versões

do

UNIX

e

Linux.

Para

obter

informações

adicionais

sobre

a

instalação

do

IBM

Tivoli

Directory

Integrator,

consulte

as

″instruções

de

instalação

do

IBM

Tivoli

Directory

Integrator

no

IBM

Tivoli

Directory

Integrator

5.2:

Guia

do

Administrador.

Instalando

os

Arquivos

Tutoriais

Para

trabalhar

com

os

exemplos

neste

manual,

você

precisa

dos

arquivos

de

dados

do

Tutorial

(embora,

possa

reproduzi-los

a

partir

do

texto

neste

manual).

Para

acessar

esses

arquivos

de

exemplo,

para

o

diretório

root_directory/examples

nos

diretórios

de

instalação.

diretório_raiz

indica

o

diretório

em

que

o

IBM

Tivoli

Directory

Integrator

está

instalado.

2

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 13: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Capítulo

2.

Simplificar

e

solucionar

Como

Comer

um

Elefante?

A

resposta

é

um

pedaço

de

cada

vez.

Essa

é

também

a

melhor

abordagem

para

assimilar

grandes

projetos

de

integração

e

de

implementação

de

sistemas.

A

chave

para

o

sucesso

está

em

reduzir

a

complexidade

dividindo

o

problema

em

segmentos

menores

e

gerenciáveis.

Isso

significa

iniciar

o

processo

tomando

apenas

uma

parte

da

solução,

de

preferência

uma

que

possa

ser

concluída

em

uma

semana

ou

duas.

O

ideal

é

que

uma

parte

posse

ser

colocada

em

produção

independentemente.

Dessa

forma,

está

havendo

um

retorno

de

investimento

enquanto

você

lida

com

o

resto

da

solução.

Depois

de

isolada

a

parte

que

será

trabalhada,

simplifique

ainda

mais

focalizando

as

unidades

básicas

de

comunicação

(os

fluxos

de

dados

propriamente

ditos).

Agora

você

tem

condições

para

começar

a

implementá-las.

O

desenvolvimento

da

integração

é

feito

com

o

IBM

Tivoli

Directory

Integrator

através

de

uma

série

de

ciclos

de

tentar-testar-aperfeiçoar,

fazendo

do

processo

um

processo

interativo

e

até

mesmo

exploratório.

Isso

não

ajuda

a

aprender

mais

sobre

sua

própria

instalação,

mas

também

permite

que

você

desenvolva

sua

solução

de

integração

a

medida

que

sua

compreensão

do

conjunto

de

problemas

e

de

seu

impacto

na

infra-estrutura

aumenta.

Uma

ótima

maneira

de

se

obter

uma

boa

imagem

mental

do

problema

em

mãos

é

desenhá-lo.

Com

um

lápis

e

um

pedaço

de

papel,

faça

um

esboço

de

um

fluxograma

que

mapeia

a

solução

em

movimentos

abrangentes.

Esse

exercício

não

ajuda

apenas

a

visualizar

o

escopo

da

tarefa,

mas

serve

também

como

um

plano

para

a

implementação

da

tarefa

no

IBM

Tivoli

Directory

Integrator.

Integração

é

Comunicação

Os

problemas

de

integração

são

todos

relacionados

à

comunicação

e,

como

tal,

podem

normalmente

ser

divididos

em

três

partes

básicas:

v

Os

sistemas

e

os

dispositivos

que

se

comunicam.

v

Os

fluxos

de

dados

entre

esses

sistemas.

v

Os

eventos

que

acionam

os

fluxos

de

dados.

Esses

elementos

que

constituem

um

cenário

de

comunicação

podem

ser

descritos

da

seguinte

forma:

Fontes

de

Dados

Estes

são

os

os

repositórios

de

dados,

os

sistemas

e

dispositivos

que

conversam

entre

si.

Por

exemplo:

v

O

Enterprise

Directory

que

você

está

implementando

ou

tentando

manter.

v

O

aplicativo

CRM.

v

O

sistema

de

telefones

do

escritório.

v

O

banco

de

dados

Access

com

a

lista

de

equipamentos

da

empresa

e

para

quem

o

equipamento

foi

enviado.

©

Copyright

IBM

Corp.

2002,

2003

3

Page 14: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

As

origens

de

dados

representam

uma

grande

variedade

de

sistemas

e

repositórios,

como

bancos

de

dados

(por

exemplo

DB2,

Oracle,

SQL

Server),

diretórios

(por

exemplo

iPlanet,

IBM

Directory

Server,

Domino,

eDirectory

e

Active

Directory),

serviços

de

diretórios

(Exchange),

arquivos

(por

exemplo,

arquivos

XML,

LDIF

ou

SOAP),

e-mail

em

formatos

especiais

ou

qualquer

número

de

mecanismos

de

interface

utilizados

por

sistemas

internos

e

parceiros

de

negócios

externos

para

se

comunicarem

com

seus

serviços

e

recursos

de

informações.

Fluxos

de

Dados

São

os

encadeamentos

das

comunicações

e

de

seu

conteúdo,

e

normalmente

são

representados

como

flechas

apontando

na

direção

do

movimento

dos

dados.

Cada

fluxo

de

dados

representa

uma

comunicação

entre

dois

ou

mais

sistemas.

No

entanto,

para

que

uma

conversação

seja

significativa

para

todos

os

participantes,

todas

as

pessoas

envolvidas

devem

compreender

o

que

está

sendo

comunicado.

Você

pode,

provavelmente,

esperar

que

as

origens

de

dados

representem

seu

conteúdo

de

dados

de

diferentes

maneiras.

Um

sistema

pode

representar

um

número

de

telefone

como

uma

informação

textual,

incluindo

os

hífens

e

parênteses

utilizados

para

facilitar

a

leitura

do

número.

Outro

sistema

pode

armazenar

os

números

de

telefone

como

dados

numéricos.

Caso

esses

dois

sistemas

precisem

comunicar

esses

dados,

então

as

informações

deverão

ser

traduzidas

durante

a

conversação.

Além

disso,

as

informações

de

uma

origem

de

dados

podem

não

estar

completas

e

podem

precisar

ser

complementadas

com

atributos

de

outras

origens

de

dados.

Além

do

mais,

apenas

partes

dos

dados

no

fluxo

podem

ser

pertinentes

para

os

sistemas

de

recebimento.

Portanto,

um

fluxo

de

dados

também

deve

incluir

o

mapeamento,

a

filtragem

e

a

transformação

de

informações,

deslocando

seu

contexto

das

origens

de

entrada

para

aquelas

dos

sistemas

de

destino.

Eventos

Os

eventos

podem

ser

descritos

como

as

circunstâncias

impostas

quando

um

conjunto

de

origem

de

dados

se

comunica

com

outro.

Um

exemplo

é

a

inclusão,

atualização

e

exclusão

de

um

funcionário

no

sistema

de

RH.

Outro

exemplo

é

quando

o

sistema

de

controle

de

acesso

detecta

a

utilização

de

um

cartão

em

uma

área

restrita.

Um

evento

também

pode

ser

baseado

em

um

calendário

ou

em

um

temporizador

baseado

em

relógio,

por

exemplo,

iniciar

a

comunicação

a

cada

10

minutos

ou

à

meia-noite,

aos

domingos.

Ele

também

pode

ser

um

evento

desativado

iniciado

manualmente,

como

ocupar

um

diretório

ou

limpar

os

dados

em

um

sistema.

Os

eventos

estão

normalmente

ligados

a

uma

origem

de

dados

e

a

fluxos

de

dados

acionados

quando

surge

um

determinado

conjuntos

de

circunstâncias.

Cada

um

desses

elementos

é

manipulado

pelo

IBM

Tivoli

Directory

Integrator

utilizando

seus

três

tipos

de

componentes:

Conectores,

Analisadores

e

EventHandlers.

v

Os

conectores

são

componentes

que

se

conectam

e

acessam

dados

em

uma

origem

de

dados.

Por

exemplo,

você

pode

utilizar

um

Conector

JDBC

para

ler

e

4

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 15: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

gravar

em

um

banco

de

dados

SQL,

enquanto

um

Conector

LDAP

permite

acessar

um

diretório.

Alguns

tipos

de

origens

de

dados

não

armazenam

dados

como

objetos

estruturados

(registros,

entradas

e

assim

por

diante),

utilizando

no

lugar

fluxos

de

bytes.

Dois

exemplos

são

dados

através

de

IP

e

arquivos

simples.

É

onde

entram

os

Analisadores,

transformando

fluxos

de

bytes

em

informações

estruturadas

ou

informações

estruturas

em

fluxos

de

bytes.

v

Os

fluxos

de

dados

são

implementados

através

da

conexão

de

um

ou

mais

Conectores

juntos

(associando

Conectores

com

Analisadores,

onde

necessário).

v

Finalmente,

os

EventHandlers

podem

ser

configurados

para

selecionar

notificações

de

alteração

em

sistemas

conectados

(como

diretórios

ou

caixas

de

correio

POP3/IMAP)

e,

em

seguida,

despachar

esses

eventos

para

os

AssemblyLines

designados.

Antes

de

se

aprofundar

sobre

como

esses

componentes

trabalham,

você

precisa

obter

uma

visão

geral

dos

fluxos

de

dados

que

deseja

implementar.

Conforme

mencionado

anteriormente,

uma

boa

maneira

de

fazer

isso

é

criar

um

fluxograma.

diversas

convenções

e

estilos

de

diagramação

disponíveis

para

se

escolher,

mas

a

forma

atual

e

o

tipo

dos

símbolos

é

menos

importante

do

que

a

compreensão

do

problema.

Utilize

caixas,

círculos,

bolhas

ou

qualquer

forma

que

deseje,

mas

seja

consistente

e

certifique-se

de

identificar

tudo

de

forma

clara

e

legível.

Dessa

forma,

ao

olhar

seu

diagrama

dois

meses

depois

(ou

caso

outra

pessoa

o

faça),

ele

continua

fazendo

sentido.

Uma

origem

de

dados

de

saída

(DS3)

obtém

dados

a

partir

de

uma

origem

de

dados

inicial

(DS1).

Ao

longo

do

percurso,

o

fluxo

de

dados

coleta

informações

de

uma

segunda

origem

de

dados

(DS2).

No

IBM

Tivoli

Directory

Integrator,

tal

fluxo

de

dados

é

referido

como

um

AssemblyLine.

É

importante

compreender

que

cada

AssemblyLine

implementa

um

fluxo

de

dados

unidirecional

único.

Caso

deseje

realizar

uma

sincronização

bidirecional

entre

duas

origens

de

dados

ou

mais,

você

deve

utilizar

um

AssemblyLines

separado

para

tratar

o

fluxo

em

cada

direção.

A

razão

para

isso

é

que

a

forma

e

o

conteúdo

dos

dados,

assim

como

as

operações

neles

executadas,

normalmente

são

diferentes

para

cada

direção.

Nota:

O

IBM

Tivoli

Directory

Integrator

fornece

tudo

o

que

é

necessário

para

criar

soluções

para

informações

do

tipo

pergunta-resposta,

como

Serviços

da

Web.Embora

não

haja

limites

para

o

número

de

Conectores

que

um

AssemblyLine

pode

conter,

o

AssemblyLines

deve

conter

o

menor

número

possível

de

Conectores

(por

exemplo,

um

para

cada

origem

de

dados

que

participe

do

fluxo),

enquanto

deve,

ao

mesmo

tempo,

incluir

componentes

e

lógica

de

script

suficientes

para

tornar

o

AssemblyLine

o

mais

autônomo

possível.

O

raciocínio

por

trás

disso

é

tornar

o

AssemblyLine

fácil

de

compreender

e

manter.

Essa

procedimento

também

resulta

em

soluções

mais

simples,

rápidas

e

redimensionáveis.

A

filosofia

do

IBM

Tivoli

Directory

Integrator

baseia-se

em

tratar

os

fluxos

de

dados

um

a

um,

simplificando

o

conjunto

dos

problemas,

portanto

vamos

iniciar

no

fluxo

que

vai

do

DS1

para

o

DS3.

A

forma

como

os

dados

são

organizados

pode

diferir

muito

de

sistema

para

sistema:

v

Normalmente,

os

bancos

de

dados

armazenam

informações

em

registros

com

um

número

fixo

de

campos.

v

Por

outro,

os

diretórios

trabalham

com

objetos

variáveis

chamados

entradas.

v

Outros

sistemas

podem

utilizar

mensagens

ou

pares

de

chave-valor.

Capítulo

2.

Simplificar

e

solucionar

5

Page 16: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

O

IBM

Tivoli

Directory

Integrator

simplifica

essa

questão

coletando

e

armazenando

todos

os

tipos

de

informações

em

um

contêiner

de

dados

eficaz

e

flexível

chamado

Entry.

Por

sua

vez,

os

próprios

valores

de

dados

são

mantidos

em

objetos

chamados

Attributes

que

Entry

recebe

e

gerencia.

Outro

problema

potencial

é

que

essas

origens

utilizam

tipos

diferentes

para

representar

valores

armazenados.

O

IBM

Tivoli

Directory

Integrator

também

cuida

disso

para

você.

Tudo

que

é

enviado

para

o

fluxo

de

dados

é

convertido

em

um

formato

consistente

com

regras

predefinidas

(objetos

Java).

Como

resultado,

suas

regras

de

negócios

e

lógica

de

transformação

não

precisam

lidar

com

conflitos

de

tipo.

Quando

os

dados

estão

prontos

para

saída,

o

IBM

Tivoli

Directory

Integrator

os

converte

de

volta

para

os

tipos

pertinentes

específicos

da

origem

de

dados.

Para

concluir

a

visualização

do

fluxo

de

dados,

registre

como

os

atributos

da

origem

de

dados

de

entrada

são

mapeados

(e

possivelmente

modificados)

para

se

tornarem

os

atributos

do

sistema

de

destino.

Por

exemplo,

DS3

poderá

ser

semelhante

ao

seguinte:

Nome

=DS1.First

Sobrenome

=DS1.Last

Nome

Completo

=DS1.First+"

"+DS1.Last

Ocupação

=DS1.Title

Correio

=<nome_do_computador>

Para

manter

a

simplicidade

do

exemplo,

utilize

um

arquivo

de

valor

separado

por

vírgulas

como

o

DS1

que

contém

os

campos

First,

Last

e

Title.

Sua

origem

de

dados

de

saída

(DS3)

é

o

documento

em

XML.

Agora

que

você

possui

uma

boa

representação

da

solução,

vamos

ver

como

o

IBM

Tivoli

Directory

Integrator

trata

os

fluxos

de

dados.

Arquitetura

A

arquitetura

do

IBM

Tivoli

Directory

Integrator

é

dividida

em

duas

partes:

v

O

sistema

principal,

no

qual

a

maior

parte

da

funcionalidade

do

sistema

é

fornecida.

O

núcleo

do

IBM

Tivoli

Directory

Integrator

trata

de

arquivos

de

log,

detecção

e

despacho

de

erros

e

parâmetros

de

execução

do

fluxo

de

dados.

E

nele

também

que

são

mantidas

a

configuração

personalizada

e

a

lógica

de

negócios.

v

Os

componentes,

que

servem

para

separar

os

detalhes

técnicos

dos

sistemas

e

formatos

de

dados

com

os

quais

deseja

trabalhar.

O

IBM

Tivoli

Directory

Integrator

fornece

três

tipos

de

componentes:

Conectores

Analisadores

EventHandlers

Como

cada

um

é

agrupado

pela

funcionalidade

principal

que

trata

de

coisas

como

controle

de

fluxo

de

integração

e

personalização,

os

próprios

componentes

podem

permanecer

pequenos

e

leves.

Por

exemplo,

se

você

quiser

implementar

seu

próprio

Analisador,

será

necessário

fornecer

apenas

duas

funções:

uma

para

interpretar

a

estrutura

de

um

fluxo

de

bytes

de

entrada

e

outra

para

adicionar

a

estrutura

a

um

fluxo

de

bytes

de

saída.

Se

você

examinar

o

subdiretório

jars

do

IBM

Tivoli

Directory

Integrator

verá

como

são

leves

os

componentes

padrão,

o

que

facilita

sua

criação

e

a

extensão.

O

design

desse

componente/principal

torna

o

IBM

Tivoli

Directory

Integrator

facilmente

extensível.

Isso

também

significa

que

você

pode

construir

rapidamente

a

6

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 17: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

estrutura

das

soluções

selecionando

os

componentes

pertinentes

e

clicando

neles

no

local.

Os

componentes

são

intercambiáveis

e

podem

ser

trocados

sem

afetar

a

lógica

personalizada

e

o

comportamento

configurado

dos

fluxos

de

dados.

Isso

significa

que

você

pode

construir

soluções

de

integração

que

são

rapidamente

adicionadas

e

estendidas,

enquanto

as

mantêm

menos

vulneráveis

para

alterações

na

infra-estrutura

subjacente.

AssemblyLines

As

setas

do

fluxo

de

dados

no

diagrama

convertem

do

IBM

Tivoli

Directory

Integrator

para

o

AssemblyLines,

que

trabalha

de

maneira

similar

às

linhas

de

montagem

industriais

do

mundo

real.

As

linhas

de

montagem

reais

são

constituídas

por

um

número

de

máquinas

especializadas

que

diferem

tanto

na

função

quanto

na

construção,

mas

possuem

um

atributo

significativo

em

comum:

podem

ser

interligadas

para

formarem

um

caminho

contínuo,

desde

as

origens

de

entrada

até

a

saída.

Uma

linha

de

montagem

normalmente

possui

uma

ou

mais

unidades

projetadas

para

aceitarem

qualquer

que

seja

a

matéria-prima

necessária,

por

exemplo,

filés

de

peixe,

xarope

de

cola,

peças

de

automóveis

e

assim

por

diante.

Esses

ingredientes

são

processados

e

misturados

em

conjunto.

Algumas

vezes,

produtos

secundários

são

extraídos

da

linha

de

montagem

ao

longo

do

caminho.

No

final

da

linha

de

produção,

as

mercadorias

prontas

são

entregues

para

as

unidades

de

saída

à

espera.

Se

a

equipe

de

produção

recebe

ordem

para

produzir

outra

coisa,

eles

desmontam

a

linha,

mantendo

as

máquinas

que

ainda

são

relevantes

para

a

nova

ordem.

As

novas

unidades

são

conectadas

nos

lugares

corretos,

a

linha

é

ajustada

e

a

produção

começa

novamente.

Os

AssemblyLines

do

IBM

Tivoli

Directory

Integrator

trabalham

de

maneira

similar.

Os

AssemblyLines

do

IBM

Tivoli

Directory

Integrator

recebem

informações

de

diversas

unidades

de

entrada,

realizam

operações

nessas

entradas

e

transportam

os

produto

finalizado

através

das

unidades

de

saída.

Os

AssemblyLines

do

IBM

Tivoli

Directory

Integrator

trabalham

com

um

item

por

vez,

por

exemplo,

um

registro

de

dados,

uma

entrada

de

diretório,

uma

chave

de

registro

e

assim

por

diante.

Os

atributos

de

dados

das

origens

de

entrada

conectadas

são

acumulados

em

um

depósito

Java

(chamado

de

objeto

de

trabalho)

e

os

scripts

que

são

adicionados

trabalham

com

essas

informações:

verificando

o

conteúdo

dos

dados,

computando

novos

valores

e

atributos,

bem

como

alterando

os

existentes,

até

que

os

dados

estejam

prontos

para

a

entrega

de

uma

linha

para

uma

ou

mais

origens

de

saída.

As

unidades

de

entrada

e

saída

de

um

AssemblyLine

do

IBM

Tivoli

Directory

Integrator

são

chamadas

Conectores

e

cada

Conector

está

vinculado

a

um

armazenamento

de

dados.

Os

conectores

ligam

o

fluxo

de

dados

ao

mundo

exterior

e

também

estão

onde

ocorrem

a

transformação

e

agregação

de

dados.

Também

se

encontram

onde

você

possa

criar

camadas

para

sua

lógica

comercial,

de

segurança

e

de

gerenciamento

de

identificação.

Conectores

Os

conectores

são

como

peças

de

um

quebra-cabeças

que

se

encaixam,

enquanto

ao

mesmo

tempo

se

vinculam

a

uma

origem

de

dados

específica.

Capítulo

2.

Simplificar

e

solucionar

7

Page 18: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Cada

vez

que

você

seleciona

uma

dessas

peças

de

quebra-cabeças

e

a

inclui

em

um

AssemblyLine,

você

deve

fazer

o

seguinte:

1.

Escolher

o

tipo

de

Conector.

2.

Atribuir

ao

Conector

sua

função

no

fluxo

de

dados.

Isso

é

chamado

de

modo

Conector

e

informa

ao

IBM

Tivoli

Directory

Integrator

como

utilizar

o

Conector:

v

Um

Conector

de

entrada

interagindo

ou

buscando

informações

em

sua

origem.

v

Um

Conector

de

saída,

inserindo,

atualizando

ou

excluindo

dados

no

sistema

ou

no

dispositivo

conectado.

Nota:

Os

dados

devem

ser

retirados

das

origens

de

entrada

e

em

seguida

colocados

nos

destinos

de

saída.

É

esse

o

trabalho

que

os

conectores

desempenham.

Você

pode

alterar

o

tipo

e

o

modo

de

um

Conector

de

acordo

com

a

sua

vontade

para

atender

às

alterações

na

infra-estrutura

ou

nos

objetivos

da

solução.

Se

você

tiver

planejado

isso

eventualmente,

então

o

restante

do

AssemblyLine,

incluindo

transformações

e

filtragem

de

dados,

não

será

influenciado.

Por

isso

é

importante

tratar

cada

Conector

como

uma

caixa

preta

que

tanto

entrega

quanto

cruza

dados,

ou

extrai

parte

deles

para

enviar

para

uma

origem

de

dados.

Quanto

mais

independente

for

um

Conector,

mais

fácil

será

ampliar

e

manter

sua

solução.

Tornando

seus

Conectores

o

mais

autônomos

possível,

você

também

pode

transferi-los

prontamente

para

sua

Biblioteca

de

Conectores

e

reutilizá-los

para

criar

novas

soluções

de

maneira

mais

rápida

e

compartilhá-las

com

outros.

A

utilização

do

recurso

de

biblioteca

do

IBM

Tivoli

Directory

Integrator

também

facilita

a

manutenção

e

o

aperfeiçoamento

de

seus

Conectores,

uma

vez

que

tudo

o

que

você

tem

de

fazer

é

atualizar

o

gabarito

do

Conector

em

sua

biblioteca

e

todos

os

AssemblyLines

derivados

desse

gabarito

herdarão

esses

aperfeiçoamentos.

Quando

sua

solução

estiver

pronta

para

funcionar,

você

poderá

reconfigurar

sua

biblioteca

de

Conectores

para

se

conectar

às

origens

de

dados

de

produção,

em

vez

daquelas

em

seu

ambiente

de

testes,

e

mover

sua

solução

do

laboratório

para

a

implementação

real

em

questão

de

minutos.

Sempre

que

precisar

incluir

novos

dados

ao

fluxo,

simplesmente

adicione

o

Conector

pertinente

ao

AssemblyLine.

IBM

Tivoli

Directory

Integrator

fornece

uma

biblioteca

de

Conectores

a

sua

escolha,

como

LDAP,

JDBC,

Microsoft

NT4

Domain,

Lotus

Notes

e

POP3/IMAP.

E,

caso

não

encontre

o

que

está

procurando,

você

pode

estender

um

Conector

existente

substituindo

uma

ou

todas

as

suas

funções

utilizando

uma

das

linguagens

de

criação

de

scripts

líderes

de

mercado,

incluindo

JavaScript,

VBScript

e

PerlScript.

Você

pode

até

mesmo

criar

seu

próprio

Conector,

com

uma

linguagem

de

criação

de

scripts

dentro

do

wrapper

Conector

de

Scripts,

ou

a

partir

de

esboço

utilizando

Java

ou

C/C++.

Além

disso,

o

IBM

Tivoli

Directory

Integrator

suporta

a

maioria

dos

protocolos

e

mecanismos

de

transporte,

como

TCP/IP,

FTP,

HTTP

e

JMS

(MQ)

com

ou

sem

SSL

ou

outros

mecanismos

de

criptografia

para

proteger

o

fluxo

de

informações.

Para

obter

informações

adicionais

sobre

linguagens

de

criação

de

scripts

e

como

criar

a

sua

própria

linguagem,

consulte

o

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Referência.

8

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 19: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Analisadores

Mesmo

dados

não

estruturados,

como

arquivos

de

texto

e

fluxos

de

bytes

provenientes

de

uma

porta

IP,

são

tratados

de

forma

rápida

e

simples

com

o

IBM

Tivoli

Directory

Integrator

transmitindo

o

fluxo

de

bytes

através

de

um

ou

mais

Analisadores.

Analisadores

são

outro

tipo

de

componente

do

IBM

Tivoli

Directory

Integrator

e

o

sistema

é

fornecido

com

vários

Analisadores,

incluindo

LDIF,

DSML,

XML,

CSV

e

Campo

de

comprimento

fixo.

E,

exatamente

como

os

Conectores,

você

pode

estendê-los

ou

modificá-los,

bem

como

criar

o

seu

próprio.

Dando

continuidade

ao

exemplo

da

página

6,

a

próxima

etapa

é

identificar

as

origens

de

dados.

Uma

vez

que

a

origem

de

dados

entrada

é

um

arquivo

de

texto

em

formato

de

valor

separado

por

vírgula,

você

pode

utilizar

o

Conector

File

System

emparelhado

com

o

Analisador

CSV.

Utilize

um

Conector

Sistema

de

Arquivos

também

para

a

saída,

mas

dessa

vez

escolha

o

Analisador

XML

para

formatar

o

arquivo

como

um

documento

XML.

Nota:

Os

exemplos

deste

manual

foram

criados

em

uma

plataforma

UNIX

e

utilizam

as

convenções

de

nomenclatura

de

caminho

do

UNIX.

Para

que

sua

solução

seja

independente

de

plataformas,

utilize

a

barra

(/)

ao

invés

da

barra

invertida

(\)

nos

nomes

do

seu

caminho,

por

exemplo

examples/Tutorial/Tutorial1.cfg.

Isso

funciona

nas

plataformas

Windows

e

UNIX/Linux.

EventHandlers

EventHandlers

são

o

terceiro

tipo

de

componente

do

IBM

Tivoli

Directory

Integrator

e

fornecem

funcionalidade

para

construir

soluções

de

integração

em

tempo

real.

Da

mesma

forma

que

os

Conectores,

os

EventHandlers

podem

ter

a

inteligência

da

origem

de

dados

que

pode

permitir

que

se

conectem

a

um

sistema

ou

serviço

e

aguardem

uma

notificação

de

evento.

Exemplos

são

o

EventHandler

Mailbox

que

pode

detectar

quando

novas

mensagens

chegam

em

uma

caixa

postal

POP3

ou

IMAP

ou

o

EventHandler

LDAP

que

pode

capturar

as

alterações

feitas

em

um

diretório.

Quando

ocorre

um

evento,

o

EventHandler

armazena

informações

específicas

do

evento

e,

em

seguida,

executa

a

lógica

e

inicia

os

AssemblyLines

de

acordo

com

as

regras

de

condição/ação

configuradas.

Às

vezes,

os

Conectores

também

podem

ser

utilizados

para

capturar

eventos,

como

é

o

caso

com

o

Conector

JMS

ou

o

Conector

LDAP

Changelog,

que

podem

ser

configurados

para

aguardar

até

os

novos

dados

aparecerem

e,

então,

recuperá-los.

No

entanto,

como

o

EventHandler

opera

em

seu

próprio

thread,

eles

podem

ser

utilizados

para

despachar

eventos

para

vários

AssemblyLines.

Isso

fornece

um

limpador

e

um

método

mais

direto

de

filtragem

e

tratamento

de

vários

tipos

de

eventos

da

mesma

origem

(por

exemplo,

chamadas

SOAP

ou

Serviços

da

Web).

Os

EventHandlers

também

podem

ser

configurados

para

Início

Automático,

o

que

significa

que

se

você

inicializar

um

servidor

com

o

Config,

esses

EventHandlers

serão

imediatamente

ativados.

Isso

evita

de

precisar

nomear

especificamente

os

AssemblyLines

para

execução

nos

parâmetros

da

linha

de

comandos

para

o

servidor.

Agora

que

foi

apresentado

aos

componentes

que

o

IBM

Tivoli

Directory

Integrator

utiliza,

você

estará

pronto

para

construir

o

AssemblyLine.

No

entanto,

antes

de

continuar,

você

precisa

de

um

arquivo

de

entrada.

Você

pode

localizar

um

exemplo

de

tal

arquivo

no

subdiretório

examples\Tutorial

no

diretório

em

que

o

Capítulo

2.

Simplificar

e

solucionar

9

Page 20: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

IBM

Tivoli

Directory

Integrator

foi

instalado

ou

criar

o

seu

próprio

com

um

editor

de

texto.

Os

dados

de

amostra

incluídos

são

semelhantes

ao

seguinte:

First;Last;Title

Bill;Sanderman;Chief

Scientist

Mick;Kamerun;CEO

Jill;Vox;CTO

Roger

Gregory;Highpeak;VP

Product

Development

Ernie;Hazzle;Chief

Evangelist

Peter;Belamy;Business

Support

Manager

Esse

arquivo

chama-se

People.csv

e

está

localizado

na

pasta

examples/Tutorial

do

diretório

de

instalação

do

IBM

Tivoli

Directory

Integrator.

Quando

ele

está

no

local,

você

está

pronto

para

construir

sua

solução

utilizando

o

IBM

Tivoli

Directory

Integrator.

10

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 21: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

Desenvolvimento

Rápido

de

Integração

O

IBM

Tivoli

Directory

Integrator

é

realmente

composto

de

dois

programas:

Toolkit

IDE

Este

programa

oferece

uma

interface

gráfica

para

criar,

testar

e

depurar

suas

soluções

de

integração.

O

Toolkit

Integrated

Development

Environment

é

utilizado

para

criar

um

arquivo

de

configuração

(chamado

de

arquivo

Config)

que

é

iniciado

pelo

mecanismo

de

tempo

de

execução.

O

arquivo

executável

do

Toolkit

IDE

chama-se

ibmditk.

Servidor

de

Tempo

de

Execução

Utilizando

o

Config

que

foi

criado

com

o

Toolkit

IDE

(e

que

está

armazenado

como

um

documento

XML

altamente

estruturado),

o

Run-time

Server

fortalece

a

solução

de

integração.

Este

arquivo

de

programa

é

chamado

ibmdisrv

e

você

pode

implementar

sua

solução

utilizando

quantas

instâncias

do

servidor

desejar.

Não

limitações

impostas

pela

tecnologia

IBM

Tivoli

Directory

Integrator.

Inicie

o

Toolkit

IDE.

Após

alguns

instantes

aparecerá

a

Tela

Principal.

Daqui

você

pode

criar

um

novo

Config,

que

pode

ser

revisitado.

Nota:

Se

a

tela

que

você

vir

for

diferente

das

capturas

de

tela

neste

manual,

seu

sistema

poderá

estar

com

uma

definição

de

exibição

diferente.

Faça

o

seguinte

para

alterar

a

definição

de

exibição:

1.

Clique

em

Arquivo–>Editar

Preferências.

2.

Clique

na

guia

Aparência.

3.

Clique

na

guia

Look

&

Feel.

A

janela

IBM

Tivoli

Directory

Integrator

é

redimensionável.

Se

as

capturas

de

tela

neste

manual

não

corresponderem

à

sua

própria

experiência,

tente

alterar

o

tamanho

da

janela

da

tela.

A

seleção

Arquivo–>Editar

Preferências

abre

um

diálogo

no

qual

você

pode

definir

uma

série

de

outros

parâmetros

de

interface

com

o

usuário,

como

se

a

barra

de

ferramentas

de

botões

principal

ficará

visível

ou

não

ou

se

você

deseja

que

o

IBM

Tivoli

Directory

Integrator

utilize

a

Barra

de

Status

na

parte

inferior

da

janela.

O

Menu

Principal

e

a

barra

de

ferramentas

de

botões

estão

na

parte

superior

da

tela.

©

Copyright

IBM

Corp.

2002,

2003

11

Page 22: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

A

Barra

de

Ferramentas

Principal

fornece

comandos

para

criação

de

novos

Configs,

abrindo

os

existentes

e

salvando

seu

trabalho

atual,

bem

como

alguns

botões

de

navegação.

Estes

mesmos

comandos

também

estão

disponíveis

sob

os

menus

Arquivo

e

Janela,

onde

você

também

encontra

a

seleção

Salvar

como

para

salvar

suas

configurações

para

um

novo

nome

do

arquivo.

Criando

uma

Nova

Configuração

Os

Configs

do

IBM

Tivoli

Directory

Integrator

são

armazenados

como

documentos

XML.

Eles

são

criados

e

mantidos

no

Toolkit

IDE

e

implementados

com

o

Servidor.

Cada

Config

contém

os

AssemblyLines

que

um

Servidor

executa,

bem

como

os

componentes

do

IBM

Tivoli

Directory

Integrator

que

compõem

essas

linhas.

O

Config

também

contém

as

preferências

do

usuário,

como

cores

e

o

estilo

da

interface

GUI.

Nota:

Os

Configs

também

podem

ser

espalhados

por

diversos

arquivos

e

armazenados

em

diversas

localizações.

O

IBM

Tivoli

Directory

Integrator

monta

sua

configuração

de

forma

dinâmica

na

inicialização,

utilizando

URLs

inclusivas

e

caminhos

de

arquivos

especificados

por

você.

Isso

significa

que

você

pode

criar

e

manter

definições

e

componentes

empresariais

que

podem

12

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 23: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

ser

compartilhados

por

diversas

configurações

de

servidores.

Você

também

pode

abrir

e

trabalhar

em

vários

Configs

de

uma

vez,

arrastando

e

soltando

componentes

entre

eles.

Ao

iniciar

o

sistema

pela

primeira

vez,

você

será

apresentado

à

tela

vazia,

conforme

figura

anterior.

Se

criar

um

novo

Config,

IBM

Tivoli

Directory

Integrator

perguntará

se

você

deseja

criar

o

Config

padrão,

chamado

rs.xml.

Em

vez

de

utilizar

o

nome

Config

padrão,

ao

arquivo

um

nome

diferente.

Clique

no

botão

Criar

uma

raiz

de

Nova

Configuração

ou

utilize

a

seleção

de

menu

Arquivo–>Novo

para

criar

um

Config

chamado

Tutorial1

(observe

que

a

extensão

.xml

é

adicionada

para

você).

Este

arquivo

deve

ser

salvo

no

diretório

examples/Tutorial.

Nota:

Os

nomes

de

caminhos

podem

ser

escritos

como

relativos

ao

diretório

por

você

especificado

ao

instalar

o

IBM

Tivoli

Directory

Integrator.

A

exibição

em

árvore

no

lado

esquerdo

da

tela

é

chamada

de

Navegador

de

Configuração

e

apresenta

um

conjunto

de

pastas

que

contêm

vários

aspectos

da

solução.

A

pasta

na

parte

superior

rotulada

AssemblyLines

contém

os

AssemblyLines

criados.

Logo

abaixo

três

pastas

nas

quais

você

armazena

sua

biblioteca

de

componentes

(uma

pasta

para

cada

tipo

de

componente).

Isso

permite

configurar

Conectores

padrão

(por

exemplo,

LDAP,

JDBC,

Notes

e

assim

por

diante)

com

parâmetros

de

configuração

e

comportamento,

transformações

de

dados

e

outras

regras

de

negócios

e,

em

seguida,

utilizá-los

e

reutilizá-los

para

criar

novas

soluções.

Sem

entrar

em

detalhes

sobre

a

interface

Toolkit

IDE,

aqui

está

o

layout

geral

dessas

telas

de

configuração:

v

O

restante

da

tela

abaixo

da

Barra

de

Ferramentas

é

organizado

em

áreas

de

janela.

O

Navegador

de

Configuração

aparece

à

esquerda,

embora

você

possa

ocultar

e

mostrar

essa

área

de

janela

utilizando

o

botão

Alternar

Exibição

em

Árvore

da

Configuração

na

Barra

de

Ferramentas

principal

ou

clicando

nas

setas

na

parte

superior

da

barra

de

divisão

próxima

ao

Navegador

de

Configuração.

À

direita

dessa

área

de

janela

uma

área

Detalhes

que

é

alterada

para

mostrar

os

detalhes

de

itens

selecionados

no

Navegador

de

Configuração.

v

A

área

de

janela

Detalhes

pode

mostrar

várias

exibições

detalhadas,

abrindo

uma

nova

exibição

sempre

que

você

selecionar

outro

item

no

Navegador

de

Configuração.

Essas

áreas

de

janela

podem

ser

acessadas

utilizando-se

o

menu

Janela

ou

utilizando

guias

na

parte

superior

de

cada

exibição

(dependendo

de

como

você

definir

a

aparência

do

sistema).

v

Algumas

área

de

janela

Detalhes

também

contêm

listas

de

itens.

A

área

Detalhes

também

adapta-se

para

mostrar

os

detalhes

desses

itens

se

você

clicar

neles.

v

Altere

o

espaço

alocado

para

qualquer

coluna

em

uma

lista

movendo

o

cursor

do

mouse

sobre

o

limite

entre

as

colunas

(o

cursor

indica

o

que

você

pode

fazer

ao

alterar

a

forma)

e,

em

seguida,

clicando

e

arrastando

o

limite

até

sua

nova

localização.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

13

Page 24: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

v

Na

parte

superior

de

cada

Lista

de

Elementos

uma

linha

de

botões

que

fornece

o

conjunto

de

operações

disponíveis

para

aquele

tipo

de

objeto

(no

caso

da

área

de

janela

do

fluxo

de

dados,

a

barra

de

botões

está

sob

a

lista

Conectores).

A

lista

de

operações

disponíveis

varia

de

área

de

janela

para

área

de

janela,

mas

o

comportamento

geral

é

o

mesmo:

selecionar

uma

entrada

na

lista

e,

em

seguida,

clicar

no

botão

(com

exceção

do

botão

Incluir,

no

qual

não

é

necessário

selecionar

nada

primeiro).

v

Você

pode

selecionar

diversos

elementos

clicando

de

uma

vez

pressionando

Shift

ou

Ctrl

ao

realçar

itens

nas

listas.

v

Você

pode

arrastar

itens

do

Navegador

de

Configuração

para

os

AssemblyLines

ou

entre

Configs

abertos.

Criando

um

AssemblyLine

A

primeira

coisa

que

você

deve

fazer

é

criar

um

novo

AssemblyLine.

Clique

com

o

botão

direito

do

mouse

na

Pasta

AssemblyLine.

A

partir

do

menu

sensível

ao

contexto

que

aparece,

selecione

Novo

AssemblyLine.

Nomeie

esse

AssemblyLine

como

CSVtoXML.

Você

pode

dar

ao

AssemblyLine

o

nome

que

quiser,

mas

é

importante

utilizar

uma

convenções

de

nomenclatura

que

ajude

a

documentar

sua

solução.

Nota:

A

utilização

de

caracteres

especiais

e

de

espaços

na

nomenclatura

do

AssemblyLines

ou

dos

componentes

do

IBM

Tivoli

Directory

Integrator

(como

Conectores

e

EventHandlers)

não

é

uma

boa

idéia,

pois

pode

causar

problemas

posteriormente,

quando

você

desejar

iniciar

o

Servidor

do

IBM

Tivoli

Directory

Integrator

a

partir

de

um

prompt

de

comandos

para

executar

sua

solução.

Nos

AssemblyLines,

os

componentes

e

outros

itens

Config

na

solução

estão

disponíveis

na

solução

como

objetos

de

script,

permitindo

que

você

altere

os

parâmetros

e

o

comportamento

no

tempo

de

execução.

Isso

significa

que

você

deseja

utilizar

nomes

que

permitem

fazer

referência

a

esses

objetos

nos

scripts.

O

IBM

Tivoli

Directory

Integrator

agora

leva

você

até

a

tela

AssemblyLine.

Observe

que

essa

nova

tela

preenche

a

área

de

janela

de

configuração

que

estava

anteriormente

vazia.

Antes

de

incluir

os

Conectores,

uma

olhada

rápida

no

layout

da

tela

do

AssemblyLine:

14

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 25: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Na

parte

superior

de

Detalhes

uma

linha

de

guias,

cada

uma

associada

a

um

item

aberto

do

Navegador

de

Configuração

(nesse

caso,

os

Detalhes

do

novo

AssemblyLine

são

exibidos).

No

título

de

cada

guia

uma

linha

de

botões

que

inclui

um

botão

Fechar

para

fechar

essa

tela

de

detalhes.

Nota:

As

ToolTips

aparecem

se

deixar

o

cursor

sobre

qualquer

um

dos

botões

na

Ferramenta

Config.

Junto

com

o

botão

Fechar,

a

linha

de

botões

inclui

outros

dois

botões:

Executar

Executa

o

AssemblyLine

atual.

Executar

Depuração

IBM

Tivoli

Directory

Integrator

inclui

um

depurador

de

fluxo

de

dados

que

permite

percorrer

o

AssemblyLine,

vendo

os

dados

serem

transportados

e

transformados

dentro

do

AssemblyLine,

conforme

o

controle

é

transmitido

de

Conector

para

Conector.

A

caixa

branca

do

lado

esquerdo

da

tela

de

Detalhes

do

AssemblyLine

é

a

Lista

de

Conectores

na

qual

aparecem

novos

Conectores

conforme

são

adicionados

ao

fluxo.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

15

Page 26: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Abaixo

da

Lista

de

Conectores

está

a

exibição

Entrada

de

trabalho.

Ela

permite

examinar

o

fluxo

de

dados,

mostrando

sempre

os

atributos

de

dados

que

estão

sendo

lidos

a

partir

dos

sistemas

conectados.

À

direita

dessas

listas

é

o

local

onde

os

detalhes

do

Conector

atualmente

selecionado

são

exibidos.

Na

parte

superior

dessa

área

de

detalhes

estão

as

guias

do

AssemblyLine.

Essas

guias

fornecem

acesso

a

vários

aspectos

desse

fluxo

de

dados:

Essas

guias

são:

Ganchos

A

guia

Ganchos

do

AssemblyLine

permite

configurar

scripts

para

serem

avaliados

ou

iniciados:

v

Antes

dos

Conectores

serem

inicializados

(permitindo

a

reconfiguração

dos

Conectores

antes

deles

ativarem

suas

conexões).

v

Após

a

inicialização

do

Conector,

mas

antes

do

controle

ser

transmitido

para

o

primeiro

Conector.

v

Depois,

o

último

Conector

termina

v

Quando

a

AssemblyLine

é

pedida

para

terminar

algum

evento

externo

Fluxo

de

Dados

Onde

os

Conectores

são

criados

e

mantidos.

Configurar...

Oferece

um

número

de

parâmetros

de

configuração

para

este

AssemblyLine.

Chamar/Retornar

É

onde

você

pode

especificar

os

parâmetros

de

entrada

e

saída

para

este

AssemblyLine

para

facilitar

a

chamada

dele

a

partir

de

um

processo

externo

(por

exemplo,

um

EventHandler).

Se

clicar

na

guia

Configurar...,

você

verá

que

pode

definir

parâmetros,

como

a

linguagem

de

criação

de

scripts

que

você

deseja

utilizar

neste

AssemblyLine,

bem

como

limitar

o

número

de

repetições

(útil

ao

desenvolver

e

testar

seu

AssemblyLine

em

grandes

conjuntos

de

dados).

Nota:

Independente

de

qual

linguagem

de

criação

de

scripts

você

selecionou

para

utilizar

em

seu

AssemblyLine,

o

IBM

Tivoli

Directory

Integrator

permite

que

você

utilize

componentes

que

foram

criados

com

script

utilizando

outras

linguagens.

Você

pode

compor

sua

lógica

de

AssemblyLine

em

JavaScript,

mas

ainda

utilizar

o

Conector

criado

com

o

VBScript,

bem

como

seu

Analisador

baseado

em

PerlScript,

contanto

que

a

linguagem

de

script

escolhida

seja

suportada

pela

plataforma

em

que

você

está

executando

o

IBM

Tivoli

Directory

Integrator.

Logo

abaixo

da

caixa

Conectores

está

a

barra

de

botões

da

Lista

de

Conectores,

oferecendo

uma

série

de

operações

para

trabalhar

com

os

Conectores:

16

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 27: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Esses

botões

executam

as

seguintes

ações:

Incluir

Conector

Inclui

um

um

novo

Conector

para

o

AssemblyLine.

Isso

também

pode

ser

feito

arrastando-se

um

Conector

predefinido

do

Navegador

de

Configuração

na

Lista

de

Conectores.

Incluir

Componente

de

Script

Inclui

um

um

novo

Conector

para

o

AssemblyLine.

Um

Componente

de

Script

é

um

bloco

de

script

que

pode

ser

colocado

em

um

AssemblyLine.

Excluir

Remove

o

Conector

ou

Componente

de

Script

selecionado

atualmente

do

AssemblyLine.

Renomear

Permite

alterar

o

nome

do

item

atualmente

selecionado.

Ativado

Move

o

Conector

ou

Comando

de

Script

selecionado

um

ponto

para

cima

em

direção

ao

início

do

AssemblyLine.

Essa

posição

é

significativa,

uma

vez

que

o

AssemblyLine

executa

esses

itens

de

cima

para

baixo.

Desativado

Move

o

item

selecionado

para

baixo

em

direção

ao

final

da

lista.

Copiar

para

Biblioteca

Faz

uma

cópia

do

Conector

selecionado

e

o

solta

em

sua

Biblioteca

de

Conectores

(na

pasta

Conectores

no

Navegador

de

Configuração).

Incluindo

o

Conector

de

Entrada

Clique

em

Incluir

para

criar

o

primeiro

Conector

Chame-o

de

InputPeople

e

clique

na

lista

drop

down

Conector.

Agora

selecione

o

gabarito

File

System

na

lista,

que

mostra

os

Conectores

fornecidos

com

o

sistema,

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

17

Page 28: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

além

de

todos

os

que

estão

registrados

na

Biblioteca

de

Conectores

(na

pasta

Conectores).

Os

componentes

da

biblioteca

são

mostrados

na

parte

superior

dessas

listas

drop

down

de

seleção.

O

último

parâmetro

a

ajustar

aqui

é

o

Modo

do

Conector,

que

informa

ao

AssemblyLine

a

função

desse

Conector.

O

IBM

Tivoli

Directory

Integrator

tem

seis

modos

de

Conector:

Incluir

Apenas

Este

é

o

modo

para

Conectores

que

adiciona

novas

informações

somente

à

origem

de

dados,

por

exemplo,

gravando

em

arquivos,

ocupando

um

banco

de

dados

ou

diretório

pela

primeira

vez

e

assim

por

diante.

Excluir

Excluir

modos

faz

com

que

o

Conector

procure

uma

entrada/registro

para

exclusão.

A

especificação

de

chaves

para

utilizar

a

pesquisa

é

chamada

de

Critérios

de

Vínculo.

Os

Critérios

de

Vínculo

devem

ser

especificados

para

Conectores

que

também

executam

Pesquisa

e

Atualização,

pois

esses

modos

também

requerem

que

o

Conector

localize

os

dados

correspondentes

no

sistema

conectado.

Repetidor

Um

Conector

no

modo

Iterator

é

executado

através

da

origem

de

dados

(ou

como

parte

dela,

por

exemplo,

uma

exibição

de

um

banco

de

dados

ou

conjunto

de

resultados

de

uma

pesquisa

de

diretório)

e

retorna

as

entradas

uma

de

cada

vez

para

processamento

no

AssemblyLine.

Os

Conectores

no

modo

Iterator

são

denominados

Iterators.

Um

AssemblyLine

pode

conter

mais

de

um

Repetidor

e

eles

são

iniciados

em

sucessão,

o

segundo

Repetidor

tendo

início

quando

o

primeiro

atinge

o

final

de

seu

conjunto

de

dados.

Procurar

Este

modo

faz

com

que

o

Conector

localize

e

retorne

entradas

correspondentes

a

um

critério

de

pesquisa

especificado

e

é

como

você

coleta

informações

em

um

fluxo

de

dados.

Atualizar

No

modo

Atualizar,

um

Conector

tenta

localizar

a

entrada

ou

registro

especificado.

Se

o

Conector

tiver

êxito,

as

entradas

existentes

serão

modificadas

com

as

informações

transmitidas

ao

Conector.

Se

a

procura

falhar,

o

Conector

inclui

a

informação

em

substituição.

Chamada/Retorno

Esse

é

um

modo

muito

especial

que

primeiro

gera

um

pacote

de

chamada

(como

uma

mensagem

SOAP

ou

entrada

JMS)

e,

em

seguida,

aguarda

uma

resposta.

Se

quiser

utilizar

o

Conector

Web

Service,

então

ele

deverá

ser

definido

para

o

modo

Chamar/Retornar.

Nota:

Nem

todos

os

modos

estão

disponíveis

para

todos

os

Conectores.

Por

exemplo,

se

você

está

trabalhando

com

um

arquivo

simples,

Procurar,

Excluir,

Atualizar

e

Chamar/Retornar

não

são

suportados

(a

menos

que

você

componha

seu

próprio

Conector

ou

aperfeiçoe

um

Conector

existente).

Não

limite

para

o

número

de

Conectores

que

um

AssemblyLine

pode

conter,

e

você

pode

ter

quantos

Conectores

do

mesmo

tipo

quiser,

mesmo

que

conectados

a

mesma

origem

de

dados.

Em

alguns

casos,

isso

é

até

necessário.

Por

exemplo,

suponha

que

você

deseja

criar

um

AssemblyLine

para

excluir

todos

os

registros

em

uma

origem

de

dados.

Primeiro,

configure

um

Repetidor

(por

exemplo,

um

Conector

no

modo

Iterator)

para

retornar

os

objetos

que

deseja

excluir.

Em

18

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 29: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

seguida,

adicione

um

segundo

Conector

configurado

para

trabalhar

com

o

mesmo

sistema,

mas

dessa

vez

defina

o

modo

Delete.

Como

resultado,

o

AssemblyLine

fará

loop

através

da

origem

de

entrada,

transmitindo

Entradas

para

o

segundo

Conector

que

as

exclui.

Às

vezes,

não

é

desejável

ter

conexões

simultâneas

múltiplas

para

a

mesma

origem

de

dados.

Pode

até

mesmo

ser

impossível

devido

ao

bloqueio

do

recurso

ou

aos

limites

impostos

pelas

licenças

de

software.

Nesse

caso,

você

pode

fazer

com

que

o

IBM

Tivoli

Directory

Integrator

reutilize

uma

conexão

existente

ao

adicionar

um

novo

Conector,

rolando

para

a

parte

inferior

da

lista

drop

down

Tipo

de

Conector.

Nela

você

localiza

os

nomes

de

outros

Conectores

na

AssemblyLine,

que

aparecem

com

um

símbolo

at

(

@

)

na

frente

de

seus

nomes.

Quando

tiver

nomeado

seu

Conector

e

definido

tipo

e

modo

(consulte

“Incluindo

o

Conector

de

Entrada”

na

página

17),

clique

em

OK

para

confirmar

suas

escolhas.

Esse

novo

Conector

aparece

na

Lista

de

Conectores

do

AssemblyLine

ao

lado

esquerdo

da

área

de

janela

de

configuração.

Observe

como

as

informações

específicas

do

Conector

atualmente

selecionado

são

exibidas

agora

na

área

de

exibição

Detalhes

à

direita

da

lista.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

19

Page 30: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Se

posteriormente,

você

quiser

alterar

o

tipo

de

Conector,

simplesmente

clique

no

link

Herdar

de:

na

parte

superior

da

área

de

janela

detalhes

(próxima

ao

drop

down

Estado)

e

escolha

um

diferente.

A

primeira

coisa

afazer

com

qualquer

Conector

que

você

inclua

é

configurá-lo.

Certifique-se

de

que

a

guia

Configuração

esteja

selecionada

na

exibição

detalhes

do

Conector

(conforme

mostrado

acima).

Essa

guia

está

estritamente

ligada

à

origem

de

dados

a

qual

você

está

se

conectando

e

é

diferente

para

cada

tipo

de

Conector.

O

Conector

File

System

que

você

acabou

de

adicionar

requer

a

inserção

do

caminho

do

arquivo

no

qual

deseja

gravar.

Utilizando

o

botão

Selecionar...

próximo

ao

campo

Caminho

do

Arquivo

necessário

rolar

a

área

de

janela

para

o

lado,

dependendo

da

resolução

da

tela),

selecione

o

arquivo

People.csv

no

subdiretório

examples/Tutorial.

20

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 31: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Além

do

nome

do

caminho,

como

você

está

trabalhando

com

um

tipo

de

Conector

que

e

grava

dados

não

estruturados,

também

é

necessário

configurar

um

Analisador.

Primeiro

selecione

a

guia

Analisador

(próxima

à

Conexão

na

área

de

janela

detalhes

do

Conector)

e

clique

no

link

[parent]

na

caixa

Herdar

de:

na

parte

inferior

da

guia.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

21

Page 32: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Outra

forma

de

definir

uma

herança

de

Conector

para

Analisador,

bem

como

outras

características

é

utilizando

o

diálogo

Herança.

Ele

está

disponível

através

do

botão

Herança

na

parte

superior

da

área

de

janela

detalhes

do

Conector.

Nota:

Se

você

tiver

um

Analisador

pré-configurado

na

biblioteca

poderá

arrastar

o

Analisador

do

Navegador

de

Configuração

e

soltá-lo

no

link

[parent]

na

caixa

Herdar

de:.

Se

marcar

as

outras

guias

Conector,

observe

que

todos

dentre

os

vários

aspectos

de

um

Conector

poderão

ser

herdados.

Quando

abrir

o

diálogo

Herança,

selecione

o

Analisador

CSV.

22

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 33: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Com

o

Analisador

no

local,

selecione

a

guia

Esquema.

Observe

que

você

pode

obter

uma

conexão

ativa

para

a

origem

de

dados.

Clique

no

botão

Conectar.

Clique

no

botão

Conectar

na

parte

inferior

dessa

guia

para

ver

se

o

Conector

pode

alcançar

a

origem

de

dados.

Se

for

bem

sucedido,

você

a

mensagem

Conexão

estabelecida.

Agora

clique

no

botão

Próximo.

Cada

vez

que

você

clica

no

botão

Próximo,

você

está

dizendo

ao

sistema

para

ler

a

próxima

entrada

na

origem

de

dados,

analisar

o

esquema

e

converter

tipos

de

dados

específicos

de

origem

em

seus

objetos

Java

relevantes

(como

cadeias,

data/hora,

inteiros

e

assim

por

diante).

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

23

Page 34: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Os

dados

recuperados

da

origem

são

exibidos

na

grade,

com

os

nomes

dos

atributos,

os

tipos

de

objetos

Java

ao

quais

o

IBM

Tivoli

Directory

Integrator

os

está

convertendo

e

os

valores

reais

encontrados

na

origem

de

dados.

Isso

não

confirma

que

você

está

ativo

com

o

sistema

ou

arquivo

conectado,

mas

também

que

pode

obter

um

controle

visual

dos

dados

que

estão

sendo

lidos.

E

não

entre

em

pânico

se

o

IBM

Tivoli

Directory

Integrator

não

estiver

convertendo

os

tipos

de

dados

subjacentes

de

acordo

com

o

seu

desejo.

Você

sempre

poderá

substituir

esse

comportamento

ao

mapear

esses

atributos

no

fluxo

de

dados.

Mapeando

Atributos

no

AssemblyLine

O

Mapeamento

de

Atributos

é

a

operação

de

mover

informações

da

origem

de

dados

para

o

fluxo

de

dados

e

novamente

para

a

origem

de

dados.

Você

viu

na

etapa

anterior

como

o

IBM

Tivoli

Directory

Integrator

não

apenas

descobre

o

esquema

para

você,

mas

também

converte

automaticamente

os

dados

para

objetos

Java.

Então,

por

que

o

Mapeamento

de

Atributos

é

necessário?

Embora

o

IBM

Tivoli

Directory

Integrator

tenha

tornado

os

dados

disponíveis

para

você,

o

sistema

não

possui

pré-conceitos

sobre

como

você

pretende

utilizá-los.

Assim,

você

deve

no

mínimo

escolher

os

atributos

que

deseja

utilizar.

Alguns

dos

atributos

podem

ter

que

ser

computados,

combinados,

criados

ou

convertidos

para

um

formato

ou

tipo

diferente

do

que

o

IBM

Tivoli

Directory

Integrator

escolheu.

Normalmente,

isso

é

resolvido

através

da

criação

de

scripts

em

seu

Mapa

de

Atributos.

Para

ter

uma

idéia

de

como

isso

funciona

no

IBM

Tivoli

Directory

Integrator,

primeiro

é

necessário

entender

que

Conectores

(de

fato,

todos

os

componentes)

são

na

verdade

compostos

de

duas

partes:

v

Os

Conectores

Primários,

que

sabem

como

se

comunicar

e

interpretar

as

respostas

de

uma

origem

de

dados

específica.

24

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 35: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

v

O

reinício

automático

do

Conector

AssemblyLine

genérico

que

permite

aos

Conectores

se

conectarem

e

operarem

na

estrutura

do

AssemblyLine

do

IBM

Tivoli

Directory

Integrator.

As

informações

transmitidas

para

ou

provenientes

de

uma

origem

de

dados

são

mantidas

em

um

objeto

de

armazenamento

temporário

local

dentro

do

Conector

Primário.

É

daqui

que

você

mapeia

atributos

para

o

AssemblyLine

ou,

no

caso

de

um

Conector

de

saída,

os

mapeia

para

a

origem

de

saída

de

dados.

um

objeto

de

armazenamento

(um

objeto

de

entrada)

chamado

work,

utilizado

pelo

AssemblyLine

inteiro

para

transportar

valores

de

dados

(atributos).

Além

disso,

cada

Conector

tem

um

objeto

de

entrada

local

chamado

conn

que

ele

utiliza

para

operações

de

acesso

de

dados.

A

movimentação

dos

atributos

para

dentro

ou

fora

do

fluxo

de

dados

é

chamada

de

mapeamento,

que

requer

a

movimentação

de

valores

de

dados

entre

um

objeto

work

de

um

AssemblyLine

e

o

objeto

conn

de

um

Conector.

Conforme

mencionado

anteriormente,

você

pode

alterar

a

parte

específica

da

origem

de

dados

de

um

Conector

a

qualquer

momento,

simplesmente

alterando

seu

tipo

utilizando

o

botão

Herança

ou

clicando

no

link

Herdar

de:

na

parte

superior

da

área

de

janela

detalhes

do

Conector

(Consulte

a

página

21)

.

No

entanto,

se

você

fizer

isso,

também

precisará

alterar

o

Mapa

de

Atributos

para

que

suas

regras

de

negócios

(script)

e

os

outros

Conectores

no

AssemblyLine

ainda

tenham

acesso

ao

atributos

de

que

precisam.

Seu

Mapa

de

Atributos

também

poderá

ser

afetado

caso

você

altere

o

modo

do

Conector,

uma

vez

que

os

Conectores

em

um

modo

de

entrada

mapeiam

atributos

do

armazenamento

local

no

Conector

Primário

(chamado

conn

nos

scripts)

para

o

objeto

utilizado

para

armazenar

e

transportar

dados

no

AssemblyLine

(o

objeto

work).

Os

Conectores

de

Saída

mapeiam

atributos

de

outra

forma:

do

work

para

o

conn.

No

exemplo,

o

Conector

InputPeople

está

em

um

modo

de

entrada,

portanto

é

necessário

configurar

o

Mapa

de

Entrada.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

25

Page 36: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Acima

da

caixa

marcada

Atributo

de

Trabalho

está

a

barra

de

ferramentas

Mapa

de

Atributos,

que

permite

trabalhar

com

atributos

no

Mapa.

A

área

à

direita

do

Mapa

mostra

a

lista

de

atributos

descobertos

pelo

Conector.

Nela,

você

pode

selecionar

um

ou

mais

atributos

e,

em

seguida,

arrastá-los

sobre

o

Mapa

de

Atributos.

Você

pode

selecionar

diversos

elementos

clicando

de

uma

vez

pressionando

Shift

ou

Ctrl

ao

realçar

itens

nas

listas.

Nota:

É

possível

que

a

versão

atual

de

sua

biblioteca

de

interface

GUI

da

plataforma

para

Java

tenha

um

problema

se

você

tentar

fazer

isso.

Nesse

caso,

tente

arrastar

e

soltar

os

Atributos

na

parte

superior

do

cabeçalho

de

lista

que

informa

Atributo

de

Trabalho.

Observe

que

quando

você

adiciona

Atributos

ao

Mapa

de

Entrada,

eles

aparecem

na

lista

Atributo

de

Trabalho

e

na

caixa

Entrada

de

Trabalho

do

AssemblyLine,

logo

abaixo

da

lista

de

Conectores

AssemblyLine.

26

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 37: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

A

exibição

Entrada

de

Trabalho

é

como

uma

janela

no

fluxo

de

dados,

mostrando

quais

atributos

estão

sendo

mapeados

a

partir

dos

sistemas

conectados

(ou

criados

por

você),

bem

como

o

nome

dos

Conectores

responsáveis

por

eles.

Depois

de

completar

seu

primeiro

mapeamento

de

atributos

do

Conector,

ele

seria

similar

a:

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

27

Page 38: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

O

que

você

configurou

agora

é

um

mapeamento

simples,

feito

um

a

um

pelos

Conectores

para

a

Linha

de

Montagem.

Se

um

mapeamento

ligeiramente

mais

complexo

for

necessário,

os

botões

mencionados

anteriormente

sobre

a

caixa

Atributos

de

Trabalho

são

reproduzidos.

Por

exemplo:

Novo

Esse

botão

permite

que

você

adicione

manualmente

atributos

que

poderão

não

estar

disponíveis

a

partir

de

qualquer

um

dos

sistemas

de

entrada

ou

que

precisarão

ser

computados

a

partir

dos

Atributos

existentes.

Excluir

Remove

um

ou

mais

Atributos

do

Mapa.

Chave...

Alterna

entre

a

área

de

janela

que

exibe

os

atributos

do

Conector

disponível

e

a

que

exibe

detalhes

sobre

como

cada

Atributo

no

Mapa

está

sendo

manipulado.

Renomear...

Permite

alterar

o

nome

do

Atributo.

Setas

para

Cima

e

para

Baixo

Esses

botões

permitem

alterar

a

ordem

na

qual

os

Conectores

são

executados.

Lembre-se

de

que

AssemblyLine

trabalha

de

cima

para

baixo

na

lista.

Copiar

para

Biblioteca

Quando

você

tiver

um

Conector

configurado

da

forma

que

deseja,

poderá

copiá-lo

para

a

Biblioteca

de

Conectores

pressionando

esse

botão.

28

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 39: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Conforme

você

seleciona

Atributos

no

Mapa

de

Entrada,

os

detalhes

do

mapeamento

são

exibidos

para

o

Atributo.

Na

parte

superior

da

área

de

janela

detalhes

uma

caixa

de

opções

marcada

Avançado.

Conforme

pode

ver,

a

marca

de

verificação

está

ausente,

o

que

significa

que

você

está

utilizando

o

mapeamento

Simples

para

os

atributos,

por

exemplo

que

o

IBM

Tivoli

Directory

Integrator

eleva

os

valores

acima

dos

Atributos

correspondentes

que

estão

sendo

lidos

a

partir

do

sistema

conectado.

No

entanto,

se

deseja

converter

dados

de

entrada

ou

manipular

esses

valores,

você

pode

criar

scripts

utilizando

o

modo

Avançado.

Selecione

o

modo

Avançado

e

aparecerá

uma

janela

de

editor

de

script

na

qual

é

possível

adicionar

sua

própria

lógica.

Se

quiser

apenas

emular

o

que

o

IBM

Tivoli

Directory

Integrator

faz

no

modo

Simples,

a

caixa

poderá

conter

o

seguinte

snippet

do

código

JavaScript:

ret.value

=

conn.getAttribute("First");

Nota:

Quando

o

IBM

Tivoli

Directory

Integrator

faz

o

mapeamento

simples,

ele

copia

os

Atributos

conforme

descrito

acima,

mas

o

faz

em

Java

nativo

e

não

através

do

Mecanismo

de

Script

que

você

chamou

no

momento

em

que

selecionou

o

Mapeamento

Avançado.

Se

o

mapeamento

simples

é

tudo

o

que

você

precisa,

não

escolha

Mapeamento

Avançado;

é

muito

mais

eficiente

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

29

Page 40: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

deixar

o

IBM

Tivoli

Directory

Integrator

manipular

o

movimento

de

dados

envolvido.

Essa

linha

de

scripts

retorna

o

atributo

chamado

First

a

parir

do

armazenamento

local

no

Conector

Primário

(o

objeto

conn).

Observe

a

janela

do

editor

de

scripts

do

IBM

Tivoli

Directory

Integrator,

que

aparece

sempre

que

você

precisa

compor

scripts.

Enquanto

estiver

nessa

janela,

você

possui

um

número

de

recursos

de

editores

típicos

(alguns

deles

aparecem

como

botões

na

linha

acima

da

janela

do

editor).

Teclas

de

Seta

Mova

o

cursor

pela

janela

do

editor.

Se

também

pressionar

a

tecla

Shift

ao

mesmo

tempo,

você

poderá

selecionar

textos.

Pressionar

Ctrl

e

as

teclas

de

seta

para

a

direita

e

esquerda

move

o

cursor,

uma

palavra

de

cada

vez.

Pressione

Shift

e

Ctrl

para

selecionar

palavras

ou

linhas

inteiras

do

script.

Recortar

Recorta

a

seleção

do

texto.

Essa

função

está

disponível

como

o

primeiro

botão

da

esquerda

na

linha

acima

da

janela

do

editor,

bem

como

utilizando-se

o

atalho

Ctrl+X

pelo

teclado.

30

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 41: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Copiar

Copia

a

seleção

atual.

A

cópia

pode

ser

feita

clicando-se

no

segundo

botão

a

partir

da

esquerda

na

linha

de

botões

ou

pressionando

Ctrl+C.

Colar

Cola

texto

em

scripts

na

posição

atual

do

cursor.

Você

pode

clicar

no

terceiro

botão

a

partir

da

esquerda

ou

pressionar

Ctrl+V.

Desfazer

Desfaz

a

última

operação

de

edição.

É

o

quarto

botão

a

partir

da

esquerda.

Refazer

Refaz

a

alteração

que

você

acabou

de

desfazer.

Refazer

aparece

na

linha

de

botões

à

direita

do

botão

Desfazer.

Localizar

permite

que

você

pesquise

um

texto

no

seu

script.

Você

pode

clicar

no

sexto

botão

a

partir

da

esquerda

ou

pressionar

Ctrl+F.

Localizar

Novamente

Repete

a

última

pesquisa.

Clique

no

botão

no

final

da

linha

de

botões

ou

pressione

Ctrl+G.

Alternar

Agrupamento

de

Linha

Ativa

e

desativa

o

agrupamento

de

linha

na

janela

do

editor.

Editar

Buffer

com

Editor

Externo

Se

você

tiver

declarado

um

editor

externo

com

Arquivo–>Preferências

na

guia

Definições

do

Editor,

ele

será

lançado

quando

você

pressionar

esse

botão.

O

conteúdo

do

buffer

de

edição

de

script

é

transferido

para

o

editor

externo

e

os

resultados

do

trabalho

são

retornados

para

o

IBM

Tivoli

Directory

Integrator

na

conclusão.

Tente

criar

scripts

incluindo

um

Atributo

chamado

FullName

que

você

pode

computar

utilizando

valores

de

outros

atributos

lidos

a

partir

da

origem

de

entrada.

Clique

no

botão

Novo

na

parte

superior

do

Mapa

de

Entrada.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

31

Page 42: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Na

caixa

de

diálogo

que

aparece,

insira

o

nome

FullName

e

clique

em

OK.

O

IBM

Tivoli

Directory

Integrator

automaticamente

tenta

utilizar

um

mapeamento

simples

para

recuperar

o

valos

do

atributo

da

origem

de

dados

chamado

FullName.

Isso

não

funciona

porque

essas

informações

não

estão

disponíveis

no

arquivo

de

entrada.

Em

vez

disso,

você

precisa

selecionar

essa

nova

entrada

na

lista

Mapa

de

Atributos

e

selecionar

a

caixa

de

opções

Mapeamento

Avançado.

Isso

lhe

acesso

a

janela

do

editor

de

scripts.

Aqui

está

o

script

utilizado

para

criar

o

valor

para

esse

atributo:

32

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 43: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

gn

=

conn.getString("First");

sn

=

conn.getString("Last");

Essas

duas

primeiras

linhas

recuperam

os

valores

de

cadeia

dos

atributos

First

e

Last

e

os

armazena

em

duas

novas

variáveis

chamadas

gn

e

sn,

respectivamente:

ret.value

=

gn

+

"

"

+

sn;

A

última

instrução

retorna

o

valor

dessas

duas

variáveis

locais

concatenadas

com

um

único

espaço

entre

elas.

Nota:

Você

pode

criar

esse

atributo

no

Conector

de

saída.

No

entanto,

como

você

precisa

dele

no

AssemblyLine

posteriormente,

coloque-o

no

Conector

de

entrada.

A

alimentação

para

o

fluxo

de

dados

está

agora

concluída.

Você

está

se

conectando

à

origem

de

entrada,

passando

o

fluxo

de

bytes

através

do

Analisador

CSV

uma

linha

por

vez,

convertendo

esses

campos

em

objetos

Java

e

movendo

esses

dados

para

o

AssemblyLine.

Está

na

hora

de

incluir

o

Conector

de

saída.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

33

Page 44: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Incluindo

o

Conector

de

Saída

Clique

no

botão

Incluir

na

barra

de

ferramentas

do

botão

na

parte

inferior

da

lista

Conectores.

Nomeie

o

Conector

XMLOutput.

Escolha

o

tipo

de

Sistema

de

Arquivos

novamente

e

defina

o

modo

Conector

para

AddOnly

(o

único

modo

de

saída

suportado

pelo

Conector

File

System).

Com

esse

Conector

selecionado

na

lista

Conectores,

configure

os

parâmetros

de

Conexão

nomeando

o

arquivo

de

saída

Output.xml

e

gravando-o

no

mesmo

diretório

no

qual

o

arquivo

de

entrada

está

localizado.

34

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 45: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Agora

clique

na

guia

Analisador

e

selecione

o

Analisador

XML.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

35

Page 46: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Agora

o

que

resta

fazer

é

informar

ao

Conector

XMLoutput

quais

dos

atributo

do

AssemblyLine

gravar

no

documento

XML.

Clique

na

guia

Mapa

de

Saída

acima

da

caixa

Atributo

do

Conector

(ela

deve

estar

vazia)

e

mapeie

os

atributos

a

partir

do

Assembly

Line

(por

exemplo,

a

Entrada

de

Trabalho)

para

o

Conector

(a

entrada

conn)

para

que

o

Conector

gere

esses

valores.

Observe

que

como

esse

Conector

está

definido

para

um

modo

de

saída

(AddOnly),

a

guia

Mapa

de

Entrada

está

desativada.

Os

atributos

disponíveis

para

mapeamento

estão

convenientemente

disponíveis

na

lista

marcada

Entrada

de

Trabalho,

à

esquerda

da

área

de

janela

Detalhes

do

Conector.

36

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 47: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Similar

ao

que

foi

feito

no

mapeamento

de

entrada,

arraste

os

itens

da

lista

Entrada

de

Trabalho

para

a

lista

rotulada

Atributo

do

Conector

(da

mesma

forma

que

antes,

poderá

ser

necessário

arrastá-los

sobre

a

barra

de

título).

Agora

você

deve

adicionar

o

atributo

mail

especificado

na

página

6.

Como

esse

atributo

não

existe

na

origem

de

entrada,

compute

seu

valor.

Na

lista

Entrada

de

Trabalho

você

que

tem

um

atributo

chamado

FullName

(computado

utilizando-se

First

e

Last).

Você

pode

utilizar

esse

valor

para

criar

um

endereço

de

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

37

Page 48: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

e-mail

para

cada

entrada

processada.

Como

não

é

incomum

que

as

pessoas

tenham

mais

de

um

endereço

de

e-mail,

você

pode

criar

dois,

tornando

mail

um

atributo

de

vários

valores.

Para

tanto,

clique

no

botão

Incluir

Atributos,

à

esquerda,

acima

da

lista

Atributos

do

Conector.

Isso

abre

um

diálogo

que

pergunta

o

nome

do

novo

atributo.

Denomine-o

Correio

e

clique

em

OK.

Selecione

o

novo

Conector

na

lista.

Marque

a

caixa

de

opções

Mapeamento

Avançado

e

insira

o

seguinte

script:

gn

=

work.getString("First");

cn

=

work.getString("FullName");

Essas

duas

primeiras

linhas

armazenam

os

valores

dos

atributos

First

e

FullName

em

variáveis

locais.

Observe

como

você

está

utilizando

o

objeto

work

para

acessar

os

dados

dentro

do

AssemblyLine:

var

att

=

system.newAttribute("Mail");

38

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 49: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

A

próxima

linha

utiliza

uma

chamada

de

sistema

para

criar

um

novo

atributo.

a

ele

um

nome

temporário,

embora

a

boa

prática

seja

nomeá-lo

após

o

atributo

ao

qual

você

o

está

mapeando:

att.addValue(gn

+

"@company.com");

att.addValue(cn.replace("

",".")

+

"@company.com");

Essas

duas

linhas

computam

e

incluem

os

dois

valores

para

este

atributo,

tornando-o

um

atributo

de

valores

múltiplos.

Na

segunda

linha

você

está

utilizando

a

função

.replace()

de

Cadeia

Java,

pois

o

valor

de

retorno

de

.GetString()

é

um

objeto

de

Cadeia

Java.

Essa

chamada

é

utilizada

para

substituir

espaços

por

pontos

no

nome,

portanto

um

valor

como

″Peter

Belamy″

torna-se

″Peter.Belamy″.

ret.value

=

att;

Finalmente,

o

atributo

recém-criado

é

retornado

e

o

IBM

Tivoli

Directory

Integrator

converte

o

objeto

complexo

para

o

formato

da

origem

de

saída.

A

primeira

implementação

de

fluxo

de

dados

está

pronta

para

teste.

Executando

o

Seu

AssemblyLine

O

AssemblyLine

está

agora

completo

e

pronto

para

ser

testado.

Clique

no

botão

Executar

na

barra

de

ferramentas

de

botões

do

AssemblyLine

na

parte

superior

da

janela

Detalhes

do

AssemblyLine.

Quando

você

diz

ao

IBM

Tivoli

Directory

Integrator

para

executar

um

AssemblyLine,

o

sistema

inicia

uma

instância

do

servidor

e

canaliza

a

configuração

atual

para

ele.

Nota:

Você

pode

iniciar

o

servidor

de

fora

do

Toolkit

IDE

e

instruí-lo

para

utilizar

um

Config

específico.

O

IBM

Tivoli

Directory

Integrator

cria

uma

nova

área

de

janela

chamada

ExecuteTask-AL

mostrando

um

log

do

início

do

AssemblyLine

recentemente

criado.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

39

Page 50: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Sem

contar

a

linha

na

parte

inferior,

Código

de

saída

do

processo,

que

simplesmente

diz

que

o

servidor

parou

após

iniciar

o

AssemblyLine

especificado,

a

saída

nesta

janela

é

dividida

em

três

partes

principais:

v

Informações

sobre

a

versão

do

servidor

que

você

está

executando.

v

Descrição

do

ambiente

em

que

o

IBM

Tivoli

Directory

Integrator

está

executando,

incluindo

qual

VM

está

configurada

para

seu

uso

e

o

diretório

de

trabalho.

v

Informações

sobre

como

sua

solução

iniciou,

incluindo:

Quais

parâmetros

foram

utilizados

para

iniciar

o

servidor

O

Config

que

está

sendo

utilizado

(que

nesse

caso

é

mostrado

como

<stdin>

significando

que

foi

canalizado

para

o

servidor

de

tempo

de

execução

a

partir

do

IDE)

Mensagens

geradas

durante

a

execução

do

AssemblyLine

e

seus

Conectores.

Você

também

pode

enviar

mensagens

para

o

log

utilizando

objetos

e

funções

especiais

do

IBM

Tivoli

Directory

Integrator

disponíveis

ao

compor

scripts,

como

a

função

task.logmsg

(″sua_mensagem_aqui″).

40

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 51: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

No

final

dessa

última

seção

está

a

mensagem

de

que

o

AssemblyLine

(CSVtoXML)

executou

sem

erros.

Isso

significa

que

você

pode

abrir

o

arquivo

de

saída

especificado

anteriormente

(consulte

“Incluindo

o

Conector

de

Saída”

na

página

34).

Abrir

esse

arquivo

(por

exemplo,

em

um

navegador)

permite

que

você

confirme

que

o

AssemblyLine

realmente

converteu

os

dados

de

entrada

CSB

para

o

documento

XML.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

41

Page 52: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Mesmo

os

atributos

Mail

e

FullName

estão

aqui,

computados

pelos

snippets

do

script.

No

entanto,

uma

das

entradas

(Roger,

descrita

na

captura

de

tela

anterior)

está

incompleta.

Faltam

a

essa

entrada

os

atributos

Last

e

Title.

Caso

verifique

o

42

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 53: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

arquivo

de

dados

de

entrada

(consulte

a

página

10),

você

poderá

ver

que

esses

campos

realmente

estão

faltando

no

arquivo

CSV

de

entrada.

A

solução

mais

fácil

é

editar

o

arquivo

CSV

e

incluir

os

campos

que

faltam.

No

entanto,

poucas

origens

de

dados

fornecem

tanto

controle.

Em

vez

disso,

tente

filtrar

a

entrada

criando

um

script

de

Gancho.

Nota:

Antes

de

aprimorar

o

AssemblyLine,

proceda

de

uma

das

seguintes

formas

para

salvar

o

trabalho

primeiro:

v

Clique

em

Salvar

na

barra

de

ferramentas

principal.

v

Selecione

Arquivo–>Salvar

a

partir

do

Menu

Principal.

v

Pressione

Ctrl+S.

Trabalhando

com

Ganchos

Ganchos

são

pontos

de

caminho

na

execução

do

AssemblyLine

e

seus

Conectores

nos

quais

você

pode

adicionar

sua

própria

lógica.

Enquanto

a

maioria

dos

ganchos

está

associada

a

Conectores,

uma

pequena

quantidade

que

aparece

na

guia

Gancho

do

AssemblyLine.

Eles

são

iniciados

no

início

e

no

final

do

ciclo

de

vida

dos

fluxos

de

dados:

1.

Os

Prologs

são

iniciados.

a.

Se

quaisquer

Scripts

de

Biblioteca

forem

configurados

como

Prologs

Globais

para

o

AssemblyLine,

então

eles

serão

executados.

b.

Existem

dois

Ganchos

Prolog

do

AssemblyLine:

um

que

é

desativado

antes

dos

Conectores

inicializarem

conexões

para

suas

origens

de

dados

e

um

após.

Como

você

pode

controlar

o

AssemblyLine

e

seus

Conectores

a

partir

de

seus

scripts,

poderá

reconfigurar

os

componentes

e

até

alterar

o

fluxo

em

si.

c.

Agora

os

Conectores

estão

inicializados.

d.

Após

a

inicialização,

se

o

Gancho

chamado

Prolog

estiver

ativado,

então

ele

será

iniciado.2.

Agora

o

Fluxo

de

Dados

é

iniciado

e

o

controle

é

tratado

através

do

primeiro

Conector.

Quando

concluído,

o

processamento

se

move

para

o

próximo

Conector

na

linha

e

assim

por

diante

até

o

último

Conector

ser

concluído.

Se

houver

Repetidores

no

AssemblyLine

(por

exemplo,

Conectores

no

modo

Iterator)

então

o

controle

voltará

para

o

início

e

o

AssemblyLine

será

repetido

para

a

próxima

entrada.

Embora

cada

modo

Conector

tenha

seu

fluxo

incorporado,

eles

são

consistentes

e

compartilham

Ganchos

pertinentes.

Por

exemplo,

os

modos

Lookup,

Update

e

Delete

estão

ligados

da

mesma

forma

para

tratar

pesquisas

(como

você

poderá

ver

se

tentar

alternar

os

modos

durante

a

exibição

da

guia

Ganchos).

uma

descrição

gráfica

desses

fluxos

disponível

na

forma

de

Fluxogramas

de

Modos

do

Conector.

Eles

podem

ser

localizados

no

IBM

Tivoli

Directory

Integrator

Reference

Guide

e

como

um

guia

de

referência

rápida

separado.

3.

Quando

todas

as

repetições

são

concluídas

(por

exemplo,

quando

o

último

Repetidor

alcança

o

fim

dos

dados)

o

Epilog

do

AssemblyLine

é

executado.

4.

Finalmente,

os

Conectores

fecham

suas

conexões.

Voltando

ao

seu

exemplo,

você

deseja

verificar

os

dados

ausentes

no

arquivo

de

entrada

CSV.

Como

essa

origem

de

dados

é

tratada

pelo

Conector

chamado

InputPeople,

selecione-a

na

Lista

de

Conectores

e,

em

seguida,

selecione

a

guia

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

43

Page 54: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Ganchos

(próxima

ao

Mapa

de

Atributos).

É

nela

que

você

adicionará

a

lógica

de

filtragem.

três

conjuntos

de

Ganchos

para

cada

Conector,

representados

pelas

pastas

na

lista

de

três

Ganchos:

Em

Prolog

pelo

menos

dois

Ganchos

nesta

pasta:

v

Um

é

executado

após

o

Prolog

do

AssemblyLine

(Antes

da

Inicialização).

v

O

outro

é

executado

logo

após

o

Prolog

do

AssemblyLine

(Após

a

Inicialização).

No

modo

Iterator

você

também

obtém

Ganchos

adicionais

para

antes

e

depois

da

operação

de

seleção,

quando

o

Conector

obtém

uma

exibição

dos

dados

para

repetição.

Fluxo

de

Dados

Ganchos

que

são

iniciados

a

cada

repetição

do

AssemblyLine,

cada

vez

que

um

Conector

é

executado.

Ganchos

como

Antes

da

Execução

e

Erro

Padrão

são

comuns

para

todos

os

modos

de

Conector.

A

maior

parte

dos

outros

é

específica

do

modo.

Como

seu

Conector

InputPeople

está

no

modo

Iterator,

ele

faz

uma

série

de

operações

GetNext

para

recuperar

os

dados

de

entrada.

O

modo

Iterator

fornece

Ganchos

como

Antes

de

GetNext

e

Depois

de

GetNext

para

que

você

possa

agrupar

essa

operação

de

leitura

em

sua

própria

lógica.

44

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 55: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Depois

do

Epílogo

Esse

Ganchos

são

iniciados

uma

vez

no

final

do

ciclo

de

vida

do

AssemblyLine

logo

após

o

Epilog

do

AssemblyLine.

Observe

que

cada

Conector

passa

por

seu

ciclo

Epilog

(Antes

de

Fechar,

fechar

conexão,

Depois

de

Fechar)

na

mesma

ordem

em

que

aparece

no

AssemblyLine

(não

conte

com

isso

no

código

do

Gancho).

Com

o

Conector

Inserir

Pessoas

selecionado,

clique

no

Gancho

Depois

de

Pegar

o

Próximo

na

lista.

Insira

o

script

que

se

segue

na

janela

editar

à

direita

da

lista

de

Ganchos:

Nota:

Se

uma

área

de

janela

for

muito

pequena

(como

o

Editor

de

Script),

então

tente

redimensioná-la

clicando

e

arrastando

uma

ou

mais

barras

separadoras.

sn

=

conn.getString("Last");

title

=

conn.getString("Title");

As

duas

primeiras

linhas

recuperam

e

armazenam

os

valores

de

dois

atributos

disponíveis

no

Conector

Primário.

Se

você

se

lembrar

da

discussão

sobre

o

Mapeamento

de

Atributos

(página

24)

cada

Conector

utilizará

um

objeto

de

armazenamento

local

para

uso

com

suas

operações

de

dados.

Esse

objeto

é

referido

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

45

Page 56: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

através

da

variável

de

script

conn.

No

caso

do

exemplo

anterior,

você

pode

utilizar

os

Ganchos

GetNext

Bem-sucedido

ou

Padrão

Bem-sucedido

para

filtragem.

Como

esses

Ganchos

vêm

após

o

Mapa

de

Atributos

de

Entrada,

esses

atributos

são

mapeados

para

a

Entrada

de

Trabalho

e

você

pode

gravar

seu

script

utilizando

a

variável

work.

if

(sn

==

null

||

title

==

null)

{

Verifique

se

o

valor

retornado

para

o

atributo

Last

ou

o

atributo

Title

é

nulo

(não

existe

na

origem

de

dados

de

entrada).

Se

for

esse

o

caso,

então

as

próximas

três

linhas

serão

iniciadas.

Nota:

Você

poderá

testar

a

existência

de

mais

campos

em

uma

versão

de

produção

desse

AssemblyLine.task.logmsg("-->

Record

skipped

(missing

data)");

O

objeto

da

tarefa

fornece

o

acesso

às

funções

do

AssemblyLine,

como

logmsg()

que

permite

compor

para

o

arquivo

de

log

do

AssemblyLine.

task.dumpEntry(conn);

Dessa

vez

você

utiliza

a

função

dumpEntry()

(task)

do

AssemblyLine

para

compor

o

conteúdo

do

objeto

de

armazenamento

local

(conn)

do

Conector

Primário

para

o

arquivo

de

log.

Nota:

Conn

e

work

são

o

mesmo

tipo

de

objeto,

portanto

as

funções

como

dumpEntry()

funcionam

igualmente

nos

dois.

system.skipEntry();

}

Finalmente,

utilize

a

função

skipEntry()

do

objeto

system

para

sinalizar

para

o

IBM

Tivoli

Directory

Integrator

ignorar

essa

entrada

de

dados,

iniciar

novamente

na

parte

superior

do

loop

do

AssemblyLine

e

ler

o

próximo.

Antes

de

testar

a

linha

novamente,

faça

uma

pequena

alteração

no

Mapa

de

Atributos

de

Saída.

Conversão

do

Esquema

No

exemplo

(consulte

a

página

6),

os

atributos

de

saída

têm

os

mesmos

nomes

daqueles

na

origem

de

entrada.

Mas

imagine

por

um

momento

que

as

especificações

pedem

atributos

de

saída

a

serem

chamados

Name

e

LastName:

FirstName

=DS1.First

LastName

=DS1.Last

FullName

=DS1.First+"

"+DS1.Last

Title

=DS1.Title

Mail

=<nome_de_computação>

O

IBM

Tivoli

Directory

Integrator

torna

mais

fácil

o

mapeamento

de

nomes

de

atributos

entre

esquemas,

e

tudo

o

que

você

precisa

fazer

é

atualizar

os

nomes

desses

atributos

diretamente

no

Mapa

de

Atributos

do

Conector

de

saída.

Selecione

o

Conector

XMLOutput,

clique

no

atributo

que

deseja

alterar

no

Mapa

de

Atributos

e

comece

a

digitar.

46

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 57: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Não

se

preocupe

com

os

efeitos

sobre

os

scripts

no

AssemblyLine,

esses

nomes

estão

sendo

alterados

localmente

para

a

fase

de

Mapeamento

de

Atributos

do

Conector

de

saída.

Os

atributos

First

e

Last

ainda

são

lidos

corretamente,

e

estão

disponíveis

dentro

do

AssemblyLine.

Nota:

Como

o

IBM

Tivoli

Directory

Integrator

enfatiza

o

campo

que

você

está

inserindo,

mesmo

que

você

mude

para

um

Conector

ou

AssemblyLine

diferente,

você

ainda

pode

estar

no

modo

de

edição

para

o

nome

do

atributo.

Para

sair

do

modo

de

edição,

clique

em

um

atributo

diferente

no

mesmo

mapa

ou

pressione

Enter

para

que

o

IBM

Tivoli

Directory

Integrator

saiba

que

você

está

pronto.

Deixe

essas

alterações

assim

(embora

não

façam

parte

da

especificação

original)

e

execute

o

AssemblyLine.

Quando

o

IBM

Tivoli

Directory

Integrator

terminar,

volte

para

a

janela

do

navegador

de

saída

e

clique

no

botão

Atualizar.

Se

tiver

fechado

esta

janela,

você

deve

repetir

os

passos

que

usou

para

abrir

o

arquivo

de

saída

depois

da

primeira

execução

(consulte

“Executando

o

Seu

AssemblyLine”

na

página

39).

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

47

Page 58: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Quando

o

arquivo

de

saída

estiver

novamente

visível,

confirme

se

Roger

não

se

encontra

mais

(ele

costuma

estar

entre

Jill

e

Gregory).

Observe

também

as

alterações

realizadas

nos

nomes

dos

dois

atributos:

Salve

novamente

o

Config

(Ctrl+S)

e

para

a

próxima

etapa,

coletando

dados

a

partir

de

uma

terceira

origem

de

dados.

Incluindo

o

Conector

de

Ligação

Junto

com

os

arquivos

Tutoriais

está

um

banco

de

dados

simples

de

pessoas

que

devem

dinheiro.

Utilize

essa

fonte

para

enviar

informações

sobre

os

devedores

no

documento

XML

de

saída.

A

primeira

etapa

é

adicionar

um

terceiro

Conector

clicando

em

Incluir

na

barra

de

ferramentas

do

AssemblyLine.

Chame

esse

Conector

de

Debtors

e

escolha

o

tipo

de

Conector

BTree

Object

DB.

Esse

Conector

precisa

estar

no

modo

Lookup

uma

vez

que

você

está

pesquisando

registros

que

correspondem

aos

dados

dentro

do

AssemblyLine.

Quando

você

adicionar

um

Conector

à

lista,

o

IBM

Tivoli

Directory

Integrator

soltará

o

novo

Conector

no

final

do

AssemblyLine.

Mas

isso

não

irá

funcionar,

porque

você

precisa

fazer

a

coleta

depois

do

Conector

de

entrada

(repetição)

e

antes

do

Conector

de

saída.

Para

corrigir

isto,

selecione

o

Conector

Debtors

e

clique

no

botão

Para

Cima

na

barra

de

ferramentas

do

fluxo

de

dados

da

AssemblyLine.

48

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 59: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Isso

move

o

Conector

um

slot

para

cima,

de

forma

que

ele

será

iniciado

depois

de

InputPeople,

mas

antes

de

XMLOutput.

Agora,

selecione

a

guia

Configurar...

para

configurar

esse

Conector.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

49

Page 60: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Insira

o

nome

do

caminho

do

arquivo

de

dados,

que

pode

ser

diferente

daquele

acima,

dependendo

de

onde

você

instalou

o

IBM

Tivoli

Directory

Integrator

(observe

que

o

arquivo

do

banco

de

dados

em

si

é

chamado

Debtors.dat

).

No

campo

Nome

do

Atributo

Chave

você

precisa

especificar

o

nome

do

atributo

que

identifica

exclusivamente

esses

registros.

No

banco

de

dados

tutorial

esse

é

o

atributo

FullName

(o

que

lhe

uma

dica

sobre

por

que

você

elaborou

um

atributo

nomeado

de

forma

similar

no

Conector

de

entrada).

Quando

você

quiser

testar

esse

Conector,

utilize

a

guia

Esquema

e

clique

nos

botões

Conectar

e

Próximo

como

fez

para

InputPeople.

Ou

você

pode

ir

direto

para

a

guia

Mapa

de

Entrada

e

utilizar

o

botão

Descoberta

Rápida.

50

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 61: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Isso

faz

com

que

o

Conector

se

conecte

à

sua

origem,

faça

um

GetNext

individual

no

conjunto

de

dados

e

examine

a

entrada

retornada.

Os

atributos

localizados

aqui

são

exibidos

na

janela

Atributos

de

Conector

Disponíveis

e

estão

prontos

para

mapeamento.

Agora,

embora

isso

não

descubra

todos

os

atributos

definidos

no

esquema

da

origem

de

dados

(você

precisa

utilizar

o

botão

Descobrir

Esquema

na

guia

Esquema

para

isso)

é

suficiente

para

continuarmos

o

trabalho.

Agora

você

segue

para

a

configuração

do

Mapa

de

Atributos

de

modo

que

as

informações

relevantes

fiquem

disponíveis

para

o

AssemblyLine.

para

a

área

de

janela

Mapa

de

Entrada

clicando

na

guia

(próxima

a

Esquema)

e,

em

seguida,

arraste

Amount

e

DateOfLoan

da

lista

de

Atributos

de

Conector

Disponíveis,

na

caixa

Atributo

de

Trabalho.

Nota:

Como

verá

na

seção

a

seguir,

você

utiliza

o

campo

FullName

dessa

origem

de

dados

para

configurar

os

critérios

de

pesquisa

para

Lookup.

No

entanto,

um

atributo

não

precisa

ser

incluído

no

Mapa

de

Atributos

para

que

seja

utilizado

para

pesquisa,

ele

precisa

apenas

estar

disponível

na

origem

de

dados.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

51

Page 62: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Configurando

os

Critérios

de

Links

Como

se

encontra

no

modo

Procurar,

o

novo

Conector

Devedores

está

pesquisando

estradas

específicas

em

sua

origem

de

dados,

tentando

localizar

um

correspondente

para

a

entrada

que

está

dentro

do

AssemblyLine.

Como

essa

correspondência

é

feita

exatamente

é

especificado

no

que

se

chama

de

Critérios

de

Vinculação

do

Conector.

Você

deve

ter

percebido

que

ao

adicionar

o

Conector

Debtors

(e

ter

certeza

que

este

modo

estava

como

Lookup)

uma

nova

guia

ficou

disponível,

Critérios

de

Vinculação,

próximo

à

guia

chamada

Mapa

de

Saída.

Selecionar

esta

guia

torna

visível

o

vídeo

de

Critérios

de

links

nos

quais

você

pode

especificar

como

esse

Conector

realiza

sua

procura.

Chame

novamente

o

recurso

do

IBM

Tivoli

Directory

Integrator

para

criação

de

scripts

diretamente

do

Mapa

de

Atributos.

O

mesmo

princípio

se

aplica

aqui.

Verificando

a

caixa

de

opções

Construir

critérios

com

script

personalizado

(próximo

à

barra

de

ferramentas

Critérios

de

Link)

você

obtém

uma

janela

de

Editor

na

qual

pode

gravar

a

chamada

de

procura

específica

de

origem

de

dados.

52

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 63: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Isso

pode

ser

uma

instrução

SQL

SELECT

para

um

Conector

JDBC,

ou

uma

pesquisa

LDAP,

se

conectada

a

um

diretório.

No

entanto,

exatamente

como

o

Mapeamento

de

Atributos,

o

IBM

Tivoli

Directory

Integrator

pode

criar

a

chamada

de

API

pertinente

para

a

origem

de

dados

subjacente

e

manter

a

solução

mais

independente

da

tecnologia.

Clique

no

botão

Incluir

novo

Critério

de

Link

na

barra

de

ferramentas

Critérios

de

Link,

abaixo

da

guia

Configurar...:

Quando

a

caixa

de

diálogo

Critérios

de

Vinculação

aparecer,

escolha

um

atributo

do

esquema

que

o

IBM

Tivoli

Directory

Integrator

descobriu

na

origem

de

dados.

Em

seguida,

selecione

uma

operação

de

comparação

(por

exemplo,

equals

ou

contains).

O

último

campo

permite

a

especificação

do

atributo

dentro

do

AssemblyLine

a

ser

comparado.

Clique

em

OK

quando

estiver

pronto.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

53

Page 64: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Nota:

O

caractere

de

sinal

de

dólar

($)

na

frente

do

atributo

FullName

no

AssemblyLine

permite

que

o

IBM

Tivoli

Directory

Integrator

recupere

o

primeiro

valor

desse

atributo

(pode

possuir

qualquer

número

de

valores)

para

uso

na

construção

de

Critérios

de

Vinculação.

Se

você

deseja

combinar

qualquer

um

dos

valores

de

um

atributo

de

valores

múltiplos,

você

pode

utilizar

o

símbolo

arroba

(@)

em

seu

lugar.

Quando

o

diálogo

é

fechado

e

você

volta

para

a

tela

AssemblyLine,

selecione

o

Conector

XMLOutput

para

atualizar

seu

Mapa

de

Atributos

para

incluir

os

novos

dados

que

estão

sendo

coletados

para

a

linha.

Da

caixa

Entrada

de

Trabalho,

arraste

os

novos

atributos

Quantia

e

DateOfLoan

na

caixa

de

Atributos

do

Conector.

54

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 65: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Salve

seu

trabalho

e

execute

novamente

o

AssemblyLine.

O

que

aconteceu?

O

AssemblyLine

bateu!

Porque

você

não

inseriu

na

situação

que

o

Conector

de

Procura

de

Débito

falha

ao

encontrar

entradas

neste

banco

de

dados

teclado

no

atributo

FullName.

Felizmente,

o

IBM

Tivoli

Directory

Integrator

tem

algumas

maneiras

para

lidar

com

esta

situação.

Neste

caso,

você

pode

programar

um

Gancho

para

solucionar

o

problema.

Você

deve

tomar

uma

decisão

quanto

ao

que

fazer:

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

55

Page 66: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

v

Você

pode

ignorar

o

fato

de

que

a

entrada

algumas

vezes

não

existe

no

banco

de

dados

Debtors.dat.

Neste

caso,

você

instrui

o

programa

a

ignorar

e

sua

saída

conterá

todas

as

entradas,

algumas

com

informações

sobre

débitos

e

algumas

sem.

v

Você

pode

desejar

ver

as

pessoas

que

têm

somente

débitos,

neste

caso

instrua

o

sistema

a

ignorar

as

pessoas

sem

entradas

na

tabela,

por

exemplo,

sem

registro

de

débitos.

De

qualquer

maneira,

isso

envolve

ativar

o

Gancho

chamado

Em

Sem

Correspondência

no

Conector

Debtors.

1.

para

este

Conector

e

clique

na

guia

Ganchos.

2.

Clique

no

Gancho

Em

Sem

Correspondência

na

exibição

em

árvore

apresentada

aqui.

Uma

janela

Editor

de

Script

é

exibida.

3.

Marque

a

caixa

de

opções

Ativado,

salve

seu

trabalho

e

execute

AssemblyLine

outra

vez.

Ao

simplesmente

ativar

o

Gancho,

você

está

informando

ao

IBM

Tivoli

Directory

Integrator

para

não

fazer

nadas

se

nenhum

dado

correspondente

for

localizado

durante

a

Procura.Lookup.

Quando

você

executar

o

AssemblyLine

novamente,

ele

não

falhará

e

a

saída

do

log

será

semelhante

a

esta:

56

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 67: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Nele

você

pode

ver

as

mensagens

e

dump

de

entrada

codificados

no

script

de

filtragem

(no

Gancho

Depois

de

GetNext

de

InputPeople),

bem

como

as

mensagens

de

que

nenhum

erro

foi

encontrado

neste

momento.

Nota:

A

ordem

na

qual

os

atributos

para

cada

entrada

aparecem

não

é

relevante,

e

pode

não

ser

a

mesma

ordem

de

seu

sistema

em

que

aparece

nas

capturas

de

tela

deste

documento.

O

arquivo

de

saída

XML

também

mostra

algumas

alterações

importantes:

v

Os

dois

novos

campos

de

Devedor

que

foram

incluídos

são

visíveis

na

saída.

v

O

número

de

atributos

por

entrada

de

XML

se

torna

variável,

porque

o

AssemblyLine

não

localiza

as

informações

de

débito

para

todos.

Quando

o

Conector

Lookup

(Debtors)

não

encontrava

informações

correspondentes

no

banco

de

dados,

ele

era

padronizado

para

a

rotina

de

tratamento

de

erros

do

AssemblyLine,

que

era

apenas

retornada

do

Gancho

(pois

não

havia

nenhum

código

especifico

para

fazer

qualquer

coisa).

Entretanto,

ele

limpava

a

condição

de

erro

para

que

o

processamento

continuasse,

embora

com

alguns

atributos

ausentes.

Isto

pode

causar

problemas

abaixo

da

linha,

mas

nesta

situação

não.

E

se

você

estiver

interessado

somente

naquelas

pessoas

com

dinheiro?

Então,

você

precisa

adicionar

esse

snippet

de

script

ao

Gancho

Em

Sem

Correspondência

no

Conector

Debtors:

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

57

Page 68: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

system.skipEntry();

Lembre-se

de

como

Roger

foi

filtrado

durante

a

entrada

inicial.

Isso

pode

causar

uma

situação

na

qual

pessoas

filtradas

durante

a

entrada

na

verdade

devem

dinheiro,

mas

o

AssemblyLine

nunca

chega

tão

longe

nesses

registros.

Como

alternativa,

você

pode

criar

valores

padrão

para

atributos

ausentes

no

primeiro

Conector.

O

IBM

Tivoli

Directory

Integrator

fornece

várias

formas

de

manipular

valores

ausentes.

Agora

que

demos

uma

olhada

em

como

você

descreve

os

sistemas

e

fluxos

de

dados

que

compõem

sua

solução

de

integração,

é

hora

de

olharmos

como

o

IBM

Tivoli

Directory

Integrator

permite

que

você

detecte

e

despache

eventos

de

alteração

na

infra-estrutura.

EventHandlers

O

terceiro

e

último

tipo

de

componente

no

IBM

Tivoli

Directory

Integrator

é

o

EventHandler.

Como

o

nome

implica,

esse

componente

permite

criar

soluções

de

integração

conduzidas

por

evento,

em

tempo

real.

Os

EventHandlers

permitem

a

conexão

a

sistemas

e

serviços

e,

então,

aguardar

por

algum

tipo

de

notificação

de

58

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 69: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

evento.

Os

exemplos

incluem

a

chegada

de

correio

em

uma

caixa

postal

POP3/IMAP,

um

arquivo

aparecendo

em

um

URL

de

FTP

e

alterações

feitas

em

um

diretório.

Os

EventHandlers

podem

ser

configurados

para

executar

uma

série

de

ações

com

base

no

tipo

de

evento

interceptado:

v

Transferir

dados

de

entrada

através

de

um

ou

mais

analisadores.

v

Iniciar

AssemblyLines

com

parâmetros

de

eventos

que

ele

precisam

para

trabalhar.

v

Chamar

programas

ou

bibliotecas

externas.

Em

suma,

o

que

você

precisar

que

eles

façam

para

interpretar

e

despachar

o

evento.

Como

ocorre

com

os

outros

componentes,

a

maioria

dos

EventHandlers

trabalham

de

forma

similar.

No

entanto,

alguns

são

implementados

completamente

com

script

(como

o

EventHandler

Generic

Thread)

ou

precisam

de

uma

interface

especializada

para

configuração

(por

exemplo,

o

EventHandler

Services).

Devido

à

simplicidade,

você

verá

o

tipo

padrão

de

EventHandler

para

o

exemplo.

Quando

um

EventHandler

captura

um

evento,

ele

converte

os

parâmetros

do

evento

em

objetos

Java

e

os

armazena

em

um

objeto

de

armazenamento

local.

Esse

objeto

de

armazenamento

é

como

os

objetos

work

e

conn

utilizados

na

seção

anterior.

No

caso

de

EventHandlers,

esse

depósito

Java

é

chamado

de

evento.

Além

desses

parâmetros

do

evento,

às

vezes,

você

também

obtém

atributos

do

evento,

como

no

caso

de

um

evento

de

modificação

a

partir

do

diretório

LDAP.

Para

evitar

que

o

conteúdo

e

os

parâmetros

dos

dados

sejam

misturados,

todos

esses

objetos

de

armazenamento

(incluindo

work

e

conn)

mantêm

valores

de

dados

nos

atributos

e

parâmetros

em

algo

chamado

propriedades.

As

propriedades

são

portadoras

de

valores

de

dados

como

os

atributos,

exceto

que

elas

sempre

têm

um

valor

único

e

geralmente

são

cadeias.

Quando

você

faz

dump

de

um

objeto

de

entrada

para

o

log

(por

exemplo,

utilizando

a

função

task.dumpEntry())

aparece

uma

seção

separada

para

exibição

de

atributos

e

propriedades

na

saída

do

log.

Você

define

como

um

EventHandler

reage

a

eventos

diferentes

criando

um

conjunto

de

regras

de

ação

de

condição

com

base

nos

valores

das

propriedades

e

atributos

recebidos

do

sistema

conectado.

Os

EventHandlers

são

normalmente

utilizados

para

despachar

o

controle

para

um

ou

mais

AssemblyLines

que

propagam

os

eventos.

No

entanto,

como

os

EventHandlers

podem

utilizar

scripts

e

fornecem

muitas

funcionalidades

incorporadas,

eles

mesmos

podem

executar

muito

trabalho.

Uma

das

maneiras

mais

fáceis

dos

EventHandlers

iniciarem

é

o

EventHandler

HTTP,

portanto

utilize

esse

componente

para

criar

um

servidor

da

Web

simples.

Você

deve

criar

dois

novos

arquivos

no

diretório

examples/Tutorial:

index.html

e

OtherPage.html.

Consulte

Apêndice

A,

“index.html

e

OtherPage.html”,

na

página

75

para

obter

o

conteúdo

desses

arquivos.

Abra

o

index.html

em

um

navegador.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

59

Page 70: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Essa

é

a

sua

página

da

Web

principal

e

ela

contém

alguns

links.

O

link

superior

faz

referência

a

uma

segunda

página

da

Web

(OtherPage.html),

enquanto

o

link

inferior

contém

uma

referência

a

StartAL.

Esse

último

link

é

utilizado

para

lançar

o

AssemblyLine

que

você

acabou

de

construir.

A

primeira

etapa

é

criar

um

EventHandler

HTTP

e

configurá-lo

para

agir

como

um

servidor

da

Web.

Adicione

o

novo

EventHandler

ao

Config

agora

utilizando

a

seleção

de

menu

Objeto–>Novo

EventHandler

ou

clique

com

o

botão

direito

do

mouse

na

pasta

EventHandler

no

Navegador

de

Configuração

e

selecione

Novo

60

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 71: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

EventHandler

...

no

menu

de

contexto.

Chame

esse

novo

EventHandler

de

WebServer.

O

IBM

Tivoli

Directory

Integrator

exibe

a

tela

de

detalhes

do

EventHandler.

Como

viu

na

área

de

janela

de

Detalhes

do

AssemblyLine,

o

EventHandler

também

fornece

um

conjunto

de

guias:

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

61

Page 72: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Ganchos

Os

EventHandlers

têm

um

conjunto

de

Ganchos

similares

aos

encontrados

em

um

AssemblyLine:

v

Prolog

v

Epílogo

v

Pedido

de

Encerramento

Observe

que

os

Ganchos

Prolog

e

o

Epilog

de

um

EventHandler

são

iniciados

sempre

que

um

evento

é

detectado.

Mapa

de

Ação

O

Mapa

de

Ação

é

onde

você

define

suas

regras

de

ação

de

condição.

Config

Como

muitos

EventHandlers

assinam

notificações

de

eventos

de

sistemas

ou

dispositivos,

você

precisa

configurar

os

parâmetros

de

conexão.

Comece

selecionando

a

guia

Configurar...

e

configurando

o

EventHandler

HTTP.

Essa

guia

permite

alterar

o

tipo

de

EventHandler,

selecionar

a

linguagem

de

script

para

uso

e

definir

os

vários

parâmetros

de

conexão.

Configure

o

EventHandler

para

atender

na

porta

88

de

sua

máquina

inserindo

esse

número

de

porta

no

parâmetro

Porta

HTTP.

Com

a

caixa

de

opções

Cabeçalhos

como

Propriedades

selecionada,

você

está

orientando

o

EventHandler

a

armazenar

todos

os

valores

de

cabeçalho

TCP

e

HTTP

como

Propriedades

no

objeto

de

evento.

Agora

é

hora

de

examinar

a

guia

Mapa

de

Ação.

62

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 73: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Essa

tela

está

dividida

em

três

áreas

de

janela:

Mapa

de

Ação,

Condições

e

Itens

de

Ação,

cada

uma

com

uma

linha

de

botões

para

criar,

excluir

e

alterar

a

ordem

dos

itens

na

lista

relacionada.

Sempre

que

ocorre

um

evento,

o

EventHandler

é

executado

como

o

seguinte:

1.

O

Gancho

Prolog

é

executado.

2.

O

controle

é

transmitido

para

o

primeiro

item

ativado

do

Mapa

de

Ação

e

suas

Condições

são

avaliadas.

3.

Se

as

Condições

forem

avaliadas

para

Verdadeiras

(ou

se

não

houver

Condições

definidas

para

esse

item

do

Mapa

de

Ação),

então

as

Ações

na

guia

Condição

verdadeira

serão

iniciadas.

Se

elas

forem

avaliadas

para

Falsas,

então

as

Ações

da

Condição

falsa

serão

executadas.

Os

erros

são

tratados

na

guia

No

Erro.

4.

Quando

as

Ações

tiverem

sido

concluídas,

o

controle

se

moverá

para

o

próximo

item

no

Mapa

de

Ação

e

a

etapa

3

será

repetida

para

esse

item.

No

entanto,

se

a

caixa

de

opções

Consumir

estiver

selecionada

para

esse

item

do

Mapa

de

Ação

e

se

uma

única

ação

for

executada,

então

o

processamento

parará

para

esse

evento

e

o

controle

será

transmitido

para

a

próxima

etapa

(o

Epilog).

5.

O

Gancho

Epilog

é

iniciado.

6.

O

EventHandler

aguarda

o

próximo

evento.

Crie

um

novo

item

do

Mapa

de

Ação

pressionando

o

botão

Incluir

Novo

Item

do

Mapa

de

Ação

e

chamando

esse

novo

item

DumpEventToLog.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

63

Page 74: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Não

crie

nenhuma

Condição

para

esse

item

do

Mapa

de

Ação.

Isso

significa

que

o

EventHandler

sempre

inicia

as

Ações

definidas

na

guia

Condição

verdadeira.

Selecione

o

novo

item

do

Mapa

de

Ação,

em

seguida

a

guia

Condição

verdadeira

e

adicione

uma

nova

Ação.

64

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 75: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Como

pode

ver

na

caixa

de

diálogo

Seleção

de

ação

nessa

captura

de

tela,

uma

série

de

ações

padrão

para

escolha:

v

Chamar

um

ou

mais

Analisadores.

v

Gravar

seu

próprio

script

personalizado.

v

Adicionar

e

remover

Propriedades

e

Atributos

de

eventos.

v

Executar

um

AssemblyLine.

v

Parar

o

EventHandler.

Selecione

a

Ação

Objeto

de

Evento

Dump

e

pressione

OK.

Agora

você

está

pronto

para

testar

o

EventHandler

clicando

no

botão

Executar.

Quando

o

EventHandler

tiver

iniciado

na

porta

88,

abra

uma

janela

de

navegador

e

insira

o

seguinte

URL

no

campo

de

endereço:

http://localhost:88

Nada

é

exibido

no

navegador,

mas

se

você

tornar

visível

o

IBM

Tivoli

Directory

Integrator

novamente

verá

que

o

evento

foi

capturado

pelo

EventHandler

e

os

vários

parâmetros

de

eventos

passaram

por

dump

para

registro,

como

o

IBM

Tivoli

Directory

Integrator

foi

orientado

a

fazer.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

65

Page 76: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

O

dump

do

conteúdo

do

objeto

de

evento

é

uma

forma

rápida

e

visual

de

identificar

os

parâmetros

retornados

com

o

evento

e

que

estão

disponíveis

para

uso

na

definição

de

Condições.

Utilize

a

Propriedade

http.base

realçada

na

captura

de

tela

anterior

para

tentar

isso.

Observe

que

antes

das

alterações

que

você

está

prestes

a

fazer

no

EventHandler

entrem

em

efeito,

você

deve

parar

a

instância

em

execução

atualmente

clicando

no

botão

vermelho

Parar

ou

fechando

a

área

de

janela

Executar.

Volte

para

o

EventHandler,

crie

um

novo

Mapa

de

Ação

e

chame-o

de

StartAL.

Selecione

esse

novo

item

do

Mapa

de

Ação

e

clique

no

botão

Incluir

Nova

Condição.

66

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 77: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Como

de

costume,

o

IBM

Tivoli

Directory

Integrator

permite

tratar

situações

complexas

com

script

personalizado.

Você

não

precisa

dessa

flexibilidade

aqui,

portanto

selecione

Condição

Simples.

O

sistema

então

apresenta

um

diálogo

Condição.

Insira

http.base

no

campo

Nome

do

Atributo/Propriedade

e,

em

seguida,

selecione

o

operador

contains

na

lista

drop

down.

No

campo

Valor

insira

o

texto

entre

aspas

″StartAL″.

Ele

instrui

o

EventHandler

a

verificar

a

Propriedade

http.base

para

ver

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

67

Page 78: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

se

contém

o

texto

″StartAL″.

Como

você

não

selecionou

a

caixa

de

opções

Distinção

entre

Maiúsculas

e

Minúsculas,

utilizar

maiúsculas

ou

minúsculas

não

afetará

o

resultado

dessa

Condição.

Agora

tudo

o

que

você

tem

a

fazer

é

informar

ao

EventHandler

o

que

fazer

quando

a

Condição

for

atendida.

Com

o

item

do

Mapa

de

Ação

StartAL

ainda

selecionado,

adicione

uma

nova

Ação

à

pasta

Condição

verdadeira

e

selecione

a

Ação

Executar

AssemblyLine.

Você

pode

dar

um

clique

duplo

em

qualquer

Ação

para

obter

o

diálogo

de

Detalhes

da

Ação:

68

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 79: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Utilize

a

lista

drop

down

para

selecionar

o

AssemblyLine

CSVtoXML

e,

em

seguida,

clique

na

caixa

de

opções

rotulada

Aguardar

finalização.

A

seleção

dessa

opção

informa

ao

EventHandler

para

fazer

uma

pausa

até

o

AssemblyLine

ser

finalizado,

o

que

impede

o

lançamento

dele

várias

vezes

em

paralelo

por

acidente.

Depois

de

inserir

os

detalhes

dessa

Ação,

feche

o

diálogo

utilizando

o

botão

da

área

de

janela

Fechar

(consulte

descrição

na

captura

de

tela

anterior).

Inicie

o

EventHandler

novamente.

Aguarde-o

iniciar

e,

em

seguida,

abra

a

janela

do

navegador.

Você

deseja

acessar

a

mesma

máquina

e

número

de

porta

(http://localhost:88),

mas

dessa

vez

anexe

o

texto

da

Condição

(startAL)

ao

final

do

URL:

http://localhost:88/startAL

Você

observará

que

o

navegador

demorou

um

pouco

para

retornar.

Isso

foi

o

EventHandler

lançando

o

AssemblyLine

e,

em

seguida,

aguardando

a

conclusão.

Se

você

voltar

para

o

IBM

Tivoli

Directory

Integrator

poderá

ver

na

saída

do

log

que

após

o

EventHandler

fazer

dump

no

objeto

de

evento

ele

executou

o

AssemblyLine.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

69

Page 80: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Até

aqui

tudo

bem,

mas

o

EventHandler

ainda

não

está

funcionando

como

um

servidor

da

Web.

Para

adicionar

essa

funcionalidade

você

deve

adicionar

código

adicional

à

guia

Condição

falsa

do

item

do

Mapa

de

Ação

StartAL.

Com

esse

item

selecionado,

adicione

uma

Ação

Personalizar

Script

à

guia

Condição

falsa

(dê

um

clique

duplo

na

nova

Ação

para

obter

a

tela

de

detalhes).

Você

poderá

querer

arrastar

a

barra

de

divisão

para

cima

entre

Condições

e

Ações

para

obter

mais

espaço

para

compor

o

script.

70

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 81: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Agora

insira

o

seguinte

script

na

janela

Editor

de

Script

para

essa

Ação:

//

Primeiro

obtemos

a

propriedade

http.base

(retornada

como

um

objeto

de

Cadeia

Java).

//

A

segunda

linha

abaixo

define

uma

nova

variável

com

o

caminho

completo

para

//

onde

os

arquivos

HTML

do

Tutorial

estão

localizados

na

máquina.

//

base

=

event.getProperty("http.base");

path

=

"C:/Program

Files/IBM/IBMDirectoryIntegrator/examples/Tutorial/";

//

Podemos

utilizar

a

função

endsWith()

de

Cadeia

Java

para

verificar

a

extensão

do

//

arquivo

solicitado

pelo

navegador.

Então,

definimos

as

propriedades

para

a

//

mensagem

HTTP

que

o

EventHandler

transmitirá

de

volta

ao

navegador.

if

(

base.endsWith(".gif")

)

event.setProperty

("http.content-type",

"image/gif")

else

if

(

base.endsWith(".jpg")

||

base.endsWith(".jpeg")

)

event.setProperty

("http.content-type",

"image/jpeg")

else

event.setProperty

("http.content-type",

"text/html");

//

Se

ele

for

um

pedido

raiz

ou

nulo,

adicione

o

nome

da

nossa

página

da

Web

//

principal

("index.html").

if

(

base

==

"/"

)

base

=

"/"

+

"index.html";

//

Agora

criamos

um

novo

objeto

de

arquivo

Java

com

o

nome

do

arquivo

//

que

foi

solicitado

e

pré-anexamos

com

a

variável

de

caminho

que

//

criamos

acima.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

71

Page 82: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

var

file

=

new

java.io.File(path

+

base);

//

Aqui,

escrevemos

o

nome

do

arquivo

para

o

log.

task.logmsg

("File

request:

"

+

file

);

//

Finalmente,

podemos

utilizar

a

função

exists()

para

ver

se

o

arquivo

foi

localizado.

//

Se

tiver

sido,

o

transmitiremos

de

volta

na

propriedade

http.body.

Caso

//

contrário,

definiremos

o

status

para

que

o

navegador

exibia

o

erro

padrão

404.

if

(

file.exists()

)

event.setProperty

("http.body",

file);

else

event.setProperty

("http.status",

"NOT

FOUND");

Esse

ainda

é

o

snippet

mais

longo.

Portanto,

isso

ainda

não

é

muito

código

considerando

que

você

agora

construiu

um

servidor

da

Web.

Inicie

novamente

o

EventHandler

e

digite

http://localhost:88

no

navegador.

Você

obterá

a

página

da

Web

vista

anteriormente.

De

fato,

o

EventHandler

precisou

atender

dois

eventos:

primeiro,

ele

retornou

a

página

index.html

e,

em

seguida,

quando

o

navegador

começou

a

apresentar

o

HTML

ele

detectou

uma

imagem

GIF

e

também

a

solicitou

do

servidor.

Se

olhar

a

saída

do

log

poderá

ver

esse

evento

adicional.

Tente

clicar

através

da

outra

página

e

volte

novamente.

Seu

servidor

da

Web

simples

atende

a

todas

as

páginas

disponíveis.

Se

você

inserir

o

URL

de

um

72

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 83: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

arquivo

que

não

existe

(por

exemplo,

http://localhost:88/BadPage.html),

o

EventHandler

retornará

um

erro

Arquivo

Não

Localizado

no

navegador.

Na

parte

inferior

da

página

principal

está

o

segundo

link

visto

anteriormente.

Se

colocar

o

mouse

sobre

ele,

verá

que

faz

referência

ao

URL

http://localhost:/StartAL.

Quando

você

clicar

nesse

link,

sua

Condição

anteriormente

definida

será

correspondida

e

o

AssemblyLine

iniciado.

Parabéns!

Você

concluiu

o

treinamento

básico

do

IBM

Tivoli

Directory

Integrator

e

pode

começar

a

ver

a

construção

de

suas

próprias

soluções.

Naturalmente,

a

estrada

não

termina

aqui

e

muitas

funcionalidades

para

descobrir

e

explorar.

Como

ocorre

com

todas

as

ferramentas

de

desenvolvimento,

a

prática

vem

com

a

experiência,

então

comece

a

trabalhar.

Considerações

Finais

Embora

o

IBM

Tivoli

Directory

Integrator

torne

a

construção

de

fluxos

de

dados

rápida

e

fácil,

a

qualidade

da

solução

resultante

depende

da

qualidade

de

sua

especificação.

O

IBM

Tivoli

Directory

Integrator

realmente

ajuda,

removendo

os

obstáculos

de

plataformas

e

tecnologia

de

fornecedores

que

bloqueiam

a

visão

e

limitam

a

imaginação.

Ao

abordar

um

problema

de

integração

no

nível

do

fluxo

dos

dados,

você

reduz

a

complexidade.

Isso

fornece

ganhos

ao

longo

de

todo

o

processo:

velocidade

de

implementação,

exatidão

da

solução,

robustez,

facilidade

de

manutenção

e

assim

por

diante.

Na

verdade,

conforme

começa

a

pensar

nos

termos

do

mantra

simplificar

e

solucionar,

você

sua

instalação

e

sua

possibilidades

de

integração

de

uma

perspectiva

completamente

nova.

O

IBM

Tivoli

Directory

Integrator

continua

a

fazer

a

diferença

muito

depois

de

sua

solução

estar

concluída

e

implementada.

Como

suas

necessidades

comerciais

e

técnicas

mudam,

o

IBM

Tivoli

Directory

Integrator

permite

que

você

aprimore

e

amplie

sua

solução

para

atender

a

esses

novos

desafios.

É

essa

a

beleza

do

IBM

Tivoli

Directory

Integrator:

implementação

incremental.

Você

pode

ampliar

sua

solução

de

integração

(e

sua

infra-estrutura)

para

satisfazer

suas

necessidades,

bem

como

o

ambiente

em

que

ela

reside.

Percepção

é

realidade

e

a

percepção

é

formada

(e

limitada)

pelo

conjunto

de

ferramentas

que

você

utiliza.

A

escolha

é

simples.

Você

pode

continuar

a

aceitar

a

realidade

como

a

percebe,

reduzindo

a

visão

de

sua

infra-estrutura

de

integração

para

torná-la

compatível

com

as

ferramentas

que

você

está

utilizando

ou

trocar

as

ferramentas.

Capítulo

3.

Introduzindo

o

IBM

Tivoli

Directory

Integrator

73

Page 84: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

74

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 85: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Apêndice

A.

index.html

e

OtherPage.html

Você

deve

criar

dois

novos

arquivos

para

completar

os

exemplos

neste

manual:

index.html

e

OtherPage.html.

Você

deve

criar

esses

arquivos

no

diretório

examples/Tutorial.

index.html

A

seguir

está

o

conteúdo

do

arquivo

index.html.

Copie

e

cole

esse

código

em

um

editor

simples,

o

Bloco

de

Notas,

e

salve

o

arquivo

como

index.html:

<html>

<head>

<title>IBM

Tivoli

Directory

Integrator</title>

</head>

<body>

<h1>This

sample

website

is

powered

by

<br>IBM

Tivoli

Directory

Integrator</h1>

<br>

<br>

<br>

<br>

Click

<a

href="OtherPage.html">here</a>

to

go

to

the

other

page.

<br>

<br>

<br>

<br>

Click

<a

href="StartAL">here</a>

to

run

our

<i>Tutorial1</i>

AssemblyLine.

</body>

</html>

OtherPage.html

A

seguir

está

o

conteúdo

do

arquivo

OtherPage.html.

Copie

e

cole

esse

código

em

um

editor

simples,

por

exemplo

o

Bloco

de

Notas,

e

salve

o

arquivo

como

OtherPage.html:

<html>

<head>

<title>IBM

Tivoli

Directory

Integrator

-

Page

2</title>

</head>

<body>

<h1>...and

this

is

the

other

page.</h1>

</div>

<br>

<br>

<br>

<br>

<br>

<br>

Click

<a

href="index.html">here</a>

to

go

to

back

to

the

main

page.

</body>

</html>

©

Copyright

IBM

Corp.

2002,

2003

75

Page 86: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

76

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 87: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

Apêndice

B.

Avisos

Estas

informações

foram

desenvolvidas

para

produtos

e

serviços

oferecidos

nos

Estados

Unidos.

É

possível

que

a

IBM

não

ofereça

os

produtos,

serviços

ou

recursos

discutidos

neste

documento

em

outros

países.

Consulte

um

representante

IBM

local

para

obter

informações

sobre

produtos

e

serviços

disponíveis

atualmente

em

sua

área.

Qualquer

referência

a

produtos,

programas

ou

serviços

IBM

não

significa

que

apenas

produtos,

programas

ou

serviços

IBM

possam

ser

utilizados.

Qualquer

produto,

programa

ou

serviço

funcionalmente

equivalente,

que

não

infrinja

nenhum

direito

de

propriedade

intelectual

da

IBM

ou

outros

direitos

legalmente

protegidos,

poderá

ser

utilizado

em

substituição

a

este

produto,

programa

ou

serviço.

Entretanto,

a

avaliação

e

verificação

da

operação

de

qualquer

produto,

programa

ou

serviço

não-IBM

são

de

responsabilidade

do

Cliente.

A

IBM

pode

ter

patentes

ou

solicitações

de

patentes

pendentes

relativas

a

assuntos

tratados

nesta

publicação.

O

fornecimento

desta

publicação

não

garante

ao

Cliente

nenhum

direito

sobre

tais

patentes.

Pedidos

de

licença

devem

ser

enviados,

por

escrito,

para:

Gerência

de

Relações

Comerciais

e

Industriais

da

IBM

Brasil

Av.

Pasteur,

138/146

Botafogo

Rio

de

Janeiro,

RJ

CEP

22290-240

For

license

inquiries

regarding

double-byte

(DBCS)

information,

contact

the

IBM

Intellectual

Property

Department

in

your

country

or

send

inquiries,

in

writing,

to:

IBM

World

Trade

Asia

Corporation

Licensing

2-31

Roppongi

3-chome,

Minato-ku

Tokyo

106,

Japan

O

parágrafo

a

seguir

não

se

aplica

a

nenhum

país

em

que

tais

disposições

não

estejam

de

acordo

com

a

legislação

local:

A

INTERNATIONAL

BUSINESS

MACHINES

CORPORATION

FORNECE

ESTA

PUBLICAÇÃO

NO

ESTADO

EM

QUE

SE

ENCONTRA”

SEM

GARANTIA

DE

NENHUM

TIPO,

SEJA

EXPRESSA

OU

IMPLÍCITA,

INCLUINDO,

MAS

NÃO

SE

LIMITANDO

ÀS

GARANTIAS

IMPLÍCITAS

DE

NÃO-VIOLAÇÃO,

MERCADO

OU

ADEQUAÇÃO

A

UM

DETERMINADO

PROPÓSITO.

Alguns

países

não

permitem

a

exclusão

de

garantias

expressas

ou

implícitas

em

certas

transações;

portanto,

esta

disposição

pode

não

se

aplicar

ao

Cliente.

Estas

informações

podem

conter

imprecisões

técnicas

ou

erros

tipográficos.

Periodicamente,

são

feitas

alterações

nas

informações

aqui

contidas;

tais

alterações

serão

incorporadas

em

futuras

edições

desta

publicação.

A

IBM

pode,

a

qualquer

momento,

aperfeiçoar

e/ou

alterar

os

produtos

e/ou

programas

descritos

nesta

publicação,

sem

aviso

prévio.

Referências

nestas

informações

a

sites

não-IBM

na

Web

são

fornecidas

apenas

por

conveniência

e

não

representam

de

forma

alguma

um

endosso

a

estes

sites

na

Web.

Os

materiais

nesses

Web

sites

não

são

parte

dos

materiais

deste

produto

IBM

e

o

uso

de

tais

Web

sites

é

por

conta

e

risco

do

Cliente.

©

Copyright

IBM

Corp.

2002,

2003

77

Page 88: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

A

IBM

pode

utilizar

ou

distribuir

as

informações

fornecidas

da

forma

que

julgar

apropriada

sem

incorrer

em

qualquer

obrigação

para

com

o

Cliente.

Licenciados

deste

programa

que

desejam

obter

informações

sobre

este

assunto

com

objetivo

de

permitir:

(i)

a

troca

de

informações

entre

programas

criados

independentemente

e

outros

programas

(incluindo

este)

e

(ii)

a

utilização

mútua

das

informações

trocadas,

devem

entrar

em

contato

com:

Gerência

de

Relações

Comerciais

e

Industriais

da

IBM

Brasil

Av.

Pasteur,

138-146

Botafogo

Rio

de

Janeiro,

RJ

CEP

22290-240

Tais

informações

podem

estar

disponíveis,

sujeitas

a

termos

e

condições

apropriadas,

incluindo

em

alguns

casos

o

pagamento

de

uma

taxa.

O

programa

licenciado

descrito

neste

documento

e

todo

o

material

licenciado

disponível

são

fornecidos

pela

IBM

sob

os

termos

do

Contrato

com

o

Cliente

IBM,

do

Contrato

de

Licença

do

Programa

Internacional

IBM

ou

de

qualquer

outro

contrato

equivalente.

Todos

os

dados

de

desempenho

aqui

contidos

foram

determinados

em

um

ambiente

controlado.

Portanto,

os

resultados

obtidos

em

outros

ambientes

operacionais

podem

variar

significativamente.

Algumas

medidas

podem

ter

sido

tomadas

em

sistemas

de

nível

de

desenvolvimento

e

não

garantia

de

que

estas

medidas

serão

iguais

em

sistemas

geralmente

disponíveis.

Além

disso,

algumas

medidas

podem

ter

sido

estimadas

por

extrapolação.

Os

resultados

reais

podem

variar.

Os

usuários

deste

documento

devem

verificar

os

dados

aplicáveis

para

seu

ambiente

específico.

As

informações

relativas

a

produtos

não-IBM

foram

obtidas

junto

aos

fornecedores

dos

respectivos

produtos,

de

seus

anúncios

publicados

ou

de

outras

fontes

disponíveis

publicamente.

A

IBM

não

testou

estes

produtos

e

não

pode

confirmar

a

precisão

de

seu

desempenho,

compatibilidade

nem

qualquer

outra

reivindicação

relacionada

a

produtos

não-IBM.

Dúvidas

sobre

os

recursos

de

produtos

não-IBM

devem

ser

encaminhadas

diretamente

a

seus

fornecedores.

Estas

informações

contêm

exemplos

de

dados

e

relatórios

utilizados

nas

operações

diárias

de

negócios.

Para

ilustrá-los

da

forma

mais

completa

possível,

os

exemplos

contém

os

nomes

de

pessoas,

empresas,

marcas

e

produtos.

Todos

esses

nomes

são

fictícios

e

qualquer

semelhança

a

esses

nomes

e

endereços

utilizados

por

uma

empresa

real

é

mera

coincidência.

LICENÇA

DE

COPYRIGHT:

Estas

informações

contém

exemplo

de

programas

aplicativos

na

linguagem

fonte,

que

ilustram

técnicas

de

programação

em

várias

plataformas

operacionais.

O

Cliente

pode

copiar,

modificar

e

distribuir

esses

exemplos

de

programas

de

qualquer

forma,

sem

pagamento

à

IBM,

com

o

objetivo

de

desenvolver,

utilizar,

vender

ou

distribuir

programas

aplicativos

de

acordo

com

a

interface

de

programação

de

aplicativo

da

plataforma

operacional

para

a

qual

os

exemplos

de

programas

são

escritos.

Esses

exemplos

não

foram

completamente

testados

sob

todas

as

condições.

A

IBM

não

pode,

portanto,

garantir

ou

inferir

confiabilidade,

possibilidade

de

assistência

ou

função

desses

programas.

O

cliente

pode

copiar,

modificar

e

distribuir

estas

amostras

de

programas

de

qualquer

forma

sem

78

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 89: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

pagamento

à

IBM,

com

o

objetivo

de

desenvolver,

utilizar,

comercializar

ou

distribuir

programas

aplicativos

de

acordo

com

as

interfaces

de

programação

do

aplicativo.

Cada

cópia

ou

parte

destes

programas

de

exemplo

ou

qualquer

trabalho

derivado

deve

incluir

um

aviso

de

copyright

com

os

dizeres:

©

(nome

de

sua

empresa)

(ano).

Partes

desse

código

são

obtidos

a

partir

da

IBM

Corp.

Corp.

©

Copyright

IBM

Corp.

_digite

o

ano

ou

anos_.

Todos

os

direitos

reservados.

Se

estas

informações

estiverem

sendo

exibidas

em

cópia

eletrônica,

as

fotografias

e

ilustrações

coloridas

podem

não

aparecer.

Instruções

para

Componentes

de

Terceiros

Instrução

para

Apache

Este

produto

inclui

o

software

desenvolvido

por

Apache

Software

Foundation

(http://www.apache.org/).

Os

componentes

do

Apache

incluem

as

bibliotecas

Xerces,

Xalan,

XML4J

e

Log4J

e

estas

são

fornecidas

em

forma

de

código

de

objeto.

Este

código

de

objeto

foi

obtido

no

web

site

da

Apache

e

não

foi

modificado.

Licença

para

Apache

Apache

Software

License,

Versão

1.1

Direitos

Autorais

(c)

1999-2002

The

Apache

Software

Foundation.

Todos

os

direitos

reservados.

A

redistribuição

e

o

uso

nas

formas

de

origem

e

binária,

com

ou

sem

modificação

são

permitidas

contanto

que

as

seguintes

condições

sejam

atendidas:

1.

Redistribuições

de

código

fonte

devem

manter

o

aviso

de

direitos

autorais

acima,

esta

lista

de

condições

e

a

cessação

de

direitos

a

seguir.

2.

Redistribuições

na

forma

binária

devem

reproduzir

o

aviso

de

direitos

autorais

acima,

esta

lista

de

condições

e

a

cessação

de

direitos

a

seguir

na

documentação

e/ou

materiais

oferecidos

com

a

distribuição.

3.

A

documentação

do

usuário

final

incluída

na

redistribuição,

se

houver,

deve

incluir

a

autorização

a

seguir:

″Este

produto

inclui

o

software

desenvolvido

por

Apache

Software

Foundation

(http://www.apache.org/).″

Como

alternativa,

esta

autorização

pode

aparecer

no

próprio

software,

se

e

como

quer

que

tais

autorizações

de

terceiros

normalmente

aparecem.

4.

Os

nomes

″Xerces″,

″Xalan″,

″log4j″,

″mx4j″

e

″Apache

Software

Foundation″

não

devem

se

utilizados

para

aprovar

ou

promover

produtos

derivados

deste

software

sem

permissão

anterior

por

escrito.

Para

obter

permissão

por

escrito,

entre

em

contato

[email protected].

5.

Os

produtos

derivados

deste

software

não

podem

ser

chamados

″Apache″

e

não

devem

conter

″Apache″

em

seu

nome,

sem

permissão

anterior

por

escrito

da

Apache

Software

Foundation.

ESTE

SOFTWARE

É

FORNECIDO

″NO

ESTADO

EM

QUE

SE

ENCONTRA″

E

QUAISQUER

GARANTIAS

EXPRESSA

OU

IMPLÍCITA,

INCLUINDO,

MAS

NÃO

SE

LIMITANDO

ÀS

GARANTIAS

IMPLÍCITAS

DE

MERCADO

OU

DE

ADEQUAÇÃO

A

UM

DETERMINADO

PROPÓSITO,

SÃO

DESCONSIDERADAS.

EM

NENHUM

CASO,

APACHE

SOFTWARE

FOUNDATION

OU

SEUS

CONTRIBUINTES

SERÃO

RESPONSABILIZADOS

POR

QUAISQUER

DANOS

Apêndice

B.

Avisos

79

Page 90: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

DIRETO,

INDIRETO,

INCIDENTAL,

ESPECIAL,

EXEMPLAR

OU

CONSEQÜENCIAL

(INCLUINDO,

MAS

NÃO

SE

LIMITANDO

A

SUBSTITUIÇÃO

DE

MERCADORIAS

OU

DE

SERVIÇOS;

PERDA

DE

USO,

DADOS

OU

GANHOS;

OU

INTERRUPÇÃO

DE

NEGÓCIOS)

CAUSADOS

E

EM

QUALQUER

TEORIA

DE

RESPONSABILIDADE,

SEJA

DE

CONTRATO,

RESPONSABILIDADE

ESTRITA

OU

AGRAVO

(INCLUSIVE

NEGLIGÊNCIA

OU

SIMILAR)

PROVENIENTE

DE

QUALQUER

MANEIRA

DA

UTILIZAÇÃO

DESTE

SOFTWARE,

MESMO

SE

AVISADO

DA

POSSIBILIDADE

DE

TAL

DANO.

Este

software

consiste

em

contribuições

voluntárias

feitas

por

muitos

indivíduos

em

nome

da

Apache

Software

Foundation.

Para

obter

informações

adicionais

sobre

a

Apache

Software

Foundation,

consulte

http://www.apache.org

Instrução

para

Rhino

O

IBM

Tivoli

Directory

Integrator

utiliza

Rhino

(JavaScript

para

o

código

do

objeto

Java).

O

código

fonte

para

Rhino

está

localizado

em

http://www.mozilla.org/rhino/download.html

e

é

disponibilizado

pelos

termos

do

Netscape

Public

License

1.1

(http://www.mozilla.org/MPL/NPL-1.1.html).

O

código

fonte

Rhino

que

se

encontra

no

Web

site

mozilla

não

foi

modificado

na

geração

do

código

do

objeto

usado

no

IBM

Tivoli

Directory

Integrator.

Marcas

Os

termos

a

seguir

são

marcas

da

International

Business

Machines

Corporation

nos

Estados

Unidos

ou

em

outros

países,

ou

ambos:

IBM

DB2

Notas

Lotus

Domino

Tivoli

Java,

JavaScript

e

todas

as

marcas

comerciais

e

logos

com

base

em

Java

são

marcas

comerciais

ou

marcas

registradas

da

Sun

Microsystems,

Inc.

nos

Estados

Unidos

e/ou

em

outros

países.

Microsoft

e

Windows

são

marcas

registradas

da

Microsoft

Corporation.

UNIX

é

uma

marca

registrada

da

The

Open

Group

nos

Estados

Unidos

e/ou

outros

países.

Outros

nomes

de

empresas,

produtos

e

serviços

podem

ser

marcas

ou

marcas

de

serviço

de

terceiros.

80

IBM

Tivoli

Directory

Integrator

5.2:

Guia

de

Introdução

Page 91: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer
Page 92: IBM Tivoli Directory Integrator 5.2: Guia de Introdu.publib.boulder.ibm.com/tividd/td/IBMDI/SC32-1382... · Este manual destina-se a administradores de sistema, a usuários e a qualquer

���

Impresso

em

Brazil

S517-7939-00