N�o sou a melhor pessoa para responder isso, mas para fugir o IIS (o queijo sui�o da MS) e outras coisas muita gente prefere sim outra op��o.
A plataforma da Microsoft n�o tem tradicionalmente boa reputa��o quanto a seguran�a, qualidade e confiabilidade. Explicito aqui que n�o sou nenhum inimigo da Microsoft. Trabalho com produtos da Microsoft, adimiro suas evolu��es em interface com usu�rio, facilidade de uso e integra��o interna entre seus produtos. Mas temos que assumir que o passado e presente da Microsoft nesses aspectos � ruim. Tomora que melhore. Para mim, se existe M$, h� tamb�m $un, Oracl$, $IBM, Apple. � tudo uma quest�o de analize das plataformas. Hoje, a Microsoft sai perdendo. abra�os Jorge -----Original Message----- From: Silent Bob [mailto:[EMAIL PROTECTED]] Sent: quinta-feira, 25 de outubro de 2001 16:17 To: Andre Racz; [EMAIL PROTECTED] Cc: Andre Racz; [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: [java-list] benchmark Java vs. .NET Bom, no minimo seria engracado se a MS publicasse um benchmark onde ela perde... :) Stored Procedures: parte da discussao de nao se utilizar Stored Procedures e' para manter o codigo portavel, certo? O meu ponto aqui e' que por nao ter que pagar o preco de ser cross-platform, e' mais facil otimizar o codigo, quer seja isso em banco de dados ou na camada de componentes. Da mesma forma que e' mais facil otimizar a aplicacao usando procedures do SQL Server 2000, tambem e' mais facil otimizar o .NET Framework apenas para Windows. Cluster: sim, e' possivel escalar para multiplos servidores em diferentes topologias, por exemplo, componentes e apresentacao em servidores diferentes, ou no mesmo servidor com multiplas maquinas com balanceamento de carga. Note que em geral, a segunda opcao escala muito melhor, por ter uma camada (fisica) a menos, a performance quase sempre e' superior. Em geral nao vale a pena pagar o preco da comunicacao atraves da rede para a camada de apresentacao acessar os componentes de negocio exceto para componentes muito pesados, que demoram muito tempo para executar. Uma regra pratica e' que se o componente executa mais rapido que o round-trip atraves da rede, entao nao vale a pena separar fisicamente o componente da camada de apresentacao. Agora, voltando ao assunto escalabilidade, mesmo sem habilitar o ASP.NET output caching, estamos falando de uma diferenca de 4 vezes mais performance. Assumindo que a solucao da Oracle escale linearmente (o que nao e' muito comum em objetos distribuidos), isso significa que voce teria que colocar 4 vezes o numero de maquinas para atender o mesmo numero de usuarios. Nao sei se as linhas geradas no processo do deploy do EJB foram contadas, mas mesmo que tenham sido, note que a mesma informacao destes arquivos estao contidas em atributos do C# (ou VB se fosse o caso). Mas eu concordo, acho que seria justo comparar fontes C# vs. fontes Java mais os arquivos que descrevem o deployment EJB, mas nao o codigo gerado automaticamente. A pergunta que eu deixo aqui e': considerando que o tempo/custo de desenvolvimento em .NET seja similar, custo de software seja similar (em geral Oracle custa mais que MS, mas isso e' outra dicussao), sera que vale a pena comprar 4 vezes mais maquinas para atender o mesmo numero de clientes para manter a possibilidade de ser cross-platform? ----- Original Message ----- From: "Andre Racz" <[EMAIL PROTECTED]> To: "Marcelo" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Cc: "Andre Racz" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Thursday, October 25, 2001 11:29 AM Subject: Re: [java-list] benchmark Java vs. .NET > Infelizmente s� pude ler a descri��o do benchmark agora, visto que estou muito enrolado no trampo. > > O que me parece, como na maioria dos benchmarks divulgados (por qualquer empresa), � que a Microsoft fez o m�ximo poss�vel para ganhar. > > Como j� foi dito por alguem na lista o uso de Stored Procedures � no minimo suspeito, visto que s� isso pode aumentar a performance muito. > > Outro ponto interressante � a escalabilidade. Na implementa��o da Sun, por usar EJB, � poss�vel escalar os componentes de neg�cio para um Cluster de Servidores (n�o se o Oracle faz isso, mas o WebLogic faz), enquanto na aplica��o da Microsoft isso n�o � poss�vel, sem escalar tamb�m a camada de apresenta��o (pelo menos me pareceu isso, pois n�o vi em nenhum lugar citando o uso de Objetos Distribuidos). > > Ali�s o fato de um Benchmark usar objetos distribuidos e o outro n�o j� me parece suspeito, pricipalmente no quesito linhas de c�digo. > > As linhas de c�digo geradas automaticamente pelo deploy do EJB (stub, skeleton, etc) foram contadas??? > > Existem muitos pontos em aberto nessa compara��o. > > Abracos, > Andr� R�cz > > > -----Original Message----- > From: "Marcelo" <[EMAIL PROTECTED]> > Date: Mon, 22 Oct 2001 23:15:34 -0700 > To: <[EMAIL PROTECTED]> > Subject: [java-list] benchmark Java vs. .NET > > > > Ol�, > > > > Algumas pessoas levantaram as quest�es de real escalabilidade e performance como muito mais relevantes do que a compara��o de features de linguagem entre C# e Java. Bom, alguns de voc�s devem estar familiarizados com o Java Pet Store, que � uma aplica��o exemplo da Sun de uma arquitetura b�sica de uma aplica��o J2EE. http://java.sun.com/j2ee/blueprints/index.html > > > > Entre outras coisas, esta aplica��o foi usada pela Oracle para demonstrar a escalabilidade do Oracle Application Server: http://otn.oracle.com./tech/java/oc4j/pdf/java_performance_results.pdf > > > > Essa mesma aplica��o foi implementada utilizando o .NET Framework e SQL Server 2000. Os resultados s�o, no m�nimo, muito interessantes. > > > > http://www.gotdotnet.com/team/compare/default.aspx > > > > Note que os n�meros abaixos foram obtidos usando os mesmos scripts de teste e configura��o de hardware usada pela Oracle. Note tambem que o n�mero de linhas de c�digo na vers�o .NET � muito menor (ver gr�fico anexado). > > > > > > .NET Pet Shop vs. Java Pet Store Performance Metrics* > > > > Per page user response times at 450 concurrent users > > App Server CPU Utilization % at 450 concurrent users > > User Load supported at 1 second avg. response time > > > > .NET with ASP.NET Output Caching > > Microsoft .NET 28 times faster than J2EE > > J2EE requires 6 times more CPU utilization than .NET > > .NET supports 6 times more concurrent users than J2EE > > > > .NET with no ASP.NET Output Caching > > > > > > .NET 8 times faster than J2EE > > J2EE requires 4.3 times more CPU utilization than .NET > > .NET supports 4 times more concurrent users than J2EE > > > > > > > > Marcelo Uemura > > Software Design Engineer - MSDN > > Microsoft Corporation > > > > -- > > _______________________________________________ > Sign-up for your own FREE Personalized E-mail at Mail.com > http://www.mail.com/?sr=signup > > > Have you downloaded the latest calling software from Net2Phone? Click here to get it now! > > http://www.net2phone.com/cgi-bin/link.cgi?157 > > _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] ------------------------------------------------------------------------- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------
