SlideShare a Scribd company logo
1 of 32
COM+COM+
Greg HopeGreg Hope
ArchitectArchitect
Microsoft 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
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
Microsoft:Microsoft: COM+ InsideCOM+ Inside
Linking and EmbeddingLinking and Embedding
AutomationAutomation
ActiveX ControlsActiveX Controls
AuthenticodeAuthenticode
DCOMDCOM
MTSMTS
Component ServicesComponent Services
ContentContent
DeveloperDeveloper
WebWeb
DeveloperDeveloper
ApplicationApplication
DeveloperDeveloper
SystemSystem
DeveloperDeveloper
BorlandBorland
DelphiDelphi
AdobeAdobe
PageMakerPageMaker
MacromediaMacromedia
DirectorDirector
PowerSoftPowerSoft
PowerBuilderPowerBuilder
NetObjectsNetObjects
FusionFusion
SoftQuadSoftQuad
HotMetal ProHotMetal Pro
BorlandBorland
IntrabuilderIntrabuilder
PowerSoftPowerSoft
NetImpactNetImpact
BorlandBorland
LatteLatte
Tools:Tools: COM+ InsideCOM+ Inside
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 supportWidespread tool and language support
– > 3M developers> 3M developers
– Visual Studio and third partiesVisual Studio and third parties
• Thriving component marketplaceThriving component marketplace
– ActiveX ControlsActiveX Controls
ExternalExternal
ApplicationsApplications
Legacy SystemsLegacy Systems
DatabasesDatabases
ThinThin
ClientClient
RichRich
ClientClient
Windows DNAWindows DNA
A comprehensive platform scaling from theA comprehensive platform scaling from the
department to the Internetdepartment to the Internet
“How you gather, manage and use information will determine whetherHow 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
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)
Performance: IIS on COM+/NT5 is up to 6x faster thanPerformance: 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
AdRotatorApplication
AdRotatorSession
APTSession
BCSession
AdRotatorPage
BCPage
Transaction
RequestsperSecond
Windows 2000 Beta 3
NT4/MTS
TPC-C: COM+ and SQL ServerTPC-C: COM+ and SQL Server
AdministrationAdministration
ServersServers
TransactionsTransactions
SecuritySecurity
QueuingQueuing
EventsEvents
ClustersClusters
IMDBIMDB
SS
EE
RR
VV
II
CC
EE
SS
COM+COM+
Data-typesData-types
Self DescribingSelf Describing
Dynamic InvocationDynamic Invocation
““Leak-proof” MemoryLeak-proof” Memory
ContextContext
InterceptionInterception
RR
UU
NN
TT
II
MM
EE
COMCOM
ToolsTools
DevelopersDevelopers
UbiquityUbiquity
MarketMarket
Multi-LanguageMulti-Language
DiscoveryDiscovery
19971997
COM/MTS (NT4OP)COM/MTS (NT4OP)
ServersServers
TransactionsTransactions
AdministrationAdministration
COM+:COM+: Incremental, Additive InvestmentIncremental, Additive Investment
19961996
COM (NT4)COM (NT4)
RemotingRemoting
SecuritySecurity
ActiveX ControlsActiveX Controls
1999 (B3 now)1999 (B3 now)
COM+ 1.0 (Win2000)COM+ 1.0 (Win2000)
QueuingQueuing
EventsEvents
Load BalancingLoad Balancing
IMDBIMDB
Integrated andIntegrated and
EnhancedEnhanced
19921992
COM (Win3.1)COM (Win3.1)
OLEOLE
Cmpd DocsCmpd Docs
AutomationAutomation
ServerServer
ClientClient
ContextContext
Programming ModelProgramming Model
Interface, Attributes, ContextInterface, Attributes, Context
AttributesAttributes
IUnknown
Programming ModelProgramming Model
ImplementationImplementation
• Attributes determine ContextAttributes determine Context
– Metadata accessed via Catalog interfacesMetadata accessed via Catalog interfaces
– Stored in Component LibraryStored in Component Library
– Integrated with DS / MSI / RegistryIntegrated with DS / MSI / Registry
– Client negotiation via monikersClient negotiation via monikers
• Context determines InterceptersContext determines Intercepters
• Intercepter implements attribute semanticsIntercepter implements attribute semantics
ServerServerInterceptorsInterceptorsClientClient
CatalogCatalog
AttributesAttributes
ContextContext
Context
Activators
Process
Activators
Machine
Activators
Server
Process
Server
Context
Client
Process
A
B
ActivatorsActivators
Intercepting Object CreationIntercepting Object Creation
Context C1
Context C2
Client
Side
Policies
Server
Side
Policies
Call,
Return
Enter,
Leave
Pass Buffer
Pass Buffer
Proxy Stub
(Cross Apartment or Process)
(Same Apartment)A B
PoliciesPolicies
Intercepting Method InvocationIntercepting Method Invocation
Example:Example:
Queued ComponentsQueued Components
pBook = new [Queued] Book;pBook = new [Queued] Book;
pBook.Order(nQuantity);pBook.Order(nQuantity);
ClientClient MSMQMSMQ ServerServerPlayerPlayerRecorderRecorder
CatalogCatalog
QueueableQueueable
QueuedQueued
[Queueable] Class Book {[Queueable] Class Book {
public void Order(int nAmount) {…}public void Order(int nAmount) {…}
}}
ClientClient ServerServer
Example:Example:
Automatic TransactionsAutomatic Transactions
DataData
ServerServerTransactionTransactionClientClient
DTCDTC
pBook = new Book;pBook = new Book;
pBook.Order(nQuantity);pBook.Order(nQuantity);
[Transacted] Class Book {[Transacted] Class Book {
public void Order(int nAmount) {…}public void Order(int nAmount) {…}
}}
ClientClient ServerServer
Example:Example:
Component Load BalancingComponent Load Balancing
ClientClient
ServerServer
RouterRouter ServerServer
ServerServer
Response TimeResponse Time
TrackerTracker
ApplicationApplication
ClusterCluster
pBook = new Book;pBook = new Book;
pBook.Order(nQuantity);pBook.Order(nQuantity);
[LoadBalanceable] Class Book {[LoadBalanceable] Class Book {
public void Order(int nAmount) {…}public void Order(int nAmount) {…}
}}
ClientClient ServerServer
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
TransactionsperSecond
Router included in cluster
Router not included in cluster
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) {…}
}}
ClientClient ServerServer
ServerServer
ServerServer
Performance: Object Pooling (* beta results)Performance: Object Pooling (* beta results)
Stateful Component vs. Pooled Component
0
200
400
600
800
1000
1200
1400
0 50 100 150
threads
tps
128 Pooled Components
Stateful (COM+)
Performance: Object Pooling Governors Give SamePerformance: Object Pooling Governors Give Same
Throughput with less resources (* beta results)Throughput with less resources (* beta results)
Effect of COM+ Pool Size Using C++ ODBC
Component
0
200
400
600
800
1000
1200
1400
0 50 100 150
threads
tps
4 Pooled Components
8 Pooled Components
16 Pooled Components
32 Pooled Components
64 Pooled Components
128 Pooled Components
COM+: TamingCOM+: Taming
Disruptive ForcesDisruptive Forces
WebWeb AppliancesAppliances
ReliabilityReliabilitySimplicitySimplicity
“...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
Web ComputingWeb Computing
Disruptive Technology?Disruptive Technology?
Personal
Computing Era
Web
Computing Era
“overperforming”
“good enough”
Mainframe
Computing Era
MS-DOS
Win 3.x
Win98/NT
Web 1.0
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 partsUnreliable 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 hardServers are hard
– Handling concurrent requestsHandling concurrent requests
– State managementState management
Dunce
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
– Web Lifestyle applications (ecomm, games, calendar )Web Lifestyle applications (ecomm, games, calendar )
• BusinessBusiness
– Web Enabled personal productivity (collaboration, add-ons)Web Enabled personal productivity (collaboration, add-ons)
– Web Native (ecomm, games)Web Native (ecomm, games)
– Web Access (departmental, corporate LOB apps)Web Access (departmental, corporate LOB apps)
• Service ProvidersService Providers
– ISP’s, Web FarmsISP’s, Web Farms
• SimplicitySimplicity
– via reduction, consistency, unificationvia reduction, consistency, unification
• ReliabilityReliability
– self-everything, tamper-proofself-everything, tamper-proof
• ScalabilityScalability
– up, down, outup, down, out
N-tier: Web Computing ModelN-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
RenderingRendering PresentationPresentation
DataData
Client LogicClient Logic
CatalogCatalog
CartCart
Server LogicServer Logic
OrderOrder
RichRich
ReachReach
RichRich
PhonePhone eBookseBooks
GamingGaming
WebTVWebTV
AutoPCAutoPC
Windows 98,Windows 98,
Windows 2000Windows 2000
Smart objectsSmart objects
Appliance Computing:Appliance Computing:
Disruptive Technology?Disruptive Technology?
““Why good products can fail, the PersonalWhy good products can fail, the Personal
Computer is so complex, and InformationComputer is so complex, and Information
Appliances are the solutionAppliances are the solution””
Donald A. Norman, The Invisible ComputerDonald A. Norman, The Invisible Computer
HubHub
Power LinePower Line
NetworkNetwork
CameraCamera ScannerScanner
PrinterPrinter
WebWeb
phonephone
NetworkNetwork
cameracamera
IEEE 1394IEEE 1394
EntertainmentEntertainment
CenterCenterCommunicationsCommunications
and controland control
HomeRFHomeRF
Home NetworkingHome Networking
HubHub
Public networksPublic networks
PSTN, InternetPSTN, Internet
HomePNAHomePNA
Phone Line NetworkPhone Line Network
Internal Details Are ComplexInternal Details Are Complex
Public networksPublic networks
PSTN, InternetPSTN, Internet
What Users & Apps Must SeeWhat Users & Apps Must See
Consistent Objects EverywhereConsistent Objects Everywhere
Getting StartedGetting Started
• WinDNAWinDNA www.microsoft.com/dnawww.microsoft.com/dna
• COM+COM+ www.microsoft.com/compluswww.microsoft.com/complus
• Windows 2000Windows 2000 www.microsoft.com/windowswww.microsoft.com/windows
• ToolsTools msdn.microsoft.com/vstudiomsdn.microsoft.com/vstudio
16 greg hope_com_wics

