Message Queuing
Message Queing (MQ) Begrep for sending av meldinger/objekter mellom enheter (applikasjoner) Administrasjon av køer
Message En melding (message) består av en streng med bytes Meldingen er brukt til å overføre informasjon fra en applikasjon til en annen Max størrelse på meldingen avhenger av hvilken MQ system som brukes. Eks. IBM WebSphere har en maksimum meldingsstørrelse på 100 MB. Størrelsen begrenses av: Maksimallengden definert av køen Maksimallengden definert av kø administratoren (queuemanager) Maksimallengden definert av applikasjonen som sender eller mottar Lagringskapasitet tilgjengelig for meldingen
Queue Datastruktur som inneholder/lagrer meldinger Ligger på en bestemt ruter. Kan ikke opprette samme kø på en annen ruter En kø kan være statisk (permanent opprettet av administrator etc) eller dynamisk (feks opprettet runtime av en applikasjon)
Enkel kø
Hvordan meldinger behandles i køen FIFO Prioritet Forespørsel etter en bestemt melding
Egenskaper Persistent Meldingen lagres Non-persistent One - to - one One - to - many (Many - to - many)
Hva må et MQ system bestå av? Ruter QueueManager Queues Publishers Subscribers (Message)
QueueManager Alle køer tilhører en QueueManager Organiserer køene Ruter meldinger til riktig kø Eventuelt til annen ruter Organiserer publishers og subscribers Hvem skal ha hvilke meldinger Fins køen som publisheren prøver å sende til?
Publisher Publiserer meldinger til en eller flere køer Metode Registrere seg hos queuemanageren til en kø som er opprettet av denne Sende meldinger til køen(e) Det er ikke Publisheren som ser til at meldingen kommer frem queuemanageren sin oppgave
Subscriber Registrere seg hos queuemanageren som en subscriber Kan registrere seg som ”Durable” eller Non-Durable” Unik ID (slik at queuemanageren kan beholde historikk) Registrere hvilken kø(er) man skal abonnere på meldinger fra
Prinsipp
Større nettverk
Noen utvalgte IBM Websphere (tidligere MQSeries) SonicMQ SwiftMQ Weblogic (JMS) MSMQ
Linker IBM: http://www-4.ibm.com/software/ts/mqseries SWIFTMQ: http://swiftmq.com SonicMQ: http://www.sonicsoftware.com MSMQ: http://www.microsoft.com/msmq