Você está na página 1de 2

Configurando a comunicação entre EJB's remotos

Este documento descreve os passos necessários para a configuração do Jboss 7.x de forma a
possibilitar a comunicação de aplicações java através de ejb remoto.

Configuração do container onde consta o fornecedor do serviço:

 Certifique-se que o JBoss servidor está acessível. A interface public deve estar configurada
para escutar em todos os IP's como pode ser observado abaixo no trecho do arquivo de
configuração standalone.xml:
<interfaces>
<interface name="public">
<any-ipv4-address/>
</interface>
</interfaces>
 Crie então um usuário do tipo "Application User" no servidor. Utilize o script add-user.sh
(linux) ou add-user.bat (windows). Ele deve constar na realm "ApplicationRealm" e
adicione as roles que o usuário necessitar para consumir o serviço. Caso nenhuma role seja
necessário deixe em branco. Defina um nome de usuário e uma senha. (ex. Abaixo)
./add-user.sh
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): b
Enter the details of the new user to add.
Realm (ApplicationRealm) :
Username : ejbuser
Password :
Re-enter Password :
What roles do you want this user to belong to? (Please enter a comma separated list, or leave blank
for none) :
About to add user 'ejbuser' for realm 'ApplicationRealm'
Is this correct yes/no? yes
Added user 'ejbuser' to file '/jboss-as-7.1.1.Final/standalone/configuration/application-
users.properties'
Added user 'ejbuser' to file '/jboss-as-7.1.1.Final/domain/configuration/application-users.properties'
Added user 'ejbuser' with roles to file '/jboss-as-7.1.1.Final/standalone/configuration/application-
roles.properties'
Added user 'ejbuser' with roles to file '/jboss-as-7.1.1.Final/domain/configuration/application-
roles.properties'

Configuração do container que irá consumir o serviço (Container Cliente)

 O usuário e senha definidos para o usuário acima será validada durante a conexão entre os
servidores. Como esta senha deverá ser armazenada na configuração desta conexão (secret),
o JBoss solicita a encriptação da senha via Base64. Uma ferramenta conhecida para essa
encriptação é o http://www.base64encode.org/.
 Defina um security-realm no standalone.xml para a conexão com o servidor. Utilize aqui a
senha encriptada:
<security-realms>
<security-realm name="ejb-security-realm">
<server-identities>
<secret value="senha-criada-aqui"/>
</server-identities>
</security-realm>
</security-realms>

 Na seção <subsystem xmlns="urn:jboss:domain:remoting:1.1"> adicionar:


<outbound-connections>
<remote-outbound-connection name="remote-ejb-connection"
outbound-socket-binding-ref="remote-ejb" username="usuario-criado-aqui"
security-realm="ejb-security-realm">
<properties>
<property name="SASL_POLICY_NOANONYMOUS" value="false"/>
<property name="SSL_ENABLED" value="false"/>
</properties>
</remote-outbound-connection>
</outbound-connections>

 Por último, na seção <socket-binding-group name="standard-sockets" … >


<outbound-socket-binding name="remote-ejb">
<remote-destination host="host-do-servidor-remoto" port="4447"/>
</outbound-socket-binding>
◦ Atenção especial para a porta informada acima:
▪ 4447 é a porta padrão para comunicação entre ejb's remotos. Caso exista algum
offset definido no servidor provedor do serviço, informar esta porta de acordo com o
offset.

Os demais passos necessários são realizados na aplicação, não sendo necessário conhecimento de
usuário ou senha.

Você também pode gostar