e-business on demand Competitive Technology Seminar RMI-IIOP EJB Container J2SE J2SE JTA JMS JAAS...

46
e-business on demand Competitive Technology Seminar Why WebSphere/J2EE Is Better Than .NET

Transcript of e-business on demand Competitive Technology Seminar RMI-IIOP EJB Container J2SE J2SE JTA JMS JAAS...

e-business on demandCompetitive Technology Seminar

Why WebSphere/J2EE Is Better Than .NET

CTS6-05 Why WebSphere is Better.ppt 2

.NETWebSphere/J2EE

Which one is best on the servers?

Selecting a Foundation for Your Server Infrastructure

CTS6-05 Why WebSphere is Better.ppt 3

? 50,000 customers worldwide? 2,800+ active ISV solutions running on WebSphere? 1M+ registered WebSphere developers? 93 out of Fortune 100 companies? Top 45 worldwide commercial and savings banks? 14 out of top 15 worldwide telecommunications firms? All 13 worldwide pharmaceutical companies? #1 in marketshare

WebSphere/J2EE Enjoys Strong Customer Adoption

CTS6-05 Why WebSphere is Better.ppt 4

Why WebSphere/J2EE is Better Than .NET

? Runs on any platform, including Linux? Strong distributed processing environment? Container concept makes programming easier? WebSphere maturity avoids 5 years of .NET rollout misery? Web services – better quality of support? Better performance in real-world workloads? Lower cost? Tighter security? Tooling provides greater programmer productivity

Best Server-Side Environment

CTS6-05 Why WebSphere is Better.ppt 5

Windows

WebSphere Application

Server

Linux

WebSphere Application

Server

UNIX(AIX, HP-UX, Solaris)

WebSphere Application

Server

OS/400

WebSphere Application

Server

zOS

WebSphere Application

Server

J2EE Application

WebSphere Studio

Open standards make it possible to develop

application once, deploy on multiple platforms

WebSphere Enables Platform Portability

CTS6-05 Why WebSphere is Better.ppt 6

AppletAppletContainerContainer

AppletApplet

J2SEJ2SE

ApplicationApplicationClientClient

ContainerContainerApplication Application

ClientClient

J2SEJ2SE

RMI-IIOP

DatabaseDatabase

Client-Side

Server-SideHTTPSSL

HTTPSSL

Web ContainerWeb Container

JSP PageJSP Page ServletServlet Enterprise Enterprise JavaBeanJavaBean

RMI-IIOP EJB ContainerEJB Container

J2SEJ2SE J2SEJ2SEJT

AJT

A

JMS

JMS

JAA

SJA

AS

JavaJavaMailMail

JAFJAF

Connectors

Connectors

JAX

PJA

XP

JDB

CJD

BC

JavaJavaMailMail

JAFJAF

JMS

JMS

JAASJAAS

JAXPJAXP

JDBCJDBC

(browser)(browser)

JTA

JTA

JMS

JMS

JAA

SJA

AS

Connectors

Connectors

JAX

PJA

XP

JDB

CJD

BC

J2EE Platform

CTS6-05 Why WebSphere is Better.ppt 7

J2EE Feature/API Description v1.2 v1.3 v1.4Applet Java client delivered via browserApplication Client Java client run on native OSJSP Server-side presentation logicServlet Control business logic executionEJB Business logic, data encapsulationJNDI Naming and directory servicesRMI-IIOP Remote object accessJTA Transaction servicesJavaMail Create/retrieve e-mail messagesJAF E-mail MIME type supportJDBC Connect to relational databasesJMS Appl.-to-appl. messagingJ2EE CA Connect to external resourcesJAX-P Java-XML parsing/processingJAAS Authentication, authorization JACC Connect to external authorizationWebServices for J2EE Web services deployment, executionJAX-RPC Client access to Web servicesSAAJ Manipulate SOAP attachmentsJAX-R Access to XML registries (UDDI)Management API Management tools/runtime interfaceJMX Distributed managementDeployment API Deployment tools/runtime interface

