+ All Categories
Home > Documents > New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft...

New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft...

Date post: 27-Mar-2015
Category:
Upload: william-kirk
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
55
Transcript
Page 1: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.
Page 2: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

New Features of Message New Features of Message Queuing in Windows .NET Queuing in Windows .NET Server 2003Server 2003

Shai KarivShai KarivProgram ManagerProgram ManagerMSMQMSMQMicrosoft CorporationMicrosoft Corporation

Page 3: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Before We Start…Before We Start…

Win06: Tips & Tricks, later today!Win06: Tips & Tricks, later today! MSMQ background:MSMQ background:

MSMQ 1.0 in Windows NT 4.0MSMQ 1.0 in Windows NT 4.0 MSMQ 2.0 in Windows 2000MSMQ 2.0 in Windows 2000

Platform integration: AD, Clustering, MMCPlatform integration: AD, Clustering, MMC Add-on services like TriggersAdd-on services like Triggers

MSMQ 3.0 in XP and .NET Server 2003MSMQ 3.0 in XP and .NET Server 2003 Internet messagingInternet messaging 1-to-many messaging1-to-many messaging Integrating Triggers, extending Admin APIIntegrating Triggers, extending Admin API

System.MessagingSystem.Messaging

Page 4: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

AgendaAgenda

Reliable 1-N MessagingReliable 1-N Messaging Distribution ListsDistribution Lists Reliable MulticastReliable Multicast

Reliable Internet MessagingReliable Internet Messaging Messaging Over SOAP/HTTPMessaging Over SOAP/HTTP Firewalls and Load BalancingFirewalls and Load Balancing

Admin APIAdmin API Deployment and StorageDeployment and Storage TriggersTriggers

Page 5: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Distribution ListsDistribution ListsOverviewOverview

Software “fan-out”Software “fan-out” Pub/Sub primitivesPub/Sub primitives End-to-end semantics forEnd-to-end semantics for

Delivery guaranteesDelivery guarantees SecuritySecurity TransactionsTransactions

Implementation: 1-1 “internally”Implementation: 1-1 “internally”

Page 6: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Distribution ListsDistribution ListsPublic DLsPublic DLs

Registered in Active DirectoryRegistered in Active Directory Leverage AD Group objectLeverage AD Group object

Programmable via ADSI callsProgrammable via ADSI calls Manageable via AD MMC snap-insManageable via AD MMC snap-ins

New format name: New format name: DL=<GUID>DL=<GUID> Elements can be other DLsElements can be other DLs

Dim dest as New MSMQDestinationDim dest as New MSMQDestination

dest.FormatName = “DL=<GUID>”dest.FormatName = “DL=<GUID>”

Message.Send destMessage.Send dest

Page 7: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Distribution ListsDistribution ListsPrivate DLsPrivate DLs

Client-managed “DL”:Client-managed “DL”: List of format namesList of format names Including new format names: DL, HTTPIncluding new format names: DL, HTTP Non-discoverableNon-discoverable

Dim dest as New MSMQDestinationDim dest as New MSMQDestination

dest.FormatName = “DIRECT=OS:host1\dest.FormatName = “DIRECT=OS:host1\q”,”PRIVATE=…”q”,”PRIVATE=…”

Message.Send destMessage.Send dest

Page 8: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Distribution ListsDistribution ListsTransactionsTransactions

Identical to queue transactionsIdentical to queue transactions Multiple transactions to same DL: In-Multiple transactions to same DL: In-

Order deliveryOrder delivery If sent from the same computerIf sent from the same computer

No in-order guarantee for messages No in-order guarantee for messages sent to different DLssent to different DLs Even if DLs contain the same queuesEven if DLs contain the same queues

Page 9: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Distribution ListsDistribution Lists

Page 10: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

AgendaAgenda

Reliable 1-N MessagingReliable 1-N Messaging Distribution ListsDistribution Lists Reliable MulticastReliable Multicast

Reliable Internet MessagingReliable Internet Messaging Messaging Over SOAP/HTTPMessaging Over SOAP/HTTP Firewalls and Load BalancingFirewalls and Load Balancing

Admin APIAdmin API Deployment and StorageDeployment and Storage TriggersTriggers

Page 11: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable MulticastReliable MulticastOverviewOverview

