hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
إنتربرايز جافابين تطبيق سريع أعقبه نقد
إضافة إلى ذلك فقد وجدت الشركات أن استخدام وحدة جافا للأعمال لتغليف منطق الأعمال قد ألحق عقوبة بالأداء. وذلك نظرا لأن الخاصية الأصلية لا تكون متاحة إلا لإحلال طريقة بعيدة من خلال كوربا CORBA (وبروتوكولات أخرى اختيارية)، بالرغم من أن القدر الأكبر من تطبيقات الأعمال لا تتطلب فعليا وظيفية حوسبة التوزيع هذه. وتتناول خاصة وحدة جافا للأعمال هذه المسألة من خلال إضافة مفهوم الواجهات المحلية التي يمكن استدعاءها مباشرة دون أداء العقوبات من خلال التطبيقات التي لم يتم توزيعها على خوادم متعددة. وقد تم إدخالها بصورة أساسية لتناول مشكلات الأداء الموجودة في وحدة جافا للأعمال 1.0.
إنتربرايز جافابين تطبيق سريع أعقبه نقد
بأي حال فإن قضية التعقيد استمرت في إعاقة قبول وحدة جافا للأعمال. وبالرغم من أن أدوات المطور المتفوق قد سهلت من تكوين واستخدامات وحدة جافا للأعمال من خلال ميكنة المهام المتكررة، فإن هذه الأدوات لا تسهل بأي حال من الأحوال تعلم كيفية استخدام التكنولوجيا. علاوة على ذلك فإن الحركة المضادة قد نمت بقوة على مستوى القاعدة بين المبرمجين. وكانت المنتجات الرئيسية لهذه الحركة يطلق عليها التكنولوجيات «ذات الوزن الخفيف» (أي مقارنة بوحدة جافا للأعمال) لهايبرنيت Hibernate (للتوكيد وكائن رسم الخرائط العلائقية) وسبرنج فريموورك Spring Framework (والتي قدمت طريقة أقل إطنابا لتشفير منطق الأعمال). وبالرغم من الافتقاد لدعم الشركات الكبيرة، فإن هذه التكنولوجيات نمت جماهيريا وتم تبنيها بشكل أكبر من قبل الشركات التي كانت قد أصيبت بخيبة أمل إزاء وحدة جافا للأعمال.
وكان وحدة جافا للأعمال مدعوما من قبل البرنامج التجريبي جافا بلو برنتز الذي أصدرته جافا بيت ستور التابع لصن. إن استخدام وحدة جافا للأعمال كان مثار جدل وأن مبرمجين نافذين في جافا أي أي مثل رود جونسون قد تبنوا مواقف استجابة إلى جافا بيت ستور التي عملت على إضعاف التوكيد على وحدة جافا للأعمال. وقد أنتجت صن نفسها بديلا يسمى كائنات بيانات جافا. وفيما بعد فإن وحدات جافا للأعمال وأشكال بيانات جافا والعديد من الأفكار الكامنة في هايبرنيت اشتركت في تشكيل وحدة جافا للأعمال 3.0 التي تضمنت في واجهة برمجة تطبيق توكيد جافا وكائنات جافا القديمة المسطحة Plain Old Java Objects (POJOs). وكان وحدة جافا للأعمال 3.0 أقل وزنا مقارنة بوحدة جافا للأعمال 2.0 وقدم اختيارات أكبر للمطورين.
إنتربرايز جافابين إعادة صياغة وحدة جافا للأعمال
وتدريجيا فإن صناعة متماسكة أدت إلى ظهور الخاصية المميزة لوحدة جافا للأعمال الأصلي- مما مكن من تكامل متبادل على التطبيقات الموزعة- كانت ذات استخدام محدود بالنسبة لغالبية تطبيقات الأعمال، والوظيفية المقدمة من خلال هياكل أبسط مثل سبرنج وهايبرنيت كانت أكثر فائدة. ووفقا لذلك، فإن خاصية وحدة جافا للأعمال 3.0 (معالجة تجمع الجافا 220) كانت افتراقا راديكاليا من سابقيها عقب هذا المثال الجديد. ويظهر ذلك تأثيرا واضحا من سبرنج في استخدامها لكائنات جافا القديمة المسطحة، ودعمها للضخ المعتمد من أجل تبسيط التكوين وتكامل النظم غير المتجانسة. وكان جافين كينج، صانع هايبرنيت، قد شارك في معالجة وحدة جافا للأعمال 3.0 وكان محاميا صريحا عن التكنولوجيا. وكانت العديد من الخصائص الأصيلة في هايبرنيت داخلة في واجهة برمجة التطبيق لتوكيد جافا، وكانت إحلال هيئة وحدات جافا للأعمال في وحدة جافا للأعمال 3.0. وتعتمد خاصية وحدة جافا للأعمال بقوة على استخدام الشروح، وهي خاصية مضافة إلى لغة جافا بإصدارها رقم 5.0 لتمكين قدر أقل من أسلوب التشفير المطنب.
إنتربرايز جافابين إعادة صياغة وحدة جافا للأعمال
ووفقا لذلك، وبناء على شروط عملية فإن وحدة جافا للأعمال 3.0 يعتبر تقريبا واجهة برمجة تطبيق جديدة تماما يحمل القليل من التشابه مع المواصفات السابقة لوحدة جافا للأعمال.
إنتربرايز جافابين مثال
يظهر ما يلي مثالا أساسيا لما يبدو عليه تشفير وحدة جافا للأعمال
ويحدد ما سبق واجهة محلية وتطبيق فئة الخدمة لتوكيد كائن العميل (من خلال كائن رسم الخرائط العلائقية). ويعتني وحدة جافا للأعمال بإدارة المحيط المؤكد، وتكون طريقة العميل المضاف تبادلية وآمنة التشعب من الأساس. وكما ظهر جليا، فإن وحدة جافا للأعمال لا يركز إلا على منطق الأعمال والتوكيد ولا يعرف شيئا عن أي تمثيل خاص.
ويمكن استخدام مثل وحدة جافا للأعمال من قبل فئة ما في شريحة الويب على سبيل المثال كما يلي:
ويحدد ما سبق أوجه خادم جافا JavaServer Faces (JSF) التي تدعم بين والتي يتم ضخ وحدة جافا للأعمال فيها من خلال وسيلة شرح @EJB. إن طريقة العملاء المضافين addCostumer مرتبطة نمطيا ببعض مكونات واجهة المستخدم UI، مثل الأزرار. وعلى العكس من وحدة جافا للأعمال، فإن دعم بين لا يحتوي على أي منطق أعمال أو كود توكيد، لكنه يرسل مثل هذه الاهتمامات لوحدة جافا للأعمال. ويعرف دعم بين تمثيلا خاصا لا يكون لوحدة جافا للأعمال أية معرفة بها.
إنتربرايز جافابين الأنواع
ويملك وحدة جافا للأعمال نوعين رئيسيين من الوحدات beans:
ويمكن أن تكون وحدات الشبكات  Session Beans إما «كبيرة» أو «بلا هوية» أو «مفردة»، أو أن يتم الولوج لها من خلال واجهة إما «محلية» (نفس الآلة الافتراضية لجافا JVM) أو بعيدة (آلة افتراضية لجافا مختلفة)، أو الولوج مباشرة بدون واجهة، وفي هذه الحالة فإنه يتم تطبيق دلاليات محلية. وتدعم جميع وحدات الشبكات بطريقة غير متزامنة تنفيذ  جميع العروض (محلية/ بعيدة/ بدون واجهة).
إن وحدات الجلسات الكبيرة هي كائنات أعمال تتمتع بوجود حالة: أي أنها تحتفظ بتتبع ما يستدعيه العميل الذي يتعامل معها من خلال الجلسة ثم يلج إلى مثال الوحدة ويكون قاصرا على عميل واحد في المرة الواحدة. إن حالة وحدات الجلسات الكبيرة يمكن أن تستمر تلقائيا من خلال الحاوية لتحرير الذاكرة بعد توقف ولوج العميل إلى الوحدة لوقت ما. وتمد خاصية JPA سياقا مستمرا يدعم بشكل مميز من قبل وحدات الجلسات الكبيرة.
إنتربرايز جافابين الأنواع
التأكد في مخزن الويب ما يمكن تناوله من خلال وحدة الجلسات الكبيرة التي يمكن أن تستخدم حالتها في الحفاظ على تتبع المكان الذي يقوم منه العميل بعملية الخروج، ويمكن أن تبقى على أقفال على المواد التي يقوم العميل بشرائها (من وجهة نظر بنية النظام، يمكن أن يكون ذلك أقل مثالية أن يقوم العميل بإدارة هذه الأقفال)
إن وحدات الجلسات المفردة هي كائنات أعمال لها حالة مشاركة عالميا. إن الولوج المتواتر إلى الوحدة الواحدة والمثال الوحيد يمكن التحكم فيه من قبل الحاوية (تواتر إدارة الحاوية CMC) أو من خلال الوحدة ذاتها (تواتر إدارة الوحدة BMC). ويمكن لتواتر إدارة الحاوية أن تستخدم شرح @Lock، وهو الذي يصمم ما إذا كان قفل القراءة أو قفل الكتابة سيستخدم كطريقة استدعاء. إضافة إلى ذلك فإن وحدات الجلسات المفردة يمكنها ان تطلب بصورة متميزة أن تكون مماثلة عند تشغيل حاولة وحدة جافا للأعمال، باستخدام شرح @Startup.
إنتربرايز جافابين الأنواع
إن الوحدات القائمة على الرسائل هي كائنات أعمال يكون تنفيذها مرتبطا بالرسائل بدلا من طريقة الاستدعاءات. وتستخدم الوحدات القائمة على الرسائل بين نظم أخرى لتقديم تجريد عالي المستوى وسهل الاستخدام للمستوى الأدنى من خاصية خدمات رسائل الجافا JMS. ويمكنها أنم تلتحق بصفوف أو الرسائل النصية لخدمات رسائل الجافا، والتي يتم ضخها آليا في الوحدة. وتتم إضافتها في وحدة جافا للأعمال للسماح بالمعالجة القائمة على الحدث. وعلى غير شاكلة وحدات الجلسات، فإن MDB ليس بها عرض للعميل (محلي/ بعيد/ بدون واجهة)، أي أنه لا يمكن للعملاء أن الإطلاع على مثال MDB. إنها تستمتع فحسب للرسائل الواردة حول، على سبيل المثال، صف خدمات رسائل جافا أو موضوع أو عمليات معالجتها آليا. ولا يكون دعم خدمات رسائل جافا مطلوبا إلا من قبل خاصية EE، لكن الوحدات القائمة على الرسائل يمكنها دعم بروتوكولات الإرسال الأخرى. ويمكن أن تكون مثل هذه البروتوكولات غير متزامنة لكنها يمكن أن تكون أيضا متزامنة. ولأن وحدات الجلسات يمكنها أيضا أن تكون متزامنة أو غير متزامنة، فغن الاختلاف الرئيسي بين وحدات الجلسات والوحدات القائمة على الرسائل ليس اختلافا متعلقا بالتزامن، لكنه اختلاف بين طريقة الاستدعاء والإرسال (القائمتين على الكائن)
إنتربرايز جافابين الأنواع
إرسال تحديث التكوين إلى القواعد المضاعفة يمكن أن يكون قد تم من خلال إرسال رسالة بخدمات رسائل جافا إلى «موضوع رسالة» ويمكن أن تكون قد تمت معالجتها من قبل استمع وحدة قائمة على الرسائل لهذا الموضوع (مثال الرسالة مستخدم هنا، ولأن المرسل لا يحتاج إلى أن يكون لديه معرفة عن حجم المستهلكين أو موقعهم أو حتى نوعهم بالضبط).
تسليم وظيفة لعمل عنقودي من خلال إرسال رسالة باستخدام خدمات رسائل جافا، لكن هذه المرة فإن الاستماع للصف (مثال الرسالة والصف مستخدم، لأن المرسل ليس عليه الاهتمام الذي يمارس به العامل وظيفته، لكنه لا يحتاج إلى ضمان أن الوظيفة لا تنفذ إلا مرة واحدة فقط).
إن معالجة أحداث التوقيت من مجدول كوارتز Quartz scheduler يمكن تناولها من خلال الوحدة القائمة على الرسالة؛ وعندما يطلق الكوارتز النار، فإن MDB يثار آليا. ولأن جافا EE لا تعرف شيئا عن كوارتز بالأساس، فإن مهايئ مصدر JCA سيكون مطلوبا وسيتم شرح MDB بالرجوع إلى ذلك.
إنتربرايز جافابين الأنواع
كما استخدمت الإصدارات السابقة من وحدة جافا للأعمال نوعا من الوحدات معروف باسم وحدة الكيان Entity Bean. وكانت كائنات موزعة ذات حالة مستمرة. وهي الوحدات التي تكون في حاويتها مدارة لحالة الاستمرار Container-Managed Persistence (CMP)حيث تستخدم الحاوية المدارة باستمرار bean-Managed Persistence (BMP). وقد حلت وحدات الكيان بواجهة برمجة التطبيق لاستمرارية جافا في وحدة جافا للأعمال رقم 3.0، وكذلك في وحدة جافا للأعمال 3.1، إن أسلوب وحدات الكيان في CMP x2 لا تزال متاحة للتوافق بأثر رجعي. وتماما كما هو الحال في وحدة جافا للأعمال 3.1 فإن خاصية JPA كانت منفصلة تماما بخاصيتها نفسها وسوف لا يركز وحدة جافا للأعمال إلا على «وحدة الجلسة الجوهرية ونماذج مكونات الوحدة القائمة على الرسائل وواجهات برمجة التطبيق لعملاءها»).
وقد أقترحت أنواعا أخرى من وحدات الأعمال. على سبيل المثال وحدات أعمال الإعلام (JSR 86) التي تتناول تكامل كائنات الوسائط الإعلامية في تطبيقات Java EE.
إنتربرايز جافابين التنفيذ
تم نشر وحدات جافا للأعمال في حاوية وحدة جافا للأعمال داخل خادم التطبيق. وتصف هذه الخاصية كيف تتفاعل وحدة جافا للأعمال مع حاويتها وكيف يتفاعل كود العميل مع حاويتها/وحدة جافا للأعمال معا. إن فئات وحدة جافا للأعمال المستخدمة من قبل التطبيقات متضمنة في حزمة javax.ejb. (إن حزمة javax.ejb هي واجهة تقديم خدمة لا تستخدم إلا من قبل تطبيقات حاوية وحدة جافا للأعمال)
ولا يستعجل عملاء وحدات وحدة جافا للأعمال هذه الوحدات مباشرة من خلال مشغل جافا الجديد، لكنهم بدلا من ذلك عليهم الحصول على إحالة عبر حاوية وحدة جافا للأعمال لتطبيق الوحدة نفسها، ولكن إلى شبكات اتصال المخدم الفرعي الذي يطبق ديناميكيا واجهة أعمال منزلية أو بعيدة يطلبها العميل، أو يطبق ديناميكيا نوعا فرعيا من الوحدة الفعلية. ومن ثم يمكن لشبكات اتصال المخدم الفرعي أن تلقي مباشرة للواجهة أو الوحدة. ومن المعروف أن العميل يجب أن ياخذ «نظرة» على وحدة جافا للأعمال، والواجهة المحلية، والواجهة البعيدة ونوع الوحدة نفسه على التوالي فيما يتعلق بالعرض المحلي والعرض عن بعد والعرض بدون واجهة.
إنتربرايز جافابين التنفيذ
وتعتبر شبكات اتصال المخدم الفرعي هذه مطلوبة من أجل منح حاوية وحدة جافا للأعمال فرصة أن تقدم بشفافية خدمات متقاطعة (مثل AOP) لوحدة ما مثل التبادلات، الأمن، الإدخالات، التصورات المشتركة، والابتعاد، الخ.
على سبيل المثال فإنه يمكن لعميل أن يطرح طريقة ما عبر شبكات اتصال المخدم الفرعي، والتي سوف تبدأ فيما بعد تعاملا بمساعدة حاوية وحدة جافا للأعمال ثم يستدعي طريقة الوحدة الفعلية. وعندما تعود الوحدة الفعلية فإن شبكات اتصال المخدم الفرعي تنهي التبادل (أي من خلال إلزامها أو القيام برد) ويعيد السيطرة مرة أخرى إلى العميل.
يجب أن تدعم حاوية وحدة جافا للأعمال كل من تعاملات ACID المدارة بالحاوية والتعاملات المدارة بالوحدة.
إنتربرايز جافابين التنفيذ
إن التعاملات المدارة بالحاوية CMT نشطة من الأساس بالنسبة لاستدعاء وحدات الجلسات. وهكذا فإنه ليست هناك حاجة لتشكيل مميز. ويمكن تحويل هذا السلوك من خلال الوحدة عبر الشروح وإذا اقتضت الحاجة فإن مثل هذا التشكيل يمكن أن يصبح لاحقا مسيطرا في واصفات الانتشار. ويتضمن ذلك وقف التعاملات للوحدة ككل أو للطرق المحددة، أو طلب استراتيجيات بديلة لنشر التعامل وبدء أو الانضمام لعملية. وتتعامل مثل هذه الاستراتيجيات أساسا مع ما سوف يحدث إذا لم تتقدم العملية أو تطورت بالفعل في وقت استدعاء الوحدة:
وبدلا من ذلك فإنه يمكن للوحدة أيضا أن تعلن من خلال شرح ما أنها تريد القيام بعمليات بطريقة برمجية من خلال واجهة برمجة تطبيق تابعة لـ JTA. إن نمط التشغيل هذا يطلق عليه المعاملات المدارة بالوحدة BMT، لأن الوحدة نفسها تتناول المعاملات بدلا من الحاوية.
خدمات رسائل جافا مستخدمة لإرسال الرسائل من الوحدات beans إلى كائنات العميل، ومن أجل تمكين العملاء من استقبال رسائل غير متزامنة من هذه الوحدات. ويمكن استخدام MDB لاستقبال الرسائل من تطبيقات العميل بصورة غير متزامنة باستخدام إما صف أو موضوع خدمات رسائل جافا
إنتربرايز جافابين التنفيذ
وكبديل للإدخال، فإن عملاء وحدة جافا للأعمال يمكنهم الحصول على إحالة لكائن وسيط لوحدة الجلسات (بذرة وحدة جافا للأعمال) باستخدام JNDI، ويمكن استخدام هذا البديل في الحالات التي يكون فيها الإدخال غير متاح، مثل الوحدات غير المدارة أو عملاء جافا SE البعيدون، أو عندما يكون ضروريا التحديد من الناحية البرمجية أية وحدة يجب الحصول عليها.
أسماء واجهة جافا للتسمية والدليل Java Naming and Directory Interface JNDI لوحدات جلسات وحدة جافا للأعمال تم تحديدها من قبل حاوية وحدة جافا للأعمال من خلال الآلية التالية:
(المداخل في الأقواس المربعة تشير لأجزاء اختيارية)
يمكن لوحدة واحدة أن يحصل عليها من أي اسم متصل بالأنماط السابقة، واعتمادا على «موقع» العميل. إن العملاء في نفس الوحدة Module كالوحدة Bean المطلوبة يمكن أن تستخدم نطاقا أكبر من الوحدات، إن العملاء في نفس التطبيق كالوحدة المطلوبة التي تستخدم نطاقا تطبيقيا وما هو أعلى منه، الخ.
على سبيل المثال فإن كود التشغيل في نفس الوحدة مثل وحدة خدمة العملاء (كما هو مقدم من قبل المثال الظاهر سابقا في هذا المقال) سوف يستخدم الكود التالي للحصول على إحالة (محلية) له:
إنتربرايز جافابين التنفيذ
تعتبر حاوية وحدة جافا للأعمال مسئولة عن ضمان أن كود العميل له حقوق ولوج كافية لوحدة جافا للأعمال.
بصدور وحدة جافا للأعمال 2.1 وما سبقه، فإنه كان على كل وحدة جافا للأعمال أن يقدم فئة تطبيق للجافا وواجهتي جافا. وقد كونت حاوية وحدة جافا للأعمال أمثلة لفئة تطبيق الجافا لتقديم تطبيق وحدة جافا للأعمال. وكانت واجهات جافا مستخدمة من قبل كود العميل لوحدة جافا للأعمال.
وتتم الإشارة إلى الواجهتين باعتبارهما واجهتين منزلية وبعيدة، ومحددة التوقيعات للطرق البعيدة لوحدة جافا للأعمال. وتنقسم الطرق إلى مجموعتين:
ليست مرتبطة بمثال محددن ومثل هذه الطرق مستخدم لتكوين مثال لوحدة جافا للأعمال (طريقة المصنع) أو للوصول إلى كيان وحدة جافا للأعمال موجود (انظر أنواع وحدة جافا للأعمال عاليه). وتم إعلانها من قبل واجهة المنزل.
هناك طرق مرتبطة بمثال محدد. وهي موضوعة في الواجهة البعيدة.
إنتربرايز جافابين التنفيذ
بصدور وحدة جافا للأعمال 2.1 وما سبقه، فإن خاصية وحدة جافا للأعمال تطلبت وجود واصفات انتشار. وكانت هناك حاجة إلى ذلك من أجل تطبيق آلية تسمح لوحدات جافا للأعمال بالانتشار بطريقة مستمرة بغض النظر عن المنصة الخاصة بوحدة جافا للأعمال التي كان قد تم اختيارها. إن المعلومات عن كيفية البدء في نشر الوحدة bean(مثل اسم الواجهات المنزلية أو الواجهات البعيدة، ومسألة تخزين أو كيفية تخزين الوحدة في قاعدة البيانات، الخ) كان من الواجب تحديدها في واصفات الانتشار.
إن واصفات الانتشار وثيقة بتنسيق XMLيمكنها الدخول على كل وحدات جافا للأعمال التي سيتم نشرها. وتحدد وثيق XML هذه المعلومات لاتالية لكل وحدة جافا للأعمال:
إن حاويات وحدات أعمال جافا القديمة المقدمة من العديد من الموردين تطلبت نشرا مزيدا للمعلومات مقارنة بما هو قائم في خاصية وحدة جافا للأعمال. وكانت تستلزم المعلومات الإضافية مثل ملفات XMLالمنفصلة، أو بعض تنسيقات ملفات التشكيل الأخرى. وقد قدمت منصة وحدة جافا للأعمال بصورة عامة أدواتها الخاصة التي سوف تقرأ واصفات الانتشار هذه، ويمكن أن تولد مجموعة من الفئات التي سوف تطبق الواجهات المنزلية والبعيدة لاتي أصبحت الآن غير ذات أهمية.
منذ إصدار وحدة جافا للأعمال 3.0 (JSR 220) فإن واصف XML تم استبداله بمجموعة شروح جافا في تطبيق وحدة الأعمال (على لامستوى المصدري)، بالرغم من أنه لا يزال ممكنا استخدام واصف XML بدلا من (إضافة إلى) الشروح. وإذا تم تطبيق كل من واصف XML شروحه لنفس السبب داخل وحدة الأعمال، فإن تعريف XML سيهيمن على الشرح ذو المستوى المصدري المتصل بها.
إنتربرايز جافابين تاريخ الإصدار
JSR 318 إن غرض خاصية وحدة جافا للأعمال 3.1 هو مزيد من التبسيط لبينة وحدة جافا للأعمال من خلال تقليل تعقيده من وجهة نظر المطور، بينما يحاول هذا الإصدار أيضا إضافة وظيفية جديدة استجابة لاحتياجات الجماعة:
JSR 220 التغيرات الرئيسية: سهل هذا الإصدار من كتابة وحدات جافا للأعمال، من خلال استخدام الشروح بدلا من «واصفات الانتشار» المعقدة المستخدمة في النسخة 2.x. إن استخدام الواجهات المنزلية والواجهات البعيدة وملف ejb-jar.xml كان أيضا غير مطلوب في هذا الإصدار، وقد حل محله واجهة أعمال ووحدة تطبق الواجهة.
كود التبادل الموسع للترميز العشري الثنائي
إن كود التبادل الموسع للترميز العشري الثنائي (أو مختصراً ابسدك من الإنجليزية) هو كود ذو سبعة حروف (صفحة الكود) المستخدم في نظم التشغيل الحاسبات الآلية الكبيرة في آي بي إم مثل نظام OS/ Z ونظام التشغيل OS/ والآلة الافتراضية 390 وموسع التخزين الظاهري وكذلك نظم تشغيل حاسب آي بي إم الآلي ذو القيمة المتوسطة مثل OS / 400 وآي 5 / OS (انظر كذلك إلى الترميز العشري الثنائي). وقد وظفت على عدة أرصفة لا تتبع آي بي ام مثل بي اس 2000 / أوه اس فوجيستو سيمنز وام بي إي آي اكس اتش بي وفني مايكروسوفت معتمد من شركة يونيسس. وقد انحدر كود التبادل الموسعة للترميز العشري الثنائي من الكود المستخدم مع البطاقات المخرمة وكود الترميز العشري الثنائي المناظر ذو الستة أحرف والمُستخدم مع معظم معدات حواسب آي بي ام المحيطة في أواخر الخمسينات وأواخر الستينات.
كود التبادل الموسع للترميز العشري الثنائي التاريخ
ابتُكرت آي بي ام كود التبادل الموسعة للترميز العشري الثنائي في عامي63 19 و 1964 وأُعلن عنه مع ظهور خط إنتاج نظام آي بي ام / 360 للحواسب الكبيرة. وهو ترميز ذو ثماني أحرف، ومناقضاً ل وطور بشكل منفصل من برنامج ترميز الكود الأمريكي القياسي لتبادل المعلومات. وقد ابتُكرت لتوسع الترميز العشري الثنائي والذي كان موجوداً في ذلك الوقت، والذي ظهر هو نفسه كوسيلة تتسم بالكفاءة لترميز مثقابي الأرقام والمناطق على بطاقات التثقيب إلى ستة أحرف.
فبينما كانت آي بي إم المقترح الرئيسي للجنة التوحيد القياسي لبرنامج ترميز الكود الأمريكي القياسي لتبادل المعلومات فلم يكن لديهم وقت لتحضير الأجهزة المحيطة ببرنامج ترميز الكود الأمريكي القياسي لتبادل المعلومات (مثل آلات تثقيب البطاقات) لشحنها مع حواسيبها ذات النظم 360 وبالتالي استقرت الشركة على كود التبادل الموسعة للترميز العشري الثنائي في ذلك الوقت. ونجح نظام 360 على نطاق واسع وكذلك نجح برنامج كود التبادل الموسعة للترميز العشري الثنائي.
كود التبادل الموسع للترميز العشري الثنائي التاريخ
وتستخدم كل ملحقات أجهزة الحاسب الآلي آي بي ام الكبيرة ونظم التشغيل كود التبادل الموسعة للترميز العشري الثنائي كترميزهم الطبيعي عدا نظام لينوكس على زد سيريس أو آي سيريس، ولكن بإمكان البرامج الترجمة من وإلى الترميزات الأخرى. وتوفر العديد من الأجهزة المحيطة الترجمة وكذلك الحواسب الكبيرة الحديثة (مثل آي بي ام زد سيريس) ومن ضمنها تعليمات المعالج على مستوى الأجهزة لتسرع الترجمة بين مجموعات الأحرف.
كود التبادل الموسع للترميز العشري الثنائي التاريخ
وليس لكود التبادل الموسعة للترميز العشري الثنائي ميزة تقنية حديثة أفضل من صفحات الكود على أساس برنامج ترميز الكود الأمريكي القياسي لتبادل المعلومات مثل سلسلة أيزو8859 أو الشفرة الموحدة. فهناك بعض الجماليات الفنية في كل منها مثل أن لكل من ترميز الكود الأمريكي القياسي لتبادل المعلومات وكود التبادل الموسعة للترميز العشري الثنائي بيت واحد حيث تحدد الحالة العليا أو السفلى. ولكن هناك بعضاً من جوانب كود التبادل الموسعة للترميز العشري الثنائي التي تجعل منه أقل إرضاء بكثير للعمل مع ترميز الكود الأمريكي القياسي لتبادل المعلومات لترميز الكود الأمريكي في حين أنه باستخدام صفحات الكود الموسعة ذات البايت الفردي لقياسي لتبادل المعلومات مثل أبجدية غير متجاورة. فمعظم صفحات أكواد كود التبادل الموسعة للترميز العشري الثنائي تسمح فقط بلغتان (وهما الإنجليزية ولغة واحدة أخرى) لتستخدما في قاعدة البيانات أو ملف النص.
وحيث أنه يفضل الدعم الحقيقي للنص متعدد اللغات فهناك حاجة إلى نظام يُدعم أحرف أكثر بكثير. وبوجه عام يمكن تنفيذ ذلك بشكل من أشكال دعم الشفرة الموحدة. وهناك شكل لتحويل الشفرة الموحدة الخاصة بكود التبادل الموسعة للترميز العشري الثنائي تُسمى UTF-EBCDIC وقد اقترحتها جمعية الشفرة الموحدة، ولكنها لا تستخدم في البيئات التبادلية المفتوحة، وحتى في النظم المبنية على أساس كود التبادل الموسعة للترميز العشري الثنائي فهي لا تستخدم أبداً تقريباً. وتدعم حواسب آي بي ام الكبيرة يو تي اف 16 ولكنها لا تدعم يو تي اف EBCDIC الأصلية. وتعرض النسخ العربية من كود التبادل الموسعة للترميز العشري الثنائي في شكل عرض من اليسار إلى اليمين كما يعرضها حاسب آلي كبير أقدم أو طابعة بدلاً من الترتيب المنطقي الذي تستخدمه الترميزات الحديثة مثل اليونيكود.
كود التبادل الموسع للترميز العشري الثنائي إطار صفحة الكود
الجدول التالي مبني على أساس معرف مجموعة الأحرف المرمزة 500 وهي إحدى صفحات الكود المختلفة لكود التبادل الموسعة للترميز العشري الثنائي. وهي توضح فقط الأحرف الإنجليزية لكود التبادل الموسعة للترميز العشري الثنائي. وتمثل الأحرف 00- 3 اف أزرار التحكم ويمثل 40 المسافة (المسطرة) ويمثل 41 لا يوجد مسافة وتعني آر اس بي: مطلوب مسافة وإي 1 هي المسافات الرقمية وتعني سي ايه الخط الصغير الذي يفصل بين كلمتين وقد بينت الأحرف مع أكواد الشفرة الموحدة المساوية لها. وتشترك الأبجدية الثابتة وعلامات الترقيم وأحرف التحكم في مع كل صفحات الأكواد لكود التبادل الموسعة للترميز العشري الثنائي المبينة في خط سميك. وبشكل نموذجي فإن الأكواد غير المعينة تملأ بأحرف عالمية أو أحرف محددة على المستوى الإقليمي في صفحة الكود المختلفة لكود التبادل الموسعة للترميز العشري الثنائي.
كود التبادل الموسع للترميز العشري الثنائي الانتقاد
كتب إريك اس رايموند المتسلل ومؤيد البرمجيات مفتوحة المصدر كتب في مفرداته الخاصة بالمتسللين أن المتسللين الأولين والمبرمجين قد رغبوا عن كود التبادل الموسعة للترميز العشري الثنائي تقريباً بسبب تعدد نسخه المختلفة، والتي لا تماثل النسخ الأخرى، وقد أنتجته آي بي ام بغرض المنافسة المباشرة مع ترميز الكود الأمريكي القياسي لتبادل المعلومات والذي قد أكان أنشئ بالفعل.
ويحدد ملف مصطلحات الحرفة رقم 4.4.7 التعريف التالي:
كود التبادل الموسع للترميز العشري الثنائي الانتقاد
EBCDIC هو اختصار لكود التبادل الموسعة للترميز العشري الثنائي ألا وهو مجموعة حروف ظاهرية استخدمتها حاسبات آي بي إم المنقرضة. وتتواجد فيما لا يقل عن ست نسخ تتعارض مع بعضها البعض، وتتسم كلها بأنها حروف متسلسلة غير متجاورة، وبالكاد يُعد غياب العديد من علامات ترقيم ترميز الكود الأمريكي القياسي لتبادل المعلومات ذو أهمية للغات الحاسبات الآلية الحديثة. (وبالتحديد يختلف غياب أياً من الحروف وفقاً لنوع النسخة التي تنظر إليها من نسخ كود التبادل الموسعة للترميز العشري الثنائي. وقد طورت أي بي ام من كود بطاقات التثقيب في أوائل الستينات وأعلنتها بوصفها طريقة رقابة المستهلك.(انظر مؤامرة الرابط)، لتهدر مقياس ترميز الكود الأمريكي القياسي لتبادل المعلومات الذي أسس بالفعل.
كود التبادل الموسع للترميز العشري الثنائي الانتقاد
واليوم، تطالب آي بي ام بأن تصبح شركة نظم مفتوحة ولكن وصف آي بي ام نفسها لكود التبادل الموسعة للترميز العشري الثنائي المتنوع وكيفية التبديل بينهم لا تزال تصنف بأنها سرية للغاية وتحرق قبل القراءة. ويشحب المتسللون حينما يُذكر اسم كود التبادل الموسعة للترميز العشري الثنائي ويعدونها مظهراً من مظاهر الشر الخالص.
وتتمثل إحدى العلل الرائجة الأخرى في أن أحرف أبجدية كود التبادل الموسعة للترميز العشري الثنائي تتبع ترميز البطاقات المثقبة المهملة بدلاً من الترتيب الخطي مثل ترميز الكود الأمريكي القياسي لتبادل المعلومات. ومن نتائجها المتزايدة أن كود الحرف I لا ينتج مثلما ينتج الحرفJ وكذلك فهناك فجوة بين الحرفين R وS .وبالتالي فإن برمجة شريط قيادة الطباعة البسيط ليدور من خلال أحرف الأبجدية فقط تعد مشكلة.
ولقد كانت تلك الاختلافات مصدراً للعديد من النكات. وتقول واحدة من أشهر[بحاجة لمصدر] النكات:
الأستاذ:«إذن فالحكومة الأمريكية لجأت إلى آي بي ام لتبتكر معيار للتكويد وقد ابتكرت ــــــــــ»
الطالب: «كود التبادل الموسعة للترميز العشري الثنائي!».
ويعد محرك البحث إنفو كوم مرجعاً لمجموعة أحرف كود التبادل الموسعة للترميز العشري الثنائي. ويوجد مجموعة من الحواسب العتيقة والماكينات الأخرى في غرفة الماكينات دون غرض.
وفيما يلي وصف للغرفة، مع استخدام كود التبادل الموسعة للترميز العشري الثنائي للتعبير عن لغة غير مفهومة:
إنها غرفة ضخمة مليئة بالآلات الثقيلة المتنوعة والتي تطن بشكل مزعج. وتبدو رائحة الغرفة كأنها أدوات كهربائية محروقة.ويوجد بجوار أحد الحوائط ثلاثة مفاتيح وهي على التوالي: مستدير، مثلث، مربع. وبالطبع، فقد كُتبت التعليمات فوق تلك المفاتيح بكود التبادل الموسعة للترميز العشري الثنائي...}}
جنو أرك
جنو أرك في مجال الحوسبة هو نظام للتحكم الموزع في تعديل البرمجيات وجزء من مشروع جنو ويخضع لرخصة جنو العمومية. يستخدم النظام في تتبع التعديلات التي تضاف لشجرة الكود source tree ومساعدة المبرمجين على دمج أو التعامل مع التعديلات التي يقوم بها العديد من الأشخاص في أوقات مختلفة.
منذ عام 2009 توقفت عملية تطوير نظام جنو أرك فيما عدا إصلاح الثغرات الأمنية ولا يُنصح باستخدامه.
جنو أرك خصائصه
بما أن النظام موزع وغير مركزي فكل نسخة معدلة باستخدام أرك تحصل على تعريف ID لا يتكرر على مستوى العالم، يمكن استخدام هذا التعريف في بيئة العمل الموزعة لدمج التعديلات بسهولة أو انتقاء تعديلات معينة من مصادر مختلفة تماما.
غير مركزي يعني أنه لا داعي لوجود خادم مركزي يحتاج المطورون لتصريح بالدخول عليه حتى يشاركوا في البرنامج المراد تعديله. كما هو الحال في الأنظمة الأخرى يتم تخزين نسخة كاملة من المشروع للقراءة فقط على مستودع رسمي سواء باستخدام HTTP أو FTP أو SFTP ثم يسمح للمطورين بإضافة تعديلاتهم ونشرها في أرشيف (مستودع) عام خاص بهم حتى يتمكن كبير المطورين من دمج مجموعات التعديلات changesets يدويا في المستودع الرسمي.
لمحاكاة أسلوب عمل نظام التحكم المركزي بإمكان كبير المطورين إتاحة الوصول إلى شل shell الخادم (SSH) أو التصريح بالتعديل (FTP، SFTP، WebDAV) على الخادم مما يسمح للمستخدمين المصرح لهم بالقيام بالتعديلات على الخادم المركزي، ولكن في الغالب هناك ديكتاتور يتولى عملية دمج تعديلات المشاركين في المشاريع التي تدار بواسطة جنو أرك.
يحتوي جنو أرك على العديد من الخصائص الأخرى:
جنو أرك خصائصه
إما أن تنفذ عملية التعديل بالكامل أو لا تنفذ على الإطلاق. يجب أن تكون شجرة الكود سليمة قبل بدء أي عملية تعديل ولا ترى التعديلات إلا بعد اكتمالها، إن حدثت مقاطعة لهذه العملية تبقى التعديلات خفية ثم يتم التراجع عن عملية التعديل بأكملها قبل بدء أي عملية جديدة، تحول هذه الطريقة دون فساد أرشيف الكود والنسخ السليمة للمستخدمين الآخرين.
يتتبع نظام أرك مجموعات التعديلات – المشابهة للباتشات patches - بدلا من تتبع الملفات بشكل منفصل (كما يفعل CVS). كل مجموعة تعديلات تصف الفرق بين شجرة كود source tree وأخرى، لذا يمكن استخدام مجموعة التعديلات للوصول من نسخة إلى أخرى. يُنصح المطورون بإجراء عملية تعديل واحدة لكل خاصية أو إصلاح عيب bugfix.
عملية التفرع branching تتسم بالكفاءة ويمكن أن يدخل فيها عدد من الأرشيفات المختلفة. ببساطة يعلن الفرع (أو «تاج» tag) عن النسخة الذي جاء منها وتستمر عملية التطوير من هنا.