Para criar um componente de aplicativo que utiliza o suporte à atividade de
negócios, você deve configurar Executar métodos EJB sob um escopo Atividade
de Negócios no descritor de implementação do componente de aplicativo relevante e, se necessário, crie e especifique um manipulador de compensação para o aplicativo usar se houver um erro.
Você deve, então, criar o componente
no aplicativo e implementar o aplicativo em um servidor que tenha o
suporte para atividades de negócios ativado. O componente de aplicativo pode ser um enterprise bean ou um serviço da Web que é implementado como um enterprise bean.
Antes de Iniciar
Para obter informações sobre como editar descritores de implementação usando o Rational Application
Developer, consulte as informações sobre o Rational Application Developer.
Sobre Esta Tarefa
Conclua esta tarefa para um aplicativo executado em um servidor ativado para atividade
de negócios para usar o suporte de atividade de negócios no tempo de execução, e para realizar
o trabalho que pode ser compensado posteriormente por um manipulador de compensação. Se o aplicativo exigir
compensação quando um escopo da atividade de negócios for encerrado, o aplicativo transmitirá
os dados que são requeridos pelo processo de compensação para um manipulador de compensação
indiretamente, utilizando a API da atividade de negócios. Os dados requeridos
pelo processo de compensação podem estar no formato de um objeto serializável
ou um SDO (Service Data Object).
Procedimento
- Projete o componente de aplicativo que requer o suporte para atividade de negócio. Em particular, defina os requisitos de componente de aplicativo para atividades de compensação e fechamento. Se o componente de aplicativo exigir compensação,
defina a natureza dos dados no objeto serializável ou no SDO que o
componente de aplicativo transmite para o manipulador de compensação.
- Utilizando as informações do design do aplicativo, crie o
manipulador de compensação para o componente de aplicativo, se necessário. Esse
manipulador define a lógica de fechamento e de compensação que é executada na conclusão de um escopo de atividade de negócio que o manipulador incluiu por meio de um componente de
aplicativo.
- Abra a ferramenta de montagem do WebSphere Application Server escolhida.
- Crie uma nova classe Java™ que implementa a interface
adequada, dependendo do formato dos dados que são necessários pelo processo de compensação:
- Para um objeto serializável, implemente a interface com.ibm.websphere.wsba.serializable.CompensationHandler.
- Para um SDO, implemente a interface com.ibm.websphere.wsba.CompensationHandler.
- Implemente os métodos close e compensate
no nono objeto do manipulador de compensação, para executar as ações apropriadas, dependendo
dos dados serializáveis ou de SDO que passam para o manipulador quando ele é invocado.
A classe do manipulador de compensação agora está pronta para ser utilizada
pelo componente de aplicativo e para montagem em um aplicativo.
- Abra o componente de aplicativo na ferramenta de montagem.
- Abra o descritor de implementação para o componente de aplicativo no
visualizador do descritor de implementação.
- Role para a seção Compensação e selecione a
caixa de
opções Executar Métodos EJB em um Escopo da Atividade de Negócio.
- No campo de texto Classe do Manipulador de Compensação, digite o nome completo da classe do manipulador de compensação que você
criou anteriormente.
- Salve o descritor de implementação.
- Construa o aplicativo, incluindo o componente de aplicativo e o
manipulador de compensação. Se o aplicativo for um serviço da Web, o aplicativo deve ser compatível com o padrãoJava Specification Request (JSR) 109.
- Implemente o aplicativo em um servidor de aplicativos que esteja ativado para atividade de negócio.
Resultados
O aplicativo está agora ativado para atividade de negócio, e
pode usar o respectivo suporte no tempo de execução por meio da
API de atividade de negócio. O componente de aplicativo tem um manipulador de compensação associado e,
portanto, pode chamar os métodos setCompensationDataImmediate e setCompensationDataAtCommit
no tempo de execução para incluir o manipulador de compensação no escopo da atividade de negócio. Para obter informações adicionais sobre estes métodos, consulte os tópicos sobre
a API da Atividade de negócios. Se a unidade de trabalho com a qual o escopo da atividade de negócio está associada falhar, o manipulador de compensação executará ações para compensar o erro.
O que Fazer Depois
Assegure que a classe do manipulador de compensação esteja no caminho de classe do aplicativo para o ambiente de tempo de execução do
WebSphere Application Server.