Hardware “fan-out”: Efficient send to Hardware “fan-out”: Efficient send to multiple recipientsmultiple recipients

Expose and leverage IP multicastExpose and leverage IP multicast MSMQ provides offline, persistencyMSMQ provides offline, persistency

Provide building blocks for Pub/SubProvide building blocks for Pub/Sub Scenario: real-time market data push Scenario: real-time market data push

(financial sector)(financial sector) Protocol: Pragmatic General MulticastProtocol: Pragmatic General Multicast

Page 12: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable MulticastReliable MulticastPGM: Pragmatic General MulticastPGM: Pragmatic General Multicast

Joint Microsoft/Cisco effortJoint Microsoft/Cisco effort Public specificationPublic specification Cisco routers provide optimizationCisco routers provide optimization

Reliable multicast transportReliable multicast transport Receiver either gets all transmission and Receiver either gets all transmission and

repair datarepair data Or able to detect unrecoverable data lossOr able to detect unrecoverable data loss

Members may join/leave at any timeMembers may join/leave at any time

Page 13: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

PGM Data FlowPGM Data FlowPGM host sends a multicast packetPGM host sends a multicast packet

SenderSender

ReceiverReceiverSSRR

= Multicast ODATA= Multicast ODATA

RRRR

RR

RR

Page 14: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

PGM Data FlowPGM Data FlowA recipient sends (unicast) NAKA recipient sends (unicast) NAK

Unicast NAKUnicast NAK

SenderSender

ReceiverReceiverSSRR

RRRR

RR

RR

Page 15: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

PGM Data FlowPGM Data FlowRouter multicasts NCF in LANRouter multicasts NCF in LAN

SenderSender

ReceiverReceiverSSRR

= Multicast ODATA= Multicast ODATA

RRRR

RR

RR

Page 16: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

PGM Data FlowPGM Data FlowRouter unicasts NAK back to senderRouter unicasts NAK back to sender

SenderSender

ReceiverReceiverSSRR

RRRR

RR

RR

Page 17: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

PGM Data FlowPGM Data FlowSender multicasts repair dataSender multicasts repair data

SenderSender

ReceiverReceiverSSRR

= Multicast ODATA= Multicast ODATA

RRRR

RR

RR

Page 18: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable MulticastReliable MulticastConfiguration and SecurityConfiguration and Security

Receiver configuration: Receiver configuration: New queue property: New queue property: MulticastAddressMulticastAddress A queue can join one multicast groupA queue can join one multicast group

Sender configuration:Sender configuration: Max send rateMax send rate Max time the repair data is availableMax time the repair data is available

Security:Security: Existing authN/authZ (per queue)Existing authN/authZ (per queue) Encryption only at application levelEncryption only at application level

Page 19: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable MulticastReliable MulticastProgramming modelProgramming model

Receiver side:Receiver side: New queue property: MulticastAddress New queue property: MulticastAddress

can be set programmatically…can be set programmatically… When creating the queue or later onWhen creating the queue or later on

Sender side:Sender side: New format name: New format name: MULTICAST=<IP>MULTICAST=<IP> No additional end-to-end semanticsNo additional end-to-end semantics

Dim dest as New MSMQDestinationDim dest as New MSMQDestination

dest.FormatName = “MULTICAST=<address:port>”dest.FormatName = “MULTICAST=<address:port>”

Message.Send destMessage.Send dest

Page 20: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable MulticastReliable Multicast

Page 21: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

AgendaAgenda

Reliable 1-N MessagingReliable 1-N Messaging Distribution ListsDistribution Lists Reliable MulticastReliable Multicast

Reliable Internet MessagingReliable Internet Messaging Messaging Over SOAP/HTTPMessaging Over SOAP/HTTP Firewalls and Load BalancingFirewalls and Load Balancing

Admin APIAdmin API Deployment and StorageDeployment and Storage TriggersTriggers

Page 22: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingGoalsGoals

Same programming modelSame programming model Use HTTP as transportUse HTTP as transport SOAP-based protocolSOAP-based protocol Secure messaging across firewallsSecure messaging across firewalls Support Network Load BalancingSupport Network Load Balancing

Page 23: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingProgramming modelProgramming model

Open queue, send messageOpen queue, send message Queue Queue cancan be HTTP-addressed be HTTP-addressed New format name:New format name:

