Wednesday 28 February 2018

أنظمة التداول المالي السندات


أنظمة التداول.
العثور على برامج أنظمة التداول التي تناسب الاحتياجات الخاصة بك أمر سهل مع بوبسغويد. من السلع والأسهم إلى أنظمة التداول ذات الدخل الثابت، ونحن نقدم أحدث المعلومات وحديثة في القطاع المالي.
أنظمة المشتقات.
بوبسغويد يجعل العثور على أنظمة التجارة المشتقة سهلة. من مجموعات الأدوات إلى برامج التداول المشتقة.
اطلع على مطابقة المنتجات.
البرامج المتعلقة بجميع جوانب المالية والسلع والمشتقات وأسواق الصرف ل.
اطلع على مطابقة المنتجات.
السلع - الطاقة محددة.
المنتجات والخدمات المتعلقة بجميع جوانب السلع الخاصة بالطاقة.
اطلع على مطابقة المنتجات.
حلول السلع.
البرمجيات والخدمات لجميع جوانب تجارة السلع، باستثناء الطاقة.
اطلع على مطابقة المنتجات.
شبكات التجارة الإلكترونية.
وركزت البرامج والخدمات على ربط إلكترونيا طرفا واحدا أو أكثر معا لهذا الغرض.
اطلع على مطابقة المنتجات.
أنظمة الأسهم.
البرامج والخدمات التي تركز على تحليل وتداول وتنفيذ الأوراق المالية.
اطلع على مطابقة المنتجات.
التبادلات / إنز.
جميع التبادلات وشبكات الاتصالات الإلكترونية، بما في ذلك: العقود الآجلة والخيارات والسلع.
اطلع على مطابقة المنتجات.
أنظمة الدخل الثابت.
أنظمة التداول التي تركز على بعض أو جميع الأوراق المالية ذات الدخل الثابت بما في ذلك الشركات والحكومة.
اطلع على مطابقة المنتجات.
أنظمة إدارة السيولة.
يتيح نظام إدارة السيولة للشركات إدارة سيولة من أجل تنفيذ أفضل، ذكية.
اطلع على مطابقة المنتجات.
البرامج والخدمات التي تركز على تسهيل وإدارة تنفيذ النظام للأوراق المالية.
اطلع على مطابقة المنتجات.
بوابات التداول والوساطة عبر الإنترنت.
الخدمات عبر الإنترنت التي تقدم خيارات التداول والوساطة للشركات والأفراد.
اطلع على مطابقة المنتجات.
مكونات البرمجيات لغرفة التعامل.
برنامج متعدد الاستخدامات التي تمكن المستخدمين من التفاعل ردا على الصفقات العقد في حين التمسك بها.
اطلع على مطابقة المنتجات.
أنظمة التبادل.
أنظمة الصرف المالي ومنصات التداول لغرض رصد وتحليل القيمة.
اطلع على مطابقة المنتجات.
رؤى ذات صلة.
معظم المقالات قراءة 2017: وجهة نظر من خط الجبهة.
26 ديسمبر 2017.
10 أوك بلوكشين تبدأ لمشاهدة 2017: كنا الحق؟ بت 2 | فينتيش ريكاب 2017.
19 ديسمبر 2017.
الاتجاهات: هل عصر بلوكشين أخيرا هنا؟ | فينتيش ريكاب 2017.
12 ديسمبر 2017.
العلامات التي تشير إلى الأسواق المتقلبة في ديسمبر.
12 ديسمبر 2017.
إعلانات ذات صلة الشركة.
إدارة الاستثمار في بنك ميلون تطلق صندوق دريفوس العالمي للدخل المتعدد الأصول.
22 ديسمبر 2017.
برودريدج يستحوذ على مورنينغستار في 15 (ج) مجلس الخدمات الاستشارية الأعمال جل.
20 ديسمبر 2017.
التقاء تتوقع ريجتيش سوف تجعل الطريق لحركة "داتاتش" في عمليات خدمات الصندوق في عام 2018.
19 ديسمبر 2017.
موارد ذات الصلة.
جني فوائد رشاقة في أسواق رأس المال.
14 ديسمبر 2017.
المشتقات في إدارة الثروات.
24 أكتوبر 2017.
إيريس - ميفيد إي التكاليف والرسوم - الحصول على العملية.
04 أكتوبر 2017.
الأحداث ذات الصلة.
فيناسترا ونيفيرز باريس، 23 يناير 2018.
23 يناير 2018.
تراديتش فكس الولايات المتحدة الأمريكية.
12 فبراير 2018.
مؤتمر أوروبا والشرق الأوسط وأفريقيا للتجارة 2018.
15 مارس 2018.
وظائف ذات صلة.
مطور ويب.
18 أكتوبر 2017.
مدير المشروع.
18 أكتوبر 2017.
كا / اختبار الموظفين.
18 أكتوبر 2017.
أسئلة مكررة.
هل تبحث عن نظام تداول؟
في العالم الرقمي سريع الخطى اليوم، حيث يتم قياس سرعات المعاملات في ميلي ثانية، تتطلب الشركات برامج التداول سريعة وموثوق بها ومصممة خصيصا لتناسب متطلباتهم.
التداول هو عمل تنافسي وإيجاد برنامج التداول الصحيح قد تحصل على ميزة. في معظم الحالات، فإن أنظمة التداول تبسط وأتمتة عملية التداول، مما يؤدي إلى تداول سريع وأكثر دقة وغالبا ما يؤدي إلى زيادة الربحية.
بوبسغويد يضم مجموعة من الخيارات برامج أنظمة التداول من كبار البائعين نظام التداول لمساعدتك في اختيار أفضل حل لشركتك، بدءا من الأوراق المالية ذات الدخل الثابت إلى السلع على الانترنت وأنظمة الأسهم.
ما هي أنواع برامج التداول عبر الإنترنت التي لديك؟
لدينا أنواع مختلفة من البرامج التجارية المتاحة التي تقدم كل وظائف متخصصة. إن أفضل خيار للشركة يعتمد على متطلباتها المحددة.
لقد فصلنا النظم التجارية المتاحة في فئات مختلفة. يمكن أن يساعدك هذا في العثور على الخيار الأنسب لاحتياجاتك:
ترتبط أنظمة التداول للوسطاء عموما بالأسواق المالية والسلع والمشتقات وأسواق الصرف. وهي مصممة لمساعدة الأطراف الثالثة على اتخاذ أفضل الخيارات على عملائها.
وقد صممت نظم تجارة السلع لاستخدامها في الأسواق حيث يجري تبادل منتجات مثل الأغذية والمعادن والطاقة، فضلا عن أي مواد أولية أو أولية أخرى.
شبكات التداول الإلكترونية هي أنظمة آلية تشتري وتبيع أوامر بأسعار محددة. وهي تستخدم عادة من قبل وسطاء، مما يساعد على إقامة روابط لمجموعة متنوعة من الأطراف للتداول الأمن السريع.
تم تصميم أنظمة الأسهم للتعامل مع شراء وبيع أسهم أسهم الشركة. اعتمادا على النظام، قد تكون مناسبة للتداول في البورصات الرئيسية أو في الأسواق دون وصفة طبية.
في قسم التبادل / إنز لدينا، ستجد أنظمة التجارة التي تعمل عبر شبكات الاتصالات الإلكترونية. وتشمل هذه العقود الآجلة، والخيارات، والسلع، والمالية، والأسهم ونظم تداول الأوراق المالية.
تم تصميم أنظمة الدخل الثابت للعمل مع الاستثمارات التي توفر عائد منتظم. ويمكن أن تشمل هذه الشركات الأوراق المالية للشركات والحكومات والرهون العقارية والأوراق المالية المدعومة بالأصول بأي عملة.
نظم إدارة النظام وأنظمة إدارة التنفيذ - المشار إليها أيضا باسم نظم التداول أومز و إمس - تسهيل وإدارة الأوراق المالية، عموما من خلال بروتوكول فيكس.
توفر بوابات التداول والوساطة عبر الإنترنت حلول لكل من الشركات والأفراد. وهي أيضا مصادر جيدة للمعلومات والتقارير عن الأسواق.
وهناك أيضا مكونات برامجية مختلفة لغرفة التعامل، والتي تمكن المستخدمين من الرد على الصفقات التعاقدية وضمان بقاءها ضمن المتطلبات التنظيمية.
وستساعد نظم التبادل في رصد وتحليل تقلبات قيمة السلع والأسهم والسندات والمشتقات.
لماذا بوبسغيد؟
في بوبسغويد، قمنا بتجميع مجموعة واسعة من النظم التجارية، والتي تم تطويرها من قبل البائعين نظام التداول الذين يحظىون باحترام كبير في هذه الصناعة. وقد تم اختيار كل نظام لقدرته على تحسين تدفق الأعمال اليومية على أرضية التداول، وضمان الكفاءة والموثوقية حيثما كان ذلك ممكنا.
ولكن نحن لسنا هنا فقط لمساعدتك في مصدر البرمجيات نظام التداول. كما جمعنا معا أحدث الأنظمة التجارية الأخبار والأحداث لإبقاء لكم حتى الآن مع هذه الصناعة، فضلا عن عدد من الفرص الوظيفية التي تدور حول وظائف التداول لتعطيك الفرصة لدفع موقفكم الخاص في هذا القطاع.
لتحقيق أقصى استفادة من ما بوبسغيد لهذا العرض، سجل اليوم. انها حرة وسريعة وبسيطة، وأنه يتيح لك الوصول إلى لدينا مجموعة كاملة نظم والخدمات والأخبار والإعلانات الحدث.
يتم تسليم الإحصاءات بشكل يومي إلى البريد الوارد.
لدينا النشرة الرائدة في السوق هو مصدر لا تقدر بثمن من فينتيش صناعة الأخبار والرؤى والتحليل.
19 كانون الأول / ديسمبر 2017.
20 كانون الأول / ديسمبر 2017.
12 كانون الثاني / يناير 2001.
26 كانون الأول / ديسمبر 2017.
10 فبراير 2017.
ربط المشترين والبائعين من التكنولوجيا المالية على الصعيد العالمي.
جزء من كونتنتيف غروب Ltd.
ربط المشترين والبائعين من التكنولوجيا المالية على الصعيد العالمي.
جزء من كونتنتيف غروب Ltd.
ربط المشترين والبائعين من التكنولوجيا المالية على الصعيد العالمي.
جزء من كونتنتيف غروب Ltd.
إعلانات الشركة.
دليل.
الأحداث.
بوبسغويد يربط المشترين والبائعين من التكنولوجيا المالية على الصعيد العالمي.
بوبسغيد يجذب أكثر من 70،000 المشترين فينتيش والبائعين كل شهر. أنها تأتي إلينا للحصول على أحدث البصيرة من برنامجنا، إلى مصدر أفضل الموردين من خلال دليل المنتج فينتيش لدينا، للعثور على وظائف جديدة مثيرة وظيفة أو اكتشاف المواهب الرقمية لعملهم عبر القوائم وظيفة لدينا، لمعرفة المزيد عن الأحداث الحية والرقمية الرئيسية، وتحميل موارد مفيدة مثل الخرائط البيضاء ودراسات الحالة.

