Usando POJOS

Estou num dilema.
Imagine um sistema de vendas, onde as principais entidade\atores são: Cliente, Produto, Venda, Itens de Venda e Funcionário.
Todos eles são classes com seus respectivos atributos e getters e setters, mais nada. Existem várias operações como fechar venda,
adicionar item de venda à venda atual etc… Mais estas minhas entidades só tem getters e setters, participam destes processos de negócio mais
não definem procedimentos, como por exemplo, o Funcionário ter um método “fecharVenda” … Essa estrutura é incorreta? Ou seja, ter beans\POJOS e toda a regra, todo o resto ser definido como resposta de ações da camada de vizualização?

O ideal é não ter nenhuma regra de negócio na camada de vizualização, caso queira mudar a sua camada de vizualização, a regra de negócio estará misturada.

Imagine que seu sistema terá que rodar na web, e depois em PDA, ou Desktop. A regra de negócio não muda! A implementação da camada de vizualização sim.

Tem a arquitetura MVC:
Model, View, Control, onde a camada model tem todas as regras de negócio do Sistema (Classes de Negócio, Entidades, Dao), View seria sua camada de vizualização do sistema, JSP, etc. e Controller seria a integração da View com a Model: como um servlet.

Se pensarmos em uma arquitetura SOA, o seu sistema poderia ter um Servido de Vendas, este serviço poderia ter os métodos de negócio e Daos de acesso a dados das entidades de persistência. Através do controler, o serviço poderia ser acessado e disponibilizado na View.
Você poderia facilmente criar um webservice e disponibilizar este serviço para outros sistemas por exemplo.
Criar camadas em seu sistema facilita o reuso e testes de componentes, além de permitir um controle de integração e versionamento de componentes mais confiável, uma vez que o baixo acoplamento evita que alterações simples em camadas de negócio se propaguem pelo sistema inteiro.

Qual o tipo de sistema você está desenvolvendo? Web, Desktop?

Desktop mas minha intenção no futuro é de migrar tudo p/ Web