e-business on demand Competitive Technology Seminar RMI-IIOP EJB Container J2SE J2SE JTA JMS JAAS...
Transcript of e-business on demand Competitive Technology Seminar RMI-IIOP EJB Container J2SE J2SE JTA JMS JAAS...
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