سندات نظام التداول المالي
(جوناثان سيمون)
فمن السهل أن المسافة نفسك من مجموعة كبيرة من أنماط أو لغة نمط. أنماط هي التجريد من فكرة في شكل قابلة لإعادة الاستخدام. في كثير من الأحيان، طبيعة عامة جدا من الأنماط التي تجعلها مفيدة جدا يجعل من الصعب فهم. في بعض الأحيان أفضل شيء للمساعدة في فهم أنماط هو مثال العالم الحقيقي. ليس سيناريو مفتعل لما يمكن أن يحدث. ولكن ما يحدث فعلا وما سيحدث.
هذا الفصل ينطبق على أنماط لحل المشاكل باستخدام عملية الاكتشاف. النظام الذي سنناقشه هو نظام تداول السندات الذي عملت معه لمدة عامين من التصميم الأولي من خلال الإنتاج. وسوف نستكشف السيناريوهات والمشاكل التي واجهتها وكيفية حلها مع أنماط. وهذا ينطوي على عملية اتخاذ القرار لاختيار نمط، وكذلك كيفية الجمع وضبط أنماط لتتناسب مع احتياجات النظام. ويتم هذا كله مع الأخذ بعين الاعتبار القوى التي واجهتها في النظم الحقيقية بما في ذلك متطلبات الأعمال، وقرارات العميل، والمتطلبات المعمارية والتقنية، فضلا عن تكامل النظام القديم. والقصد من هذا النهج هو توفير فهم أوضح للنماذج نفسها من خلال التطبيق العملي.
بناء نظام.
يقوم بنك استثماري كبير في وول ستريت بإنشاء نظام تسعير السندات في محاولة لتبسيط سير عمل مكتب تداول السندات. حاليا، التجار السندات لديها لإرسال أسعار لعدد كبير من السندات إلى عدة أماكن تجارية مختلفة، ولكل منها واجهة المستخدم الخاصة بها. والهدف من هذا النظام هو تقليل الحد الأدنى من تسعير كل من سنداتهم جنبا إلى جنب مع وظائف تحليلية متقدمة محددة لسوق السندات في واجهة مستخدم مغلفة واحدة. وهذا يعني التكامل والتواصل مع عدة مكونات على مختلف بروتوكولات الاتصال. يبدو تدفق المستوى العالي للنظام كما يلي:
تدفق عالي المستوى.
أولا، تأتي بيانات السوق في النظام. بيانات السوق هي البيانات المتعلقة بالسعر وغيرها من خصائص السندات التي تمثل ما هو الناس على استعداد لشراء وبيع السندات في السوق الحرة. يتم إرسال بيانات السوق على الفور إلى محرك تحليلات أن يغير البيانات. يشير أناليتيكش إلى الوظائف الرياضية للتطبيقات المالية التي تغير الأسعار وغيرها من سمات السندات. هذه هي الوظائف العامة التي تستخدم المتغيرات الإدخال لتكييف نتائج الدالة إلى رابطة معينة. سيقوم تطبيق العميل الذي سيتم تشغيله على كل سطح مكتب تاجر بتكوين محرك تحليلات على أساس التاجر، والتحكم في تفاصيل التحليلات لكل السندات التاجر هو التسعير. وبمجرد تطبيق التحليلات على بيانات السوق، يتم إرسال البيانات المعدلة إلى أماكن تجارية مختلفة حيث يمكن للمتداولين من الشركات الأخرى شراء أو بيع السندات.
البنية بتصميم، ب، النماذج.
مع هذه النظرة العامة لسير العمل في النظام، يمكننا أن نقترب من بعض المشاكل المعمارية التي نواجهها أثناء عملية التصميم. دعونا نلقي نظرة على ما نعرفه حتى الآن. يحتاج التجار إلى تطبيق سريع الاستجابة على كل من محطات عمل ويندوز نت و سولاريس. لذلك، قررنا تنفيذ تطبيق العميل كعميل جافا سميكة بسبب استقلالية منصة وقدرته على الاستجابة بسرعة لإدخال المستخدم وبيانات السوق. على جانب الخادم، نحن نرث مكونات C ++ القديمة التي سيستعملها نظامنا. تتواصل مكونات بيانات السوق مع البنية التحتية لرسائل تيبكو إنفورماتيون باص (تيب).
نحن نرث المكونات التالية:
بيانات السوق خادم تغذية الأسعار: ينشر بيانات السوق الواردة إلى تيب. أناليتيكش إنجين: يقوم بتحليل بيانات السوق الواردة ويبث بيانات السوق المعدلة إلى تيب. خادم المساهمة: يؤدي جميع الاتصالات مع أماكن التداول. أما أماكن التداول فهي مكونات طرف ثالث غير خاضعة لسيطرة البنك.
النظام الفرعي لبيانات السوق القديمة.
النظام الفرعي المساهمة القديمة.
نحن بحاجة إلى أن نقرر كيف أن النظم الفرعية المنفصلة (العميل جافا سميكة، وبيانات السوق، والمساهمة) ستتواصل. يمكننا أن يكون العميل سميكة التواصل مباشرة مع خوادم القديمة، ولكن هذا يتطلب الكثير من منطق الأعمال على العميل. بدلا من ذلك، سوف نقوم بإنشاء زوج من بوابات جافا للاتصال بالخوادم القديمة Ђ "بوابة التسعير لبيانات السوق بوابة مساهمة لإرسال الأسعار إلى أماكن التداول. وهذا سوف يحقق تغليف لطيفة للمنطق الأعمال المتعلقة بهذه المناطق. وفيما يلي المكونات الحالية في النظام. التوصيلات التي تحمل علامة Ђњ. تشير إلى أننا ما زلنا غير متأكدين من كيفية توصيل بعض المكونات.
النظام ومكوناته.
سؤال الاتصال الأول هو كيفية دمج عميل جافا سميكة واثنين من مكونات خادم جافا من أجل تبادل البيانات. دعونا ننظر إلى أنماط التكامل الأربعة المقترحة في هذا الكتاب: نقل الملفات، قاعدة البيانات المشتركة، استدعاء الإجراء البعيد، والرسائل. يمكننا استبعاد قاعدة البيانات المشتركة على الفور لأننا أردنا إنشاء طبقة من التجريد بين العميل وقاعدة البيانات و دون 't تريد أن يكون رمز الوصول إلى قاعدة البيانات في العميل. كما يمكن استبعاد نقل الملفات نظرا لأن الحد الأدنى من الكمون مطلوب لضمان إرسال الأسعار الحالية إلى أماكن التداول. هذا يترك لنا مع الاختيار بين الاستدعاء الإجراء البعيد أو الرسائل.
توفر منصة جافا المدمج في دعم كل من الاستدعاء الإجراء البعيد والرسائل. يمكن تحقيق التكامل على غرار ريك باستخدام ريموت ميثود إنفوكاتيون (رمي)، كوربا، أو إنتيربريس جافا بينز (إجب). خدمة المراسلة جافا (جمس) هي واجهة برمجة التطبيقات المشتركة لتكامل أسلوب المراسلة. لذلك كلا من أساليب التكامل سهلة التنفيذ في جافا.
ما الذي سيعمل بشكل أفضل لهذا المشروع، استدعاء الإجراء البعيد أو الرسائل؟ هناك مثيل واحد فقط من بوابة التسعير ومثيل واحد من بوابة المساهمة في النظام، ولكن عادة العديد من العملاء سميكة الاتصال في وقت واحد إلى هذه الخدمات (واحد لكل تاجر السندات التي يحدث أن يتم تسجيل الدخول في وقت معين). وعلاوة على ذلك، فإن البنك يود أن يكون هذا نظام التسعير العامة التي يمكن استخدامها في التطبيقات الأخرى. لذلك إلى جانب عدد غير معروف من عملاء التفكير، قد يكون هناك عدد غير معروف من التطبيقات الأخرى باستخدام بيانات التسعير الخروج من البوابات.
يمكن لعميل سميك (أو تطبيق آخر باستخدام بيانات التسعير) استخدام ريك بسهولة إلى حد ما لإجراء مكالمات إلى البوابات للحصول على بيانات التسعير والاستدعاء للتجهيز. ومع ذلك، سيتم نشر بيانات التسعير باستمرار، وبعض العملاء مهتمون فقط ببعض البيانات، لذلك قد يكون من الصعب الحصول على البيانات ذات الصلة للعملاء المناسبين في الوقت المناسب. يمكن للعملاء استطلاع البوابات، ولكن ذلك سيخلق الكثير من النفقات العامة. وسيكون من الأفضل للبوابات أن تتيح البيانات للزبائن فور توافرها. هذا، ومع ذلك، سوف تتطلب كل بوابة لتتبع العملاء التي هي نشطة حاليا، والتي تريد ما هي بيانات معينة؛ ثم، عندما تصبح قطعة جديدة من البيانات المتاحة (الذي سيحدث عدة مرات في الثانية الواحدة)، فإن بوابة يجب أن تجعل ريك لكل عميل مهتم لتمرير البيانات إلى العميل. من الناحية المثالية، يجب إخطار جميع العملاء في وقت واحد، لذلك يجب أن يتم كل ريك في سلسلة الترابط المتزامنة الخاصة به. هذا يمكن أن تعمل، ولكن هو الحصول على معقدة جدا سريع جدا.
الرسائل يبسط إلى حد كبير هذه المشكلة. باستخدام المراسلة، يمكننا تحديد قنوات منفصلة لأنواع مختلفة من بيانات التسعير. ثم، عندما يحصل على بوابة جديدة قطعة من البيانات، فإنه سيتم إضافة رسالة تحتوي على تلك البيانات إلى قناة نشر الاشتراك لهذا النوع من البيانات. وفي الوقت نفسه، فإن جميع العملاء المهتمين في نوع معين من البيانات الاستماع على القناة لهذا النوع. وبهذه الطريقة، يمكن للبوابات بسهولة إرسال بيانات جديدة لمن يهتم، دون الحاجة إلى معرفة عدد تطبيقات المستمع هناك أو ما هي عليه.
العملاء لا تزال بحاجة إلى أن تكون قادرة على استدعاء السلوك في بوابات كذلك. نظرا لوجود بوابات اثنين فقط، ويمكن للعميل منع على الأرجح أثناء استدعاء الأسلوب بشكل متزامن، يمكن بسهولة هذه الإدخالات من العميل إلى البوابة التي يمكن تنفيذها باستخدام ريك. ومع ذلك، لأننا نستخدم بالفعل الرسائل للاتصالات من عبارة إلى عميل، الرسائل هي على الأرجح مجرد جيدة وسيلة لتنفيذ الاتصالات من العميل إلى بوابة كذلك.
ولذلك، سيتم تحقيق جميع الاتصالات بين البوابات والعملاء من خلال الرسائل. لأن جميع المكونات مكتوبة بلغة جافا، يقدم جمس خيارا سهلا لنظام الرسائل. هذا هو خلق فعال حافلة رسالة أو بنية من شأنها أن تجعل من الممكن لأنظمة المستقبل لدمج مع النظام الحالي مع تغييرات قليلة أو معدومة على البنية التحتية الرسائل. بهذه الطريقة، وظائف الأعمال من التطبيق يمكن استخدامها بسهولة من قبل تطبيق آخر البنك يتطور.
مكونات جافا التواصل مع جمس.
جمس هو مجرد مواصفات ونحن بحاجة إلى اتخاذ قرار بشأن نظام الرسائل المتوافقة مع جمس. قررنا استخدام عب مكسيريز جمس لأن البنك هو متجر ЂњIBM، Ђќ باستخدام خوادم تطبيقات وبسفهير والعديد من منتجات عب الأخرى. ونتيجة لذلك، سوف نستخدم مكسيريز لأن لدينا بالفعل بنية تحتية للدعم في مكان ورخصة الموقع للمنتج.
والسؤال التالي هو كيفية توصيل نظام الرسائل مقسيريز مع خادم مساهمة C ++ مستقل و تيبكو استنادا إلى بيانات السوق وخوادم محرك تحليلات. نحن بحاجة إلى وسيلة للمستهلكين مكسيريز أن يكون الوصول إلى رسائل تيب. ولكن كيف؟ ربما يمكننا استخدام نمط "مترجم الرسائل" لترجمة رسائل تيب إلى رسائل مكسيريز. على الرغم من أن العميل C ++ ل مكسيريز بمثابة المترجم رسالة، وذلك باستخدام التضحية استقلال خادم جمس. وعلى الرغم من أن شركة تيبكو تمتلك واجهة برمجة تطبيقات جافا، إلا أن المهندس المعماري ومدير العميل رفضوا ذلك. ونتيجة لذلك، يجب التخلي عن نهج "مترجم الرسائل".
الجسر من خادم تيب إلى خادم مكسيريز يتطلب الاتصال بين C ++ وجافا. يمكننا استخدام كوربا، ولكن بعد ذلك ماذا عن الرسائل؟ نظرة فاحصة على نمط مترجم الرسائل يظهر أنه مرتبط بمحول القناة في استخدامه لبروتوكولات الاتصال. قلب محول قناة هو ربط أنظمة غير الرسائل إلى أنظمة المراسلة. زوج من محولات القناة التي تربط اثنين من أنظمة الرسائل هو جسر التراسل.
الغرض من جسر الرسائل هو نقل الرسائل من نظام الرسائل واحد إلى آخر. هذا هو بالضبط ما نقوم به مع تعقيد اضافي من لغة جاوة إلى C ++ الاتصالات. يمكننا تنفيذ جسر التراسل عبر لغة باستخدام مزيج من قناة محول s و كوربا. سنقوم ببناء اثنين من خوادم محول قناة خفيفة الوزن، واحدة في C ++ إدارة الاتصالات مع تيب، وواحد في إدارة الاتصال جافا مع جمس. وسيتصل محول القناة هذا، وهما نقطة نهاية الرسالة نفسها، ببعضهما البعض عبر كوربا. مثل خيارنا ل مكسيريز، وسوف نستخدم كوربا بدلا من جني لأنه هو معيار الشركة. جسر الرسائل تنفذ ترجمة الرسائل محاكاة فعالة بين أنظمة الرسائل التي تبدو غير متوافقة ولغات مختلفة.
رسالة المترجم باستخدام محولات القناة.
يظهر الرسم البياني التالي تصميم النظام الحالي بما في ذلك البوابات والمكونات الأخرى. هذا مثال جيد على نمط التطبيق. نحن الجمع بين اثنين من قناة محول s مع بروتوكول غير الرسائل لتنفيذ نمط "مترجم الرسالة"، باستخدام فعال نمط واحد لتنفيذ نمط آخر. بالإضافة إلى ذلك، غيرنا سياق محول القناة s 'لربط اثنين من أنظمة الرسائل مع بروتوكول الترجمة عبر لغة غير الرسائل بدلا من ربط نظام الرسائل إلى نظام غير الرسائل.
النظام الحالي مع محولات القناة.
هيكلة القنوات.
مفتاح للعمل مع أنماط ليس فقط معرفة متى لاستخدام أي نمط، ولكن أيضا كيفية الاستخدام الأكثر فعالية. ويجب أن يأخذ كل نمط من أنماط التنفيذ بعين الاعتبار تفاصيل المنصة التكنولوجية فضلا عن معايير التصميم الأخرى. يطبق هذا القسم نفس عملية الاكتشاف للعثور على الاستخدام الأكثر كفاءة لقناة النشر-الاشتراك في سياق خادم بيانات السوق التواصل مع محرك تحليلات.
بيانات السوق في الوقت الحقيقي تنشأ مع تغذية بيانات السوق، خادم C ++ الذي يبث بيانات السوق على تيب. يستخدم تغذية بيانات السوق منفصلة نشر قناة الاشتراك لكل السندات هو نشر أسعار ل. قد يبدو هذا الأمر متطرفا قليلا لأن كل سند جديد يحتاج إلى قناة جديدة خاصة به. ولكن هذا ليس شديدا جدا لأنك لا تحتاج فعلا إلى إنشاء قنوات في تيبكو. بدلا من ذلك، يتم الإشارة إلى القنوات بواسطة مجموعة هرمية من أسماء الموضوعات تسمى الموضوعات. ثم يقوم خادم تيبكو بتصفية تدفق رسالة واحدة حسب الموضوع، وإرسال كل موضوع فريد إلى قناة افتراضية واحدة. والنتيجة هي قناة رسالة خفيفة الوزن جدا.
يمكننا إنشاء نظام ينشر على عدد قليل من القنوات ويمكن للمشتركين الاستماع فقط للأسعار التي يهتمون بها. وهذا يتطلب من المشتركين استخدام فلتر الرسائل أو المستهلك الانتقائي لتصفية تدفق البيانات بأكمله لأسعار السندات مثيرة للاهتمام، وتحديد ما إذا كان كل رسالة يجب أن تتم معالجتها كما يتم استلامها. وبالنظر إلى أن بيانات السوق تنشر على قنوات مخصصة للسندات، يمكن للمشتركين التسجيل للحصول على التحديثات على سلسلة من السندات. وهذا يتيح للمشتركين فعليا "التصفية" عن طريق الاشتراك بشكل انتقائي في القنوات وتلقي التحديثات فقط من الاهتمام بدلا من اتخاذ قرار بعد استلام الرسالة. من المهم أن نلاحظ أن استخدام قنوات متعددة لتجنب تصفية هو استخدام غير قياسي من قنوات الرسائل. في سياق تكنولوجيا تيبكو ومع ذلك، نحن حقا اتخاذ قرار بشأن تنفيذ أو مرشحات الخاصة أو الاستفادة من تصفية القناة في صلب تيبكو - بدلا من ما إذا كان لاستخدام الكثير من القنوات.
العنصر التالي نحن بحاجة إلى تصميم هو محرك تحليلات، C ++ / تيب خادم آخر من شأنها تعديل بيانات السوق وإعادة بثها إلى تيب. على الرغم من أنه خارج نطاق تطوير جافا / جمس لدينا، ونحن نعمل عن كثب مع فريق C ++ لتصميمه لأننا "العميل" الأساسي تحليلات المحرك. والمشكلة المطروحة هي إيجاد بنية القناة التي تعيد بث بيانات السوق المعدلة حديثا بكفاءة أكبر.
وبما أن لدينا بالفعل قناة رسالة مخصصة لكل سند موروثة من تغذية سعر بيانات السوق، سيكون من المنطقي تعديل بيانات السوق وإعادة بث بيانات السوق المعدلة على قناة رسالة مخصصة للسندات. ولكن هذا لن يعمل منذ تحليلات تعديل أسعار السندات هي التاجر محددة. إذا كنا إعادة بث البيانات المعدلة على قناة رسالة السندات، ونحن سوف تدمر سلامة البيانات عن طريق استبدال بيانات السوق العامة مع بيانات محددة التاجر. من ناحية أخرى، يمكن أن يكون لدينا نوع رسالة مختلفة لبيانات السوق الخاصة بالتاجر التي ننشرها على نفس القناة مما يسمح للمشتركين بتحديد الرسالة التي يهتمون بها لتجنب إتلاف سلامة البيانات. ولكن بعد ذلك سيكون على العملاء تنفيذ مرشحات الخاصة بهم لفصل الرسائل لغيرهم من التجار. وبالإضافة إلى ذلك، ستحدث زيادة كبيرة في الرسائل التي يتلقاها المشتركون، مما يضع عبئا لا لزوم له عليهم.
هناك خياران:
قناة واحدة لكل تاجر: لكل تاجر قناة مخصصة لبيانات السوق المعدلة. وبهذه الطريقة، لا تزال بيانات السوق الأصلي سليمة وكل تطبيق التاجر يمكن الاستماع إلى تجارها قناة رسالة محددة لتحديثات الأسعار المعدلة. قناة واحدة لكل تاجر لكل سند: إنشاء قناة رسالة واحدة لكل تاجر لكل سند فقط لبيانات السوق المعدلة لتلك السندات. على سبيل المثال، سيتم نشر بيانات السوق للسندات أبك على قناة "بوند أبك" بينما سيتم نشر بيانات السوق المعدلة للتاجر A على قناة الرسالة "التاجر أ، بوند أبك"، بيانات السوق المعدلة للتاجر B على "التاجر B ، بوند أبك "، وهلم جرا.
قناة واحدة لكل تاجر.
قناة واحدة لكل سند لكل تاجر.
هناك مزايا وعيوب لكل نهج. نهج كل السندات، على سبيل المثال، يستخدم الكثير من قناة الرسالة. في أسوأ السيناريوهات، فإن عدد قناة الرسائل سيكون عدد السندات الإجمالية مضروبا في عدد التجار. يمكننا وضع الحدود العليا على عدد من القنوات التي سيتم إنشاؤها لأننا نعرف أن هناك فقط حوالي 20 التجار وأنها أبدا السعر أكثر من بضع مئات من السندات. هذا يضع الحد الأعلى تحت نطاق 10،000، وهو ليس غريبا جدا بالمقارنة مع ما يقرب من 100،000 قناة رسالة تغذية السوق سعر البيانات المستخدمة. أيضا، لأننا نستخدم تيب وقناة رسالة غير مكلفة للغاية، وعدد من قناة رسالة ق ليست قضية حادة. من ناحية أخرى، يمكن أن يكون العدد الهائل من قناة الرسائل s مشكلة من وجهة نظر الإدارة. في كل مرة يتم إضافة السندات يجب الحفاظ على قناة لكل تاجر. وقد يكون ذلك شديدا في نظام ديناميكي جدا. نظامنا، ومع ذلك، هو ثابت أساسا. كما أن لديها بنية تحتية لإدارة قناة الرسائل s تلقائيا. هذا جنبا إلى جنب مع العمارة الموروثة للمكون القديم باستخدام نهج مماثل يقلل من الجانب السلبي. هذا لا يعني أننا يجب أن تجعل عددا مفرطا بلا داع من قناة الرسائل ق. بدلا من ذلك، يمكننا تنفيذ نهج معماري يستخدم عددا كبيرا من قناة رسالة s عندما يكون هناك سبب.
وهناك سبب في هذه الحالة أن يأتي إلى موقع المنطق. إذا طبقنا نهج التاجر، يحتاج محرك أناليتيكش إلى منطق لتجميع قنوات الإدخال والإخراج. ويرجع السبب في ذلك إلى أن قنوات الإدخال من محرك أناليتيكش هي لكل سند وأن قناة رسالة الإخراج ستكون لكل تاجر، مما يتطلب من محرك أناليتيكش توجيه جميع مدخلات أناليتيكش من السندات المتعددة لمتاجر معين إلى مخرجات محددة للمتداول قناة الرسالة. يؤدي هذا إلى تحويل محرك التحليلات بشكل فعال إلى جهاز توجيه يستند إلى المحتوى لتنفيذ منطق التوجيه المخصص لتطبيقنا.
بعد بنية حافلة الرسائل، يعد محرك أناليتيكش خادما عاما يمكن استخدامه من قبل العديد من الأنظمة الأخرى في. لذلك نحن لا نريد أن سحابة مع وظيفة نظام معين. من ناحية أخرى، فإن النهج لكل السندات يعمل منذ فكرة التاجر امتلاك الناتج تحليلات أسعار السندات هي ممارسة مقبولة من قبل الشركة. يحتفظ النهج لكل السندات الفصل قناة رسالة من تغذية بيانات السوق سليمة، في حين إضافة عدة أكثر قناة رسالة ق. قبل أن نصل إلى العميل، نريد أن يقوم الموجه القائم على المحتوى بدمج هذه القنوات المتعددة في عدد من القنوات القابلة للإدارة. نحن لا نريد تطبيق العميل يعمل على سطح المكتب ترادر ​​Ђ ™ للاستماع إلى الآلاف أو عشرات الآلاف من قناة رسالة ق. الآن يصبح السؤال أين وضع جهاز التوجيه القائم على المحتوى. يمكن أن يكون لدينا ببساطة C ++ / تيب قناة محول إلى الأمام جميع الرسائل إلى بوابة التسعير على قناة رسالة واحدة. وهذا أمر سيء لسببين؛ فإننا سوف نقسم منطق الأعمال بين C ++ وجافا، ونحن سوف تفقد فائدة قناة رسالة منفصلة s على الجانب تيب مما يسمح لنا لتجنب تصفية في وقت لاحق من تدفق البيانات. بالنظر إلى مكونات جافا لدينا، يمكننا إما وضعه في بوابة التسعير أو إنشاء مكون وسيط بين بوابة التسعير والعميل.
من الناحية النظرية، إذا واصلنا الفصل القائم على السندات لقناة الرسالة ق وصولا إلى العميل، فإن بوابة التسعير إعادة بث معلومات التسعير مع بنية القناة نفسها مثل بوابة التسعير ومحرك أناليتيكش. وهذا يعني ازدواجية كل السندات المخصصة قنوات تيب في جمس. حتى إذا أنشأنا مكون وسيط بين بوابة التسعير والعميل، فسيظل على بوابة التسعير تكرار جميع القنوات في جمس. من ناحية أخرى، تنفيذ المنطق مباشرة في بوابة التسعير يسمح لنا لتجنب تكرار عدد كبير من القنوات في JMS†"مما يسمح لنا لخلق عدد أقل بكثير من القنوات في ترتيب واحد لكل تاجر. تسجل بوابة التسعير نفسها من خلال محول قناة C ++ / تيب كمستهلك لكل سند من كل تاجر في النظام. ثم تقوم بوابة التسعير بإعادة توجيه كل عميل محدد فقط بالرسائل المتعلقة بهذا التاجر المعين. وبهذه الطريقة، نستخدم فقط عددا صغيرا من قناة الرسائل s في نهاية جمس، مع تحقيق أقصى فائدة للفصل في نهاية تيب.
تدفق بيانات السوق الكامل إلى العميل.
تعد مناقشة تخطيط قناة الرسائل مثالا جيدا على كيفية دمج الأنماط المهمة. وكان الهدف هنا هو معرفة كيفية استخدام قناة الرسائل بشكل فعال. قول استخدام نمط لا يكفي. تحتاج إلى معرفة كيفية تنفيذ أفضل ودمج في النظام الخاص بك لحل المشاكل في متناول اليد. بالإضافة إلى ذلك، يوضح هذا المثال القوى التجارية في العمل. إذا تمكنا من تنفيذ منطق الأعمال في أي من مكوناتنا، كنا يمكن أن تذهب مع نهج التاجر وتنفيذ نهج أكثر بساطة عموما مع العديد من القنوات أقل.
هل تريد تحديد قناة رسالة؟
الآن بعد أن نعرف آليات الاتصال بين مكونات جافا / جمس والمكونات C ++ / تيبكو، ورأينا بعض بنية قناة الرسالة، ونحن بحاجة إلى أن تقرر أي نوع من قناة رسالة جمس s يجب أن تستخدم مكونات جافا للاتصال. قبل أن نستطيع الاختيار بين قنوات الرسائل المختلفة المتوفرة في جمس، نلقي نظرة على تدفق الرسائل عالية المستوى للنظام. لدينا اثنين من بوابات (التسعير والمساهمة) التواصل مع العميل. تدفقات بيانات السوق إلى العميل من بوابة التسعير التي ترسلها إلى بوابة المساهمة. تطبيق العميل يرسل رسالة إلى بوابة التسعير لتغيير التحليلات التي يتم تطبيقها على كل السندات. كما تقوم بوابة المساهمة بإرسال رسائل إلى تطبيق العميل ترحيل حالة تحديثات الأسعار إلى أماكن التداول المختلفة.
تدفق رسالة النظام.
تصف مواصفات جمس نوعين من قنوات الرسائل وقناة من نقطة إلى نقطة (قائمة انتظار جمس) وقناة النشر-الاشتراك (موضوع جمس). تذكر بأن قضية استخدام الاشتراك في الاشتراك هي تمكين جميع المستهلكين المهتمين من تلقي رسالة، في حين أن حالة استخدام نقطة إلى نقطة هي التأكد من أن مستهلك مؤهل واحد فقط يتلقى رسالة معينة.
ومن شأن العديد من الأنظمة ببساطة أن تبث رسائل إلى جميع تطبيقات العملاء، تاركة لكل طلب عميل فردي أن يقرر بنفسه ما إذا كان ينبغي معالجة رسالة معينة أم لا. وهذا لن يعمل لتطبيقنا منذ هناك عدد كبير من رسائل بيانات السوق يتم إرسالها إلى كل تطبيق العميل. إذا قمنا ببث تحديثات بيانات السوق للمتاجر غير المهتمين، فسوف نؤدي إلى إضاعة دورات معالج العميل بشكل غير ضروري لتحديد ما إذا كان سيتم معالجة تحديث بيانات السوق أم لا.
قناة من نقطة إلى نقطة ق في البداية يبدو وكأنه خيار جيد لأن العملاء يرسلون رسائل إلى خوادم فريدة من نوعها والعكس بالعكس. ولكن كان من متطلبات العمل أن التجار قد يتم تسجيل الدخول إلى آلات متعددة في نفس الوقت. إذا كان لدينا تاجر تسجيل الدخول في محطتين عمل في وقت واحد ويتم إرسال تحديث سعر من نقطة إلى نقطة، واحد فقط من اثنين من تطبيقات العميل سوف تحصل على الرسالة. وذلك لأن مستهلك واحد فقط على قناة من نقطة إلى نقطة يمكن أن يتلقى رسالة معينة. لاحظ أن الأول فقط من كل مجموعة من تطبيقات العميل التاجر يتلقى الرسالة.
الرسائل من نقطة إلى نقطة لتحديث الأسعار.
يمكننا حل هذا باستخدام نمط قائمة المستلمين، الذي ينشر الرسائل إلى قائمة المستلمين المقصودين، وضمان أن العملاء فقط في قائمة المستلمين سوف تتلقى رسائل. باستخدام هذا النمط، يمكن للنظام إنشاء قوائم المستلمين مع كافة مثيلات تطبيق العميل المتعلقة بكل تاجر. إرسال رسالة ذات صلة إلى تاجر معين بدوره إرسال الرسالة إلى كل تطبيق في قائمة المستلمين. وهذا يضمن جميع الحالات تطبيق العميل المتعلقة تاجر معين تلقي الرسالة. الجانب السلبي لهذا النهج هو أنه يتطلب نوعا ما من منطق التنفيذ لإدارة المتلقين وإرسال الرسائل.
قائمة المستلمين لتحديثات الأسعار.
على الرغم من أن نقطة إلى نقطة يمكن أن يتم العمل، دعونا see نرى ما إذا كان هناك طريقة أفضل. وباستخدام قناة النشر والاشتراك، يمكن للنظام بث رسائل على قنوات محددة للتاجر بدلا من القنوات الخاصة بتطبيق العميل. وبهذه الطريقة، ستتلقى جميع تطبيقات العميل التي تعالج الرسائل لمتاجر واحد الرسالة وتعالجها.
نشر-الاشتراك الرسائل للحصول على تحديثات الأسعار.
الجانب السلبي من استخدام قناة نشر الاشتراك هو أن معالجة الرسائل الفريدة ليست مضمونة مع مكونات الخادم. سيكون من الممكن أن تكون مثيلات متعددة من مكون ملقم مثيل وكل مثيل معالجة نفس الرسالة، وربما إرسال أسعار غير صالحة.
وإذ يشير إلى تدفق رسالة النظام، فإن اتجاه اتصال واحد فقط مرض مع كل قناة رسالة. الاتصالات من خادم إلى عميل مع نشر الاشتراك هو مرضية في حين أن الاتصال من العميل إلى الخادم ليس والتواصل مع العميل-نقطة مع نقطة إلى نقطة مرضية في حين ملقم العميل ليس كذلك. ونظرا لعدم الحاجة إلى استخدام نفس قناة الرسائل في كلا الاتجاهين، يمكننا استخدام كل قناة قناة اتجاه واحد فقط. سيتم تنفيذ الاتصالات من عميل إلى خادم مع نقطة إلى نقطة في حين سيتم تنفيذ الاتصالات من خادم إلى عميل مع نشر الاشتراك. وباستخدام هذا المزيج من قناة الرسائل s، يستفيد النظام من الاتصال المباشر مع مكونات الخادم باستخدام الرسائل من نقطة إلى نقطة وطبيعة البث المتعدد للنشر دون أي من العيوب.
تدفق الرسالة مع أنواع القنوات.
حل المشكلات مع الأنماط.
أنماط هي أدوات ومجموعات من أنماط هي أدوات. أنها تساعد على حل المشاكل. يعتقد البعض أن الأنماط مفيدة فقط أثناء التصميم. بعد تشبيه الأدوات، وهذا هو مثل القول أن الأدوات مفيدة فقط عند بناء منزل، وليس عند إصلاحه. والحقيقة هي أن الأنماط هي أداة مفيدة في جميع مراحل المشروع عند تطبيقها بشكل جيد. في الأقسام التالية سوف نستخدم نفس نمط عملية الاستكشاف استخدمنا في القسم السابق لحل المشاكل في نظامنا العمل الآن.
وامض تحديثات بيانات السوق.
التجار يريدون خلايا الجدول وميض عندما يتم تلقي بيانات السوق الجديدة للحصول على السندات، مما يدل بوضوح التغييرات. يتلقى عميل جافا رسائل مع بيانات جديدة بتشغيل تحديث ذاكرة التخزين المؤقت لبيانات العميل ثم تومض في الجدول في نهاية المطاف. المشكلة هي أن التحديثات تأتي في كثير من الأحيان. كومة مؤشر ترابط واجهة المستخدم الرسومية أصبحت مثقلة وتجميد في نهاية المطاف العميل لأنه لا يمكن الاستجابة لتفاعل المستخدم. وسوف نفترض أن وامض هو الأمثل والتركيز على تدفق البيانات من الرسائل من خلال عملية التحديث. فحص بيانات الأداء يظهر تطبيق العميل يتلقى العديد من التحديثات في الثانية. حدثت بعض التحديثات أقل من ميلي ثانية واحدة. اثنين من أنماط التي تبدو وكأنها يمكن أن تساعد على إبطاء تدفق الرسالة هي مجمع ورسالة تصفية.
الفكر الأول هو تنفيذ "تصفية الرسائل" للسيطرة على سرعة تدفق الرسالة عن طريق رمي التحديثات تلقت كمية صغيرة من الوقت بعد الرسالة المرجعية. على سبيل المثال، دعنا نقول أننا سنتجاهل الرسائل خلال 5 ميلي ثانية من بعضها البعض. يمكن للذاكرة تصفية ذاكرة التخزين المؤقت وقت آخر رسالة مقبولة وإزالة أي شيء وردت في غضون 5 ميلي ثانية. في حين قد لا تكون التطبيقات الأخرى قادرة على تحمل فقدان البيانات إلى حد ما، وهذا هو مقبول تماما في نظامنا بسبب تواتر التحديثات السعر.
تصفية الرسائل المستندة إلى الوقت.
المشكلة مع هذا النهج هو أنه لا يتم تحديث كافة حقول البيانات في نفس الوقت. كل السندات لديها ما يقرب من 50 حقول البيانات المعروضة للمستخدم بما في ذلك السعر. ونحن ندرك أنه لا يتم تحديث كل حقل في كل رسالة. إذا كان النظام يتجاهل الرسائل المتتالية، قد يكون جيدا جدا رمي البيانات الهامة.
النمط الآخر من الفائدة هو مجمع. يتم استخدام المجمع لإدارة تسوية العديد من الرسائل ذات الصلة في رسالة واحدة، مما يحتمل أن يقلل من تدفق الرسالة. يمكن أن يحتفظ المجمع بنسخة من بيانات السندات من الرسالة المجمعة الأولى، ثم يقوم بتحديث الرسائل المتتالية فقط أو تغييرها. في نهاية المطاف سيتم تمرير بيانات السندات المجمعة في رسالة إلى العميل. في الوقت الراهن، لنفترض أن المجمع سوف يرسل رسالة كل 5 ميلي ثانية مثل "تصفية الرسائل". وفي وقت لاحق، سنستكشف بديلا آخر.
مجمع مع التحديثات المتعاقبة الجزئية.
المجمع، مثل أي نمط آخر، ليس رصاصة فضية. فإن لديها الإيجابيات والنواحي التي تحتاج إلى استكشاف. واحد ناقص محتمل هو أن تنفيذ مجمع سوف يقلل من حركة الرسائل بمقدار كبير في حالتنا إلا إذا العديد من الرسائل تأتي في غضون وقت قصير نسبيا فيما يتعلق السندات نفسها. من ناحية أخرى، فإننا لا ننجز شيئا إذا كان عميل جافا يتلقى تحديثات فقط لحقل واحد عبر جميع السندات التجار. على سبيل المثال، إذا تلقينا 1000 رسالة في إطار زمني محدد مع 4 سندات من الفائدة، فإننا سوف يقلل من تدفق الرسالة من 1000 إلى 4 رسائل خلال هذا الإطار الزمني. بدلا من ذلك، إذا تلقينا 1000 رسالة في نفس الإطار الزمني مع 750 السندات من الفائدة، ونحن قد خفضت تدفق الرسالة من 1000 إلى 750 رسالة. مكاسب ضئيلة نسبيا لكمية من الجهد. تحليل سريع من تحديثات رسالة يثبت أن عميل جافا يتلقى العديد من الرسائل تحديث الحقول من نفس السندات، وبالتالي الرسائل ذات الصلة. لذلك، مجمع هو في الواقع قرارا جيدا.
ما تبقى هو تحديد كيفية معرفة المجمع عند إرسال رسالة تم تجميعها. يصف النمط بعض الخوارزميات للمجمع لمعرفة متى يتم إرسال الرسالة. وتشمل هذه الخوارزميات التي تتسبب في أن يقوم المجمع بتجميع محتوياته بعد انقضاء فترة معينة من الوقت، بعد اكتمال جميع الحقول المطلوبة في مجموعة بيانات وغيرها. المشكلة مع كل هذه النهج هو أن المجمع هو السيطرة على تدفق الرسالة، وليس العميل. والعميل هو عنق الزجاجة الرئيسي في هذه الحالة، وليس تدفق الرسالة.
ويرجع السبب في ذلك إلى أن المجمع يقوم بافتراض أن مستهلكي رسائله المخزنة (تطبيق العميل في هذه الحالة) هم المستهلكون المستندون إلى الحدث أو المستهلكين الذين يعتمدون على الأحداث من مصدر خارجي. نحن بحاجة إلى تحويل العميل إلى مستهلك اقتراع، أو المستهلك الذي يتحقق بشكل مستمر للرسائل، بحيث يمكن تطبيق العميل التحكم في تدفق الرسالة. يمكننا القيام بذلك عن طريق إنشاء مؤشر ترابط الخلفية التي تدور باستمرار من خلال مجموعة من السندات والتحديثات ومضات أي تغييرات حدثت منذ آخر التكرار. وبهذه الطريقة، يتحكم العميل عند استلام الرسائل ونتيجة لذلك، يضمن عدم تحميلها مطلقا على الرسائل أثناء فترات التحديث العالية. We can easily implement this by sending a Command Message to the Aggregator initiating an update. The Aggregator will respond with a Document Message containing the set of updated fields that the client will process.
The choice of Aggregator over Message Filter is clearly a decision based solely on the business requirements of our system. Each could help us solve our performance problems, but using the Message Filter would solve the problem at cost of the system data integrity.
Major Production Crash.
With the performance of the flashing fixed, we are now in production. One day the entire system goes down. MQSeries crashes, bringing several components down with it. We struggle with the problem for a while and finally trace it back to the MQSeries dead letter queue (an implementation of the Dead Letter Channel ). The queue grows so large that it brings down the entire server. After exploring the messages in the dead letter queue we find they are all expired market data messages. This is caused by “slow consumers, ” or consumers that do not process messages fast enough. While messages are waiting to be processed, they time out (see the Message Expiration pattern) and are sent to the Dead Letter Channel . The excessive number of expired market data messages in the dead letter queue is a clear indication that the message flow is too great – messages expire before the target application can consume them. We need to fix the message flow and we turn to patterns for help slowing down the message flow.
A reasonable first step is to explore solving this problem with the Aggregator as we recently used this pattern to solve the similar flashing market data control rate problem. The system design relies on the client application to immediately forward market data update messages to the trading venues. This means the system cannot wait to collect messages and aggregate them. So the Aggregator must be abandoned.
There are two other patterns that deal with the problem of consuming messages concurrently: Competing Consumers and Message Dispatcher . Starting with Competing Consumers , the benefit of this pattern is the parallel processing of incoming messages. This is accomplished using several consumers on the same channel. Only one consumer processes each incoming message leaving the others to process successive messages. Competing Consumers , however, will not work for us since we are using Publish-Subscribe Channel s in server-to-client communication. Competing Consumers on a Publish-Subscribe Channel channel means that all consumers process the same incoming message. This results in more work without any gain and completely misses the goal of the pattern. This approach also has to be abandoned.
On the other hand, the Message Dispatcher describes an approach whereby you add several consumers to a вЂ˜pool’. Each consumer can run its own execution thread. One main Message Consumer listens to the Channel and delegates the message on to an unoccupied Message Consumer in the pool and immediately returns to listening on the Message Channel . This achieves the parallel processing benefit of Competing Consumers , but works on Publish-Subscribe Channel s.
The Message Dispatcher in context.
Implementing this in our system is simple. We create a single JMSListener called the Dispatcher, which contains a collection of other JMSListener s called Performers. When the onMessage method of the Dispatcher is called, it in turn picks a Performer out of the collection to actually process the message. The result of which is a Message Listener (the Dispatcher) that always returns immediately. This guarantees a steady flow of message processing regardless of the message flow rate. Additionally, this works equally well on a Publish-Subscribe Channel s as it does on a Point-to-Point Channel s. With this infrastructure, messages can be received by the client application at almost any rate. If the client application is still slow to process the message after receiving them, the client application can deal with the delayed processing and potentially outdated market data rather than the messages expiring in the JMS Message Channel .
The crash discussed in this section and the fix using the Message Dispatcher is an excellent example of the limits of applying patterns. We encountered a performance problem based on a design flaw not allowing the client to process messages in parallel. This greatly improved the problem, but did not completely fix it. This is because the real problem was the client becoming a bottleneck. This couldn’t be fixed with a thousand patterns. We later addressed this problem by refactoring the message flow architecture to route messages directly from the Pricing Gateway to the Contribution Gateway. So patterns can help design and maintain a system, but don’t necessarily make up for poor upfront design.
Throughout this chapter, we have applied patterns to several different aspects of a bond trading system including solving initial upfront design problems and fixing a nearly job threatening production crash with patterns. We also saw these patterns as they already exist in third party product, legacy components, and our JMS and TIBCO messaging systems. Most importantly, these are real problems with the same types of architectural, technical and business problems we experience as we design and maintain our own systems. Hopefully reading about applying patterns to this system helps give you a better understanding of the patterns as well as how to apply them to your own systems.
Gregor Hohpe and Bobby Woolf.
From Enterprise Integration to Enterprise Transformation:
My new book describes how architects can play a critical role in IT transformation by applying their technical, communication, and organizational skills with 37 episodes from large-scale enterprise IT.

