57
.NET AND JAVA INTEROPERABILITY

NET AND JAVA INTEROPERABILITY. Pooya

Embed Size (px)

Citation preview

.NET AND JAVA INTEROPERABILITY

Pooya

http://blogs.msdn.com/pooyad/

>Interop

>Beyond .NET

>Open Source

>Cool Stuff

Background

Velocigen IncHigh performance CGI engine (C++, Perl, Tcl)XML processing engine – pre-cursor to ESBVelometer (Java open source web testing tool)

Blue Titan IncWeb Services Governance

ManagementRouting and Reliability…

J2EE

Operating System

Java Virtual Machine

Java Base API (AWT, IO, Collections, etc.)

Java Extension API (javax.*)

Java Enterprise API (EJB, JSP, JDBC, JNDI, JTS, etc.)

Java Language

.Net Framework

Operating System

Common Language Runtime

Base Class Library

ADO.NET and XML

ASP.NETWeb Forms Web Services

WindowsForms

Common Language Specification

VB C++ C# IronPython J#V

isu

al S

tud

io

Comparing the Stacks

What they have in commonabstract stack machines (runtime type control, exception handling, garbage collection)rich base class libraries

The most obvious differenceJava supports one language on multiple OS.Net is language neutral (20+ supported) on one OS

The main .NET languages (C#/VB) and Java are advancing along similar paths, e.g.

Both now have genericsJava has added annotations (analogous to .NET’s attributes)

httpserver

Browser

Containers

EJB Server

Data

Java Platform/.NET FrameworkJDBC

App Server

EntityBean

HOME

REMOTE

DeviceHTTP

JVM

JDBC

HTML, XML

any OS

Servletor

JSP RMI/IIOP

Session Bean

Context

Security

Transactions

Concurrency

IIS

Browser

.NET Framework

DataADO.NET

Device

HTTP

ADO.NET

HTML, XML, SOAP

Windows

ASP.NETor

ISAPI

Web ServiceMSMQRemoting

Context

Security

Transactions

Concurrency

ManagedObject

ManagedObject

Rich GUIclient RMI

Rich GUIclient

Web Svc,Remoting

Interop: many alternatives.NET Application

Windows Communication Foundation

Java application

EJB

BizTalkServer

JMSEJB

JAX-WS, JAXB

ActiveX Bridge

JMS

J-Integra,Visibroker,JNBridge

JACOB, JaWin

COMInterop

JNI

Remotingchannel

IIOP

SOAP

ASP.NET &WSE

WS-* / SOAP / HTTP

.NETRemoting

File System

IO

File

System

Database

ADO.NET

Data

Store

Middleware / Queues

Middleware / Queue

Remoting - Integration with Java via IIOP

Intrinsyc’s J-Integra Espresso productNext version will integrate IIOP as a WCF channelCurrent version links .NET to CORBA ORB via .NET Remoting

Other ISV products that use .NET Remoting as the bridge:

JNBridge Pro , Borland Visibroker , Open Source IIOP.NET

Interop options

Shared database between .NET and J2EE Queues – MSMQ, IBM MQ SeriesMiddleware – Biztalk, WebsphereUI - shared session state and shared authentication RemotingWeb services

Web services to the rescue

Web Services as Component Object Model

Data

Schema

Services

Invocation

Framework

Objects

Classes

Methods

Calls

Standards

XML

XSD

WSDL

SOAP

ApplicationConcepts

XML is the key

XML

Transports HTTP

XML XML, XSD, XPath

Messaging SOAP, MTOM, WS-Addressing

SecurityWS-Security

WS-Trust

WS-Secure

Conversation

WS-Federation

ReliabilityWS-Reliable

Messaging

TransactionsWS-AtomicTransaction

WS-Coordination

Meta

data

WSD

L, W

S-P

olic

y,

WS-M

eta

data

Exc

hange

WS-* Advanced StandardsBroad industry support

WS-* Architecture

Assurances

Messaging

SOAP

WS-Security

MTOMWS-Addressing

Metadata

WS-Policy

WSDL

WS-Discovery

UDDI

WS-Metadata

Exchange

WS-Transfer WS-EnumerationWS-Eventing

XML Schema

WS-Reliable

MessagingWS-Coordination

WS-Atomic

Transaction

WS-Business

Activity

WS-Trust

WS-Secure

Conversation

> Infrastructure

and ProfilesWS-ManagementWS-Federation

Devices

Profile

Foundation

SOAP / HTTP

SOAP / UDP

MIME

XML Infoset

XML 1.0XML

Namespaces

Windows Communication Foundation Introduction

WS-* Standards supportWrite once expose multiple ways

WS-*HTTPTCP/IP…

RESTJSON

Windows Communication FoundationAPI

ASMX & WSE

.NET Remoting

Enterprise Services

System. MessagingAPI

Unifying CommunicationWCF

Applications

.NET Framework 2.0

MSMQSOAP & WS-*

Remoting

protbinaryoco

l

DCOMProtocol

OthersSOAP & WS-*

WCF binary

protocol

MSMQProtocol

Applications

.NET Framework 3.0

WS Interop Pulg-Fests

Interoperability WorkshopsCompanies attending:

BEA Canon Iona Jboss Microsoft Corporation Nokia Oracle Reactivity Sonic Software Sun Microsystems WSO2 (Apache)…

Does it really work?

.NET StockTrader Example

http://msdn2.microsoft.com/en-us/vstudio/bb499684.aspx

Equivalent to IBM Websphere 6.1 Stock Trader application

Same services exposed

Web UI

Services Layer

SO

AP

True Interop

Services in the application are exposed, via WCF, as industry-standard Web Services.

The .NET StockTrader Web application seamlessly interoperates with the backend J2EE services of the WebSphere Trade 6.1 application

Conversely, the WebSphere Trade 6.1 Web application is able to seamlessly utilize the backend services of the .NET StockTrader. In each case, a simple endpoint configuration allows this interoperability, with no code changes required to either application.NET StockTrader and J2EE Interoperability

How about something more

complex?

Project Tango (WSIT)Sun-Microsoft partnershipA part of Sun’s Glassfish initiative (open source JEE5 server) – Project MetroGoal: Java™ technology Web Services interoperability with .NET 3.0. (showcased at JavaOne)

Accomplished by fully interoperable implementations of:

WS-Addressing, WS-Transfer, WS-MetadataExchange and WS-Policy for discovery and routingWS-Security, WS-Trust, WS-SecurityPolicy for secure messagingMTOM and XOP for attachment encodingWS-ReliableMessaging, WS-Coordination and WS-AtomicTransaction for reliability and transactions

For more information: http://java.sun.com/developer/technicalArticles/glassfish/ProjectTango/

Project Tango - WSIT Demo

Try it on your own: (bits are available)http://blogs.sun.com/arungupta/entry/excel_using_wsit_javaone_2007

Scenario: Excel 2007 accessing webservices running in Glassfish

WS-Security - Kerberos

Excel calling Java webservice

SOAP

.NET Client calling Java Webservice

Before Project Tango

WS-Trust

Federated TrustOracleMicrosoft

Secure, RM, MTOM

STSSTS

Metadata Exchange

Jean-Luc Picard(Excel, WCF)

Data(Oracle Fusion Middleware)

MEX

<policy/>

T

MEXWS-Trust

>Interop

>Beyond .NET

>Open Source

>Cool Stuff

Beyond .NET

SQLSharepointOfficeSilverlight 1.0 + 2.0Live Services

Live MapsMessenger…

SQL

ADO.NET

SQL 2008

.NET – Java Portal Integration.NET Application

BEA Weblogic

Weblogic Portal 8.1 SP3

WSRP Framework

WSRP / SOAP

ASP.NET / WSE

NetUnity WSRP .NET Framework™

JAX / Web Services Framework

BizTalkServerSOAP

WCF

.NET XML / XSLT

Office as a Development Platform

Open Office XML

Excel demo – Project Tango

Word demo – OOXML

OOXML Interop Demo

DB

VM

Linux OS

Web Server

Tomcat JSP

Application

IE

Windows OS

Word 2007

1. Generate Document

3. Edit Document

4. Upload

5. Publish to Web

6. View in Browser

2. Download

ServerDesktop

Silverlight (1.0)

MLB.com

Silverlight on top of JSP – through javascript

Javascript can access Silverlight ObjectsHTML + Javascript

Interop options – lots of them

Shared filesShared database between .NET and J2EE Queues – MSMQ, IBM MQ SeriesMiddleware – Biztalk, WebsphereUI - shared session state and shared authentication Remoting

Web servicesThis is the key oneStandards

Resources Microsoft Interop Portal:

http://www.microsoft.com/interop

MSDN Web Services Interoperability Home Pagehttp://msdn.microsoft.com/webservices/building/interop

MSDN .Net/Java Interoperability Home Pagehttp://msdn.microsoft.com/vstudio/java/interop

Microsoft Public Web Services Interop Testshttp://mssoapinterop.org/ilab/

Windows Communication Foundationhttp://msdn.microsoft.com/webservices/indigo/

Web Services Interoperability Blogs

http://pluralsight.com/blogs/kirillg/ http://blogs.cocoondev.org/dims/index.rdf

>Interop

>Beyond .NET

>Open Source

>Cool Stuff

Open Source Initiatives

home to the open source community at Microsoft. This represents an open conversation dedicated Linux, Windows and open source interoperability

CodePlex is Microsoft's open source project

hosting web site. Start a new project, join an

existing one, or download software created

by the community.

>Interop

>Beyond .NET

>Open Source

>Cool Stuff

Cool Stuff

WPFSilverlight 2.0Photosynth PopflySurface

Labs.live.com

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

http://blogs.msdn.com/pooyad