java developer's conference - egypt - publish.pptx - MSDN Blogs

wispxylopolistInternet and Web Development

Aug 7, 2012 (4 years and 11 months ago)

442 views

.NET AND JAVA
INTEROPERABILITY

Pooya


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


Interop

Beyond .NET

Open Source

Cool Stuff

Background

Velocigen

Inc

High performance CGI engine (C++, Perl,
Tcl
)

XML processing engine


pre
-
cursor to ESB

Velometer

(Java open source web testing tool)


Blue Titan Inc

Web
Services Governance

Management

Routing 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.NET

Web Forms Web Services

Windows

Forms

Common Language Specification

VB

C++

C#

IronPython

J#

Visual
Studio

Comparing the Stacks

What they have in common

abstract stack machines (runtime type control,
exception handling, garbage collection)

rich base class libraries

The
most obvious difference

Java 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 generics

Java has added annotations (analogous to .NET’s
attributes)





http

server

Browser

Containers

EJB Server

Data

Java Platform/.NET Framework

JDBC

App Server

Entity

Bean

HOME

REMOTE

Device

HTTP

JVM

HTML, XML

any OS

Servlet

or

JSP

Session

Bean

Context

Security

Transactions

Concurrency




IIS

Browser

.NET Framework

Data

ADO.NET

Device

HTTP

HTML, XML, SOAP

Windows

ASP.NET

or

ISAPI

Context

Security

Transactions

Concurrency

Managed

Object

Managed

Object

Rich GUI

client

RMI

Rich GUI

client

Web Svc,

Remoting

Interop: many alternatives

.NET Application

Windows Communication

Foundation

Java application

EJB

BizTalk

Server

JMS

EJB

JAX
-
WS,

JAXB

ActiveX


Bridge

JMS

J
-
Integra
,

Visibroker
,

JNBridge

JACOB
,

JaWin

COM

Interop

JNI

Remoting

channel

IIOP

SOAP

ASP.NET

&

WSE

WS
-
* / SOAP / HTTP

.NET

Remoting

File System

File

System

Database


Data

Store

Middleware / Queues

Middleware

/ Queue

Remoting

-

Integration
with Java via IIOP

Intrinsyc’s

J
-
Integra Espresso
product

Next version will integrate IIOP as a WCF channel

Current 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 Series

Middleware


Biztalk
,
Websphere

UI
-

shared session state and shared authentication

Remoting

Web 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

Application

Concepts

XML is the key

XML

Transports
HTTP

XML
XML, XSD, XPath

Messaging
SOAP, MTOM, WS
-
Addressing

Security

WS
-
Security

WS
-
Trust

WS
-
Secure

Conversation

WS
-
Federation


Reliability

WS
-
Reliable

Messaging

Transactions

WS
-
AtomicTransaction

WS
-
Coordination

Metadata

WSDL, WS
-
Policy,

WS
-
MetadataExchange

WS
-
*
Advanced Standards

Broad industry support

WS
-
* Architecture

Assurances

Messaging

SOAP

WS
-
Security

MTOM

WS
-
Addressing

Metadata

WS
-
Policy

WSDL

W
S
-
Discovery

UDDI

WS
-
Metadata

Exchange

WS
-
Transfer

WS
-
Enumeration

WS
-
Eventing

XML Schema

WS
-
Reliable

Messaging

WS
-
Coordination

WS
-
Atomic

Transaction

WS
-
Business

Activity

WS
-
Trust

WS
-
Secure

Conversation

>
Infrastructure

and Profiles

WS
-
Management

WS
-
Federation

Devices

Profile

Foundation

SOAP / HTTP

SOAP / UDP

MIME

XML
Infoset

XML 1.0

XML

Namespaces

Windows Communication
Foundation Introduction

WS
-
* Standards support

Write once expose multiple ways


WS
-
*

HTTP

TCP/IP



REST

JSON

Windows Communication Foundation





API

ASMX & WSE





.NET
Remoting





Enterprise
Services





System. Messaging





API

Unifying Communication

WCF

Applications

.NET Framework 2.0

MSMQ


SOAP & WS
-
*


Remoting


protbinaryocol

DCOM


Protocol

Others


SOAP & WS
-
*


WCF binary

protocol

MSMQ


Protocol

Applications

.NET Framework 3.0

WS
Interop

Pulg
-
Fests

Interoperability Workshops

Companies 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

SOAP

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
partnership

A part of Sun’s Glassfish initiative (open source JEE5
server
)


Project Metro

Goal:

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 routing

WS
-
Security, WS
-
Trust, WS
-
SecurityPolicy

for secure messaging

MTOM and XOP for attachment encoding

WS
-
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 Trust

Oracle

Microsoft

STS

STS

Metadata Exchange

Jean
-
Luc Picard

(Excel, WCF)


Data

(Oracle Fusion Middleware)

MEX

T

MEX

WS
-
Trust

Interop

Beyond .NET

Open Source

Cool Stuff

Beyond .NET

SQL

Sharepoint

Office

Silverlight

1.0 + 2.0

Live Services

Live Maps

Messenger




SQL


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

BizTalk

Server

SOAP

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

Server

Desktop

Silverlight

(1.0)


MLB.com


Silverlight

on top of JSP


through
javascript


Javascript

can access
Silverlight

Objects

HTML +
Javascript


Interop

options


lots of them

Shared files

Shared database between .NET and J2EE

Queues


MSMQ, IBM MQ Series

Middleware


Biztalk
,
Websphere

UI
-

shared session state and shared authentication

Remoting

Web services

This is the key one

Standards


Resources

Microsoft
Interop

Portal:

http://www.microsoft.com/interop


MSDN Web Services Interoperability Home Page

http://msdn.microsoft.com/webservices/building/interop

MSDN
.Net
/Java Interoperability Home Page

http://msdn.microsoft.com/vstudio/java/interop

Microsoft Public Web Services
Interop

Tests

http://mssoapinterop.org/ilab/

Windows Communication
Foundation

http
://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

WPF

Silverlight

2.0

Photosynth


Popfly

Surface


Labs.live.com


© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be re
gis
tered 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
dat
e 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 pr
ovi
ded 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