Compartilhar classes:Servlets, Web Services e outros

Boa tarde,

Estou com dúvidas em relação a arquitetura do sistema no qual estou trabalhando.

Nesta aplicação precisamos cadastrar uma Viagem, leia-se frete, o qual contém parcelas referentes ao pagamento do valor desta viagem.
E nesta mesma página tenho botões para disparar ações como autorizar e pagar parcelas,

A princípio esta parte da aplicação tinha apenas uma interface WEB como uma página para enviar os dados para um Action Struts, passando por validações e atribuições realizadas no Form Struts.

No Form Struts, coloquei o objeto viagem como atributo deste FormBean e então uso os gets e sets do próprio bean, usando na página algo como:
<html:text property=“viagem.valorTotal”/>
<html:text property=“viagem.data”/>

No action;

  • pego o objeto viagem, atributo do FormBean Struts, e então seto outros atributos deste, como usuário logado dentre outros.
  • chamo um viagemDAO, que contém o método insereViagem( Viagem viagem ).

Como referenciado acima, existe a ação de pagar parcelas, a qual utliza a mesma lógica descrita acima porém chamando um Session Bean Façade que gerencia outros Sessions e Conectores para fazer as devidas transações para efetuar o pagamento.

Agora precisamos de um Web Service que fará a mesma coisa que a interface WEB, ou seja, inserir uma viagem(um método) passando os mesmos dados e também permitir a ação de pagar(outro método) uma parcela.

Pergunta: :?:

Qual seria a melhor maneira do ponto de vista OO de compartilhar a parte de validar, setar, e então inserir esta viagem e também realizar o pagamento de parcelas.

Seria algo do tipo ter CommandViagem e CommandParcela que faria tudo isso e então eu os utilizaria tanto no action quanto no web service. Ou o trabalho de validar e setar todas a propriedades dos objetos devem se repetir mesmo?

Obrigado. :lol:

Adilson Chicoria Jardim