DIRECT=HTTPS://host/MSMQ/qDIRECT=HTTPS://host/MSMQ/q Open queue, receive messageOpen queue, receive message New message properties leverage New message properties leverage

SOAP supportSOAP support SoapHeader, SoapBodySoapHeader, SoapBody SoapEnvelope, CompoundMessageSoapEnvelope, CompoundMessage

Page 24: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingSOAP Reliable Messaging ProtocolSOAP Reliable Messaging Protocol

SRMP: Specification for general-SRMP: Specification for general-purpose reliable messagingpurpose reliable messaging Published specificationPublished specification Extension of WS-RoutingExtension of WS-Routing Implemented by MSMQ 3.0Implemented by MSMQ 3.0

SOAP header is used to provide end-SOAP header is used to provide end-to-end information needed for reliable to-end information needed for reliable messagingmessaging

Page 25: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

SRMP Message ElementsSRMP Message Elements

WS-Routing: WS-Routing: pathpathWS-Routing: WS-Routing: pathpath

PropertiesPropertiesPropertiesProperties

ServicesServicesServicesServices StreamStreamStreamStream

Receipts:Receipts:

DeliveryDelivery

CommitmentCommitment

StreamStream

Receipts:Receipts:

DeliveryDelivery

CommitmentCommitment

StreamStream

SOAPSOAPBodyBody

SecuritySecuritySecuritySecurity

SOAP SOAP HeaderHeader

SOAP BodySOAP BodySOAP BodySOAP Body

Page 26: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

SRMP Path, PropetiesSRMP Path, Propeties<SOAP-ENV:Header xmlns=http://schema.xmlsoap.org/srmp<SOAP-ENV:Header xmlns=http://schema.xmlsoap.org/srmp

xmlns:rp="http://schemas.xmlsoap.org/rp/“> xmlns:rp="http://schemas.xmlsoap.org/rp/“>

<<rp:pathrp:path SOAPENV:mustUnderstand=“1”> SOAPENV:mustUnderstand=“1”> <<rp:actionrp:action> MSMQ:Message <> MSMQ:Message </rp:action/rp:action>> <<rp:torp:to> > http://server/somethinghttp://server/something < </rp:to/rp:to>> <<rp:idrp:id>> uuid:2288926@ac3fd49c-e7d5-4354-ba8d-3e13fc6f677cuuid:2288926@ac3fd49c-e7d5-4354-ba8d-3e13fc6f677c <</rp:id/rp:id>> <<rp:relatesTorp:relatesTo>> uuid:2288926@ac3fd49d-e7d5-4354-ba8d-3e13fc6f677cuuid:2288926@ac3fd49d-e7d5-4354-ba8d-3e13fc6f677c <</rp:relatesTo/rp:relatesTo>> <</rp:path/rp:path>> <<propertiesproperties SOAP-ENV:mustUnderstand="1“> SOAP-ENV:mustUnderstand="1“> <<expiresAtexpiresAt>20380119T031407<>20380119T031407</expiresAt/expiresAt>> <<sentAtsentAt>20010509T130502<>20010509T130502</sentAt/sentAt>> <</properties/properties>></SOAP-ENV:Header></SOAP-ENV:Header>

Page 27: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

SRMP ServicesSRMP Services<services SOAP-ENV:mustUnderstand="1"><services SOAP-ENV:mustUnderstand="1"> <durable/><durable/> <deliveryReceiptRequest><deliveryReceiptRequest> <sendTo><sendTo> http://www.we-love-books.org/receiptshttp://www.we-love-books.org/receipts </sendTo></sendTo> </deliveryReceiptRequest></deliveryReceiptRequest> <commitmentReceiptRequest><commitmentReceiptRequest> <sendTo><sendTo> http://www.we-love-books.org/deliverydonehttp://www.we-love-books.org/deliverydone </sendTo></sendTo> <negativeOnly/><negativeOnly/> </commitmentReceiptRequest></commitmentReceiptRequest></services></services>

Page 28: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

SRMP StreamsSRMP Streams<stream SOAP-ENV:mustUnderstand="1"><stream SOAP-ENV:mustUnderstand="1"> <streamId> <streamId> uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6 </streamId></streamId> <current>1</current><current>1</current> <start><start> <sendReceiptsTo> http://sender/streamAcks/ <sendReceiptsTo> http://sender/streamAcks/