Application Components

Transactions

Data and Application Access

E-Mail Access

Security

Web Services

Management

DirectoryObject Access

WebSphere Application Server V5.0 certified for J2EE v1.3, includes some v1.4 support

J2EE Standards

CTS6-05 Why WebSphere is Better.ppt 8

DEMO: Friendly Finance is Open for Business 24x7

?A look at the web site?Customer service functions? Log in? Account Management

Linux deployment

Windows deployment

CTS6-05 Why WebSphere is Better.ppt 9

That makes sense

Friendly Finance

IBM

A Good Strategy

Going forward, you should never develop another server side application that doesn’t have deployment flexibility

CTS6-05 Why WebSphere is Better.ppt 10

Some Enabled with .NET Interfaces

Implementations are Still Older Technology

Bundled in Windows Server 2003

Enables new applications to run in .NET execution environment

Represents 2% of total code base

SQLServer

ExchangeServer

HostIntegration

Server

BizTalkServer

CommerceServer

Application Center

(Clusters)

SharepointPortalServer

Internet Security and Accelerator

Server

MobileInformation

Server

ContentManagement

Server

WIN32

MSMQ MTS/COM+

.NET Framework

IIS WMI

Microsoft Middleware and the .NET Framework

CTS6-05 Why WebSphere is Better.ppt 11

.NET Execution Engine based on Microsoft Intermediate Language (MSIL)

Data Access, XML, and Internet access

Support for server or desktop applications

Programming languagesVB.NET,C#,C++,JScript.NET

Web Services

Windows User Interface

ASP.NET

Base Classes

Common Language Runtime

MSMQ MTS/COM+ IIS WMI

Win32

ADO.NET

WebForms

XML Network

Server Application Desktop Application

Microsoft .NET Framework

CTS6-05 Why WebSphere is Better.ppt 12

Server Side Programming Model .NET WebSphere/J2EE

Abstracted Runtime Environment CLR JVM

Abstract Instruction Set MSIL Byte Code

Native Compilation JIT JIT

Object Introspection Yes Yes

Garbage Collection Yes Yes

Exception Handling Yes Yes

Type Safety Yes Yes

Persist Session State Yes Yes

Data Connection Pooling Yes Yes

Replace Server Components at Runtime

Yes Yes

New! 4 Years Ago

CLR - Common Language Runtime, MSIL - Microsoft Intermediate Language, JVM - Java Virtual Machine

New .NET Capabilities Trail Java by 4 Years

CTS6-05 Why WebSphere is Better.ppt 13

How do I manage transactions?

How do my applications find the components they need?

How do I easily access other applications and data in a consistent manner?

How do I orchestrate multiple Web services in my application?

How do I optimize for performance?Which platform helps me best deal with these challenges?

Friendly Finance

Challenges in Implementing Today’s on demand, Server-Side Applications

CTS6-05 Why WebSphere is Better.ppt 14

WebSphere Provides Stronger Environment for on demand Applications

? Transactions? J2EE designed from the ground up to support distributed

transactions (JTS, JTA)? .NET doesn’t have this support; must rely on legacy COM+

services

? Location Services? J2EE has JNDI directory services to find remote objects? .NET remote calls hardcode location of remote objects

? Connection Architecture? J2EE has J2EE Connector Architecture? .NET has no standalone architecture for connecting to

enterprise systems

CTS6-05 Why WebSphere is Better.ppt 15

WebSphere Provides Stronger Environment for on demand Applications (cont’d)

? Connectivity? WebSphere has broad MQ reach, high-performance message

broker to connect to virtually all systems and applications? .NET lacks MQ reach and has no high-performance broker

? Web Services? WebSphere has extended Web services with Service-

Oriented Architecture (SOA) concepts? .NET has no equivalent SOA construct? WebSphere has easier tooling to expose existing programs ? WebSphere Web Services Gateway makes it easy to manage

deployed Web services? Performance