More Related Content

Similar to 16 greg hope_com_wics

AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...Amazon Web Services
 
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...Amazon Web Services
 
BIS and COM in Action
BIS and COM in ActionBIS and COM in Action
BIS and COM in ActionJerry Merrill
 
Webinar: How Microsoft is changing the game with Windows Azure
Webinar: How Microsoft is changing the game with Windows AzureWebinar: How Microsoft is changing the game with Windows Azure
Webinar: How Microsoft is changing the game with Windows AzureCommon Sense
 
WCF and WF in Framework 3.5
WCF and WF in Framework 3.5WCF and WF in Framework 3.5
WCF and WF in Framework 3.5ukdpe
 
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...Flink Forward
 
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Samy Fodil
 
The Yin and Yang of Software
The Yin and Yang of SoftwareThe Yin and Yang of Software
The Yin and Yang of Softwareelliando dias
 
Introduction to BizTalk Server 2009
Introduction to BizTalk Server 2009Introduction to BizTalk Server 2009
Introduction to BizTalk Server 2009Aequor Technologies
 
16370 cics project opening and project update f
16370  cics project opening and project update f16370  cics project opening and project update f
16370 cics project opening and project update fnick_garrod
 
Modular Web Applications With Netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzkenetzke
 
5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWS5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWSChristian Beedgen
 
