COM+ Greg Hope Architect Microsoft COM+ Team

advertisement
COM+
Greg Hope
Architect
Microsoft COM+ Team
Mon
Tue
Wed
Thur
Fri
9:00
Overview
TP mons
Log
Files &Buffers
B-tree
11:00
Faults
Lock Theory
ResMgr
COM+
Access Paths
1:30
Tolerance
Lock Techniq
CICS & Inet
Corba
Groupware
3:30
T Models
Queues
Adv TM
Replication
Benchmark
7:00
Party
Workflow
Cyberbrick
Party
8/5/99
WICS: COM+
1
Agenda
•
Where we’ve been
– COM, OLE, ActiveX Controls, MTS, WinDNA
•
Where we are
– COM+ 1.0, Windows 2000
– Attribute based programming model
– New and better services
•
Where we’re going
– Web Computing
– Appliance Computing
– Simplicity and Reliability
8/5/99
WICS: COM+
2
Microsoft: COM+ Inside
Linking and Embedding
Automation
ActiveX Controls
Authenticode
DCOM
MTS
Component Services
8/5/99
WICS: COM+
3
Tools: COM+ Inside
Web
Developer
Application
Developer
System
Developer
Content
Developer
Borland
Latte
Adobe
PageMaker
Macromedia
Director
NetObjects
Fusion
SoftQuad
HotMetal Pro
8/5/99
Borland
Delphi PowerSoft
PowerBuilder
PowerSoft
NetImpact
Borland
Intrabuilder
WICS: COM+
4
COM+
Worlds Most Successful Object Model
•
Strong technical features
– Binary standard, language neutral, dynamic discovery
•
Proven flexible and adaptable
– OLE, Compound Documents, ActiveX Controls, MTS
– Used on >200M systems world-wide
•
Widespread tool and language support
– > 3M developers
– Visual Studio and third parties
•
Thriving component marketplace
– ActiveX Controls
8/5/99
WICS: COM+
5
Windows DNA
A comprehensive platform scaling from the
department to the Internet
Databases
Legacy Systems
External
Applications
Thin
Client
Rich
Client
“How you gather, manage and use information will determine whether
you win or lose.” Bill Gates, Business @ the Speed of Thought
8/5/99
WICS: COM+
6
PC 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/99
WICS: COM+
7
Performance: IIS on COM+/NT5 is up to 6x faster than
IIS on MTS/NT4 (* beta results)
Requests per Second
IIS Atomic Tests
Windows 2000 Beta 3
NT4/MTS
500
450
400
350
300
250
200
150
100
50
8/5/99
WICS: COM+
Transaction
BC Page
Ad Rotator Page
BC Session
APT Session
Ad Rotator Session
Ad Rotator Application
0
8
TPC-C: COM+ and SQL Server
8/5/99
WICS: COM+
9
COM+
S
E
R
V
I
C
E
S
8/5/99
COM
R
U
N
Administration
Servers
Transactions
Security
Queuing
Events
Clusters
IMDB
T
I
M
E
Data-types
Self Describing
Dynamic Invocation
“Leak-proof” Memory
Context
Interception
Tools
Developers
Ubiquity
Market
Multi-Language
Discovery
WICS: COM+
10
COM+:
Incremental, Additive Investment
1992
1996
1997
COM (Win3.1)
COM (NT4) COM/MTS (NT4OP)
OLE
Remoting
Cmpd Docs
Security
Automation ActiveX Controls
Servers
Transactions
Administration
1999 (B3 now)
COM+ 1.0 (Win2000)
Integrated and
Enhanced
Queuing
Events
Load Balancing
IMDB
8/5/99
WICS: COM+
11
Programming Model
Interface, Attributes, Context
IUnknown
Context
Attributes
Client
8/5/99
Server
WICS: COM+
12
Programming Model
Implementation
• Attributes determine Context
–
–
–
–
Metadata accessed via Catalog interfaces
Stored in Component Library
Integrated with DS / MSI / Registry
Client negotiation via monikers
• Context determines Intercepters
• Intercepter implements attribute semantics
Client
Interceptors
Server
Context
Attributes
8/5/99
WICS: COM+
Catalog
13
Activators
Intercepting Object Creation
Machine
Activators
Process
Activators
Context
Activators
Client
Process
Server
Process
B
Server
Context
A
8/5/99
WICS: COM+
14
Policies
Intercepting Method Invocation
Context C2
Context C1
Proxy
(Cross Apartment or Process)
A
B
Client
Side
Policies
Server
Side
Policies
Call,
Return
8/5/99
Stub
Pass Buffer
Pass Buffer
WICS: COM+
(Same Apartment)
Enter,
Leave
15
Example:
Queued Components
Client
Server
pBook = new [Queued] Book;
pBook.Order(nQuantity);
[Queueable] Class Book {
public void Order(int nAmount) {…}
}
Client
Recorder
MSMQ
Player
Server
Queued
Queueable
Catalog
8/5/99
WICS: COM+
16
Example:
Automatic Transactions
Client
pBook = new Book;
pBook.Order(nQuantity);
Client
Server
[Transacted] Class Book {
public void Order(int nAmount) {…}
}
Transaction
DTC
8/5/99
WICS: COM+
Server
Data
17
Example:
Component Load Balancing
Client
Server
pBook = new Book;
pBook.Order(nQuantity);
[LoadBalanceable] Class Book {
public void Order(int nAmount) {…}
}
Server
Router
Server
Application
Cluster
Client
Server
Response Time
Tracker
8/5/99
WICS: COM+
18
Performance: Load Balancing Near Linear Scaling
(* beta results)
COM+ Load Balancing
900
Router included in cluster
Router not included in cluster
Transactions per Second
800
700
600
500
400
300
200
100
0
0
1
2
3
4
5
6
7
8
9
Machines
8/5/99
WICS: COM+
19
Example:
Object Pooling
Client
pBook = new Book;
pBook.Order(nQuantity);
Client
Server
[Poolable] Class Book {
Public void Order(int nAmount) {…}
}
Pooler
Server
Server
Server
8/5/99
WICS: COM+
20
Performance: Object Pooling (* beta results)
Stateful Component vs. Pooled Component
1400
1200
tps
1000
800
600
128 Pooled Components
400
Stateful (COM+)
200
0
0
50
100
150
threads
8/5/99
WICS: COM+
21
Performance: Object Pooling Governors Give Same
Throughput with less resources (* beta results)
Effect of COM+ Pool Size Using C++ ODBC
Component
1400
1200
tps
1000
4 Pooled Components
8 Pooled Components
16 Pooled Components
32 Pooled Components
64 Pooled Components
128 Pooled Components
800
600
400
200
0
0
8/5/99
50
100
threads
WICS: COM+
150
22
COM+: Taming
Disruptive Forces
Appliances
Web
Simplicity
Reliability
“...products that do not appear to be useful to our customers today
(that is disruptive technologies) may squarely address their needs
tomorrow.” Clayton M. Christensen The Innovators Dilema
8/5/99
WICS: COM+
23
Web Computing
Disruptive Technology?
“overperforming”
Win98/NT
Win 3.x
MS-DOS
Mainframe
Computing Era
8/5/99
Personal
Computing Era
Web 1.0
“good enough”
Web
Computing Era
WICS: COM+
24
Today’s “Good Enough” Web (Not!)
• Hourglasses
– World Wide Wait
• User state is tied to a machine
(Cookies, Wallet, Preferences)
– Multiple systems, multiple users
• Unreliable parts
(Leaks, hangs, reboots, network)
– Duplicate or missing orders
– Unavailability/data corruption
• Clients are underutilized
– Lowest common denominator effect
Dunce
• Servers are hard
– Handling concurrent requests
– State management
8/5/99
WICS: COM+
25
WinDNA on the Web
• Connecting Windows Clients and Windows Servers via Web (HTTP)
– Richest user experience (Adaptive UI)
• Consumers
– Web Lifestyle applications (ecomm, games, calendar )
• Business
– Web Enabled personal productivity (collaboration, add-ons)
– Web Native (ecomm, games)
– Web Access (departmental, corporate LOB apps)
• Service Providers
– ISP’s, Web Farms
• Simplicity
– via reduction, consistency, unification
• Reliability
– self-everything, tamper-proof
• Scalability
– up, down, out
8/5/99
WICS: COM+
26
N-tier: Web Computing Model
• Rendering - Interacts with User
• Presentation - Code that binds to rendering
– May vary depending on type/functionality of client
• Client Logic - Client code that talks to the Server
– May run on client, personal tier, or server
– May have access to read-only snapshot data (catalog)
– May manage per-client writable data (shopping cart)
• Server Logic - Server code that runs the business
Data
– Direct access to business data
Rendering
8/5/99
Order
Catalog
Cart
Presentation
Client Logic
WICS: COM+
Rich
Reach
• Database - Shared, Persistent store
Server Logic
27
Appliance Computing:
Disruptive Technology?
Windows 98,
Windows 2000
AutoPC
WebTV
Gaming
Phone
Smart objects
8/5/99
eBooks
“Why good products can fail, the Personal
Computer is so complex, and Information
Appliances are the solution”
Donald A. Norman, The Invisible Computer
WICS: COM+
28
Home Networking
Public networks
PSTN, Internet
Internal Details Are Complex
Network
camera
HomePNA
Phone Line Network
Power Line
Network
Hub
Web
phone
Printer
IEEE 1394
HomeRF
Communications
and control
8/5/99
Camera
Entertainment
Center
WICS: COM+
Scanner
29
Public networks
PSTN, Internet
8/5/99
What Users & Apps Must See
Consistent Objects Everywhere
WICS: COM+
30
Getting Started
•
•
•
•
WinDNA
COM+
Windows 2000
Tools
8/5/99
www.microsoft.com/dna
www.microsoft.com/complus
www.microsoft.com/windows
msdn.microsoft.com/vstudio
WICS: COM+
31
8/5/99
WICS: COM+
32
Download