? WebSphere scales well to multi-tier deployments? .NET best practices recommend single-tier deployment

CTS6-05 Why WebSphere is Better.ppt 16

? Code to efficiently manage program resources in a shared environment is complex and tedious

? Container frees the programmer from this work by providing these services transparently and declaratively

? Eliminate programmer-induced errors

DatabaseDatabase

Web Web ContainerContainer

JSP PageJSP Page ServletServlet Enterprise Enterprise JavaBeanJavaBean

RMI-IIOP EJB EJB

ContainerContainer

J2SEJ2SE J2SEJ2SE

JTA

JTA

JMS

JMS

JAA

SJA

AS

JavaJavaMailMailJAFJAF

Connectors

Connectors

JAX

PJA

XP

JDB

CJD

BC

JavaJavaMailMailJAFJAF

JTA

JTA

JMS

JMS

JAA

SJA

AS

Connectors

Connectors

JAX

PJA

XP

JDB

CJD

BC

.NET has no container concept

Container Concept Makes Server-Side Programming Easier

WebSphere Containers

CTS6-05 Why WebSphere is Better.ppt 17

Services Managed by the WebSphere J2EE Container

? Transactions (Container Managed Transactions)? Guarantees that each method executes within a transaction as configured ? Automatically starts, commits, and rolls back transactions

? Data integrity in multi-user environment (Container Managed Persistence)? Automatically loads and saves data upon transaction boundaries as

configured with “access intents.”? Automatically protects data accessed concurrently by multiple users

? Transparent performance optimizations? Caching and pooling

? Remote method calls? Automatically marshals data to remote containers

? Security ? Automatically enforces authorization and delegation policies

? Asynchronous Messaging? Automatically handles asynchronous in-coming messages via message

driven beans (MDBs)

CTS6-05 Why WebSphere is Better.ppt 18

It’s Smart To Use a Container

? Less coding required? Application programmers do not have to repetitively write difficult

code for each application? Declarative configuration encourages reuse of EJBs

? Fewer bugs? Resource management in multi-user environment is complex,

is more likely to have bugs than business code, and those bugs are more difficult to correct

? More flexible administration? Declarative configuration means that administrators can change

policy without waiting for a programmer to make code changes

These are advantages over .NET

CTS6-05 Why WebSphere is Better.ppt 19

DATABASE COLLABORATE

HOSTINTEGRATION

FLOWS COMMERCE

CLUSTER PORTAL EDGE PERVASIVECONTENTPUBLISH

WIN32

MQ Transactions

.NET Framework

HTTP UI

WIN32 / Linux / Unix / zOS / OS400

DATABASE COLLABORATE

HOSTINTEGRATION

FLOWSCOMMERCE

CLUSTER PORTAL EDGE PERVASIVECONTENTPUBLISH

J2EE Environment

MQ Transactions HTTP UI

Microsoft’s server environment will be unstable for the next 5 years because the remaining 98% of code has to be

re-implemented in .NET

A complete server platform, all built on J2EE, provides a stable environment

going forward

2%

.NET Is Way Behind IBM In Platform Build-Out

CTS6-05 Why WebSphere is Better.ppt 20

WebSphere has a single, consistent programming model, based on open standards

One Consequence:Three Different Sub-Environments

? .NET Objects (NEW) ? New object model and Common Language Runtime? Runs new applications only

? COM Objects (LEGACY)? Legacy code represents 98% of Microsoft's current code base? Still used by Microsoft's "back office" servers

? Serviced Components (NEW+LEGACY)? .NET object that uses older COM+ services for transactions? Different operational characteristics

CTS6-05 Why WebSphere is Better.ppt 21

COMTI Component BuilderCOMTI ManagerCOMTI Runtime Environment

.NET

.NET Components

COMTI Environment

COM

Visual Studio .NET

Windows .NET Server

.NET Developer COM/COMTI Developer

Host Integration

ServerCICS (ECI)

IMS

User

ServicedComponent

Example: Three Object Models on the Server

