DotNet vs. Java

1.842 visualizações

Publicada em

Palestra apresentada no Instituto Infnet.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.842
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
41
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

DotNet vs. Java

  1. 1. .Net vs. J2EE
  2. 2. Programa e Palestrante <ul><li>Programa: </li></ul><ul><ul><li>Novos Tipos de Aplicações. </li></ul></ul><ul><ul><li>Tecnologias Habilitadoras. </li></ul></ul><ul><ul><li>Microsoft .NET. </li></ul></ul><ul><ul><li>Sun Microsystems J2EE. </li></ul></ul><ul><ul><li>Conclusões. </li></ul></ul><ul><li>Palestrante: </li></ul><ul><ul><li>Armênio Cardoso </li></ul></ul><ul><ul><li>Consultor, Arquiteto de Sistemas e Professor </li></ul></ul>
  3. 3. Novos Tipos de Aplicações <ul><li>Aplicações no Ambiente Internet: </li></ul><ul><ul><li>B2C = Business To Consumer: </li></ul></ul><ul><ul><ul><li>Aplicações orientadas para usuários comuns. </li></ul></ul></ul><ul><ul><ul><li>O usuário percebe a aplicação como um serviço. </li></ul></ul></ul><ul><ul><li>B2B = Business To Business: </li></ul></ul><ul><ul><ul><li>Aplicações empresariais integradas às Intranets e Extranets. </li></ul></ul></ul><ul><ul><ul><li>Permitem a troca de informações entre aplicações corporativas diferentes. </li></ul></ul></ul>
  4. 4. Novos Tipos de Aplicações <ul><li>O consumidor está cada vez mais exigente e carente de novos serviços. </li></ul><ul><li>A “cultura da Internet” é bastante fácil de adquirir, pois a interface com o usuário é comum – browser. </li></ul>
  5. 5. Novos Tipos de Aplicações <ul><li>Novos dispositivos permitem que o usuário utilize a Internet – PDAs, Telefones Celulares, Eletrodomésticos etc. </li></ul>
  6. 6. Novos Tipos de Aplicações <ul><li>As Empresas da “Nova Economia” identificam oportunidades a partir das necessidades do consumidor. </li></ul><ul><li>As Empresas se associam a fim de ganhar competitividade. </li></ul><ul><li>Muitos sistemas atualmente em funcionamento carregam o peso da “obsolescência”. </li></ul>
  7. 7. Novos Tipos de Aplicações <ul><li>Aplicações Verticais: </li></ul><ul><ul><li>Cobrem um único aspecto do negócio das empresas. </li></ul></ul><ul><ul><li>Fazem muito bem uma única operação - “Pacotes de Software”. </li></ul></ul><ul><li>Aplicações Horizontais: </li></ul><ul><ul><li>Cobrem vários aspectos do negócio das empresas. </li></ul></ul><ul><ul><li>Contém um alto grau de personalização. </li></ul></ul>
  8. 8. Novos Tipos de Aplicações <ul><li>Historicamente as aplicações verticais são mais fáceis de implementar do que as horizontais. </li></ul><ul><li>Todas as empresas desejam dispor de eBusiness, onde uma aplicação virtual cobriria o seu portifólio de aplicações verticais e horizontais. </li></ul>
  9. 9. Tecnologias Habilitadoras <ul><li>XML = Extensible Markup Language é uma tecnologia para aplicações Web. </li></ul><ul><li>É um padrão definido pelo World Wide Web Consortium ( www.w3.org ) que permite a criação de tags e gramáticas de linguagens próprias. </li></ul>
  10. 10. Tecnologias Habilitadoras <ul><li>Com XML é possível entender o significado das tags e estruturar informações de forma relacional ou hierárquica. </li></ul><ul><li>Mais do que isso, é possível escrever aplicações que “entendam” o significado das tags XML . </li></ul>
  11. 11. Tecnologias Habilitadoras Conteúdo XML DTD ou Schema XSL Renderização Browser HTML PDF XSLT DTD – document type definition XSL/XSLT - stylesheet
  12. 12. Tecnologias Habilitadoras <ul><li>Web Services permitem que aplicações acessem componentes de software através de protocolos padronizados, tais como HTTP ou SMTP. </li></ul><ul><li>Usando a Internet e a linguagem XML , é possível criar componentes que se comunicam com outros componentes, independente da linguagem de programação, plataforma ou cultura organizacional. </li></ul>
  13. 13. Tecnologias Habilitadoras <ul><li>Quais são as conseqüências dessa tecnologia? </li></ul>Software Serviços
  14. 14. Tecnologias Habilitadoras <ul><li>Um Web Service é projetado para ser publicado , descoberto e invocado dinamicamente em um ambiente computacional distribuído . </li></ul>Publicar Descobrir Transportar especificação de interfaces de I/O e meta informações. localização de serviços enviar e receber mensagens
  15. 15. Tecnologias Habilitadoras <ul><li>Os padrões que estão por trás desses requisitos são WSDL , UDDI e SOAP . </li></ul>WSDL UDDI SOAP especificação de interfaces de I/O e meta informações. localização de serviços enviar e receber mensagens
  16. 16. Tecnologias Habilitadoras <ul><li>WSDL = Web Services Description Language. </li></ul><ul><li>UDDI = Universal Description, Discovery and Integration funciona como um repositório de Web Services (Directory), tal como uma lista de páginas amarelas. </li></ul><ul><li>SOAP = Simple Object Access Protocol - descreve um formato para trocas de requisições e respostas entre clientes e Web Services. </li></ul>
  17. 17. Tecnologias Habilitadoras Web Service Web Services Directory Cliente do Web Service 1-Publicação UDDI 2-Localização UDDI 3-Descrição WSDL 4-Chamada SOAP 5-Resposta SOAP
  18. 18. Arquitetura Típica > .NET Browser Apresentação Lógica de Negócio Banco de Dados Aplicação HTTP / HTML Protocolo Proprietário API de Acesso a Dados Protocolo Proprietário
  19. 19. Microsoft .NET Browser ASP.NET .NET Components Fontes de Dados Client.NET HTTP / HTML .NET Remoting ou SOAP ADO.NET .NET Remoting ou SOAP
  20. 20. Microsoft .NET <ul><li>O Que é o .NET? </li></ul>Visual Studio .NET .NET Framework .NET Enterprise Servers .NET Building Block Services
  21. 21. Microsoft .NET <ul><li>.NET Framework </li></ul>Common Language Runtime .NET Framework Class Library ADO .NET: Data & XML Windows UI ASP.NET Web Services
  22. 22. Microsoft .NET <ul><li>.NET Enterprise Servers </li></ul><ul><ul><li>BizTalk Server - mapeamento de processos de negócio. </li></ul></ul><ul><ul><li>Host Integration Server - integração com maiframes. </li></ul></ul><ul><ul><li>Internet Security and Acceleration Server - proxy e firewall. </li></ul></ul><ul><ul><li>SQL Server - banco de dados. </li></ul></ul><ul><ul><li>Windows .NET Server 2003 - sucessor do Windows 2000 </li></ul></ul>
  23. 23. Microsoft .NET <ul><li>Linguagens .NET </li></ul><ul><ul><li>O .NET é uma plataforma neutra pois permite a criação de “novas linguagens” e a compatibilização das linguagens “tradicionais”. </li></ul></ul><ul><ul><li>Visual Basic .NET </li></ul></ul><ul><ul><li>C# </li></ul></ul><ul><ul><li>Visual C++ </li></ul></ul><ul><ul><li>Visual J# .NET </li></ul></ul>
  24. 24. Microsoft .NET <ul><li>ASP.NET </li></ul><ul><ul><li>Web Forms </li></ul></ul><ul><ul><li>Eventos servidor </li></ul></ul><ul><ul><li>Server controls </li></ul></ul><ul><ul><li>Caching </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Session State </li></ul></ul>
  25. 25. Microsoft .NET <ul><li>ADO.NET </li></ul>Connection Command DataAdapter DataSet DataReader Conectado Desconectado
  26. 26. Arquitetura Típica > J2EE Browser Apresentação Lógica de Negócio Banco de Dados Aplicação HTTP / HTML Protocolo Proprietário API de Acesso a Dados Protocolo Proprietário
  27. 27. Sun Microsystems J2EE Browser Servlets, JavaServer Pages Enterprise Java Beans Fontes de Dados Java HTTP / HTML RMI / IIOP ou SOAP JDBC, JDO RMI / IIOP ou SOAP
  28. 28. Sun Microsystems J2EE <ul><li>O Que É J2EE? </li></ul>Java 2 Micro Edition Java 2 Standard Edition Java 2 Enterprise Edition Aplicações Convencionais Aplicações Corporativas
  29. 29. Sun Microsystems J2EE <ul><li>Bibliotecas e Frameworks </li></ul>Java Virtual Machine (Unix, Macintosh, PalmOS, Windows) AWT / Swing JSP / Servlets Web Services Java 2 Standard Edition Java 2 Micro Edition Java 2 Enterprise Edition
  30. 30. Sun Microsystems J2EE <ul><li>Servidores de Aplicação J2EE </li></ul><ul><ul><li>A Sun Microsystems define os padrões a partir de interações com o mercado e a indústria de software. </li></ul></ul><ul><ul><li>IBM WebSphere </li></ul></ul><ul><ul><li>BeA WebLogic </li></ul></ul><ul><ul><li>Oracle 9iAS </li></ul></ul><ul><ul><li>JBoss (implementação aberta). </li></ul></ul>
  31. 31. Sun Microsystems J2EE <ul><li>Linguagens J2EE </li></ul><ul><ul><li>A linguagem é Java. </li></ul></ul><ul><ul><li>JNI = Java Native Interface - Permite o acesso de bibliotecas nativas do sistema operacional e a programação em C/C++. </li></ul></ul><ul><ul><li>ActiveX Packager - É utilizado para embutir código Java em aplicações que suportem componentes ActiveX. </li></ul></ul>
  32. 32. Sun Microsystems J2EE <ul><li>JSP / Servlets </li></ul><ul><ul><li>JavaServer Faces </li></ul></ul><ul><ul><li>Eventos servidor </li></ul></ul><ul><ul><li>Server controls </li></ul></ul><ul><ul><li>Caching </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Session State </li></ul></ul><ul><ul><li>Implementações open-source - Apache Tomcat </li></ul></ul>
  33. 33. Sun Microsystems J2EE <ul><li>JDBC / JDO </li></ul><ul><ul><li>Tratamento de informações relacionais e hierárquicas. </li></ul></ul><ul><ul><li>JDO = Java Data Object - componente de acesso a fontes de dados que pode estar conectado ou desconectado. </li></ul></ul><ul><ul><li>JDBC = Java Database Connectivity - permite o acesso aos principais SGBD, independente de plataforma. </li></ul></ul>
  34. 34. Conclusões <ul><li>Independente da plataforma que for escolhida, os novos desenvolvedores precisarão ser treinados </li></ul><ul><ul><li>Java Vs. Orientação a Objetos </li></ul></ul><ul><li>Ambas permitem a construção de Web Services. </li></ul><ul><li>Ambas permitem criar sistemas de baixo custo: </li></ul><ul><ul><li>jBoss/Linux/Cobalt Vs. Windows/Win32. </li></ul></ul>
  35. 35. Conclusões <ul><li>Ambas se assemelham em diversos aspectos: </li></ul><ul><ul><li>CLR vs. JVM </li></ul></ul><ul><ul><li>ASP.NET vs. JSP / Servlets </li></ul></ul><ul><ul><li>.NET Components vs. EJB </li></ul></ul><ul><ul><li>ADO.NET vs. JDBC / JDO </li></ul></ul>
  36. 36. Conclusões <ul><li>.NET: </li></ul><ul><ul><li>É uma família de produtos , com uma especificação comum usada para potencializar os pontos de interoperabilidade. </li></ul></ul><ul><ul><li>É “fechada” no sentido de que é necessário desenvolver e implementar os aplicativos na plataforma Windows. </li></ul></ul>
  37. 37. Conclusões <ul><li>.NET liberou os Web Services antes do J2EE </li></ul><ul><li>.NET tem um modelo de programação mais simples que J2EE - produtividade </li></ul><ul><li>.NET dispõe de neutralidade de linguagens </li></ul><ul><li>.NET se beneficia da forte coesão com o sistema operacional </li></ul>
  38. 38. Conclusões <ul><li>J2EE: </li></ul><ul><ul><li>É baseado em uma família de especificações que podem ser implementadas por diversos fabricantes. </li></ul></ul><ul><ul><li>É “aberta” no sentido de que qualquer empresa pode licenciar e implementar a tecnologia em diversas plataformas. </li></ul></ul>
  39. 39. Conclusões <ul><li>O código J2EE será traduzido em Web Services sem ter que reescrever o código o que não é verdade para o código Windows DNA a ser portado para .NET. </li></ul><ul><li>Web Services .NET não são interoperáveis com os padrões atuais de mercado. O framework BizTalk utiliza extensões de SOAP proprietários. </li></ul><ul><li>J2EE é independente de plataforma de hardware e software. </li></ul>
  40. 40. .Net vs J2EE – Qual é a sua escolha? <ul><li>Perguntas? </li></ul><ul><li>Obrigado! </li></ul>

×