Estudo de caso (Datasnap)

19/07/2015

Bom dia, galera!!

Seguinte,

Atualmente temos um projeto web desenvolvido em ASP.NET MVC e hospedado no IIS 7, a aplicação funciona inteiramente só com HTML, CSS e JS. Esta aplicação ira consumir alguns métodos disponibilizados em um serviço REST Datasnap.

Sabendo disso um outro desenvolvedor da equipe sugeriu que, pelo fato da aplicação rodar somente com o frontend simples (Não precisando do ASP.NET MVC), se não seria possível hospeda-lo no servidor Datasnap, assim mantendo somente um servidor de aplicação.

E a partir dai me surgiu várias questões:

[b] 1) Datasnap x IIS? [/b] (Atualmente a equipe esta mais familiarizada com o IIS pelo fato de já existir uma aplicação rodando nele, porém como estamos trabalhando com duas equipes, Delphi e .NET, a equipe do Delphi fez a sugestão acima)

[b] 2) Conseguirei as mesmas funcionalidades e caracteristicas de forma simples no Datasnap? (Segurança, Escalabilidade, Deploy, Manutenção, Custos) [/b]

[b] 3) Que tipo de vantagem eu teria tirando do IIS e hospedando no Datasnap? [/b]

[b] 4) E por último, como já havia mencionado a aplicação roda somente com o frontend simples, não precisando de uma linguagem compilada agindo no backend. Sabendo disso, vocês acham uma boa ideia dar continuidade no projeto somente com HTML, CSS e JS, retirando o ASP.NET MVC da jogada? Fiz esse questionamento a outro desenvolvedor e ele levantou a questão de componentes (exemplo: DevExpress) que poderiam ser integrados com facilidade no ASP.NET, no caso do frontend simples teríamos que desenvolver na mão os web components, porém não vejo isso como um problema e nem como uma necessidade comprar componentes. Com a pouca experiência que tenho sei que é possível encontrar outros tipos de soluções. [/b]

Espero ter sido claro hehehe

Abraço!!

Frg Informatica

Currículo

Melhor resposta

22/07/2015

Creio que você está confundindo conceitos.

Respondendo :

1) Não há problema algum estarem juntos.

2) Sim

3) Confusão de conceitos. O IIS não deixará de existir, suas páginas são servidas pelo IIS, logo você não tira um e coloca no outro, a menos que queira refazer toda a sua aplicação em Delphi com DataSnap, mas se quiser manter seu HTML/JS/CSS e ainda ter um serviço backend que consulte banco de dados, poderá apenas chamar os métodos REST feito em Datasnap para trazer resultado para o browser.

Os dois IIS e datasnap podem trabalhar juntos na mesma máquina.

4) Se você tem equipe com experiência para usar por exemplo Jquery / JS talvez não precise de componentes do ASP.NET mas usando ele terá um leque muito grande de componentes a sua disposição sem necessidade de construir algum. Recomendo usar pois sua aplicação pode crescer e algum dia venha a precisar, no entanto ao escolher usar ASP.NET não precisará mais do DATASNAP pois o ASP.NET além de ter a parte visual tem também a parte executada no servidor. Use um ou outro HTML/CSS com ASP.NET ou HTML/CSS com o DATASNAP, e o IIS como servidor WEB, esse não é descartável.

Claudio Ferreira

Responder Citar

Outras Respostas

23/07/2015

Frg Informatica Currículo

Obrigado pela atenção, Claudio!!!

Só pra você entender o contexto, o DataSnap sempre terá que existir pois a parte do BO esta toda em Delphi, então para tornar esses métodos disponíveis a melhor solução foi o DataSnap. A partir desse momento foi onde pensaram em deixar a aplicação web e o servidor Rest juntos, só que a aplicação web estava no IIS.

Acabamos fazendo algumas alterações no WebModule do DS e conseguimos rodar a aplicação. Porém este artigo Colocando um servidor DataSnap à prova me deixou um pouco preocupado com o fator [b]concorrência[/b].

Continuo lendo e procurando mais alguns casos de uso/testes para ter certeza, conforme for encontrando mais informações vou atualizando o post.

Mas realmente confundi alguns conceitos hehehe

Abraço!
Responder Citar

23/07/2015

Claudio Ferreira

Esse arquigo do Roberto eu já li também ele completo é é realmente muito bom, e alarmou muitas pessoas na comunidade Delphi e a mim também. Li também comentários do Marco Cantu a respeito, muito se comentou a respeito, sem no entanto se chegar a um veredito final sobre o assunto, (pelo menos no artigos que li). Mas ouvi uma pessoa com bastante experiência no assunto e conclui que :

qualquer servidor de aplicação terá problemas de concorrência se não estiver preparado para a carga de serviço atribuída a ele. Conclui que o problema está mais relacionado a hardware (quantidade de RAM e núcleos de processadores) do que software embora alguns servidores de aplicação possam consumir mais recursos que outros, isso é uma verdade.

Em todo caso, o teste de stress sugerido pelo Roberto Shneider é realmente o indicado para saber se o DataSnap irá aguentar a carga de trabalho, considerando que cada aplicação tem um volume de dados e número de transações concorrentes diferentes uma de outra, somente um teste específico na sua aplicação, lhe dará mais segurança.

Continue com as postagens, é interessante o tema.
Responder Citar