IBM MQ er en familie af netværkssoftware , som IBM åbnede i marts 1992. Tidligere kendt som MQSeries : IBM omdøbte den til WebSphere MQ 2002 for at associere med WebSphere -produktlinjen . Omdøbt til IBM MQ i april 2014 . IBM MQ omtales også blot som MQ eller MQSeries.
IBM MQ er en Message Oriented Middleware . Det tillader uafhængige og muligvis ikke-samtidige applikationer i et distribueret system at kommunikere med hinanden. MQ kører på alle større platforme: z/OS ( mainframe ), IBM i ( IBM System i, tidligere AS/400 ), Transaction Processing Facility , UNIX ( AIX , HP-UX , Solaris ), HP NonStop , OpenVMS , Linux og Microsoft vinduer .
IBM MQ er den mest almindelige løsning på dette område [1] til kommunikation på tværs af platforme, herunder Windows, Linux, high-end og mid-range IBM-systemer og andre Unix-systemer.
Levering af beskeder gennem køer har to sider:
Selv om køhåndteringen ikke er påkrævet i sådan software, bruges den altid i IBM MQ og er en systemtjeneste, der giver en logisk beholder til beskedkøen. Det er ansvarligt for at overføre data til andre controllere gennem særlige meddelelseskanaler.
Denne teknologi har flere fordele:
IBM MQ-værktøjer kan tilgås på en række forskellige måder. Understøttede programmeringsgrænseflader inkluderer:
Mange andre grænseflader er også implementeret, men de understøttes ikke af IBM .
IBM MQ giver garanteret beskedlevering mellem systemer på forskellige platforme. Vægten er på transmissionssikkerhed, meddelelser bør aldrig gå tabt med korrekt MQ-konfiguration.
Konceptet med en besked i MQ er generaliseret, for eksempel ved hjælp af MQ kan du implementere pålidelig levering af store filer (det vil sige erstatte FTP ).
MQ giver dig mulighed for at have en tidsuafhængig arkitektur (det vil sige uden behov for eksplicit synkronisering). Meddelelser kan sendes fra et program til et andet, uanset om sidstnævnte kører eller ej i øjeblikket. Hvis det ikke virker, vil meddelelsen blive sat i kø og leveret til sin destination, når modtagerapplikationen bliver tilgængelig. Rækkefølgen af beskeder bevares (og du kan konfigurere systemet, så beskeder leveres i omvendt rækkefølge, dvs. først de beskeder, der blev sendt sidst), der er også et beskedprioritetssystem.
Det er muligt at konvertere data til andre arkitekturer og protokoller (for eksempel rækkefølgen af bits i en byte eller tegnkodning). Denne mulighed realiseres gennem specielle "outputs" (udgange). Det er specielle programmer, der kører på spoolerens computer og udføres af IBM MQ efter behov.
I IBM MQ kan du starte programmer ved hjælp af specielle beskeder, som giver dig mulighed for at implementere en besked-drevet arkitektur.
I modsætning til e-mail er MQ selv ansvarlig for at bestemme formålet med beskeder, så behandling af sendte beskeder kan overføres til en separat applikation på en anden computer. MQ har en gennemtænkt routing-arkitektur, der specifikt tillader, at beskeder leveres ad en alternativ vej gennem netværket af MQ-dispatchere. MQ kan implementeres som en klynge, hvor meddelelsesbehandling udføres af flere instanser for at øge ydeevnen.
Kernekomponenten i IBM MQ er Queue Manager. Den er ansvarlig for lagring af filer, timing, lancering af applikationer (udløsning) og andre handlinger, der ikke er direkte relateret til databevægelse.
Dispatchere er åbne for at interagere enten gennem en direkte softwareforbindelse (kaldet en bindingsforbindelse) eller gennem en netværks- eller klientforbindelse. En direkte forbindelse er naturligvis kun mulig for programmer, der kører på samme computer som spooleren.
En direkte forbindelse er hurtigere, men brug af en netværksforbindelse giver dig mulighed for at gøre systemet mere fleksibelt (selvom programmet kører på den samme computer, kan det med en netværksforbindelse nemt overføres til en anden, hvorved den computer, hvorpå afsender kører).
Der er organiseret særlige kanaler til samspillet mellem dispatchers og hinanden. Da kanalerne er ensrettede, er der behov for en anden kanal til returdata. I et TCP/IP-netværk er hver kanal tildelt en separat port. I tilfælde af fejl opretter MQ automatisk forbindelse igen, efter at problemet er løst.
En lokal kø er simpelthen en sti i filsystemet til data, der venter på at blive behandlet.
Fjernkøen til denne computer er køen for en anden afsender. Det er fjernkøerne, der fungerer som destination.
For at overføre data til en anden afsender placeres meddelelsen først i den midlertidige dataoverførselskø, der er knyttet til kanalen, og overføres derefter til fjernkøen. Hvis beskeden blev transmitteret uden fejl, fjernes den fra transmissionskøen. Når en besked modtages fra en kanal, bestemmes det til, hvilken dispatcher den rettes til og til hvilken kø, og hvis det ikke er denne, der har modtaget beskeden, sendes den videre. Hvis denne afsender er en bladafsender, vil meddelelsen blive placeret i den angivne kø (hvis den findes, ellers i den døde kø). For at forbedre effektiviteten kan beskeder bevidst efterlades i køen, indtil størrelsen er optimal til transmission under givne forhold.
IBM MQ kan være grundlaget for at bygge et system med en serviceorienteret arkitektur . Der er flere hjælpeprogrammer tilgængelige i MQ Web Services til tilpasning af ældre programmer . Store heterogene selskaber er ofte blot en samling af løst relaterede komponenter. I sådanne miljøer bør nogle tjenester kun være tilgængelige inden for én komponent, mens andre kan bruges af hele netværket. IBM MQ giver dig mulighed for at levere dette.
Nært beslægtet med IBM MQ er WebSphere Message Broker (fulde navn WebSphere Business Integration Message Broker, tidligere MQSeries Integrator), som giver dig mulighed for at udvide den købaserede arkitektur. For eksempel kan den bruges til at implementere en webservicegrænseflade med understøttelse af WSDL servicebeskrivelsesfiler .