Marcel Gnoth, NTeam GmbH www.gnoth.net
Neues in MSMQ 3.0
Wie geht es weiter in der nachrichtenbasierten Welt?
Marcel Gnoth, NTeam GmbH www.gnoth.net
Zur Person
• Dipl. Inf. Marcel Gnoth, MCSD– www.gnoth.net
• NTeam GmbH, Berlin– www.nteam.de– Leiter Softwareentwicklung– MS Gold Partner Busines Intelligence, Information Worker,
Advanced Infrastructur
• Autor dotnetpro und dotnet-magazin• Trainer (u.a. SPC Berlin, www.spc.de )• Themen
– VB6, COM– Datenbanken, Yukon– Verteilte Informationssysteme mit .Net– Office System 2003 Integration
– Reisen in ferne Länder: www.gnoth.net/reise.htm
Marcel Gnoth, NTeam GmbH www.gnoth.net
Agenda
• Einleitung MSMQ• Neues in Version 3• Trigger• HTTP• Multiple Destination Delivery• …• MSMQ und Indigo – wie geht es weiter …?
– Indigo …? – SQL-Service Broker …?
• Fazit
Marcel Gnoth, NTeam GmbH www.gnoth.net
Einleitung
Marcel Gnoth, NTeam GmbH www.gnoth.net
Message Queueing
• Briefe zwischen Computern versenden
Queue Manager
Queue
Message
Message
Message
Queue
Message
Message
Message
Message
Queue Manager
Queue
Message
Message
Queue
Message
Message
Message
Message
Message
Message
Marcel Gnoth, NTeam GmbH www.gnoth.net
Einführung Konzepte
• Asynchrone Abarbeitung von Aufgaben– Empfänger oder Sender kann Offline sein– Nachrichten werden zwischengepuffert
• Aktiver Austausch von Informationen – zwischen Programmen / Computern– Pushen der Infos
• Workflows
• Offline
Marcel Gnoth, NTeam GmbH www.gnoth.net
Einleitung / Basics
• Bestandteil des Win2k / WinXP Setup– Nicht Standardinstallation
• Active Directory– Ohne AD->
Workgroup Modus, nur Private Queues
• Computerverwaltung– SnapIn
• VS.net Integration– Server Explorer
Marcel Gnoth, NTeam GmbH www.gnoth.net
Öffnen einer Queue
• MessageQueue.Create (Path As String)• New MessageQueue (Path As String)• MessageQueue.Exists (Path As String)
Imports System.MessagingPrivate WithEvents m_JobQueue As MessageQueueSub Test() m_JobQueue = New MessageQueue _ ("Gengar\Private$\Jobs")End Sub
Dim mqs As MessageQueue() = _ MessageQueue.GetPrivateQueuesByMachine("Gengar")
Marcel Gnoth, NTeam GmbH www.gnoth.net
Öffnen mit FormatName
• Offline Mode, ohne MQIS• Schnellste und flexibelste Methode
FormatName:Public=5A5F7535-AE9A-41d4-935C-845C2AFF7112
FormatName:DIRECT=SPX:NetworkNumber;HostNumber\QueueName FormatName:DIRECT=TCP:IPAddress\QueueName
FormatName:DIRECT=HTTP://MSMQComputer/msmq/MyPublicQueueFormatName:DIRECT=HTTPS://MSMQComputer/msmq/MyPublicQueue
FormatName:DIRECT=OS:MachineName\QueueName FormatName:DIRECT=OS:MachineName\Private$\QueueName
Dim myQueue As New MessageQueue _ ("FormatName:DIRECT=OS:Gengar\private$\Jobs")
Marcel Gnoth, NTeam GmbH www.gnoth.net
Senden einer Nachricht
• Queue öffnen• Send Methode mit einem Objekt aufrufen
– Objekt wird serialisiert <Serializable()> Public Class Job
– XML ist Standardformat– z.B. DataSets verschicken
– Eigenes Message – Objekt verwenden• Konfiguration vieler Parameter
msgQ.Send(myObject, "Message Label")
Marcel Gnoth, NTeam GmbH www.gnoth.net
Nachricht empfangen
• Receive
• BeginReceive– Asynchrones Empfangen
Dim msg As Message = mqResults.Receive()
mqResults.BeginReceive()
Private Sub mqResults_ReceiveCompleted(..., _ ByVal e As ...ReceiveCompletedEventArgs) _ Handles mqResults.ReceiveCompleted Dim myMsg As System.Messaging.Message myMsg = e.MessageEnd Sub
Marcel Gnoth, NTeam GmbH www.gnoth.net
Eigenschaften
• Offline fähig• Journal • Timeouts• Acknowledgements• Transaktionen
– Interne und DTC
Marcel Gnoth, NTeam GmbH www.gnoth.net
MENU Neues in MSMQ 3.0
Messaging entwickelt sich weiter
Marcel Gnoth, NTeam GmbH www.gnoth.net
Neue Feature in MSMQ 3.0
• Nachrichtentransport über HTTP– Ich sage nur Port 80 … – SOAP Extensions for Reliable Messaging – Load Balancing, Webfarms
• Trigger– Jetzt Bestandteil von MSMQ 3.0
• Nachrichten an mehrere Empfänger senden– Publisher / Subscriber– Real-Time Messaging Multicast , Distribution Lists
• Message lookup– Suchen nach Nachrichten ohne Cursur mit einer 64-bit
lookup ID , schnellster Zugriff
• Liste:http://www.microsoft.com/windows2000/technologies/communications/msmq/30features.asp
Marcel Gnoth, NTeam GmbH www.gnoth.net
Verbesserte Features in MSMQ 3.0
• AD Integration– Konfiguration im AD– Clients verwenden LDAP
• MMC Support• Workgroup Mode Support• Cluster Support• CE Support
• MSMQ Nachrichtenspeicher jetzt (theoretisch) 1TB• Schnellerer Neustart, auch wenn große persistente
Nachrichten vorliegen
Marcel Gnoth, NTeam GmbH www.gnoth.net
Programmierschnittstelle für die Verwaltung
• Statistiken über Messages• Überwachen des MSMQ hop-to-hop transactional
messaging Protokols• Überwachen und steuern des MSMQ Dienstes• Pause und Start für Queues• Nachverfolgung von MSMQ Nachrchten
von der Quelle bis zum Ziel
• Viele Funktionen nur als COM- oder C-Schnittstelle– Nicht alles über .Net Framework verfügbar
Marcel Gnoth, NTeam GmbH www.gnoth.net
HTTP Transport über das Internet
Wer braucht schon Webservices
Marcel Gnoth, NTeam GmbH www.gnoth.net
Einleitung MSMQ + HTTP
• Transport über http, https + SOAP• http Unterstützung muß beim Setup ausgewählt
werden, IIS auf dem Empfänger!• Neues virtuelles Verzeichnis wird angelegt
http://localhost/msmq/
• Nur senden, kein Lesen von remote queues– Gleiche Limitation haben Webservices
• SOAP Header kann ausgelesen werdenDim s As String = String.Format _ ("FormatName:Direct=http://{0}/msmq/Private$/{1}", strCom, strQue)
Dim mq As MessageQueue = New MessageQueue(s)
mq.Send(txtBody.Text, txtLabel.Text)
“FormatName:Direct=http://CHIHIRO/msmq/Private$/httptest”
Dim s As String = String.Format _ ("FormatName:Direct=http://{0}/msmq/Private$/{1}", strCom, strQue)
Dim mq As MessageQueue = New MessageQueue(s)
mq.Send(txtBody.Text, txtLabel.Text)
“FormatName:Direct=http://CHIHIRO/msmq/Private$/httptest”
Marcel Gnoth, NTeam GmbH www.gnoth.net
Hardened MSMQ mode
• MSMQ “lauscht” nicht direkt an irgendwelchen Ports• Akzeptiert nur Nachrichten über IIS• Alle augehenden Queues, die nicht über HTTP gehen
sind gesperrt– Nachrichten können plaziert werden, werden aber nicht
gesendet, bis der hardened Mode aufgehoben ist
Marcel Gnoth, NTeam GmbH www.gnoth.net
Demo
Senden über HTTP
Marcel Gnoth, NTeam GmbH www.gnoth.net
Trigger
Aktionen beim Eintreffen von Nachrichten auslösen
Marcel Gnoth, NTeam GmbH www.gnoth.net
Was sind Trigger?
• Windows Dienst (mqtgsvc.exe)• Verwendet Regeln• Aktion
– COM Komponente– (.net) Exe
• Parameterübergabe
Marcel Gnoth, NTeam GmbH www.gnoth.net
Trigger Objekte
• Trigger– kann mehrere Rules enthalten
• Condition– Eigenschaften der Nachricht werden beim Eintreffen geprüft– Mehrere Kombinationen möglich
• Action– Eine Exe oder eine COM-Komponente– Parameterübergabe kann definiert werden
• Rule– Paar von Condition und Action
Marcel Gnoth, NTeam GmbH www.gnoth.net
Trigger neu anlegen
• Über Computerverwaltung• Triggers Admin Utility for MSMQ
Marcel Gnoth, NTeam GmbH www.gnoth.net
Demo
Trigger
Marcel Gnoth, NTeam GmbH www.gnoth.net
Multiple Destinations
Senden einer Nachricht an mehrere Empfänger
Marcel Gnoth, NTeam GmbH www.gnoth.net
Multiple Destinations
• Wege– Distribution Lists – Multiple-Element Format Names – Multicast Addresses
• Jede Nachrichtenkopie hat die gleiche ID• Kein Tracing• Keine AcknowledgeMessages• Kein .Net API, COM oder C• Es kann eine Liste von ResponseQueues mitgegeben
werden– MSMQMessage.ResponseDestination , MSMQDestination
Marcel Gnoth, NTeam GmbH www.gnoth.net
Senden über Distribution Lists
• Listen im Active Directory• Public Queues, Queue Aliases,
andere Distribution Lists
Private Sub SendingToDL(ByVal strADsPathDL As String) ' Declare Message Queuing objects. Dim dest As New MSMQDestination Dim msg As New MSMQMessage ' Obtain an MSMQDestination object. dest.ADsPath = strADsPathDL On Error GoTo ErrorHandler msg.Label = "Test Message“ msg.Send(DestinationQueue:=dest) dest.close() Exit SubErrorHandler: MsgBox(Err.Description End Sub
Private Sub SendingToDL(ByVal strADsPathDL As String) ' Declare Message Queuing objects. Dim dest As New MSMQDestination Dim msg As New MSMQMessage ' Obtain an MSMQDestination object. dest.ADsPath = strADsPathDL On Error GoTo ErrorHandler msg.Label = "Test Message“ msg.Send(DestinationQueue:=dest) dest.close() Exit SubErrorHandler: MsgBox(Err.Description End Sub
Marcel Gnoth, NTeam GmbH www.gnoth.net
Senden über Multiple Element Format Names
• Private Listen mit Warteschlangen• Kombination aus beliebigen Direct-Formatnames
– Mehrere FormatNames werden duch Kommata getrennt verknüpft
' Create multiple-element format name.strFormatName1 = "DIRECT=OS:" & "Chihiro" & "\private$\" & "Gengar“strFormatName2 = "Direct=http://Chihiro/msmq/Private$/Enton“strFormatName3 = "Direct=http://192.168.0.5/msmq/Private$/Bisasam“strFormatName4 = "DIRECT=TCP:" & "192.168.0.5" & "\private$\" & "Onix“strMultipleElement = strFormatName1 & "," & strFormatName2 & "," & _ strFormatName3 & "," & strFormatName4
'Set format name of MSMQDestination object.dest.FormatName = strMultipleElement' Set the message label.msg.Label = "Test Message MultElFormNam - " + Now.ToShortTimeString' Send the message and close the MSMQDestination object.msg.Send(DestinationQueue:=dest)dest.Close()
' Create multiple-element format name.strFormatName1 = "DIRECT=OS:" & "Chihiro" & "\private$\" & "Gengar“strFormatName2 = "Direct=http://Chihiro/msmq/Private$/Enton“strFormatName3 = "Direct=http://192.168.0.5/msmq/Private$/Bisasam“strFormatName4 = "DIRECT=TCP:" & "192.168.0.5" & "\private$\" & "Onix“strMultipleElement = strFormatName1 & "," & strFormatName2 & "," & _ strFormatName3 & "," & strFormatName4
'Set format name of MSMQDestination object.dest.FormatName = strMultipleElement' Set the message label.msg.Label = "Test Message MultElFormNam - " + Now.ToShortTimeString' Send the message and close the MSMQDestination object.msg.Send(DestinationQueue:=dest)dest.Close()
Marcel Gnoth, NTeam GmbH www.gnoth.net
Senden über Multicast Adressen
• Eine Multicastausgangsqueue• Multicast Session über TCP Transport • MSMQQueueInfo.MulticastAddress
– class D range (224.0.0.0 to 239.255.255.255 )– Zum Erzeugen einer
Multicastadresse für eine Queue– MSMQQueueInfo.Update aufrufen
um Änderung zu speichern
• Keine transaktionalenNachrichten
• Pragmatic General Multicast(PGM) Protokol
Marcel Gnoth, NTeam GmbH www.gnoth.net
Mulitcast – Code Beispiel
Const MULTI_CAST_ADR As String = "234.1.1.1:4455“Const qiDest1 As String = "Chihiro\private$\Gengar“Const qiDest2 As String = "Chihiro\private$\Enton“
qi = New MSMQ.MSMQQueueInfoqi.PathName = qiDest1qi.Refresh()qi.MulticastAddress = MULTI_CAST_ADRqi.Update()
qi = New MSMQ.MSMQQueueInfoqi.PathName = qiDest2qi.Refresh()qi.MulticastAddress = MULTI_CAST_ADRqi.Update()
Dim dest As New MSMQ.MSMQDestinationDim msg As New MSMQ.MSMQMessage
dest.FormatName = "MULTICAST=" + MULTI_CAST_ADRmsg.Label = "Test Message Multicast Adr - " + Now.ToShortTimeStringmsg.Send(DestinationQueue:=dest)dest.Close()
Const MULTI_CAST_ADR As String = "234.1.1.1:4455“Const qiDest1 As String = "Chihiro\private$\Gengar“Const qiDest2 As String = "Chihiro\private$\Enton“
qi = New MSMQ.MSMQQueueInfoqi.PathName = qiDest1qi.Refresh()qi.MulticastAddress = MULTI_CAST_ADRqi.Update()
qi = New MSMQ.MSMQQueueInfoqi.PathName = qiDest2qi.Refresh()qi.MulticastAddress = MULTI_CAST_ADRqi.Update()
Dim dest As New MSMQ.MSMQDestinationDim msg As New MSMQ.MSMQMessage
dest.FormatName = "MULTICAST=" + MULTI_CAST_ADRmsg.Label = "Test Message Multicast Adr - " + Now.ToShortTimeStringmsg.Send(DestinationQueue:=dest)dest.Close()
Marcel Gnoth, NTeam GmbH www.gnoth.net
Demo
Multiple Destinations
Marcel Gnoth, NTeam GmbH www.gnoth.net
Best Practices
• Lesen von remote Queues vermeiden– MSMQ ist für remote Senden und lokales Lesen designed
• Zugriffe aufs AD vermeiden• Lieber Private als Public Queues• Verwenden Sie Time Outs• Berücksichtigen Sie die Grenzen der asynchronous
notification• Setzen Sie Transaktionen mit Bedacht ein• Verwenden Sie ACKs oder NAKs
Marcel Gnoth, NTeam GmbH www.gnoth.net
Indigo in der Zukunft
• Nächste Windowsversion Longhorn ca. 2007– WinFS– Avalon (GUI)– Indigo (Kommunikation)
• Indigo soll die verschiedenen Kommunikationstechnologien zusammenführen, nicht abschaffen– DCOM, MSMQ, WS, Remoting, Enterprise Services (COM+)
• Dienstorientierte Architektur (SOA) steht im Vordergrund
Marcel Gnoth, NTeam GmbH www.gnoth.net
Base Operating System Services CLR
Transactions Storage
Protocols
Network Services
Kernel M
ode
Base Class LibrariesBase Class Libraries
Memory ManagerMemory Manager
Hosting LayerHosting Layer
Code ExecutionCode Execution LoaderLoader SecuritySecurity SerializationSerialization
LightweightTransactionsLightweightTransactions
TransactionCoordinatorTransactionCoordinator
KernelTransactionManager
KernelTransactionManager
LoggingServiceLoggingService
KernelKernel
Hardware Abstraction LayerHardware Abstraction Layer
ProcessManagerProcessManager
SecurityReference Monitor
SecurityReference Monitor
LPCFacilityLPCFacility
MemoryManagerMemoryManager
PowerManagerPowerManager
ConfigManagerConfigManager
Plug andPlayPlug andPlay
TransactedNTFSTransactedNTFS
Cache ManagerCache
ManagerUniversalData Format
UniversalData Format
FilterEngineFilterEngine
TPC, UDPIPV4, IPV6TPC, UDPIPV4, IPV6 IPSECIPSEC QOSQOS HTTP
ListenerHTTPListener
Internet Connection FirewallInternet Connection Firewall
Demand Activation and Protocol HealthDemand Activation and Protocol Health
PNRPPNRP NativeWiFiNativeWiFi SIPSIP TCP
ListenerTCP Listener
UDP ListenerUDP Listener
IPC ListenerIPC Listener
Network Class LibraryNetwork Class Library
GDI/GDI+GDI/GDI+ WindowManagerWindowManager
GlobalAudio Engine
GlobalAudio Engine
DirectXGraphicsDirectXGraphics
Graphics driversGraphics drivers
DDIDDI InputManagerInputManager
AudioDriversAudioDrivers
DirectX GraphicsMini port
DirectX GraphicsMini port
RedirectorsRedirectors
SCSI/FCSCSI/FC 802.3802.3 802.11802.11 ....
Device Drivers
ManagementManagement
Presentation Data Communication
WinFS Indigo
Make the connection
Windows FormsAvalon ASP.NET
ObjectSpacesObjectSpaces
DataSetDataSet
SQL XMLSQL XML
ProvidersProviders
Fram
ework
Services Schemas
Data Model
ADO.NET
Connectivity
Synchronization(WinFS, Win32..)Synchronization(WinFS, Win32..)
InfoAgent(PreferenceRules..)InfoAgent(PreferenceRules..)
FileSystem Services(MetaDataHandlers..)FileSystem Services(MetaDataHandlers..)
CalendarCalendar MediaMedia
DocumentDocument ……
ItemsItems
RelationshipsRelationships
ExtensionsExtensionsCommunications Manager (Port)Communications Manager (Port)
Messaging Services
Transport Channels(IPC, HTTP, TCP…)Transport Channels(IPC, HTTP, TCP…)
IO ManagerIO Manager
Channels (Datagram, Reliable, Peer, …)
Channels (Datagram, Reliable, Peer, …)
Policy EnginePolicy Engine
MessageEncoderMessageEncoder
ChannelSecurityChannelSecurity
QueuingQueuing
EventingEventing
RoutingRouting
TransactionTransaction
Desktop ServicesDesktop Services
Desktop WindowManagerDesktop WindowManager
Presentation Object ManagerPresentation Object Manager
Desktop Composition EngineDesktop Composition Engine
Animation andCompositionAnimation andComposition
Media Services
Hardware RenderingHardware Rendering
MediaProcessingMediaProcessing
Capture and SourcingCapture and Sourcing
Software Renderingand SinksSoftware Renderingand Sinks
Adaptive UIEngineAdaptive UIEngine
Page/SiteCompositionPage/SiteComposition
Personalization andProfiling ServicesPersonalization andProfiling Services
Membership and Security ServicesMembership and Security Services
Designer ServicesDesigner Services
Controls Interop EngineControls Interop Engine
ControlsControls
Windows Forms
ApplicationServicesApplicationServices
Application DeploymentEngine (Click-Once)
Application DeploymentEngine (Click-Once)
PeoplePeople GroupGroup
Identity &SecuritySystem
Identity &SecuritySystem
Collaboration
People andGroupsPeople andGroups
CollaborationHistoryCollaborationHistory
Real-TimeActivitiesReal-TimeActivities
SignalingSignalingFederationFederation
System Services
FAT 16/32FAT 16/32
FilterManagerFilterManager
DistributedFile SystemDistributedFile System
Backup /RestoreBackup /Restore
File ReplicationServiceFile ReplicationService
Virtual DiskServiceVirtual DiskService
Models
ServiceServiceObjectObject T/SQLT/SQL XMLXMLDocumentDocument UIUI MediaMedia
Marcel Gnoth, NTeam GmbH www.gnoth.net
Connector
Communications Manager (Port)Communications Manager (Port)
Transport Channels(IPC, HTTP, TCP…)Transport Channels(IPC, HTTP, TCP…)
Channels (Datagram, Reliable, Peer, …)Channels (Datagram, Reliable, Peer, …)
Policy EnginePolicy Engine
MessageEncoderMessageEncoder
ChannelSecurityChannelSecurity
Service Model
Hosting Environments
Instance ManagerInstance Manager
Context ManagerContext Manager
TypeIntegrationTypeIntegration
ServiceMethodsServiceMethods
DeclarativeBehaviorsDeclarativeBehaviors
TransactedMethodsTransactedMethods
ASP.NETASP.NET .container.container .exe.exe NT ServiceNT Service DllHostDllHost
Messaging Services
System Services
QueuingQueuing
RoutingRouting
EventingEventing
……
Transaction Transaction
Federation Federation
……
Indigo ArchitectureIndigo Architecture
Marcel Gnoth, NTeam GmbH www.gnoth.net
Indigo Connector
• Von außen sichtbar– Services– Messages
• SOAP Nachrichten
• Intern– Ports
• URI Bezeichner
– Channels• Transportiert zwischen Ports• TCP, HTTP, ICP, MSMQ
Marcel Gnoth, NTeam GmbH www.gnoth.net
MSMQ Server Wire Interop
Client
API
MSMQ MSMQ / SRMP
API
MSMQ
Server
Web Services
MSMQ
Expose as a Web Service
MSMQ
Upgraded Upgraded
Existing Upgraded
Soap Reliable Messaging Protocol
Marcel Gnoth, NTeam GmbH www.gnoth.net
MSMQ Binary Migration Details
• Requirements– Upgrade the platform
• Avoid– Nothing: The full set of MSMQ features
will interop
• Will not be supported– Nothing: The full set of MSMQ features
will interop
Marcel Gnoth, NTeam GmbH www.gnoth.net
FAQ: What is the future of MSMQ and messaging technologies at Microsoft?
• A. The next version of MSMQ will be delivered as a component of the next version of Windows (code-named "Longhorn") and will interoperate with Indigo, the name for a collection of new programming frameworks. Indigo will be the framework of choice for building connected systems and will include powerful, reliable messaging capabilities.
• Other messaging technologies include Message Queuing (code named "MSMQ-T"), a feature in Microsoft BizTalk® Server 2004. In addition, the next version of Microsoft SQL Server™ (code-named Yukon) includes a feature called Service Broker.
Marcel Gnoth, NTeam GmbH www.gnoth.net
FAQ: What is Indigo?
• A. Windows "Longhorn" will include a new communications infrastructure built around the Web services architecture, Indigo. Indigo provides a simple, powerful framework for transacted messaging with the best possible interoperability on the Windows server platform. The Indigo framework provides a rich, extensible feature set for reliable messaging, including tight and loose coupling models, durable or volatile storage, configurable delivery guarantees, and deployment flexibility.
• For more information, see the Indigo page on the MSDN Windows "Longhorn" Developer Center Web site.
Marcel Gnoth, NTeam GmbH www.gnoth.net
FAQ: What is BizTalk Server 2004 Message Queuing?
• A. BizTalk Server 2004 includes Message Queuing, an adapter for MSMQ that enables high-performance interoperability between MSMQ applications and BizTalk Server. "Message Queuing" refers to this adapter, not a general-purpose reliable messaging technology.
• Message Queuing is used to integrate an MSMQ application with BizTalk Server 2004. For example, if an integration application uses BizTalk Server to orchestrate incoming Web services requests with an existing MSMQ application, BizTalk Server is leveraged for format and transport modification.
• For more information, see the BizTalk Server Web site.
Marcel Gnoth, NTeam GmbH www.gnoth.net
FAQ: What is the SQL Server Service Broker?
• A. SQL Server "Yukon" includes Service Broker, a feature for database developers that facilitates building queuing semantics into SQL Server "Yukon" applications. For example, Service Broker could be used for a system which coordinates data processing among multiple SQL Server "Yukon" servers such that entries in a master customer database result in queued record transfer to a branch office. Or Service Broker could be used for a database application that stores and forwards records to another "Yukon" server for processing.
• For more information about the SQL Server "Yukon" release, see the SQL Server 2005 Web site. For information about specific features, including Service Broker, see An Overview of SQL Server "Yukon" for the Database Developer.
Marcel Gnoth, NTeam GmbH www.gnoth.net
Links
• Artikel auf www.gnoth.nethttp://www.gnoth.net/Job/Publikationen.htm
• Send MSMQ Messages Securely Across the Internet with HTTP and SOAP
http://msdn.microsoft.com/msdnmag/issues/03/12/MSMQandNET/default.aspx
• Newsgroups auf nntp://msnews.microsoft.com
Marcel Gnoth, NTeam GmbH www.gnoth.net
Alles wird gut
Uff...Uff...
Top Related