40
.Net vs. J2EE

DotNet vs. Java

Embed Size (px)

DESCRIPTION

Palestra apresentada no Instituto Infnet.

Citation preview

Page 1: DotNet vs. Java

.Net vs. J2EE

Page 2: DotNet vs. Java

Programa e Palestrante

• Programa:› Novos Tipos de Aplicações.› Tecnologias Habilitadoras.› Microsoft .NET.› Sun Microsystems J2EE.› Conclusões.

• Palestrante:› Armênio Cardoso› Consultor, Arquiteto de Sistemas e Professor

Page 3: DotNet vs. Java

Novos Tipos de Aplicações

• Aplicações no Ambiente Internet:› B2C = Business To Consumer:

• Aplicações orientadas para usuários comuns.• O usuário percebe a aplicação como um serviço.

› B2B = Business To Business: • Aplicações empresariais integradas às Intranets e Extranets. • Permitem a troca de informações entre aplicações

corporativas diferentes.

Page 4: DotNet vs. Java

Novos Tipos de Aplicações

• O consumidor está cada vez mais exigente e carente de novos serviços.

• A “cultura da Internet” é bastante fácil de adquirir, pois a interface com o usuário é comum – browser.

Page 5: DotNet vs. Java

Novos Tipos de Aplicações

• Novos dispositivos permitem que o usuário utilize a Internet – PDAs, Telefones Celulares, Eletrodomésticos etc.

Page 6: DotNet vs. Java

Novos Tipos de Aplicações

• As Empresas da “Nova Economia” identificam oportunidades a partir das necessidades do consumidor.

• As Empresas se associam a fim de ganhar competitividade.

• Muitos sistemas atualmente em funcionamento carregam o peso da “obsolescência”.

Page 7: DotNet vs. Java

Novos Tipos de Aplicações

• Aplicações Verticais:› Cobrem um único aspecto do negócio das empresas.› Fazem muito bem uma única operação - “Pacotes de

Software”.

• Aplicações Horizontais:› Cobrem vários aspectos do negócio das empresas.› Contém um alto grau de personalização.

Page 8: DotNet vs. Java

Novos Tipos de Aplicações

• Historicamente as aplicações verticais são mais fáceis de implementar do que as horizontais.

• Todas as empresas desejam dispor de eBusiness, onde uma aplicação virtual cobriria o seu portifólio de aplicações verticais e horizontais.

Page 9: DotNet vs. Java

Tecnologias Habilitadoras

• XML = Extensible Markup Language é uma tecnologia para aplicações Web.

• É 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.

Page 10: DotNet vs. Java

Tecnologias Habilitadoras

• Com XML é possível entender o significado das tags e estruturar informações de forma relacional ou hierárquica.

• Mais do que isso, é possível escrever aplicações que “entendam” o significado das tags XML.

Page 11: DotNet vs. Java

Tecnologias Habilitadoras

Conteúdo

XML

DTD ouSchema

XSL

Renderização Browser

HTML

PDFXSLT

DTD – document type definitionXSL/XSLT - stylesheet

Page 12: DotNet vs. Java

Tecnologias Habilitadoras

• Web Services permitem que aplicações acessem componentes de software através de protocolos padronizados, tais como HTTP ou SMTP.

• 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.

Page 13: DotNet vs. Java

Tecnologias Habilitadoras

• Quais são as conseqüências dessa tecnologia?

Software Serviços

Page 14: DotNet vs. Java

Tecnologias Habilitadoras

• Um Web Service é projetado para ser publicado, descoberto e invocado dinamicamente em um ambiente computacional distribuído.

Publicar Descobrir Transportar

especificação de interfaces de I/O e meta informações.

localização de serviços

enviar e receber mensagens

Page 15: DotNet vs. Java

Tecnologias Habilitadoras

• Os padrões que estão por trás desses requisitos são WSDL, UDDI e SOAP.

WSDL UDDI SOAP

especificação de interfaces de I/O e meta informações.

localização de serviços

enviar e receber mensagens

Page 16: DotNet vs. Java

Tecnologias Habilitadoras

• WSDL = Web Services Description Language.

• UDDI = Universal Description, Discovery and Integration funciona como um repositório de Web Services (Directory), tal como uma lista de páginas amarelas.

• SOAP = Simple Object Access Protocol - descreve um formato para trocas de requisições e respostas entre clientes e Web Services.

Page 17: DotNet vs. Java

Tecnologias Habilitadoras

Web Service Web Services Directory

Cliente do Web Service

1-PublicaçãoUDDI

2-Loca

lizaç

ão

UDDI

3-Des

criç

ão

WSDL

4-ChamadaSOAP

5-RespostaSOAP

Page 18: DotNet vs. Java

Arquitetura Típica > .NET

Browser

ApresentaçãoLógica deNegócio

Banco de Dados

Aplicação

HTTP / HTML Protocolo Proprietário

API de Acesso a DadosProtocolo Proprietário

Page 19: DotNet vs. Java

Microsoft .NET

Browser

ASP.NET .NET Components Fontes de Dados

Client.NET

HTTP / HTML .NET Remoting ou SOAP

ADO.NET.NET Remoting ou SOAP

Page 20: DotNet vs. Java

Microsoft .NET

• O Que é o .NET?

Visual Studio .NET