CTS6-05 Why WebSphere is Better.ppt 22

Working With Three Programming Models on the Microsoft Server Side

.NETObject

COMObject

ServicedComponent

DeclarativeDeclarativeSource CodeSecurity

ADOData Sets/ADOData Sets/ADOData Access

COM+COM+NoneTransaction Management

DCOMDCOM.NET RemotingRemote Calls

Visual Studio 6.0Visual Studio.NETVisual Studio.NETTools

Windows and COM+ Registries

Windows and COM+ Registries

.NET XCOPY/GACDeployment

COM+ RegistryCOM+ Registry.NET Config FileConfiguration

Cross Call Overhead and Marshalling

These issues don’t occur in WebSphere

CTS6-05 Why WebSphere is Better.ppt 23

Visual Studio

Jupiter

BizTalk

SharePoint Portal

Exchange Server

SQL Server

Windows Server

Office Suite

Windows Client

20072006200520042003200220012000

VS “Longhorn

VS “Oracas”

VS “Whidbey”

VS .NET 2003VS .NETVS 6.0

Phase 2Phase 1

BizTalk 2004

BizTalk 2002

BizTalk 2000

SPPS 2003

SPPS 2001

KodiakCommon data store

Exchange2003

Exchange 2000

SQL 200xYukonSQL 2000

BlackcombW2k3W2k

Office 2003 +VS

ToolsOffice XP

LonghornWin XP

Native COM

Native .NET- Bill Gates, .NET Briefing Day, July 2002

“We knew when we did it, it would be a five to six year effort”

Microsoft Roadmap: 5 Years of Misery

CTS6-05 Why WebSphere is Better.ppt 24

.NET Enterprise Server.NET

Implementation? Runs on Windows Server 2003?

SQL Server 2000 NO Requires Service Pack 3

Commerce Server 2002 NORequires future service pack (behind

schedule)

BizTalk Server 2002 NO Requires Service Pack 1

Exchange Server 2000 NO NO

Application Center 2000 NO Requires Service Pack 2

SharePoint Portal Server 2001 NO NO

Content Management Server 2002 NO Requires Service Pack 1

Host Integration Server 2000 NO No

Internet Security and Accelerator Server 2000 NO

Requires SP 1 and “ISA Server 2000 Required Updates for Windows

Server 2003” package

Microsoft Operations Manager NO Requires Service Pack 1

Still COM implementations!Systems Management Server 2.0 NO Requires Service Pack 5

The Migration Misery Begins Now for NT Server Upgrades

CTS6-05 Why WebSphere is Better.ppt 25

What about Web Services?

IBM

Interoperability is the most important thing

Friendly Finance

Web Services

CTS6-05 Why WebSphere is Better.ppt 26

Web Services – Interoperability

? WebSphere (V5.0.2) has passed the WS-Interoperability test suite

? WebSphere interoperates with numerous Web services providers, including: BEA, Bowstreet, Corillian, Microsoft, Novell, Ouovadx, Sun, and Oracle

CTS6-05 Why WebSphere is Better.ppt 27

WebSphereWeb Service

VB.NETclient

Build client proxy with Visual Studio .NET

Run Time and Development Time Interoperability

Built with WebSphere Studio

Application Developer

UDDI

WSD

L WSDL

XML / SOAP / HTTP

Find WSDL in UDDI

DEMO: Web Services Interoperability

CTS6-05 Why WebSphere is Better.ppt 28

WebSphereApplication

Server

Web Service(SOAP/http)

DEMO:WebSphere Interoperability with Microsoft Office

CTS6-05 Why WebSphere is Better.ppt 29

A Typical Deployment Strategy

WebSphereApplication

Server

Web Service

Windows, LINUX, UNIX, OS/400, zSeries

Browser

Windows, LINUX

.NET Application

Windows

Mobile Devices

HTML/HTTP

Client-Side Server-Side

HTTP

CTS6-05 Why WebSphere is Better.ppt 30

Web Services – Better Quality of Support

