IBM MQ är en familj av nätverksprogram som IBM öppnade i mars 1992. Tidigare känd som MQSeries : IBM döpte om den till WebSphere MQ 2002 för att associeras med WebSpheres produktlinje . Bytte namn till IBM MQ i april 2014 . IBM MQ kallas också helt enkelt MQ eller MQSeries.
IBM MQ är ett meddelandeorienterat mellanprogram . Det tillåter oberoende och eventuellt icke-simultana applikationer i ett distribuerat system att kommunicera med varandra. MQ körs på alla större plattformar: z/OS ( stordator ), IBM i ( IBM System i, tidigare AS/400 ), Transaction Processing Facility , UNIX ( AIX , HP-UX , Solaris ), HP NonStop , OpenVMS , Linux och Microsoft fönster .
IBM MQ är den vanligaste lösningen inom detta område [1] för att kommunicera över plattformar, inklusive Windows, Linux, avancerade och mellanklassiga IBM-system och andra Unix-system.
Leverans av meddelanden genom köer har två sidor:
Köhanteraren, även om den inte krävs i sådan programvara, används alltid i IBM MQ och är en systemtjänst som tillhandahåller en logisk behållare för meddelandekön. Den ansvarar för att överföra data till andra registeransvariga genom särskilda meddelandekanaler.
Denna teknik har flera fördelar:
IBM MQ-verktyg kan nås på en mängd olika sätt. Programmeringsgränssnitt som stöds inkluderar:
Många andra gränssnitt är också implementerade, men de stöds inte av IBM .
IBM MQ tillhandahåller garanterad meddelandeleverans mellan system på olika plattformar. Tonvikten ligger på överföringssäkerhet, meddelanden bör aldrig gå förlorade med korrekt MQ-konfiguration.
Konceptet för ett meddelande i MQ är generaliserat, till exempel med MQ kan du implementera tillförlitlig leverans av stora filer (det vill säga ersätta FTP ).
MQ låter dig ha en tidsoberoende arkitektur (det vill säga utan behov av explicit synkronisering). Meddelanden kan skickas från en applikation till en annan, oavsett om den senare körs eller inte för tillfället. Om det inte fungerar kommer meddelandet att köas och levereras till sin destination när mottagarapplikationen blir tillgänglig. Ordningen på meddelanden bevaras (och du kan konfigurera systemet så att meddelanden levereras i omvänd ordning, det vill säga först de meddelanden som skickades senast), det finns också ett meddelandeprioritetssystem.
Det är möjligt att konvertera data för andra arkitekturer och protokoll (till exempel ordningen på bitar i en byte eller teckenkodning). Denna möjlighet realiseras genom speciella "utgångar" (utgångar). Dessa är specialprogram som körs på spoolerns dator och exekveras av IBM MQ efter behov.
I IBM MQ kan du starta applikationer med hjälp av speciella meddelanden, vilket gör att du kan implementera en meddelandestyrd arkitektur.
Till skillnad från e-post är MQ själv ansvarig för att avgöra syftet med meddelanden, så behandling av skickade meddelanden kan överföras till en separat applikation på en annan dator. MQ har en genomtänkt routing-arkitektur som specifikt tillåter att meddelanden levereras längs en alternativ väg genom nätverket av MQ-dispatchers. MQ kan implementeras som ett kluster där meddelandebehandling görs av flera instanser för att öka prestandan.
Kärnkomponenten i IBM MQ är Queue Manager. Den ansvarar för lagring av filer, timing, start av applikationer (utlösande) och andra åtgärder som inte är direkt relaterade till datarörelse.
Dispatchers är öppna för att interagera antingen genom en direkt mjukvaruanslutning (kallad en bindningsanslutning) eller genom en nätverks- eller klientanslutning. Uppenbarligen är en direkt anslutning endast möjlig för program som körs på samma dator som spoolern.
En direktanslutning är snabbare, men genom att använda en nätverksanslutning kan du göra systemet mer flexibelt (även om programmet körs på samma dator, med en nätverksanslutning kan det enkelt överföras till en annan, vilket gör att den dator som avsändaren är igång).
Särskilda kanaler är organiserade för samverkan mellan avsändare. Eftersom kanalerna är enkelriktade behövs en andra kanal för returdata. I ett TCP/IP-nätverk är varje kanal tilldelad en separat port. Vid fel återansluter MQ automatiskt efter att problemet är löst.
En lokal kö är helt enkelt en sökväg i filsystemet till data som väntar på att bearbetas.
Fjärrkön för den här datorn är kön för en annan avsändare. Det är fjärrköerna som fungerar som destination.
För att överföra data till en annan avsändare, placeras meddelandet först i den temporära dataöverföringskön som är associerad med kanalen, och överförs sedan till fjärrkön. Om meddelandet skickades utan fel tas det bort från överföringskön. När ett meddelande tas emot från en kanal bestäms det till vilken avsändare det riktas och till vilken kö, och om det inte är denna som tagit emot meddelandet skickas det vidare. Om denna avsändare är en lövsändare, kommer meddelandet att placeras i den angivna kön (om det finns, annars i den döda kön). För att förbättra effektiviteten kan meddelanden medvetet lämnas i kön tills dess storlek är optimal för överföring under givna förhållanden.
IBM MQ kan vara grunden för att bygga ett system med en tjänsteorienterad arkitektur . Det finns flera hjälpverktyg tillgängliga i MQ Web Services för anpassning av äldre program . Stora heterogena företag är ofta helt enkelt en samling löst relaterade komponenter. I sådana miljöer bör vissa tjänster endast vara tillgängliga inom en komponent, medan andra kan användas av hela nätverket. IBM MQ tillåter dig att tillhandahålla detta.
Nära besläktad med IBM MQ är WebSphere Message Broker (fullständigt namn WebSphere Business Integration Message Broker, tidigare MQSeries Integrator), som låter dig utöka den köbaserade arkitekturen. Till exempel kan den användas för att implementera ett webbtjänstgränssnitt med stöd för WSDL -tjänstbeskrivningsfiler .