Web Services
Download
Report
Transcript Web Services
Sun Professional Services
J2EE vs. .NET
Joseph Williams, Ph.D.
Chief Technology Strategist
Sun Professional Services
Sun vs. Microsoft
True interoperability is only going to be
achieved if the major players –
including Sun and Microsoft – work
together
We are trying…
…. and it really isn’t all that bleak a
situation
The WS-I Blockade
The Web Services Interoperability (WS-I) organization
Sun was only informed of the WS-I's existence by IBM
48 hours ahead of the WS-I's February 6 launch.
That's hardly enough time to do the
necessary due diligence when a chief
competitor approaches you about joining
an industry group
By contrast, Oracle had been invited to join in early
January.
Sun immediately requested a board seat on the WS-I
IBM pushing Sun membership
Last week we announced we were joining after
Microsoft agreed to the creation of 2 new board seats
The Liberty Alliance
By sharp contrast to Microsoft’s
behavior on the WS-I we have
specifically invited Microsoft to join the
Liberty Alliance
Microsoft wants to own everyone’s
data through its proprietary Passport
service
Liberty Alliance, by contrast,
standardizes identity management
exchanges but leaves companies free
to implement and maintain data
The Historic Sun Vision
Sun has always had a services view of
the network (part of our “The Network is
the Computer” vision)
The concept of building services on and
around the Web and the network is really
all that the network is about.
Java (and J2EE) has always been
about delivering services via the web
Which is why Java has always been the
platform of choice
Apples and Oranges
Openness of the Platform APIs
Availability of Vendor Products
Architectural Dependencies of each
Platform
Can't exactly compare .NET to J2EE
J2EE Environment Facts
Compatible
across many available
Platforms- No Vendor Lock-In
Ample choices of vendors and tools
Mix and Match of BOB components
– Freedom of choice
Open standard & support from the
industry – Industry Standard
Industry Support of J2EE
Over
30 J2EE platform providers
15+ Certified J2EE App Servers on
www.sun.com
500+ JCP members
SAP, Sybase, Oracle, IBM, BEA, Iona,
SilverStream, ATG ……
Best of the Breed approach
Gartner’s Research
Findings
Java
usage has not merely become
more widespread - it has become a
mainstream platform for e-business IT
efforts.
80% adopted Java, 14% responded "not
yet.“
70% of the Java adoptions are > 2 years
Beyond
stage
experimental and prototyping
Has Sun lagged on Web
Services?
Not really
If you stack up the facilities available in
J2EE in the marketplace, it's way
ahead of .Net and always has been.
Yes, Microsoft had a way of doing XML
process-to-process communication
before Sun shipped one.
But we've been shipping one for
awhile.
J2EE as Web Service
Platform
75% of the developers would choose
J2EE as the platform for Web Services
– Web Services Journal
The FUD around the Java Pet Store
Microsoft picked on demo code that was never
designed to be benchmarked
See http://www.ibatis.com/jpetstore/jpetstore.html
Oracle’s Java Pet Store was 22 times faster than
.NET
The Blow-by-Blow
WSDL: Both J2EE and .NET support
UDDI
.NET: first implemented in DISCO, now
thorugh the .NET UDDI server
J2EE: implemented in the Java API for
XML Registries (JAXR)
SOAP
.NET: Variously implemented in SOAP
message classes, MSXML, ASP, ISAPI,
etc.
J2EE: implemented in the Java API for
XML-based RPC (JAX-RPC)
Comparing .NET to J2EE
.NET
Programming Language C#
Interpreted Language
MSIL
Runtime Environment
CLR
Rich-Client
VB.NET
Web Presentation
ASP.NET
????
Business Services
DB Integration
ADO.NET
Messaging Integration MSMQ
Legacy Integration
COM TI
J2EE
Java
Java Bytecode
JVM/JRE
Swing
JSP/Servlets
EJBs
EJB-SQL/JDBC
Msg EJBs/JMS
JCA
Web Services with J2EE
platform
Applets
Browser
J2EE
Platform
Legacy
Systems
Java
Apps
Web Services
Pack
WS
Apps
Data
Sources
Other
Systems
Java Web Service Model
Platform Layer
Is J2EE XML-friendly?
One of the things that we hear a lot is people
saying we don't support XML because it's not
native in J2EE.
If you look at the J2EE 1.3 spec, it didn’t say
you must have XML
But XML has been available as a drop-in plug-in
for a very long time
Sun was one of the authors of the XML spec
All of the original XML parsers were all written in
Java
In fact, Microsoft was somewhat late to the
game in XML.
What about SOAP in JDK
1.4?
Just Microsoft FUD
At a very real level, Native SOAP
support in Java is meaningless
It just isn’t bundled in the JDK
But it is enabled through the plug-in of
Java APIa
Besides, SOAP is Native in the Java
SDK 1.5 edition
A hard look at .NET
Microsoft.NET (formerly Next Generation
Windows Services) is the umbrella term
for the Microsoft strategy to move from a
client-centric model to a network-centric
model.
It took Microsoft a while to come around
to this point of view
Microsoft’s core services platform didn’t
appear until late in the Windows 2000
cycle
Sun has been preaching “the network is
the computer” for the past decade
.NET isn’t working
On Wednesday, July 24 Bill Gates
admitted that .NET hasn’t gotten the
traction he had hoped for against J2EE
Microsoft customers have called the company's marketing
plan confusing. Microsoft largely rebranded existing
products under the .Net label but added little new
technology
"Maybe the .Net Enterprise servers," launched in
September 2000, were "prematurely called .Net. The first
generation of .Net products was putting a layer on top of
existing functionality," Gates said.
See
http://www.microsoft.com/billgates/speeches/2002/0
7-24netstrategy.asp for Bill’s remarks
A Hard look at Microsoft
A Typical week in the life of a monopolist
An issue is whether the open-source .Net projects
will be legal or illegal for commercial use.
Microsoft is deferring patent questions to the
European Computer Manufacturers Association (ECMA.
The danger in all this is that if projects such as
Mono cannot use the CLI, their products will be
rendered unable to operate on a cross-platform
basis. (Reported Aug 5)
THE FEDERAL TRADE Commission (FTC) said Thursday
(Aug 8) that it has reached a settlement with
Microsoft Corp. over misrepresentations of the
privacy and security of the company’s Passport
Internet sign-on service, Passport Wallet and Kids
Passport.
Microsoft's implementation of SSL (Secure Sockets
Layer) certificate handling makes it possible for
anyone with a valid VeriSign SSL site certificate to
forge any other VeriSign SSL site certificate, and
abuse Internet Explorer users with impunity.
(Reported Aug 12)
J2EE vs .NET: The
Communities
J2EE is a market, .Net is a product.
In the J2EE world there are
hundreds of companies with
components and tools and app
servers
The way it's organized, the
community actually controls what
happens.
It isn't just dictated to them
Hailstorm: MS’s Original view of Web
Services Implementation
Users must log in through Microsoft’s
Passport authentication service
Services are fee-based
Runs on Microsoft servers; an issue
because of Microsoft’s
famous security weaknesses
attitudes towards privacy (see current
MSN flap)
reliability
Target here appeared to be AOL
.NET – The world would
have run through Microsoft
What about Performance?
Microsoft’s Fabio Yeon has published
(http://www.gotdotnet.com/team/asp/ASP.NET Performance Tips and Tricks.aspx) a
“how-to” guide for manipulating .NET
peformance results
Basically, very easy to manipulate
performance results in ways that have
nothing to do with the reality of web
services
Java Performance
JSDK
1.3 is 10x faster than JSDK 1.0, and
~1.5x slower than C/C++ in average.
Performance overhead on run-time
checking, stronger OO support, garbage
collector …
Our experience – most of the poor
performances are due to poor Architecture &
Implementation.
Proper Architecture design and code
tweaking – 10% code run 90% of the time.
For Web applications – network
communication is the killer
-
Evaluating Java for Game Development – University of Copenhagen
.Net for the front end and
Java on the back end?
It's certainly the case that Microsoft
has a monopoly on the client
Microsoft does have easy tools for the
client
It actually is easy it is to write client
software on the PC in Java.
You say “Po-tay-to, I say Po-tah-to”
J2EE is an open source solution that
has a much wider choice of vendor
implementations
Since it was a pre-existing platform it is
being extended to cover Web Services
Enormous comfort in doing so by the
major ISVs
.NET was in fact engineered with Web
Services in mind but with a view of the
world that is Microsoft dominated
ebXML
It is a global business standard for
defining a framework for conducting
B2B transactions based on XML
templates
Sponsored by the UN and OASIS
Sun sees ebXML as foundational to
B2B web services
Microsoft vacilates: “ebXML has a
narrow focus”… “Will ebXML even be
around in four months?”
Clearing the table
Louis Columbus, Senior Analyst, AMR
Research:
“The pervasiveness of J2EE on both the
sell-side and buy-side of e-commerce
initiatives translates into a challenge of
execution for Microsoft and their .NET
strategy. Today J2EE means to many
people having an agnostic platform;
Microsoft’s challenge is to promote .NET
and still have the concept of platform
freedom ringing true.”
Sun Professional Services
[email protected]