? Tools to expose existing code easily

? Declarative security

? Web services gateway

? Service Oriented Architecture built into WebSphere

? Microsoft .NET is working on this

? Manual coding for security

? Microsoft has none

? BizTalk Server 2002 is a separate productcurrently implemented inolder COM technology

? Our quality of support for web services is better than Microsoft’s

CTS6-05 Why WebSphere is Better.ppt 31

Web Service

Client

Web Service

Client

Web Service

Client

Client

Web Service

Client

Web Service

Client

Web Service

ClientWeb Service

Web Service

Client

"I need our business partnersto be able to access our internal Web services..."

IT Manager

SystemsAdministrator

Business Manager

"We need secure access

to our Web services"

"We need to move our Web service to another machine

due to over capacity..."

Proliferation of Web Services (and Clients) Requires a Good Management Capabilities

CTS6-05 Why WebSphere is Better.ppt 32

Web Service

Web Service

Web Service

Client

Web Services Gateway

Centralized Administration

Security Services–Authentication–Authorization–Audit

Routing

Protocol Transformation

WAS

Web Service

Web Service

Client

userID/PW

Client

Client

Client

IBM Web Services Gateway Simplifies Management of Web Services

ExternalInternal

CTS6-05 Why WebSphere is Better.ppt 33

Java Client

Web Services Gateway

Centralized Administration

Security Services–Authentication–Authorization–Audit

Routing

Protocol Transformation

WAS

DEMO: IBM Web Services Gateway

External

Redirect clients to new location of stock quote web service

Stock Quote Web Service

Stock Quote Web Service

Move Stock Quote Web Service to a New Provider

CTS6-05 Why WebSphere is Better.ppt 34

Standard Description

SOAP XML-based messaging protocolWSDL XML-based description of a service

UDDIXML-based registry for describing businesses, their services, and how to discover/access them

WSILXML format for describing services that can be found on a website via inspection

WS-Securityprovides a general framework for security (message integrity, message confidentiality, identity propagation)

WS-Coordinationprovides a framework for coordinating the actions of distributed Web services

WS-Transactionprovides transaction support when coordinating the actions of distributed Web services

BPEL4WSdefines a notation for specifying business process behavior based on Web services

Feature

MessagingDescription

Publishing and Discovery

Security

Transactions

Business Processes

WebSphere Application Server v5

IBM Web Services Toolkits

from alphaWorks

Current Standards

Emerging Standards

Web Services Standards Support in WebSphere

CTS6-05 Why WebSphere is Better.ppt 36

Get Customer

Credit Score

Get Realtime

Credit Score

Combine Credit Scores

Record Combined

Credit Score

Credit Score Web Service

Java Java LogicLogic

CICS Service

START END

Get Credit Score Flow

WSDL WSDL WSDL

?Services are easy-to-use code components?Services are described using WSDL, including binding information?Runtime invocation (binding) can be either SOAP or EJB RMI?Services can be used as steps in a flow

WebSphere's Service Oriented Architecture Based On Open Standards

WSDL

EJB EJB ServiceService

CTS6-05 Why WebSphere is Better.ppt 37

WebSphere Application Server

Flow EngineRuntime Environment

Buildtime Environment

Visual flow composition

editor in WebSphere

Studio

Visual Tooling Makes Business Logic Flow Programming Even Easier

Get Customer

Credit Score

Get Realtime

Credit Score

Combine Credit Scores

Record Stock Order

Credit Score Web Service

Java Java LogicLogic

CICS Servic

e

START END

Get Credit Score Flow

WSDL WSDL WSDL WSDL

EJB EJB ServicServic

ee

CTS6-05 Why WebSphere is Better.ppt 38

Friendly Finance

IBM

WebSphere performs better than .NET in real-world

workloads … and we have the benchmarks and customer

references to prove it

Better Performance

What about Performance?

CTS6-05 Why WebSphere is Better.ppt 41

DEMO: Effects of Distributed Processing

Windows 2003 RC2 & IIS6