Cloud computing - A Cloud Career Path
Cloud computing - A Cloud Career PathCloud computing - A Cloud Career Path
Cloud computing - A Cloud Career PathCognixia
 
Meetup Microservices Commandments
Meetup Microservices CommandmentsMeetup Microservices Commandments
Meetup Microservices CommandmentsBill Zajac
 
Defy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsDefy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsClint Edmonson
 
Monitoring IAAS & PAAS Solutions
Monitoring IAAS & PAAS SolutionsMonitoring IAAS & PAAS Solutions
Monitoring IAAS & PAAS SolutionsColloquium
 
利用K8S實現高可靠應用
利用K8S實現高可靠應用利用K8S實現高可靠應用
利用K8S實現高可靠應用inwin stack
 
Faites évoluer votre accès aux données avec MongoDB Stitch
Faites évoluer votre accès aux données avec MongoDB StitchFaites évoluer votre accès aux données avec MongoDB Stitch
Faites évoluer votre accès aux données avec MongoDB StitchMongoDB
 

Similar to 16 greg hope_com_wics (20)

AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
AWS re:Invent 2016: Turner's cloud native media supply chain for TNT, TBS, Ad...
 
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
Mainframe Modernization with AWS: Patterns and Best Practices (GPSTEC305) - A...
 
