8/5/99 8/5/99 WICS: COM+ WICS: COM+ 1 COM+ COM+ Greg Hope Greg Hope Architect Architect Microsoft COM+ Team Microsoft COM+ Team 9:00 11:00 1:30 3:30 7:00 Overview Faults Tolerance T Models Party TP mons Lock Theory Lock Techniq Queues Workflow Log ResMgr CICS & Inet Adv TM Cyberbrick Files &Buffers COM+ Corba Replication Party B-tree Access Path Groupware Benchmark Mon Tue Wed Thur Fri
32
Embed
8/5/99WICS: COM+1COM+ Greg Hope Architect Microsoft COM+ Team 9:00 11:00 1:30 3:30 7:00 Overview Faults Tolerance T Models Party TP mons Lock Theory Lock.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
8/5/998/5/99 WICS: COM+WICS: COM+ 11
COM+COM+Greg HopeGreg Hope
ArchitectArchitectMicrosoft COM+ TeamMicrosoft COM+ Team
9:00
11:00
1:30
3:30
7:00
Overview
Faults
Tolerance
T Models
Party
TP mons
Lock Theory
Lock Techniq
Queues
Workflow
Log
ResMgr
CICS & Inet
Adv TM
Cyberbrick
Files &Buffers
COM+
Corba
Replication
Party
B-tree
Access Paths
Groupware
Benchmark
Mon Tue Wed Thur Fri
8/5/998/5/99 WICS: COM+WICS: COM+ 22
AgendaAgenda
• Where we’ve beenWhere we’ve been– COM, OLE, ActiveX Controls, MTS, WinDNACOM, OLE, ActiveX Controls, MTS, WinDNA
• Where we areWhere we are– COM+ 1.0, Windows 2000COM+ 1.0, Windows 2000– Attribute based programming modelAttribute based programming model– New and better servicesNew and better services
• Where we’re goingWhere we’re going– Web ComputingWeb Computing– Appliance ComputingAppliance Computing– Simplicity and ReliabilitySimplicity and Reliability
8/5/998/5/99 WICS: COM+WICS: COM+ 33
Microsoft: Microsoft: COM+ InsideCOM+ Inside
Linking and Linking and EmbeddingEmbeddingAutomationAutomationActiveX ControlsActiveX ControlsAuthenticodeAuthenticodeDCOMDCOMMTSMTSComponent ServicesComponent Services
8/5/998/5/99 WICS: COM+WICS: COM+ 44
ContentContent DeveloperDeveloper
WebWebDeveloperDeveloper
ApplicationApplicationDeveloperDeveloper
SystemSystemDeveloperDeveloper
BorlandBorland DelphiDelphi
AdobeAdobePageMakerPageMaker
MacromediaMacromediaDirectorDirector
PowerSoft PowerSoft PowerBuilderPowerBuilder
NetObjects NetObjects FusionFusion
SoftQuadSoftQuadHotMetal ProHotMetal Pro
BorlandBorland IntrabuilderIntrabuilder
PowerSoft PowerSoft NetImpactNetImpact
BorlandBorland LatteLatte
Tools: Tools: COM+ InsideCOM+ Inside
8/5/998/5/99 WICS: COM+WICS: COM+ 55
COM+ COM+ Worlds Most Successful Object ModelWorlds Most Successful Object Model
• Strong technical featuresStrong technical features– Binary standard, language neutral, dynamic discoveryBinary standard, language neutral, dynamic discovery
• Proven flexible and adaptableProven flexible and adaptable– OLE, Compound Documents, ActiveX Controls, MTSOLE, Compound Documents, ActiveX Controls, MTS
– Used on >200M systems world-wideUsed on >200M systems world-wide
• Widespread tool and language support Widespread tool and language support – > 3M developers> 3M developers
– Visual Studio and third partiesVisual Studio and third parties
Windows DNAWindows DNAA comprehensive platform scaling from the A comprehensive platform scaling from the department to the Internetdepartment to the Internet
“How you gather, manage and use information will determine whether How you gather, manage and use information will determine whether you win or lose.you win or lose.” Bill Gates, Business @ the Speed of ThoughtBill Gates, Business @ the Speed of Thought
8/5/998/5/99 WICS: COM+WICS: COM+ 77
PC Week Labs BenchmarkPC Week Labs Benchmark
“It's clear the company's IIS (Internet Information Server) Web server and MTS (Microsoft Transaction Server) transaction monitor, both included with the Windows NT 4.0 operating system, are fast enough for any business on earth.” (http://www.zdnet.com/pcweek/stories/news/0,4153,409380,00.html)
8/5/998/5/99 WICS: COM+WICS: COM+ 88
Performance: IIS on COM+/NT5 is up to 6x faster than Performance: IIS on COM+/NT5 is up to 6x faster than IIS on MTS/NT4 (* beta results)IIS on MTS/NT4 (* beta results)
IIS Atomic Tests
0
50
100
150
200
250
300
350
400
450
500
Ad
Ro
tato
r A
pp
licat
ion
Ad
Ro
tato
r S
essi
on
AP
T S
essi
on
BC
Ses
sio
n
Ad
Ro
tato
r P
age
BC
Pag
e
Tra
nsa
ctio
n
Test
Re
qu
es
ts p
er
Se
co
nd
Windows 2000 Beta 3
NT4/MTS
8/5/998/5/99 WICS: COM+WICS: COM+ 99
TPC-C: COM+ and SQL Server TPC-C: COM+ and SQL Server
pBook.Order(nQuantity);pBook.Order(nQuantity);[LoadBalanceable] Class Book {[LoadBalanceable] Class Book {public void Order(int nAmount) {…}public void Order(int nAmount) {…}
}}
ClientClient ServerServer
8/5/998/5/99 WICS: COM+WICS: COM+ 1919
Performance: Load Balancing Near Linear ScalingPerformance: Load Balancing Near Linear Scaling (* beta results) (* beta results)
COM+ Load Balancing
0
100
200
300
400
500
600
700
800
900
0 1 2 3 4 5 6 7 8 9
Machines
Tra
nsa
ctio
ns
per
Sec
on
d
Router included in cluster
Router not included in cluster
8/5/998/5/99 WICS: COM+WICS: COM+ 2020
Example: Example: Object PoolingObject Pooling
ServerServerPoolerPoolerClientClient
pBook = new Book;pBook = new Book;
pBook.Order(nQuantity);pBook.Order(nQuantity);[[PoolablePoolable] Class Book {] Class Book {
Public void Order(int nAmount) {…}Public void Order(int nAmount) {…}
Performance: Object Pooling Governors Give Same Performance: Object Pooling Governors Give Same Throughput with less resources (* beta results)Throughput with less resources (* beta results)
“...products that do not appear to be useful to our customers today ...products that do not appear to be useful to our customers today (that is disruptive technologies) may squarely address their needs (that is disruptive technologies) may squarely address their needs tomorrow.” tomorrow.” Clayton M. Christensen The Innovators DilemaClayton M. Christensen The Innovators Dilema
8/5/998/5/99 WICS: COM+WICS: COM+ 2424
Web ComputingWeb ComputingDisruptive Technology?Disruptive Technology?
PersonalComputing Era
WebComputing Era
“overperforming”
“good enough”
Mainframe Computing Era
MS-DOS
Win 3.x
Win98/NT
Web 1.0
8/5/998/5/99 WICS: COM+WICS: COM+ 2525
Today’s “Good Enough” Web (Not!)Today’s “Good Enough” Web (Not!)
• HourglassesHourglasses– World Wide WaitWorld Wide Wait
• User state is tied to a machineUser state is tied to a machine(Cookies, Wallet, Preferences)(Cookies, Wallet, Preferences)– Multiple systems, multiple usersMultiple systems, multiple users
• Unreliable parts Unreliable parts (Leaks, hangs, reboots, network)(Leaks, hangs, reboots, network)– Duplicate or missing ordersDuplicate or missing orders– Unavailability/data corruptionUnavailability/data corruption
• Clients are underutilizedClients are underutilized– Lowest common denominator effectLowest common denominator effect
• Servers are hard Servers are hard – Handling concurrent requestsHandling concurrent requests– State management State management
Dunce
8/5/998/5/99 WICS: COM+WICS: COM+ 2626
WinDNA on the WebWinDNA on the Web• Connecting Windows Clients and Windows Servers via Web (HTTP)Connecting Windows Clients and Windows Servers via Web (HTTP)
– Richest user experience (Adaptive UI)Richest user experience (Adaptive UI)• ConsumersConsumers
• ScalabilityScalability– up, down, outup, down, out
8/5/998/5/99 WICS: COM+WICS: COM+ 2727
N-tier: Web Computing Model N-tier: Web Computing Model • Rendering - Interacts with UserRendering - Interacts with User• Presentation - Code that binds to renderingPresentation - Code that binds to rendering
– May vary depending on type/functionality of clientMay vary depending on type/functionality of client
• Client Logic - Client code that talks to the ServerClient Logic - Client code that talks to the Server– May run on client, personal tier, or serverMay run on client, personal tier, or server– May have access to read-only snapshot data (catalog)May have access to read-only snapshot data (catalog)– May manage per-client writable data (shopping cart)May manage per-client writable data (shopping cart)
• Server Logic - Server code that runs the businessServer Logic - Server code that runs the business– Direct access to business dataDirect access to business data
• Database - Shared, Persistent storeDatabase - Shared, Persistent store
““Why good products can fail, the Personal Why good products can fail, the Personal Computer is so complex, and Information Computer is so complex, and Information Appliances are the solutionAppliances are the solution””Donald A. Norman, The Invisible ComputerDonald A. Norman, The Invisible Computer