سؤال

هل يمكنك أن تعطيني بعض النصائح حول كيفية التأكد بشكل أفضل من أن التطبيقين (أحدهما في C# والآخر في Java) سيكونان متوافقين و كفاءة في تبادل البيانات؟هل هناك أي مسكتك التي واجهتها؟

السيناريو هو نقطة إلى نقطة، مضيف واحد هو مقدم الخدمة والآخر هو مستهلك الخدمة.

هل كانت مفيدة؟

المحلول

القي نظرة على بروتوبوف تنسيق تبادل البيانات.تطبيق .NET موجود أيضًا متاح.

نصائح أخرى

JSON للبيانات الوصفية، وXML لأنواع البيانات العامة.إذا لم يكن ذلك فعالاً بما فيه الكفاية بالنسبة لك، فستحتاج إلى تشغيل برامج الترميز الخاصة بك للتعامل مع ملف الفرق في ترتيب البايت بين C# وJava.

بدلاً من التركيز على تقنية معينة، فإن أفضل نصيحة يمكنني تقديمها هي قضاء بعض الوقت في التركيز على الواجهة بين الاثنين (سواء كان ذلك خدمة ويب، أو قاعدة بيانات، أو أي شيء آخر تمامًا).إذا كانت خدمة ويب، على سبيل المثال، ركز على إنشاء مستند WDSL واضح.واجهة، واجهة، واجهة.في أغلب الأحيان، حاول تجاهل التقنيات المحددة في كل طرف، باستثناء بعض النماذج الأولية للتأكد من أن كلتا اللغتين تدعمان اختياراتك.

أيضًا، خارج الحواجز الرئيسية، لا تركز على الكفاءة.التركيز على الوضوح.من المحتمل أن يكون لديك فريقان (أي.أشخاص مختلفين) يعملون على طرفي هذه الواجهة.يعد التأكد من أنهم يستخدمونه بشكل صحيح أكثر أهمية بكثير من جعل الأمور أسرع قليلاً.

إذا كان لديك Java كخادم ويب، فيمكنك استخدام Jax-WS ( https://jax-ws.dev.java.net/ ) لإنشاء خدمات الويب وWCF لـ .Net للاتصال بخادم الويب Java..

يمكنك استخدام شيء مثل XML (وهو ليس بهذه الكفاءة دائمًا) أو تحتاج إلى إنشاء تنسيق ثنائي خاص بك (فعال ولكن يتطلب الكثير من العمل).سأبدأ باستخدام XML وإذا أصبح عرض النطاق الترددي يمثل مشكلة، فيمكنك دائمًا التبديل إلى تنسيق ثنائي خاص.

شيء من هذا القبيل الصابون (ويكيبيديا) مدعوم من قبل كل من C# وJava.

نحن نستخدم C#/VB.Net لواجهات الويب الخاصة بنا وJava لعميلنا الكثيف.نحن نستخدم XML وخدمات الويب للتواصل بين قاعدة البيانات وخوادم التطبيقات.أنه يعمل بشكل جيد جدا.

تأكد من استخدام بروتوكول محدد جيدًا لتوصيل البيانات، وكتابة الاختبارات للتأكد من استجابة التطبيقات وفقًا للعقد.

هذا سؤال واسع ولكنني أوصي بالتركيز على المعايير التي تنطبق على كلا النظامين الأساسيين؛XML أو أي نموذج قياسي آخر للتسلسل، باستخدام REST للخدمات إذا كانت بحاجة إلى التشغيل التفاعلي.

إذا كنت تستخدم XML، فيمكنك فعليًا إضفاء الطابع الخارجي على وصولك إلى البيانات كبيانات XPath التي يمكن تخزينها في مورد مشترك يستخدمه كلا التطبيقين.هذه بداية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top