.NETFramework

.NETEnterprise

Servers

.NETBuilding Block

Services

Page 21: DotNet vs. Java

Microsoft .NET

• .NET Framework

Common Language Runtime

.NET Framework Class Library

ADO .NET: Data & XML

Windows UIASP.NETWeb Services

Page 22: DotNet vs. Java

Microsoft .NET

• .NET Enterprise Servers› BizTalk Server - mapeamento de processos de

negócio.› Host Integration Server - integração com maiframes.› Internet Security and Acceleration Server - proxy e

firewall.› SQL Server - banco de dados.› Windows .NET Server 2003 - sucessor do Windows

2000

Page 23: DotNet vs. Java

Microsoft .NET

• Linguagens .NET› O .NET é uma plataforma neutra pois permite a

criação de “novas linguagens” e a compatibilização das linguagens “tradicionais”.

› Visual Basic .NET› C#› Visual C++› Visual J# .NET

Page 24: DotNet vs. Java

Microsoft .NET

• ASP.NET› Web Forms› Eventos servidor› Server controls› Caching› Security› Session State

Page 25: DotNet vs. Java

Microsoft .NET

• ADO.NET

Connection

Command

DataAdapter DataSet

DataReader

Conectado

Desconectado

Page 26: DotNet vs. Java

Arquitetura Típica > J2EE

Browser

ApresentaçãoLógica deNegócio

Banco de Dados

Aplicação

HTTP / HTML Protocolo Proprietário

API de Acesso a DadosProtocolo Proprietário

Page 27: DotNet vs. Java

Sun Microsystems J2EE

Browser

Servlets, JavaServer Pages

Enterprise JavaBeans

Fontes de Dados

Java

HTTP / HTML RMI / IIOP ou SOAP

JDBC, JDORMI / IIOP ou SOAP

Page 28: DotNet vs. Java

Sun Microsystems J2EE

• O Que É J2EE?

Java 2Micro Edition

Java 2Standard

Edition

Java 2 Enterprise

Edition

Aplicações Convencionais

Aplicações Corporativas

Page 29: DotNet vs. Java

Sun Microsystems J2EE

• Bibliotecas e Frameworks

Java Virtual Machine (Unix, Macintosh, PalmOS, Windows)

AWT / SwingJSP / ServletsWeb Services

Java 2Standard

Edition

Java 2Micro Edition

Java 2 Enterprise

Edition

Page 30: DotNet vs. Java

Sun Microsystems J2EE

• Servidores de Aplicação J2EE› A Sun Microsystems define os padrões a partir de

interações com o mercado e a indústria de software.› IBM WebSphere› BeA WebLogic› Oracle 9iAS› JBoss (implementação aberta).

Page 31: DotNet vs. Java

Sun Microsystems J2EE

• Linguagens J2EE

› A linguagem é Java.

› JNI = Java Native Interface - Permite o acesso de bibliotecas nativas do sistema operacional e a programação em C/C++.

› ActiveX Packager - É utilizado para embutir código Java em aplicações que suportem componentes ActiveX.

Page 32: DotNet vs. Java

Sun Microsystems J2EE

• JSP / Servlets› JavaServer Faces› Eventos servidor› Server controls› Caching› Security› Session State

› Implementações open-source - Apache Tomcat

Page 33: DotNet vs. Java

Sun Microsystems J2EE

• JDBC / JDO› Tratamento de informações relacionais e

hierárquicas.› JDO = Java Data Object - componente de acesso a

fontes de dados que pode estar conectado ou desconectado.

› JDBC = Java Database Connectivity - permite o acesso aos principais SGBD, independente de plataforma.

Page 34: DotNet vs. Java

Conclusões

• Independente da plataforma que for escolhida, os novos desenvolvedores precisarão ser treinados› Java Vs. Orientação a Objetos

• Ambas permitem a construção de Web Services.

• Ambas permitem criar sistemas de baixo custo: › jBoss/Linux/Cobalt Vs. Windows/Win32.

Page 35: DotNet vs. Java

Conclusões

• Ambas se assemelham em diversos aspectos:› CLR vs. JVM› ASP.NET vs. JSP / Servlets› .NET Components vs. EJB› ADO.NET vs. JDBC / JDO

Page 36: DotNet vs. Java

Conclusões

• .NET:› É uma família de produtos, com uma especificação

comum usada para potencializar os pontos de interoperabilidade.

› É “fechada” no sentido de que é necessário desenvolver e implementar os aplicativos na plataforma Windows.

Page 37: DotNet vs. Java

Conclusões

• .NET liberou os Web Services antes do J2EE

• .NET tem um modelo de programação mais simples que J2EE - produtividade

• .NET dispõe de neutralidade de linguagens

• .NET se beneficia da forte coesão com o sistema operacional

Page 38: DotNet vs. Java

Conclusões

• J2EE:› É baseado em uma família de especificações que

podem ser implementadas por diversos fabricantes. › É “aberta” no sentido de que qualquer empresa pode

licenciar e implementar a tecnologia em diversas plataformas.

Page 39: DotNet vs. Java

Conclusões

• 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.

• 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.

• J2EE é independente de plataforma de hardware e software.

Page 40: DotNet vs. Java

.Net vs J2EE – Qual é a sua escolha?

Perguntas?

Obrigado!