BIS and COM in Action
BIS and COM in ActionBIS and COM in Action
BIS and COM in Action
 
Webinar: How Microsoft is changing the game with Windows Azure
Webinar: How Microsoft is changing the game with Windows AzureWebinar: How Microsoft is changing the game with Windows Azure
Webinar: How Microsoft is changing the game with Windows Azure
 
WCF and WF in Framework 3.5
WCF and WF in Framework 3.5WCF and WF in Framework 3.5
WCF and WF in Framework 3.5
 
Top 8 WCM Trends 2010
Top 8 WCM Trends 2010Top 8 WCM Trends 2010
Top 8 WCM Trends 2010
 
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
 
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
 
The Yin and Yang of Software
The Yin and Yang of SoftwareThe Yin and Yang of Software
The Yin and Yang of Software
 
Introduction to BizTalk Server 2009
Introduction to BizTalk Server 2009Introduction to BizTalk Server 2009
Introduction to BizTalk Server 2009
 
16370 cics project opening and project update f
16370  cics project opening and project update f16370  cics project opening and project update f
16370 cics project opening and project update f
 
Modular Web Applications With Netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzke
 
5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWS5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWS
 
Cloud computing - A Cloud Career Path
Cloud computing - A Cloud Career PathCloud computing - A Cloud Career Path
Cloud computing - A Cloud Career Path
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Meetup Microservices Commandments
Meetup Microservices CommandmentsMeetup Microservices Commandments
Meetup Microservices Commandments
 
Defy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client ApplicationsDefy Occassionally Connected Challenges With Smart Client Applications
Defy Occassionally Connected Challenges With Smart Client Applications
 
Monitoring IAAS & PAAS Solutions
Monitoring IAAS & PAAS SolutionsMonitoring IAAS & PAAS Solutions
Monitoring IAAS & PAAS Solutions
 
利用K8S實現高可靠應用
利用K8S實現高可靠應用利用K8S實現高可靠應用
利用K8S實現高可靠應用
 
Faites évoluer votre accès aux données avec MongoDB Stitch
Faites évoluer votre accès aux données avec MongoDB StitchFaites évoluer votre accès aux données avec MongoDB Stitch
Faites évoluer votre accès aux données avec MongoDB Stitch
 

More from ashish61_scs

More from ashish61_scs (20)

7 concurrency controltwo
7 concurrency controltwo7 concurrency controltwo
7 concurrency controltwo
 
