Top Banner
.Net vs. J2EE
40

DotNet vs. Java

Jun 23, 2015

Download

Technology

Palestra apresentada no Instituto Infnet.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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!