</sendReceiptsTo></sendReceiptsTo> </start></start></stream></stream>

<stream SOAP-ENV:mustUnderstand="1"><stream SOAP-ENV:mustUnderstand="1"> <streamId><streamId> uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6 </streamId></streamId> <current>7</current><current>7</current> <previous>5</previous><previous>5</previous></stream></stream>

Page 29: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

SRMP ExtensibilitySRMP ExtensibilityMSMQ support for extensibilityMSMQ support for extensibility

MSMQ creates the SRMP elementsMSMQ creates the SRMP elements When destination format name is URLWhen destination format name is URL

Receive-side applications Receive-side applications cancan access access the message as XML documentthe message as XML document SoapEnvelope, CompoundMessageSoapEnvelope, CompoundMessage

Send-side applications Send-side applications cancan extend the extend the SOAP messageSOAP message SoapHeader, SoapBodySoapHeader, SoapBody

Page 30: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Internet Messaging / Internet Messaging / SRMPSRMP

Page 31: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingRedirecting SRMP messagesRedirecting SRMP messages

HTTP requests can be redirectedHTTP requests can be redirected SRMP must support redirectionSRMP must support redirection

Redirecting SRMP messages requires Redirecting SRMP messages requires store and forwardstore and forward

MSMQ 3.0 supports store, redirect and MSMQ 3.0 supports store, redirect and forwardforward Using XML files for “mapping”Using XML files for “mapping” Message content does not changeMessage content does not change

Page 32: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingMapping fileMapping file

<from><from> External (known) name of the destinationExternal (known) name of the destination

<to><to> Local resolution for the destinationLocal resolution for the destination

<redirections><redirections>

<redirection><redirection>

<from>https://z.com/msmq/orders</from><from>https://z.com/msmq/orders</from>

<to>https://server1/msmq/q1</to><to>https://server1/msmq/q1</to>

</redirection></redirection>

</redirections></redirections>

Page 33: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingRouting SRMP messagesRouting SRMP messages

Enterprise: MSMQ uses Active Enterprise: MSMQ uses Active Directory for dynamic routingDirectory for dynamic routing

MSMQ does not use Active Directory to MSMQ does not use Active Directory to resolve DIRECT format nameresolve DIRECT format name

Redirect mapping allows Redirect mapping allows connectionless SRMP messagingconnectionless SRMP messaging Useful for workgroup mode as wellUseful for workgroup mode as well

ReceiverReceiverSenderSenderMSMQ MSMQ hosthost

Mapping tableMapping table

Page 34: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Internet Messaging / Internet Messaging / MappingMapping

Page 35: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

AgendaAgenda

Reliable 1-N MessagingReliable 1-N Messaging Distribution ListsDistribution Lists Reliable MulticastReliable Multicast

Reliable Internet MessagingReliable Internet Messaging Messaging Over SOAP/HTTPMessaging Over SOAP/HTTP Firewalls and Load BalancingFirewalls and Load Balancing

Admin APIAdmin API Deployment and StorageDeployment and Storage TriggersTriggers

Page 36: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Secure Web MessagingSecure Web MessagingRequirementsRequirements

Do not allow direct TCP sessions from Do not allow direct TCP sessions from Internet to IntranetInternet to Intranet

Do not expose names of internal Do not expose names of internal resources: computers, queuesresources: computers, queues

Do not store sensitive data on Do not store sensitive data on computers in the DMZcomputers in the DMZ

Do not forward unauthenticated Do not forward unauthenticated messages from DMZ to Intranetmessages from DMZ to Intranet

Page 37: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Secure Web MessagingSecure Web MessagingTopologyTopology

Internet DMZ

FirewallFirewall FirewallFirewall

HTTP Proxy

MSMQServer

https://my_company.com/orders

Authenticate

Map

Store

Forward

https://ic/msmq/InQueue

https://your_company.com/acks

Intranet

<sendReceiptsTo>

http://my_company.com/receipts

</sendReceiptsTo>

MSMQ Client

Page 38: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingNLB OverviewNLB Overview

Network load balancing solutions:Network load balancing solutions: Hardware (e.g. Cisco LocalDirector)Hardware (e.g. Cisco LocalDirector) DNS round-robinDNS round-robin Windows Network Load BalancingWindows Network Load Balancing

