aplicações podem/devem trabalhar em conjunto plataformas diferentes linguagens diferentes...
TRANSCRIPT
Interoperabilidade entre .NET e Java
William SchwartzEspecialista em Desenvolvimento
O que é Interoperabilidade?
Aplicações podem/devem trabalhar em conjunto
• Plataformas diferentes
• Linguagens diferentes
• Fabricantes diferentes
• Versões diferentes
Colaborar, integrar, interoperar
Por que optar por Interoperabilidade?
Colaboradores Clientes ColaboradoresClientes
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)
Cenários de interoperabilidade
JEE
.NET
Apresentação DadosNegócio
cliente
JSPsServlets
POJOsEJBs
ASP.NETPOCOsPONOsESCs
Database
OutrosRecursos
Database
JEE
.NET
Apresentação DadosNegócio
Cenário 1: Camada de Apresentação
cliente
JSPsServlets
POJOsEJBs
ASP.NETPOCOsPONOsESCs
Database
OutrosRecursos
Database
JEE
.NET
Cenário 2a: Camada de Negócio
Apresentação DadosNegócio
cliente
JSPsServlets
POJOsEJBs
ASP.NETPOCOsPONOsESCs
Database
OutrosRecursos
Database
JEE
.NET
Cenário 2b: Camada de Negócio
Apresentação DadosNegócio
cliente
JSPsServlets
POJOsEJBs
ASP.NETPOCOsPONOsESCs
Database
OutrosRecursos
Database
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)
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
WebServices
WebServices
Serviço
Componente deNegócio
DALC
Cliente Internet
HTTP/HTTPS
SOAP
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
Tecnologias
WindowsCommunicationFoundation
GlassFishMetro
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
Obrigado!