جاكرتا للمراسلة  إن واجهة برمجة تطبيقات «جاكرتا للمراسلة (كانت تُسمى سابقًا» خدمة رسائل جافا«أو»JMS API«) هي واجهة برمجة تطبيقات» (API) جافا للبرامج الوسيطة الموجهة إلى الرسائل. توفّر الواجهة نماذج مراسلة عامة قادرة على التعامل مع المشكلات بين المنتِج والمستهلك، ويمكن استخدامها في تسهيل إرسال واستلام الرسائل بين أنظمة البرمجيات. إن واجهة جاكرتا للمراسلة هي جزء من Jakarta EE، وكانت تُعرّف في الأصل بأنها خاصية تم تطويرها في شركة «صن مايكروسيستمز» (Sun Microsystems)، قبل أن تتولى «عملية مجتمع جافا» مهمة توجيهها.  إن المراسلة هي شكل من أشكال التواصل المُوزّع المرتبط بشكل غير مُحكَم ("loosely coupled")، ويُعرّف مصطلح «التواصل» في هذا السياق بأنه تبادل الرسائل بين مكونات البرامج. تحاول التقنيات الموجهة للرسائل تخفيف قيود التواصل «المرتبط بإحكام» (Tightly coupled) (مثل منافذ شبكة TCP، أو CORBA أو RMI)، وذلك عن طريق تقديم عنصر وسيط. تسمح هذه الطريقة لمكونات البرامج بالتواصل مع بعضها بشكل غير مباشر، وتتضمن المزايا الناتجة عن ذلك عدم احتياج مُرسلين الرسائل لامتلاك معلومات دقيقة عن مَن يتلقون الرسائل.  تتضمن مزايا المراسلة القدرة على دمج منصات متباينة، وتقليل قيود النظام، وزيادة وتوسيع حجمه، والاستجابة للتغيير بسرعة أكبر.   إن النسخة JMS 2.0 هي النسخة الحالية التي توفرها «عملية مجتمع جافا» تحت عنوان 343.  النسخة JMS 3.0 في مرحلة التطوير المبكر كجزء من Jakarta EE.  فيما يلي عناصر JMS:  مُزوّد JMS تطبيق لواجهة JMS في «برنامج وسيط موجه للرسائل» (MOM)، ويُطبّق المزود إما كتطبيق لـ JSM  جافا أو كمُحوّل لـ MOM بدون جافا. عميل JMS تطبيق أو عملية ينتج و/أو يستقبل الرسائل. مُنتِج/ناشر JMS عميل JMS الذي يُنشئ الرسائل ويرسلها. مستهلك/مشترك JMS عميل JMS الذي يتلقى الرسائل رسالة JMS الكائن الذي يحتوي على البيانات المُنقولة بين عملاء JMS. طابور JMS نقطة تجمُع تحتوي على الرسائل التي أُرسلت وبانتظار القراءة (بواسطة مستهلك واحد)، وكما يوحي اسم «طابور»، فإن الرسائل تُوصّل وفقًا لترتيب إرسالها، ويضمن طابور JMS أن كل رسالة يتم معالجتها مرة واحدة فقط. موضوع JMS آلية توزيع لنشر الرسائل التي يتم توصيلها لعدّة مشتركين.  إن واجهة برمجة تطبيقات JMS (أو JMS API) تدعم نموذجين مختلفين:  في ظل نظام المراسلة من نقطة إلى نقطة، يتم توجيه الرسائل إلى المستهلكين الفرديين الذين لديهم طوابير من الرسائل الواردة. إن هذا النوع من المراسلة قائم على مفهم «طوابير الرسائل»، والمرسلين والمستلمين، حيث كل رسالة تُوجّه إلى طابور محدد، ويستخلص العملاء المستلمين لها الرسائل من الطوابير الموضوعة للاحتفاظ برسائلهم. يستطيع أي عدد من المنتجين إرسال رسائل إلى الطابور، ولكن يضمن النظام توصيل كل رسالة لمستهلك واحد فقط. تحتفظ الطوابير بجميع الرسائل المرسلة إليها حتى يتم استهلاك جميع الرسائل أو تنتهي صلاحيتها. إذا لم يُسجّل أي مستهلكين لاستهلاك الرسائل، يحتفظ بهم الطابور حتى يسجّل مستهلك لاستهلاكهم.  إن نموذج «النشر والاشتراك» يدعم نشر الرسائل حول «موضوع» مراسلة معين. يستطيع «المشتركون» تسجيل اهتمامهم بتلقي الرسائل «المنشورة» حول موضوع مراسلة معين. لا يعرف الناشر ولا المشترك بعضهما في هذا النموذج، الأمر أشبه بلوحة إعلانات تحافظ على هوية المعلنين فيها، حيث:    تُوفّر JMS طريقة لفصل التطبيق عن طبقة النقل الخاصة بتزويد البيانات. ويمكن استخدام نفس فئات جافا في التواصل مع مزودين JMS المختلفين عن طريق استخدام معلومات «واجهة تسمية ودليل جافا» (JNDI) في المُزوّد المرغوب. تستخدم الفئات في البداية «مصنع ارتباط» للاتصال بالطابور أو الموضوع، ثم تستخدم أمر تأهيل وإرسال الرسائل أو نشرها. أما من ناحية المستلمين، فيستلم العميل الرسالة أو يشترك في خاصية تلقي الرسائل.  يُعرّف RFC 6167 واجهة تطبيقات JMS بأنها: مخطط URI لخدمة رسائل جافا.  إذا أرد شخص ما استخدام JMS، يجب أن يكون لديه مزوّد JMS يستطيع إدارة الجلسات والطوابير والمواضيع. وأصبح من الضروري تضمين مزود JMS في جمع خوادم تطبيق Java EE بدايةً من نسخة Java EE رقم 1.4. يمكن تطبيق هذا باستخدام إدارة تدفق الرسائل الواردة في «معمارية موصّل Java EE»، والتي أصبحت متاحة لأول مرة في هذه النسخة. تضم القائمة التالية بعض من مزوّدي JMS ذوي الشعبية: