aplicações podem/devem trabalhar em conjunto plataformas diferentes linguagens diferentes...

15
Interoperabilidade entre .NET e Java William Schwartz Especialista em Desenvolvimento

Upload: internet

Post on 18-Apr-2015

108 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

Interoperabilidade entre .NET e Java

William SchwartzEspecialista em Desenvolvimento

Page 2: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

O que é Interoperabilidade?

Aplicações podem/devem trabalhar em conjunto

• Plataformas diferentes

• Linguagens diferentes

• Fabricantes diferentes

• Versões diferentes

Colaborar, integrar, interoperar

Page 3: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

Por que optar por Interoperabilidade?

Colaboradores Clientes ColaboradoresClientes

Page 4: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

Como resolver as diferenças?

− Migração: reescrever código de uma para outra- Custo em termos de tempo e dinheiro- Lógica distribuída e necessidade de convivência podem

dificultar o controle, a manutenção e a evolução das aplicações

− Portabilidade: levar o código e recompilar- Os sistemas podem não ser 100% portáveis

− Interoperabilidade: simplesmente usar o sistema- Mais rápido, em muitos aspectos (por isso é utlizado

frequentemente)

Page 5: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

Cenários de interoperabilidade

JEE

.NET

Apresentação DadosNegócio

cliente

JSPsServlets

POJOsEJBs

ASP.NETPOCOsPONOsESCs

Database

OutrosRecursos

Database

Page 6: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

JEE

.NET

Apresentação DadosNegócio

Cenário 1: Camada de Apresentação

cliente

JSPsServlets

POJOsEJBs

ASP.NETPOCOsPONOsESCs

Database

OutrosRecursos

Database

Page 7: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

JEE

.NET

Cenário 2a: Camada de Negócio

Apresentação DadosNegócio

cliente

JSPsServlets

POJOsEJBs

ASP.NETPOCOsPONOsESCs

Database

OutrosRecursos

Database

Page 8: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

JEE

.NET

Cenário 2b: Camada de Negócio

Apresentação DadosNegócio

cliente

JSPsServlets

POJOsEJBs

ASP.NETPOCOsPONOsESCs

Database

OutrosRecursos

Database

Page 9: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

Principais problemas

− Acordo sobre os tipos de dados− Acordo na invocação (por referência ou por

valor)− Gerenciamento de identidade− Protocolos de segurança− Gerenciamento de estado (persistência,

transação)

Page 10: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

3 Formas de fazer Interop

− Recursos− Databases: “todo mundo conhece SQL”− Filesystem: aqui o XML é seu amigo− Filesystem: serialização de objetos

− In-Process− Maquina virtual: Mono, IKVM− Bridges: Gera proxies JNI, C++/CLI, JNBridges, J-

Integra .NET

− Out-of-Process− Protocolos: HTTP , SMTP/POP3, sockets− REST: aproveitando a infra-estrutura da web− Webservices: WCF, GlassFish Metro, Axis2

Page 11: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

WebServices

WebServices

Serviço

Componente deNegócio

DALC

Cliente Internet

HTTP/HTTPS

SOAP

Page 12: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

WS-* Padrões para integração de Web Services

WS-* é um grupo de especificações que definem a forma com que as informações são trocadas entre os clientes e serviçosüü

WS-* define como a segurança, transação, endereçamento e confiabilidade das informações são transmitidasüü

WS-* é a base para a interoperabilidade de serviços Webüü

SOAP WS-Addressing WS-Security WS-Trust WS-Coordination

WS-Discovery WS-Reliable Messaging WSDL WS-Federation WS-Policy

Page 13: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

Tecnologias

WindowsCommunicationFoundation

GlassFishMetro

Page 14: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

Links de Interoperabilidade

Microsoft & Java Interop http://java.interoperabilitybridges.com/

Microsoft Bridges - http://www.interoperabilitybridges.com/

Microsoft Interop - http://www.microsoft.com/interop/

EZJCOM – http://www.ezjcom.com/

J-Integra – http://j-integra.intrinsyc.com/

JNBridge – http://www.jnbridge.com

Page 15: Aplicações podem/devem trabalhar em conjunto Plataformas diferentes Linguagens diferentes Fabricantes diferentes Versões diferentes Colaborar, integrar,

Obrigado!