Transactions
TransactionsTransactions
Transactions
 
22 levine
22 levine22 levine
22 levine
 
21 domino mohan-1
21 domino mohan-121 domino mohan-1
21 domino mohan-1
 
20 access paths
20 access paths20 access paths
20 access paths
 
19 structured files
19 structured files19 structured files
19 structured files
 
18 philbe replication stanford99
18 philbe replication stanford9918 philbe replication stanford99
18 philbe replication stanford99
 
15 bufferand records
15 bufferand records15 bufferand records
15 bufferand records
 
14 turing wics
14 turing wics14 turing wics
14 turing wics
 
14 scaleabilty wics
14 scaleabilty wics14 scaleabilty wics
14 scaleabilty wics
 
13 tm adv
13 tm adv13 tm adv
13 tm adv
 
11 tm
11 tm11 tm
11 tm
 
10a log
10a log10a log
10a log
 
09 workflow
09 workflow09 workflow
09 workflow
 
06 07 lock
06 07 lock06 07 lock
06 07 lock
 
05 tp mon_orbs
05 tp mon_orbs05 tp mon_orbs
05 tp mon_orbs
 
04 transaction models
04 transaction models04 transaction models
04 transaction models
 
03 fault model
03 fault model03 fault model
03 fault model
 
02 fault tolerance
02 fault tolerance02 fault tolerance
02 fault tolerance
 
01 whirlwind tour
01 whirlwind tour01 whirlwind tour
01 whirlwind tour
 

Recently uploaded

Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Recently uploaded (20)

Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

