Upload
armenio-cardoso
View
1.495
Download
0
Embed Size (px)
DESCRIPTION
Palestra apresentada no Instituto Infnet.
Citation preview
.Net vs. J2EE
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
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.
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.
Novos Tipos de Aplicações
• Novos dispositivos permitem que o usuário utilize a Internet – PDAs, Telefones Celulares, Eletrodomésticos etc.
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”.
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.
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.
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.
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.
Tecnologias Habilitadoras
Conteúdo
XML
DTD ouSchema
XSL
Renderização Browser
HTML
PDFXSLT
DTD – document type definitionXSL/XSLT - stylesheet
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.
Tecnologias Habilitadoras
• Quais são as conseqüências dessa tecnologia?
Software Serviços
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
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
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.
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
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
Microsoft .NET
Browser
ASP.NET .NET Components Fontes de Dados
Client.NET
HTTP / HTML .NET Remoting ou SOAP
ADO.NET.NET Remoting ou SOAP
Microsoft .NET
• O Que é o .NET?
Visual Studio .NET
.NETFramework
.NETEnterprise
Servers
.NETBuilding Block
Services
Microsoft .NET
• .NET Framework
Common Language Runtime
.NET Framework Class Library
ADO .NET: Data & XML
Windows UIASP.NETWeb Services
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
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
Microsoft .NET
• ASP.NET› Web Forms› Eventos servidor› Server controls› Caching› Security› Session State
Microsoft .NET
• ADO.NET
Connection
Command
DataAdapter DataSet
DataReader
Conectado
Desconectado
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
Sun Microsystems J2EE
Browser
Servlets, JavaServer Pages
Enterprise JavaBeans
Fontes de Dados
Java
HTTP / HTML RMI / IIOP ou SOAP
JDBC, JDORMI / IIOP ou SOAP
Sun Microsystems J2EE
• O Que É J2EE?
Java 2Micro Edition
Java 2Standard
Edition
Java 2 Enterprise
Edition
Aplicações Convencionais
Aplicações Corporativas
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
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).
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.
Sun Microsystems J2EE
• JSP / Servlets› JavaServer Faces› Eventos servidor› Server controls› Caching› Security› Session State
› Implementações open-source - Apache Tomcat
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.
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.
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
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.
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
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.
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.
.Net vs J2EE – Qual é a sua escolha?
Perguntas?
Obrigado!