அனுப்பும் தகவல் மிகச் சுருக்கமாக இருக்க வேண்டும். அதே நேரத்தில் அதன் சாராம்சத்தைப் புரிந்து கொள்வதில் எந்தக் குழப்பமும் இருக்கக் கூடாது. இதற்கு அனுப்புநருக்கும் பெறுநருக்கும் இடையில் ஒரு உடன்பாடு தேவை. இதையே தகவல் தரவு வரைமுறை என்று சொல்கிறோம்.
கீழ்க்கண்ட வரைமுறைகளைப் பல நிறுவனங்கள் முன்வைத்தார்கள்:
- வளங்கள் குறைந்த பயன்பாட்டு வரைமுறை (Constrained Application Protocol – CoAP)
- மேம்பட்ட வரிசைமுறைத் தகவல் வரைமுறை (Advanced Message Queuing Protocol – AMQP)
- தொலைப்பதிவு வரிசைமுறைத் தகவல் வரைமுறை (Message Queue Telemetry Transport – MQTT)
- இலேசு இயந்திரங்களிடை வரைமுறை (OMA lightweight machine to machine – LWM2M)
தகவல் தரவு வரைமுறை MQTT
இம்மாதிரி பல வரைமுறைகளில் MQTT பரவலாகப் புழக்கத்திற்கு வந்து விட்டது. இதற்கு கீழ்க்கண்ட காரணங்கள் முக்கியமானவை:
- இது சந்தா சேர் / வெளியிடு என்ற வரைமுறையைப் பயன்படுத்துகிறது. இது நம்பத்தகுந்த இணைப்பு இல்லாத இடங்களிலும் தரவுகளையும், ஆணைகளையும் நம்பிக்கையாகக் கொண்டு சேர்க்கிறது.
- இது சேவையின் தர நிலைகள் (quality of service levels) என்ற அம்சத்தைக் கொண்டுள்ளது. இது மிக முக்கியமான தகவல்களை உறுதியாகக் கொண்டு சேர்க்க வழி செய்கிறது.
தகவல் தூது (Message Brokering) அடிப்படைச் சொற்கள்
- வழங்கி (Server) அல்லது தூதுவர் (Broker): நுகர்விகளிடமிருந்து தகவல்களைப் பெற்று பின்னர் அவற்றை சந்தா சேர்ந்த மற்ற நுகர்விகளுக்கு அனுப்புகிறது. சந்தா சேர்வதும், தகவல்கள் அனுப்புவதும் தலைப்புகள் வாரியாக நடைபெறுகிறது.
- நுகர்வி (Client): ஒரு தலைப்புக்கு தகவல் வெளியிடுதல் அல்லது ஒரு தலைப்பில் சந்தா சேருதல் அல்லது இரண்டுமே செய்யும் ஒரு சாதனம்.
- தலைப்பு (Topic): தகவல்கள் ஒரு தலைப்பின் கீழ் வெளியிடப்படுகின்றன. தலைப்புகளின் கீழ் துணைத் தலைப்புகளும் இருக்கலாம்.
- தகவல் வெளியிடு (Publish): ஒரு நுகர்வி ஒரு தலைப்பின் கீழ் வழங்கிக்குத் தகவல் அனுப்புதல்.
- சந்தா சேர் (Subscribe): ஒரு நுகர்வி தனக்கு எந்தத் தலைப்புகளில் நாட்டமுண்டு என்று வழங்கிக்குத் தெரிவித்தல்.
- சந்தா விலகு (Unsubscribe): ஒரு நுகர்வி முன்னர் சந்தா சேர்ந்த தலைப்புகளிலிருந்து விலகல்.
MQTT சேவையின் தரம் (Quality of service – QoS)
வழக்கமாக ஒரு செய்தி அனுப்பும் போது எந்த விதமான பதிலும் கிடைக்காது. ஆகவே செய்தி பெறப்பட்டதாக நாம் கருத வேண்டும். தகவல் போய்ச் சேர்ந்ததா என்று உறுதியாகத் தெரிய வேண்டுமென்றால் என்ன செய்வது?
தகவலை வெளியிடும் போதும், சந்தா சேரும்போதும் சேவையின் தரம் என்ன என்று நாம் குறிப்பிடலாம்:
- அதிகபட்சம் ஒருமுறை (At most once) – தகவலை ஒரு முறை அனுப்பி விட்டு அத்தோடு விட்டுவிடும் (fire and forget).
- குறைந்தபட்சம் ஒருமுறை (At least once) – ஒப்புகை வரும்வரை தகவலைத் திரும்பத் திரும்ப அனுப்பிக் கொண்டிருக்கும் (acknowledged delivery).
- சரியாக ஒரேயொருமுறை (Exactly once) – ஒரேயொருமுறை தகவல் அளித்ததை அனுப்புநரும், பெறுநரும் உறுதிப்படுத்துவர் (assured delivery).
MQTT வழங்கிகளும் (Servers/Brokers) நுகர்விகளும் (Clients)
இந்த வரைமுறையை செயல்படுத்துவதற்கு நமக்கு இரண்டு மென்பொருட்கள் தேவை. முதலில் தகவல்களை வெளியிடவும், சந்தா சேரவும் நுகர்வி மென்பொருள் தேவை. அடுத்து வெளியிட்ட தகவல்களை வாங்கி சந்தா சேர்ந்தவர்களுக்கு அனுப்ப வழங்கி மென்பொருள் தேவை. இவற்றுக்கான திறந்த மூல மென்பொருட்கள் பற்றி இனி வரும் கட்டுரைகளில் பார்ப்போம்.
நன்றி
இத்தொடரில் அடுத்த கட்டுரை: திறந்த மூல MQTT நுகர்விகளும் (Clients) வழங்கிகளும் (Servers)
எக்லிப்ஸ் பாஹோ (Eclipse Paho) MQTT நுகர்வி. அர்டுயினோவுக்கு எக்லிப்ஸ் பாஹோ (Eclipse Paho) MQTT நுகர்வி. அர்டுயினோவுக்கு பப்ஸப் MQTT நுகர்வி (PubSubClient). எக்லிப்ஸ் மஸ்கிட்டோ (Mosquitto) MQTT வழங்கி.