أنظمة تداول السندات.
كيف تعمل أنظمة تداول السندات.
بوند تجارة الأعمال التمهيدي.
تداول السندات باستخدام الأنظمة الإلكترونية يسمى التداول الإلكتروني. ويتطلب ذلك قدرا كبيرا من الهياكل الأساسية لتكنولوجيا المعلومات. Before exploring the information technology, we need to understand the fundamentals of the bond trading business. توضح هذه المقالة عمليات تداول السندات. وهذا موضوع واسع وعميق جدا؛ في هذه المقالة ونحن سوف تخطي فقط السطح واكتساب فهم ما يكفي لمواصلة استكشاف تكنولوجيا المعلومات في المواد القادمة.
الأعمال السندات.
أعمال السندات لديها العديد من الأنشطة، لبساطة هذه يمكن تجميعها في واحدة من أربع مجموعات التشغيل الرئيسية. كل هذه العمليات مدعومة بتكنولوجيا المعلومات وتركز كل مجموعة على جانب محدد من تجارة السندات.
السندات أساسيات دورة الحياة.
السندات هي وسيلة لتنظيم قانوني لرفع رأس المال عن طريق إصدار الدين. المنظمات القانونية هي الحكومات، والشركات، والمنظمات فوق الوطنية وغيرها. ويتم شراء الديون من قبل المستثمرين الذين يصبحون حاملي السندات. ويحصل حاملو السندات على مدفوعات فوائد من جهة إصدار السندات في فترات يحددها جدول زمني. السندات لها مصطلح محدد (استحقاقها) وفي نهاية المدة، يتم دفع القيمة الأصلية لكل سند إلى حامل السند. وتسمى القيمة الأصلية أيضا بالقيمة الاسمية.
ويساعد الرسم البياني أدناه على توضيح ذلك.
ويطلق على مدفوعات الفائدة على السندات دفع القسيمة. وهذا المصطلح تاريخي عندما يكون لشهادة السندات بالفعل كوبونات تمزق يجب تقديمها إلى جهة إصدار السندات من أجل الحصول على دفع الفائدة.
التخلف.
وهناك خطر يتمثل في عدم قدرة جهة إصدار السندات على دفع بعض أو كل مدفوعات الفائدة أو القيمة الاسمية عند االستحقاق لمشتري السندات. وهذا ما يسمى بمخاطر االئتمان. وفي حالة عدم قيام جهة إصدار السندات باحتساب جدول السندات، فإن الجهة المصدرة للسندات تخلف عن السداد.
وفي حالة عدم السداد من جهة إصدار السندات أو في الحراسة (أي إفلاس المعلنين) يمكن أن يحصل حاملو السندات على نسبة مئوية من القيمة الاسمية إذا كانت السندات مصنفة كديون رئيسية. وإذا كان الدين تابعا، فإن أي تعويض لا يحدث إلا بعد تسوية الديون العليا.
Primary Market.
يتم إصدار السندات في السوق الأولية. حيث يحصل مصدر السندات على رأس المال من مشترين السندات مقابل ملكية السندات. يمكن لمشتري السندات أن يحتفظ بالسند حتى تاريخ الاستحقاق ويحصل على القيمة الاسمية عند الاستحقاق بالإضافة إلى مدفوعات الفائدة خلال فترة حياته.
سوق ثانوي.
ويجوز لحامل السندات اختيار التحويل من السندات إلى استثمار مالي آخر. ويتم ذلك بسهولة عن طريق تداول السندات في السوق الثانوية. الأسواق الثانوية هي حيث يتم شراء السندات وبيعها كسلع.
In general, the term “bond trading” refers to trading on the secondary market. يلخص الرسم البياني أدناه تداول السندات خلال مراحل السوق ووقت الحياة للسندات.
سوق السندات الثانوي.
السوق لديه العملاء والتجار، والعملاء يذهبون إلى السوق للحصول على السلع نقدا في حين أن التجار يذهبون إلى السوق لبيع السلع لتحقيق الربح. وفي هذا الصدد، لا يختلف السوق الثانوي. البنوك الاستثمارية هي التجار والشركات الاستثمارية التي تدير المعاشات التقاعدية أو صناديق إدارة الثروات هي العملاء. هذا هو تعميم المشاركين في السوق ولكن على ما يرام لما نحتاج إليه من أجل المضي قدما. في الأسواق الثانوية، فإن شروط بيع الجانب، صانع السوق، تاجر أو تاجر تحديد التجار. Customers are identified by the terms buy-side , market-taker , customer or client . في هذه المواد، سوف نستخدم المصطلحات تاجر / تاجر والعملاء.
يتم التعبير عن الأسعار كنسبة مئوية من القيمة الاسمية. بار هو مصطلح آخر للقيمة الاسمية. ولذلك فإن سعر 100.00 هو 100.00٪ من القيمة الاسمية للسند. ويبين الرسم البياني أدناه أمثلة على الحالات للعملاء شراء وبيع مع التجار. تاجر يحدد الأسعار التي يمكن للعملاء التداول في. بشكل عام، فإن تاجر شراء منخفضة وبيع عالية. في الأمثلة، تاجر هو على استعداد لشراء في 99.5 وبيع في 100.5. وهذا يعني أساسا أنه إذا كانت القيمة الاسمية للسند 100 $، تاجر على استعداد لشراء في 99.50 $ وبيع في 100،50 $. السعر الذي يشتريه البائع هو سعر العرض والسعر الذي يبيعه البائع هو سعر الطلب. يعرف سعر الطلب أيضا بسعر العرض.
ويطلق على الفرق بين سعر العطاء وسعر الطلب اسم عرض التسعير (الطلب أيضا). هوامش أوسع هي أفضل للتجار، هوامش أضيق هي أفضل للعميل ولكن سعر العطاء هو دائما أقل من سعر الطلب. سوف تجار يريدون دائما ينتشر على نطاق أوسع في حين أن العملاء يريدون دائما ينتشر أضيق.
عموما، لا يرغب المتعاملون في الاحتفاظ بالسندات حتى تاريخ الاستحقاق، وهم مهتمون بجني الأرباح من شراء منخفضة وبيع عالية. وعلى النقيض من ذلك، يرغب العمالء في االحتفاظ بسندات حتى تاريخ االستحقاق أو على األقل بهدف تلقي مدفوعات الفائدة من السندات وعادة إعادة استثمارها.
تسعير السندات في السوق الثانوية.
How much a bond is worth can be calculated as its face value plus the remainder of the coupon payments, discounted against the time to maturity of the bond. وهذا ما يسمى أيضا العائد إلى الاستحقاق ويمثل العائد الذي سوف تحصل إذا كنت تحمل السندات حتى ينضج.
غير أن العائد حتى تاريخ الاستحقاق لا يأخذ في الاعتبار مخاطر الائتمان الخاصة بمصدر السندات (أي مدى احتمال تخلفه عن السداد). كما أنه لا يعامل المخاطر بسبب تغيرات أسعار الفائدة؛ وعموما مع ارتفاع أسعار الفائدة، وانخفاض أسعار السندات والعكس بالعكس. وباختصار، فإن العائد إلى الاستحقاق لا يستخدم عادة لحساب الأسعار في السوق الثانوية.
في الممارسة العملية، هناك مجموعة من التقنيات المستخدمة في تسعير السندات في السوق الثانوية. لم ننجح في مناقشة هذه التقنيات لأنها غير مناسبة على مستوى المقدمة هذا. ومع ذلك، هناك مفهوم أساسي واحد مشترك بين جميع تقنيات التسعير. التسعير السندات واحد من آخر. ويساعد الرسم البياني أدناه على توضيح ذلك. ويظهر ذلك مثالا نموذجيا حيث تقود أسعار سندات الشركات إلى تغيرات في السندات المرجعية. وعادة ما يكون السند المرجعي سندا حكوميا.
وعادة ما يكون سعر سندات الشركات ثابتا من المؤشر المعياري. كما يتغير السعر القياسي، وكذلك يفعل سعر السندات للشركات. تقنيات التسعير أكثر تقدما يمكن استخدام أسعار المخلوطة أو الغلة من معايير متعددة للوصول إلى سعر السندات. في الوقت الحالي على الرغم من أنه يكفي لنا أن نقدر أن أسعار السندات يمكن أن تدفع أسعار السندات الأخرى. هذا هو مفهوم مهم في تسعير السندات للتداول. العلاقات التسعير مثل هذه هي الأساس لمعظم أنظمة تسعير السندات.
سیولة السوق الثانویة.
وتصدر الحكومات سندات لتمويل الدين الحكومي. ولضمان الحفاظ على قيمة السندات وعدم اعتبار الدين غير مرغوب فيه، تضع الحكومات التزامات بأن المتعاملين يحتفظون بسعر السندات في السوق الثانوية من خلال الاستشهاد باستمرار بالأسعار الثنائية. سعر 2 في اتجاه هو مصطلح آخر لشراء وبيع الأسعار. وهذا يضع مسؤولية كبيرة ومخاطر مالية محتملة على التجار لضمان أن أسعار السندات الحكومية الخاصة بهم دقيقة للسوق. وتصبح هذه األسعار حساسة جدا لتغيرات أسعار الفائدة والعكس بالعكس. هذه الالتزامات تضمن أن أسعار السندات الحكومية هي دائما سائلة تحافظ على تداول السندات الثانوية مستقرا ومستقرا. وتتمثل الفائدة التي يتحملها المتعاملون في الوفاء بهذه الالتزامات في أنهم قادرون على المشاركة في مزادات السوق الرئيسية للديون الحكومية. المشاركة في هذه المزادات له فوائد مالية وسمعة للتجار.
أهمية أسعار السندات الحكومية السائلة.
وبصفة عامة، تصنف السندات إما كديون حكومية أو شركات. وتصدر السندات الحکومیة من قبل الحکومات وتقل مخاطر التخلف عن العمل بسبب عدم إفلاس الحکومات بشکل عام. بسبب انخفاض المخاطر، لديهم أيضا أقل قسيمة الدفع. هذا يتبع مفهوم انخفاض المخاطر، مكافأة أقل.
أما سندات الشركات، في المقابل، فتعرض لخطر أكبر للتخلف عن السداد. وعلى هذا النحو فإن قسائمها أعلى من السندات الحكومية المكافئة. يتم تسعير سندات الشركات بشكل عام عن طريق التسعير على السندات الحكومية. وقد تؤدي السندات الحكومية الواحدة إلى دفع أسعار سندات الشركات المتعددة. As government bond prices change there is a cascading effect on the price of corporate bonds. من خلال تسعير سندات الشركات على أسعار الحكومة السائلة، فإن سندات الشركات نفسها لديها سيولة متأصلة.
كما أن سيولة أسعار الدين الحكومي هي أيضا عامل هام للنمو الاقتصادي. وتعتبر السيولة علامة على الثقة في الحكومة واستقرارها المالي.
الربح في السوق الثانوية.
في حين أن تاجر قد تكون قادرة على تحقيق الربح من شراء منخفضة وبيع عالية، وهذا لا يتوفر عادة للعميل حيث يتم تحديد أسعار الشراء والبيع من قبل المتعاملين. وتحاول بعض المؤسسات التجارية التحكيم في أسعار التاجر ولكن هذا الأمر عادة ما يكون صعبا للغاية ويتطلب استثمارا مكثفا في تكنولوجيا المعلومات مع عائد استثمار لا يمكن قياسه إلى حد ما.
أنماط تداول السندات.
There are two styles of secondary market trading. ويشار إلى تداول التاجر مع العميل بالتاجر إلى العميل (D2C) أو التداول من شركة إلى أخرى (B2C). وينشأ هذا الشكل من أشكال التداول عادة في تداول السندات بأسعار مصممة من قبل التاجر للعميل ويوافق الجانبان على السعر قبل الاتفاق على التجارة.
يمكن للتاجر أيضا التداول مباشرة مع تجار آخرين. ويشار إلى ذلك بالتاجر إلى تاجر (D2D)، والأعمال التجارية إلى الأعمال (B2B) أو التداول بين الوساطة وسيط (إدب). هذا الشكل من التداول هو عالية السرعة و لا يرحم مع أي تفاعل بشري للموافقة على أسعار التجارة. الأسعار التي يتم نقلها من قبل تاجر يمكن تداولها على الفور (أو عدوان) من قبل أي تاجر آخر. لهذا السبب، يجب أن تبقى اقتباس D2D في خطوة مع المنافسين. وبطء التسعير يمكن أن يعني تاجر سوف تتداول خارج السوق وجعل الخسارة.
وتنقسم األسواق اإللكترونية عادة إلى فئات D2D أو D2C. ويتطلب التاجر تصاميم أنظمة مختلفة للتعامل مع النموذجين التجاريين؛ تداول D2C هو أكثر حول معرفة العملاء لتوفير أسعار دقيقة للعميل. تداول D2D هو حول الحصان الخام السلطة من تاجر & # 8217؛ ق نظام التداول.
وللإشارة، فإن الالتزامات التي تقتبس من الحكومة تتعلق بالأسواق في السوق الإنمائية للألفية فقط.
ويسمح تداول السندات الإلكترونية للعملاء والتجار بالتداول. بيد ان الجانبين يحتاجان الى الجمع بينهما. هذا هو المكان الذي يأتي الناس المبيعات في. يفعلون العمل من الحصول على العميل للتفاوض مع تاجر. على الرغم من أن الكثير من تدفق العمل التجاري يتم تنفيذ إلكترونيا، لا تزال هناك بعض العناصر التي تعتمد على ديناميكية الإنسان بسيطة. الحصول على العملاء في متجر & # 8220؛ شوب & # 8221؛ هي واحدة من هذه.
مبيعات الناس يحصلون عمولة على أساس التجارة لكل العملاء الذين يمثلون أن تنفيذ الصفقات مع تاجر.
الأسواق الإلكترونية.
وتستضيف تجارة السندات الإلكترونية من قبل مقدمي السوق الإلكترونية، ودعا شبكات الاتصالات الإلكترونية (إنز). وتسمى هذه أيضا التبادلات. هناك إنز متخصصة في إما D2D أو D2C التداول. تجار والعملاء الاتصال مباشرة إلى إنز وتنفيذ أنشطة التداول عن طريق إن. عادة ما يتصل البائعون ب إن عبر واجهة برمجة التطبيقات (أبي). أبي يسمح للتاجر لتلقي بيانات السوق المتاحة على إن، تقديم أوامر (أسواق D2D) أو الاستجابة لمفاوضات العملاء (أسواق D2C). سوف العملاء عادة استخدام تطبيق البرمجيات التي تقدمها إن لعرض الأسعار الحالية على إن والبدء في المفاوضات. بشكل عام، تأخذ إنس لجنة صغيرة لكل التجارة المنفذة. تاجر عموما يتصل إنز متعددة أن يكون قدر أكبر من وجود التداول الإلكتروني ممكن. هذا هو المنطق السليم لأن المزيد من الأماكن تاجر لديه حق الوصول إلى زيادة فرص التداول.
هذه هي بعض من إنز الموجودة اليوم. وهي ليست شاملة بأي حال من الأحوال.
مستوطنة.
إن إنز هي حيث يتم الاتفاق على الصفقات ولكن التسليم الفعلي للنقد للسندات أو التسوية يحدث في غرف المقاصة. تتم التسوية في أطر زمنية قياسية بعد تنفيذ الصفقة. الإطار الزمني هو اتفاقية للسند، على سبيل المثال. تسدد السندات الحكومية باليورو على أساس T + 2 (أي بعد يومين من الاتفاق على التجارة). بعض السندات تستقر نقدا مما يعني أنها تتداول وتسوية في نفس اليوم (T + 0).
وتتخذ مراكز المقاصة مخاطر الطرف المقابل في التجارة. Essentially each conterparty in the trade (the buyer and seller) settles with the clearing house rather than directly with each other. وفي حال فشل أي من الطرفين في الدفع أو التسليم، يضمن مركز تبادل المعلومات أن يتلقى الطرف الآخر في التجارة ما هو مستحق. وهذا يحمي كل طرف مقابل من التقصير أثناء التسوية التجارية. يحمي مركز تبادل المعلومات نفسه من خلال المطالبة بدفعات ضمان من كل طرف مقابل بحيث يكون هناك تغطية لبعض الديون التي قد تنشأ.
في الختام & # 8230؛
في هذه المقالة، تم وصف العمليات والمفاهيم الأساسية المستخدمة في تجارة السندات التجارية. With this basic understanding, the information technology can be explored and it will make sense what business process each part in the e-trading technology supports.

INFT13-361: Financial Trading Systems.
وصف.
The aim of this subject is to explore Investment and Trading strategies and financial market anomalies within an algorithmic framework. Students learn about the ways that investment managers and hedge funds create their returns, and learn to reproduce and benchmark these strategies in R. Students create strategies to invest and trade in a number of financial instruments, including equities, futures, FX and ETFs in both low and high frequency environments. Data is sourced from a variety of platforms and sources including Bloomberg. The subject also has a strong research component. Prior knowledge of R and an interest in financial markets will be beneficial.
Subject details.
September 2018 [Standard Offering]
Business and Commerce.
Commencing in 2017: $4,205 Commencing in 2018: $4,247.
نتائج التعلم.
1. Use advanced tools to model risk/reward relationships.
2. Critically evaluate core issues related to financial trading and key trends in financial trading.
3. Critically evaluate the use of Artificial Intelligence and algorithmic approaches to advanced systems design.

INFT73-361: Financial Trading Systems.
وصف.
The aim of this subject is to explore Investment and Trading strategies and financial market anomalies within an algorithmic framework. Students learn about the ways that investment managers and hedge funds create their returns, and learn to reproduce and benchmark these strategies in R. Students create strategies to invest and trade in a number of financial instruments, including equities, futures, FX and ETFs in both low and high frequency environments. Data is sourced from a variety of platforms and sources including Bloomberg. The subject also has a strong research component. Prior knowledge of R and an interest in financial markets will be beneficial.
Subject details.
September 2018 [Standard Offering]
Business and Commerce.
Commencing in 2017: $4,405 Commencing in 2018: $4,591.
نتائج التعلم.
1. Use advanced tools to model risk/reward relationships.
2. Critically evaluate core issues related to stockmarket trading and key trends in financial trading.
3. Critically evaluate the use of Artificial Intelligence and algorithmic approaches to advanced systems design.

No comments:

Post a Comment