NLB assumes state-less servicesNLB assumes state-less services Seamless for low QoS messaging appsSeamless for low QoS messaging apps Special solution required for high QoS Special solution required for high QoS

messaging appsmessaging apps

Page 39: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingNLB: Low QoS messagingNLB: Low QoS messaging

NLBNLB

Node1Node1

My_MSMQ_AppMy_MSMQ_App

Node1Node1

My_MSMQ_AppMy_MSMQ_App

Node2Node2

My_MSMQ_AppMy_MSMQ_App

Node2Node2

My_MSMQ_AppMy_MSMQ_App

Node3Node3

My_MSMQ_AppMy_MSMQ_App

Node3Node3

My_MSMQ_AppMy_MSMQ_App

NLB ClusterNLB Cluster

DIRECT=HTTP://NLB_URL/MSMQ/q1DIRECT=HTTP://NLB_URL/MSMQ/q1

oror

DIRECT=TCP:<NLB_IP>\q1DIRECT=TCP:<NLB_IP>\q1 (works also on Windows 2000)(works also on Windows 2000)

Page 40: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Reliable Web MessagingReliable Web MessagingNLB: High QoS messagingNLB: High QoS messaging

NLBNLB

NLB ClusterNLB Cluster

MSMQ Client1MSMQ Client1

App_inqueueApp_inqueue

MSMQ Client2MSMQ Client2

App_ordersApp_orders

Node1Node1Q1->client1\q1Q1->client1\q1Q2->client2\q9Q2->client2\q9

Node2Node2Q1->client1\q1Q1->client1\q1Q2->client2\q9Q2->client2\q9

Node3Node3Q1->client1\q1Q1->client1\q1Q2->client2\q9Q2->client2\q9

Page 41: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

AgendaAgenda

Reliable 1-N MessagingReliable 1-N Messaging Distribution ListsDistribution Lists Reliable MulticastReliable Multicast

Reliable Internet MessagingReliable Internet Messaging Messaging Over SOAP/HTTPMessaging Over SOAP/HTTP Firewalls and Load BalancingFirewalls and Load Balancing

Admin APIAdmin API Deployment and StorageDeployment and Storage TriggersTriggers

Page 42: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Admin APIAdmin APIOverviewOverview

Programmable control of MSMQ Programmable control of MSMQ objects:objects: MSMQ serviceMSMQ service Application queuesApplication queues Internal transmission queuesInternal transmission queues

Local and remoteLocal and remote COM object modelCOM object model Add-on available for MSMQ 2.0Add-on available for MSMQ 2.0

Page 43: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Admin APIAdmin APIExtension to existing objectsExtension to existing objects

MSMQApplication extensions includes:MSMQApplication extensions includes: ActiveQueuesActiveQueues PrivateQueuesPrivateQueues DirectoryServiceServerDirectoryServiceServer IsConnectedIsConnected UsedQuotaUsedQuota ConnectConnect DisconnectDisconnect Machine (can manage remote hosts)Machine (can manage remote hosts)

MSMQQueue extension:MSMQQueue extension: PurgePurge

Page 44: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Admin APIAdmin APINew objectsNew objects

MSMQManagement: MSMQManagement: base class for outgoing and target base class for outgoing and target queuesqueues MachineMachine FormatNameFormatName MessageCountMessageCount QueueType (private, public, …)QueueType (private, public, …)

MSMQOutgoingQueueManagementMSMQOutgoingQueueManagement NextHops (routing info)NextHops (routing info) EodGetSendInfo (transaction info)EodGetSendInfo (transaction info) EodResend (transactional protocol)EodResend (transactional protocol) PausePause ResumeResume

MSMQQueueManagementMSMQQueueManagement UsedQuotaUsedQuota EodGetReceiveInfo (transaction info)EodGetReceiveInfo (transaction info)

Page 45: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Admin APIAdmin APICode exampleCode example

Pause an outgoing queue on Pause an outgoing queue on “RemoteMachine”, inspect its content “RemoteMachine”, inspect its content and resume it.and resume it.

Dim qmgmt as New MSMQManagementDim qmgmt as New MSMQManagement

qmgmt.Init Machine:=“RemoteMachine”,qmgmt.Init Machine:=“RemoteMachine”,

PathName:=“TargetMachine\q”PathName:=“TargetMachine\q”

