[go: up one dir, main page]

JNDI: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m Link em Java
m adicionou Categoria:APIs de Java usando HotCat
 
(Há 32 revisões intermédias de 27 utilizadores que não estão a ser apresentadas)
Linha 1:
A '''JNDI''' ou '''Java Naming and Directory Interface''' é uma [[API]] para acesso a [[serviço de diretório |serviços de diretórios]]. Ela permite que aplicações cliente descubram e obtenham dados ou objetos através de um nome, e. assimAssim como todas as APIs [[Java (linguagem de programação)|Java]], ela é independente dade [[sistema operativo |plataforma]]. Adicionalmente, ela especifica uma interface de serviço ([[SPI (serviço) |SPI]]), que permite que ''[[software]]s'' de serviço de diretório suportem o seu ''[[framework]]''. A solução de diretório pode ser baseada em [[rede de computadores |rede]], [[arquivo]]s ou [[banco de dados|base de dados]], sendo apenas uma questão de escolha do fornecedor do produto.
 
A API JNDI é utilizada em aplicações Java que acessam recursos externos, como base de dados, filas ou tópicos [[JMS]] e componentes [[J2EE |JavaEE]]. Os administradores do sistema gravam [[objeto administrado |objetos administrados]] num serviço de diretório disponibilizado pelo [[servidor de aplicação |servidor de aplicações]] (normalmente); a aplicação busca estes objetos através da JNDI (''lookup''). A API disponibiliza:
 
* um mecanismo para ligar um objeto a um nome;
Linha 8:
* extensões que suportam as capacidades do padrão [[LDAP]].
 
A SPI permite que a JNDI suporte praticamente qualquer tipo de serviço de diretório incluíndoincluindo:
 
* [[LDAP]]
Linha 20:
 
==''Lookup'' básico==
 
A JNDI organiza os nomes em uma hierarquia. Um nome pode ser qualquer ''[[string]]'', como "org.mydomain.ejb.MyBean". Um nome também pode ser um objeto que suporte a interface <code>Name</code>, porém os objetos são normalmente nomeados através de ''strings''. Cada nome na hierarquia JNDI corresponde a um objeto (ou uma referência deste objeto) gravado no serviço de diretório.
 
Linha 27 ⟶ 26:
O contexto inicial é análogo a raiz, ou topo, de uma árvore de diretórios ou sistema de arquivos. Um exemplo de criação de um contexto inicial num trecho de programa em Java:
 
<syntaxhighlight lang="java">
Hashtable args = new Hashtable();
//Inicialmente e necessario definir a classe ''factory'' do contexto
args.put( Context.INITIAL_CONTEXT_FACTORY, "com.jndiprovider.TheirContextFactory");
//O proximopróximo argumento ehé a URL definindo a locacaolocalização do objeto:
args.put( Context.PROVIDER_URL, <nowiki>"http://jndiprovider-database"</nowiki> );
//Finalmente ehé criado o contexto inicial
Context myCurrentContext = new InitialContext( args );
 
</syntaxhighlight>
Através do objeto de contexto (''Context'') é realizada a busca (''lookup'') pelo objeto de nome ''org.mydomain.ejb.MyBean''. Um exemplo:
 
<syntaxhighlight lang="java">
Object obj = myCurrentContext.lookup( "org.mydomain.ejb.MyBean" );
//este passo e necessario para EJBs.
MyBean myBean = (MyBean) PortableRemoteObject.narrow( reference, MyBean.class );
</syntaxhighlight>
 
==Buscando==
Linha 45 ⟶ 47:
Os diretórios são uma espécie de contexto, eles restringem o espaço da busca (''namespace'') da mesma maneira que faz uma estrutura de diretórios de um sistema de arquivos.
 
==Ligações externas==
=={{links}}==
 
* [http://java.sun.com/products/jndi/ Página da Sun sobre a API JNDI, em inglês]
 
[[Categoria:Plataforma Java]]
[[Categoria:APIs de Java]]
 
[[da:JNDI]]
[[de:JNDI]]
[[en:JNDI]]
[[fr:JNDI]]