16 greg hope_com_wics

  • 1. COM+COM+ Greg HopeGreg Hope ArchitectArchitect Microsoft 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
  • 2. 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
  • 3. Microsoft:Microsoft: COM+ InsideCOM+ Inside Linking and EmbeddingLinking and Embedding AutomationAutomation ActiveX ControlsActiveX Controls AuthenticodeAuthenticode DCOMDCOM MTSMTS Component ServicesComponent Services
  • 5. 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 supportWidespread tool and language support – > 3M developers> 3M developers – Visual Studio and third partiesVisual Studio and third parties • Thriving component marketplaceThriving component marketplace – ActiveX ControlsActiveX Controls
  • 6. ExternalExternal ApplicationsApplications Legacy SystemsLegacy Systems DatabasesDatabases ThinThin ClientClient RichRich ClientClient Windows DNAWindows DNA A comprehensive platform scaling from theA comprehensive platform scaling from the department to the Internetdepartment to the Internet “How you gather, manage and use information will determine whetherHow 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
  • 7. 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. Performance: IIS on COM+/NT5 is up to 6x faster thanPerformance: 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 AdRotatorApplication AdRotatorSession APTSession BCSession AdRotatorPage BCPage Transaction RequestsperSecond Windows 2000 Beta 3 NT4/MTS
  • 9. TPC-C: COM+ and SQL ServerTPC-C: COM+ and SQL Server
  • 10. AdministrationAdministration ServersServers TransactionsTransactions SecuritySecurity QueuingQueuing EventsEvents ClustersClusters IMDBIMDB SS EE RR VV II CC EE SS COM+COM+ Data-typesData-types Self DescribingSelf Describing Dynamic InvocationDynamic Invocation ““Leak-proof” MemoryLeak-proof” Memory ContextContext InterceptionInterception RR UU NN TT II MM EE COMCOM ToolsTools DevelopersDevelopers UbiquityUbiquity MarketMarket Multi-LanguageMulti-Language DiscoveryDiscovery
  • 11. 19971997 COM/MTS (NT4OP)COM/MTS (NT4OP) ServersServers TransactionsTransactions AdministrationAdministration COM+:COM+: Incremental, Additive InvestmentIncremental, Additive Investment 19961996 COM (NT4)COM (NT4) RemotingRemoting SecuritySecurity ActiveX ControlsActiveX Controls 1999 (B3 now)1999 (B3 now) COM+ 1.0 (Win2000)COM+ 1.0 (Win2000) QueuingQueuing EventsEvents Load BalancingLoad Balancing IMDBIMDB Integrated andIntegrated and EnhancedEnhanced 19921992 COM (Win3.1)COM (Win3.1) OLEOLE Cmpd DocsCmpd Docs AutomationAutomation
  • 12. ServerServer ClientClient ContextContext Programming ModelProgramming Model Interface, Attributes, ContextInterface, Attributes, Context AttributesAttributes IUnknown
  • 13. Programming ModelProgramming Model ImplementationImplementation • Attributes determine ContextAttributes determine Context – Metadata accessed via Catalog interfacesMetadata accessed via Catalog interfaces – Stored in Component LibraryStored in Component Library – Integrated with DS / MSI / RegistryIntegrated with DS / MSI / Registry – Client negotiation via monikersClient negotiation via monikers • Context determines InterceptersContext determines Intercepters • Intercepter implements attribute semanticsIntercepter implements attribute semantics ServerServerInterceptorsInterceptorsClientClient CatalogCatalog AttributesAttributes ContextContext
  • 15. Context C1 Context C2 Client Side Policies Server Side Policies Call, Return Enter, Leave Pass Buffer Pass Buffer Proxy Stub (Cross Apartment or Process) (Same Apartment)A B PoliciesPolicies Intercepting Method InvocationIntercepting Method Invocation
  • 16. Example:Example: Queued ComponentsQueued Components pBook = new [Queued] Book;pBook = new [Queued] Book; pBook.Order(nQuantity);pBook.Order(nQuantity); ClientClient MSMQMSMQ ServerServerPlayerPlayerRecorderRecorder CatalogCatalog QueueableQueueable QueuedQueued [Queueable] Class Book {[Queueable] Class Book { public void Order(int nAmount) {…}public void Order(int nAmount) {…} }} ClientClient ServerServer
  • 17. Example:Example: Automatic TransactionsAutomatic Transactions DataData ServerServerTransactionTransactionClientClient DTCDTC pBook = new Book;pBook = new Book; pBook.Order(nQuantity);pBook.Order(nQuantity); [Transacted] Class Book {[Transacted] Class Book { public void Order(int nAmount) {…}public void Order(int nAmount) {…} }} ClientClient ServerServer
  • 18. Example:Example: Component Load BalancingComponent Load Balancing ClientClient ServerServer RouterRouter ServerServer ServerServer Response TimeResponse Time TrackerTracker ApplicationApplication ClusterCluster pBook = new Book;pBook = new Book; pBook.Order(nQuantity);pBook.Order(nQuantity); [LoadBalanceable] Class Book {[LoadBalanceable] Class Book { public void Order(int nAmount) {…}public void Order(int nAmount) {…} }} ClientClient ServerServer
  • 19. 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 TransactionsperSecond Router included in cluster Router not included in cluster
  • 20. 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) {…} }} ClientClient ServerServer ServerServer ServerServer
  • 21. Performance: Object Pooling (* beta results)Performance: Object Pooling (* beta results) Stateful Component vs. Pooled Component 0 200 400 600 800 1000 1200 1400 0 50 100 150 threads tps 128 Pooled Components Stateful (COM+)
  • 22. Performance: Object Pooling Governors Give SamePerformance: Object Pooling Governors Give Same Throughput with less resources (* beta results)Throughput with less resources (* beta results) Effect of COM+ Pool Size Using C++ ODBC Component 0 200 400 600 800 1000 1200 1400 0 50 100 150 threads tps 4 Pooled Components 8 Pooled Components 16 Pooled Components 32 Pooled Components 64 Pooled Components 128 Pooled Components
  • 23. COM+: TamingCOM+: Taming Disruptive ForcesDisruptive Forces WebWeb AppliancesAppliances ReliabilityReliabilitySimplicitySimplicity “...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
  • 24. Web ComputingWeb Computing Disruptive Technology?Disruptive Technology? Personal Computing Era Web Computing Era “overperforming” “good enough” Mainframe Computing Era MS-DOS Win 3.x Win98/NT Web 1.0
  • 25. 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 partsUnreliable 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 hardServers are hard – Handling concurrent requestsHandling concurrent requests – State managementState management Dunce
  • 26. 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 – Web Lifestyle applications (ecomm, games, calendar )Web Lifestyle applications (ecomm, games, calendar ) • BusinessBusiness – Web Enabled personal productivity (collaboration, add-ons)Web Enabled personal productivity (collaboration, add-ons) – Web Native (ecomm, games)Web Native (ecomm, games) – Web Access (departmental, corporate LOB apps)Web Access (departmental, corporate LOB apps) • Service ProvidersService Providers – ISP’s, Web FarmsISP’s, Web Farms • SimplicitySimplicity – via reduction, consistency, unificationvia reduction, consistency, unification • ReliabilityReliability – self-everything, tamper-proofself-everything, tamper-proof • ScalabilityScalability – up, down, outup, down, out
  • 27. N-tier: Web Computing ModelN-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 RenderingRendering PresentationPresentation DataData Client LogicClient Logic CatalogCatalog CartCart Server LogicServer Logic OrderOrder RichRich ReachReach RichRich
  • 28. PhonePhone eBookseBooks GamingGaming WebTVWebTV AutoPCAutoPC Windows 98,Windows 98, Windows 2000Windows 2000 Smart objectsSmart objects Appliance Computing:Appliance Computing: Disruptive Technology?Disruptive Technology? ““Why good products can fail, the PersonalWhy good products can fail, the Personal Computer is so complex, and InformationComputer is so complex, and Information Appliances are the solutionAppliances are the solution”” Donald A. Norman, The Invisible ComputerDonald A. Norman, The Invisible Computer
  • 29. HubHub Power LinePower Line NetworkNetwork CameraCamera ScannerScanner PrinterPrinter WebWeb phonephone NetworkNetwork cameracamera IEEE 1394IEEE 1394 EntertainmentEntertainment CenterCenterCommunicationsCommunications and controland control HomeRFHomeRF Home NetworkingHome Networking HubHub Public networksPublic networks PSTN, InternetPSTN, Internet HomePNAHomePNA Phone Line NetworkPhone Line Network Internal Details Are ComplexInternal Details Are Complex
  • 30. Public networksPublic networks PSTN, InternetPSTN, Internet What Users & Apps Must SeeWhat Users & Apps Must See Consistent Objects EverywhereConsistent Objects Everywhere
  • 31. Getting StartedGetting Started • WinDNAWinDNA www.microsoft.com/dnawww.microsoft.com/dna • COM+COM+ www.microsoft.com/compluswww.microsoft.com/complus • Windows 2000Windows 2000 www.microsoft.com/windowswww.microsoft.com/windows • ToolsTools msdn.microsoft.com/vstudiomsdn.microsoft.com/vstudio

Editor's Notes

  1. Main Point: COM provides the largest choice of available tools from the widest variety of vendors. COM is not only intrinsic to every tool that Microsoft develops, it is usually an important part of the products of high volume 3rd party tool vendors. The fact that COM maps across languages is a huge advantage against JavaBeans for the Enterprise.
  2. <number>
  3. Calling an interface method within a context is a direct call. All other calls will be intercepted. Within the same apartment, cross-context calls are highly optimized and don’t really need to marshal call parameters - they just need to inform policies of policy events, so the policies can implement domain specific behavior. Cross-apartment and cross-process calls go through the proxy/stub marshaling as in COM. Standard marshaling support has been enhanced to support marshaling context information.
  4. Innovators Dilema
  5. <number>