Dim outqmgmt as MSMQOutgoingQueueManagementDim outqmgmt as MSMQOutgoingQueueManagement

Set outqmgmt = qmgmtSet outqmgmt = qmgmt

outqmgmt.Pauseoutqmgmt.Pause

MsgBox “messages in q:” & outqmgmt.MessageCountMsgBox “messages in q:” & outqmgmt.MessageCount

outqmgmt.Resumeoutqmgmt.Resume

Page 46: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

AgendaAgenda

Reliable 1-N MessagingReliable 1-N Messaging Distribution ListsDistribution Lists Reliable MulticastReliable Multicast

Reliable Internet MessagingReliable Internet Messaging Messaging Over SOAP/HTTPMessaging Over SOAP/HTTP Firewalls and Load BalancingFirewalls and Load Balancing

Admin APIAdmin API Deployment and StorageDeployment and Storage TriggersTriggers

Page 47: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Storage & DeploymentStorage & DeploymentEnterprise deploymentEnterprise deployment

Simplify MSMQ requirements in Active Simplify MSMQ requirements in Active Directory environment:Directory environment: No MSMQ servers on domain controllersNo MSMQ servers on domain controllers MSMQ clients access Active Directory MSMQ clients access Active Directory

directly via LDAPdirectly via LDAP Old requirements still apply for NT 4.0 and Old requirements still apply for NT 4.0 and

Windows 2000 clientsWindows 2000 clients

Page 48: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Storage & DeploymentStorage & DeploymentNo deployment on DCNo deployment on DC

SenderSender RecipientRecipient

MSMQMSMQ

Any Any Domain Domain

ControllerController

Existence & Existence & AuthenticationAuthentication

Open Open queue on queue on recipientrecipientfor send for send

Page 49: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

Storage & DeploymentStorage & DeploymentUnlimited storageUnlimited storage

Problem: MSMQ 1.0/2.0 message store: Problem: MSMQ 1.0/2.0 message store: 2 GB limitation2 GB limitation Win64 doesn’t solveWin64 doesn’t solve

Goal: lift the 2 GB limitGoal: lift the 2 GB limit Implementation: Extend the current Implementation: Extend the current

MSMQ proprietary message storeMSMQ proprietary message store Non-goal: Solve the 4 MB message size Non-goal: Solve the 4 MB message size

limitlimit

Page 50: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

AgendaAgenda

Reliable 1-N MessagingReliable 1-N Messaging Distribution ListsDistribution Lists Reliable MulticastReliable Multicast

Reliable Internet MessagingReliable Internet Messaging Messaging Over SOAP/HTTPMessaging Over SOAP/HTTP Firewalls and Load BalancingFirewalls and Load Balancing

Admin APIAdmin API Deployment and StorageDeployment and Storage TriggersTriggers

Page 51: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

TriggersTriggersOverviewOverview

Problem: Generic queue listener code Problem: Generic queue listener code is frequently rewrittenis frequently rewritten

Solution: Solution: High performance, built-in, 24x7 listener High performance, built-in, 24x7 listener

service to invoke components on service to invoke components on message arrivalmessage arrival

Invokes EXEs or COM componentsInvokes EXEs or COM components .NET components need to be wrapped as COM .NET components need to be wrapped as COM

componentscomponents No need to call MSMQ APINo need to call MSMQ API

Page 52: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

TriggersTriggersNew featuresNew features

Integrated setupIntegrated setup Integrated administrationIntegrated administration Integrated clustering model Integrated clustering model

(active/active)(active/active) Message retrieval:Message retrieval:

PeekPeek ReceiveReceive Transactional receiveTransactional receive

Page 53: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

TriggersTriggers

Page 54: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

More Information…More Information…

Win06: Tips & Tricks, later today!Win06: Tips & Tricks, later today! MSMQ web site: MSMQ web site:

www.microsoft.com/MSMQwww.microsoft.com/MSMQ MSDNMSDN

Call-To-Action: Check out Call-To-Action: Check out System.Messaging in the .NET System.Messaging in the .NET Framework SDKFramework SDK

Page 55: New Features of Message Queuing in Windows.NET Server 2003 Shai Kariv Program Manager MSMQ Microsoft Corporation.

© 2002 Microsoft Corporation. All rights reserved.© 2002 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Recommended