RMI / IIOP

2 wayxSeries

2 wayxSeries

JSPServlets

HTTP

EJB

2 wayxSeries

2 wayxSeries

HTTP/Binary .NET Remoting

WAS 5 + IBM HTTP Server

Compare performance of two-tier configurations

ASP.NET

IIS

.NET Objects

Serviced Components

CTS6-05 Why WebSphere is Better.ppt 42

Office Depot

? Office Depot replaced Microsoft Web solution with WebSphere

? Needed to scale their e-commerce infrastructure to meet projected growth

? Performance improved by 50% over previous Microsoft solution

? Requires 75% fewer servers than Microsoft solution (160 > 40)

? Solution

? WebSphere Application Server V4.0

? WebSphere Studio Application Developer

? IBM iSeries hardware servers

CTS6-05 Why WebSphere is Better.ppt 43

"WebSphere, with its Java-based J2EE technology framework, gives us tremendous business advantages."

-Maynard Webb President eBay Technologies

eBay

Results to date:?Went live with WebSphere 4.0.2 on schedule, March 2002

? Dynamic environment? Update HTML 18 times/week? Major code release once per week? 30KLOC changes weekly

? View item running on 66 2way xSeries processors? 138 million items? 2 million new items per day? 320 million views per day? 8000 transactions per second

?One third less code, equivalent performance to C++

CTS6-05 Why WebSphere is Better.ppt 44

servlet44 nodes

EJB15 nodes

data15 nodes

RS/6000 Winterhawk II

accountoverview page

Schwab Brokerage/Trading Applications

? Barista II proof of concept project? Separate tier for EJB business logic? Heavyweight account overview pages

? 350 pps with 67% CPU utilization on servlet nodes and 73% on EJB nodes? Demonstrated capability to meet production requirements of 16.5 million

transactions per day (Peak/average ratio is 8.7)

CTS6-05 Why WebSphere is Better.ppt 45

Friendly Finance

IBM

Let’s look at the whole picture…

Lower Costs

What about costs?

CTS6-05 Why WebSphere is Better.ppt 46

Microsoft Pricing

? Costs typically include both server license as well as Client Access License (CAL)

? Client Access License is required for any device that accesses the server? Windows Server 2003 Standard Edition (includes 5 CALs):

$999? Additional Windows CALs: $40/device

? This pricing methodology applies to all Microsoft servers? SQL Server 2000? SharePoint Server 2002 ? Office Live Communications Server 2003? Exchange Server 2003? Etc.

CTS6-05 Why WebSphere is Better.ppt 47

4,2758,0408,64016,9054,600Total

45677214740CAL Price

95120120115115More CALs Needed

250055CALs Included

1,7793,9993,9991,489999Server License

System Management

ServerExchangeSharePointSQLWindows

3 CPU

Server License Total 12,265CAL License Total 42,460

54,725

CAL Cost is 78% of Total

Incremental CAL Cost is $371 Per Additional User

Don’t forget to consider CAL

costs!

120 Person Department Example – Microsoft Pricing

CTS6-05 Why WebSphere is Better.ppt 48

Who Has Lower Costs?

IBM

IBM middleware license pricing (Express) is typically competitive on Windows platforms and cheaper on Linux

Includes 1 year of maintenance and support

Performance advantages lead to lower overall costs

Stability of J2EE-based middleware means less financial churn

Microsoft

Microsoft middleware pricing can be more expensive

First year maintenance and support costs extra

Performance disadvantages require more servers and licenses

5-year.NET middleware roadmap means greater risks, higher costs

CTS6-05 Why WebSphere is Better.ppt 49

Why WebSphere/J2EE is Better Than .NET

Runs on any platform, including LinuxStrong distributed processing environmentContainer concept makes programming easierWebSphere maturity avoids 5 years of .NET rollout miseryWeb services – better quality of supportBetter performance in real-world workloadsLower cost

? Tighter security? Tooling provides greater programmer productivity

Best Server-Side Environment