brunobuild:
Estou implementando um webservice que cuida da parte de acesso a dados.
A camada de model está toda no webservice.
Gostaria de saber quais as desvantagens desse tipo de modelagem do meu sistema.
Muitas pessoas estão dizendo que não é uma boa prática de programação, entre outras coisas…
Vocês poderiam me explicar o pq disso?
Obs.:Não encontrei nada do genero na internet.
Na verdade depende de como você faz esse tipo de modelagem. Expor diretamente banco como serviço é um risco muito grande, afinal quando fazemos isso estamos dando a liberdade para outros sistemas também incluirem dados diretamente, sem talvez o tratamento que sua aplicação faz nos mesmos.
Aqui estou falando diretamente de regras de negócio, mas também há a questão de segurança da informação, você teria que expor os dados se preocupando com algum nível de segurança.
Um outro problema seria lidar com o “Modelo de Serviços Anêmicos” - http://jim.webber.name/2008/04/19/30b4f0e9-f67a-4310-bf38-ca0a3423206e.aspx. Esse é um obstáculo bastante comum, quando seguimos cartilhas de SOA de players, pois a modelagem sugerida acaba incorrendo para esse tipo de desisgn.
O melhor seria você conseguir abstrair para um nível mais alto, deixar maior a granularidade, até para não ter que gerenciar um catálogo de serviços grande, pois isso incorre em outras questões como SLA, Redundância, Versionamento e por aí vai.
Acho que seria bacana você conhecer também o conceito de DataServices, já que pretende fazer algo do gênero - http://www.infoq.com/br/articles/narayanan-soa-data-services