আমাদের একটি প্রকল্প রয়েছে যেখানে ইউআই কোড একই দল দ্বারা তৈরি করা হবে তবে পরিষেবা স্তর (আরইএসটি / জাভা) থেকে আলাদা ভাষায় (পাইথন / জ্যাঙ্গো) তৈরি করা হবে। প্রতিটি স্তরের কোডটি বিভিন্ন কোড ভান্ডারে বের হয় এবং যা বিভিন্ন প্রকাশের চক্র অনুসরণ করতে পারে । আমি এমন একটি প্রক্রিয়া নিয়ে আসার চেষ্টা করছি যা ইউআই স্তরের দৃষ্টিকোণ থেকে পরিষেবা স্তরগুলিতে পরিবর্তনগুলি হ্রাস / কমিয়ে আনবে।
আমি ইউআই স্তর স্তরের ইন্টিগ্রেশন টেস্টগুলি লিখতে ভেবেছি যা আমরা যখনই ইউআই বা পরিষেবা স্তর তৈরি করি তখনই চলব (দুটি জিতির রেপোতে থাকা কোডটি তৈরি করতে আমরা জেনকিন্সকে আমাদের সিআই সরঞ্জাম হিসাবে ব্যবহার করছি) এবং যদি ব্যর্থতাগুলি রয়েছে তারপরে পরিষেবাগুলির স্তরে কিছু ভেঙে যায় এবং প্রতিশ্রুতি গ্রহণ করা হয় না।
পরিষেবা স্তরটির বিকাশকারীরা ইউআই স্তরটিতে থাকা আরইএসটি পরিষেবার জন্য একটি ক্লায়েন্ট লাইব্রেরি তৈরি এবং রক্ষণাবেক্ষণের জন্য কী এটি একটি ভাল ধারণা (এটি একটি সেরা অনুশীলন?) হতে পারে যা যখনই কোনও ব্রেকিং পরিবর্তন ঘটে তখন তারা আপডেট করবে তাদের পরিষেবা এপিআই? অনুগ্রহপূর্বক, আমরা তখন স্ট্যাটিকালি টাইপযুক্ত এপিআইয়ের সুবিধা পাই যা ইউআই কোডটি বিপরীতে তৈরি করে। যদি ক্লায়েন্ট লাইব্রেরি এপিআই পরিবর্তন হয়, তবে ইউআই কোডটি সংকলন করবে না (তাই আমরা তাড়াতাড়ি জানতে পারব যে সেখানে একটি ব্রেকিং পরিবর্তন হয়েছে)। ইউআই এবং পরিষেবাগুলির মধ্যে ইন্টিগ্রেশন এখনও কাজ করে তা আরও যাচাই করার জন্য আমি ইউআই বা পরিষেবা স্তর তৈরি করার পরেও ইন্টিগ্রেশন টেস্টগুলি চালিত করব।