আপনি যদি লেনদেন ব্যবহার করতে না পারেন তবে আপনি কীভাবে কার্যকরভাবে একটি এন্টারপ্রাইজ পরিবেশে ওয়েব পরিষেবা ব্যবহার করতে পারেন?


14

আমি যে জায়গাটিতে কাজ করছি সেটি হ'ল কিছু স্থল বিধি প্রতিষ্ঠার চেষ্টা করছে এবং কোডটি পুনরায় ব্যবহারের জন্য ওয়েব পরিষেবাগুলি বনাম স্থানীয় গ্রন্থাগারগুলি হ'ল debate বেশিরভাগ সংস্থাগুলিতে ওয়েব পরিষেবাদি জনপ্রিয় চয়ন বলে মনে হয় এবং এখানকার বেশিরভাগ বিকাশকারীই ঝুঁকছেন।

আমি কেবল দেখতে পাচ্ছি না আপনি কীভাবে কোনও গুরুতর কাজের জন্য ওয়েব পরিষেবা কার্যকরভাবে ব্যবহার করতে পারেন। আমি যদি কোনও লেনদেন ব্যবহার না করতে পারি তবে কীভাবে আমি একাধিক পরিষেবা কল নিরাপদে সম্পাদন করতে পারি?

ধরা যাক আমার একটি ক্রোন জব রয়েছে যা আমাদের ডাটাবেস থেকে গ্রাহকদের ধরেছে যারা একটি নির্দিষ্ট শর্ত পূরণ করে যে তাদের সম্পর্কে অবহিত হওয়া দরকার। এগুলি অভ্যন্তরীণভাবে ট্র্যাক করার জন্য তাদের একটি ফ্যাক্স, একটি ইমেল এবং একটি টিকিট তৈরি করা হয়। এটি 3 টি পৃথক পরিষেবা কল যা প্রতিটি গ্রাহকের জন্য লুপের জন্য ঘটবে।

যদি সেখানে কোথাও কোনও ত্রুটি দেখা দেয় তবে এটি সম্ভব যে উদাহরণস্বরূপ, গ্রাহকের কাছে একটি ফ্যাক্স এবং ইমেল প্রেরণ করা হলেও টিকিট তৈরি হয় না। বা আরও খারাপ, এই ক্রোন জবটিতে একটি ত্রুটি থাকতে পারে যার কারণে এটি প্রতিবার একই পয়েন্টে ব্যর্থ হয় এবং এটি বার বার একই গ্রাহককে ইমেল করে। যদি গ্রন্থাগারগুলি সমস্ত স্থানীয় হয়, তবে সমস্ত কিছু কেবল একটি লেনদেনের মধ্যে আবৃত হতে পারে, এবং এর কিছুই ঘটবে না। তবে আমরা এই উদাহরণে ওয়েব পরিষেবা ব্যবহার করছি।

নোট করুন যে ইমেল এবং ফ্যাক্স পদ্ধতিগুলি ডেটাবেস-ব্যাকযুক্ত কিউ টেবিলগুলিতে ডেটা সন্নিবেশ করে, যা পরিবর্তে একটি পৃথক ক্রোন জব প্রক্রিয়া দ্বারা পরিচালিত হয়। সুতরাং "ইমেল প্রেরণ করুন" এবং "ফ্যাক্স প্রেরণ" পরিষেবা পদ্ধতিতে কলগুলি প্রয়োজনে পার্শ্ব-প্রতিক্রিয়া মুক্ত রেখে দেওয়া যেতে পারে।

একটি বিকল্প হ'ল ওয়েব সার্ভিসে কোডের পুরো অংশটি রেখে দেওয়া, তাই ওয়েব সার্ভিস নিজেই কোনও লেনদেনে ইমেল, ফ্যাক্স এবং টিকিট তৈরির পদ্ধতিগুলি কল করে। তবে তারপরে আমরা কেবল একটি লেনদেন ব্যবহারের জন্য একটি ওয়েব পরিষেবা পদ্ধতি তৈরি করছি; এর কোনও বৈধ কারণ নেই যা আমাদের আসলে এই ক্রোন স্ক্রিপ্ট ব্যতীত অন্য কোথাও থেকে এই পদ্ধতিটি কল করার প্রয়োজন হবে।

আপনি সাধারণত এই পদ্ধতিটি কীভাবে পরিচালনা করবেন?


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

@ মাইকব্রাউন: পরিষেবাগুলি সমস্তই এক ভাষায় লেখা হবে, তবে একাধিক প্ল্যাটফর্ম দ্বারা গ্রাস করা হবে। কোনও ইবিএস বাস্তবায়ন সম্পর্কে ধারণা নেই, আমরা কোনও ধরণের পরিষেবাদির কাজও শুরু করি নি, তাই কিছু সম্ভব। পরিষেবাগুলি বেশিরভাগ অভ্যন্তরীণভাবে আমাদের স্থানীয় নেটওয়ার্কের মাধ্যমে গ্রাস করা হবে তবে মোবাইল অ্যাপ্লিকেশনগুলির জন্য জনসাধারণের মুখোমুখি হওয়া দরকার some
রাইগুয়ে

"যদি গ্রন্থাগারগুলি সমস্ত স্থানীয় হয়, তবে সমস্ত কিছু কেবল একটি লেনদেনের মধ্যে আবৃত হতে পারে, এবং এর কিছুই ঘটবে না"। মিথ্যা। ইমেল প্রেরণের পরে ত্রুটি ঘটতে পারে তবে চূড়ান্ত ডাটাবেস আপডেটের আগে। কোনও লেনদেন পূর্ববর্তীভাবে ইমেল বা ফ্যাক্স প্রতিরোধ করে না।
এস .লট

@ এস.লোট: এটি হ'ল, কারণ ইমেল এবং ফ্যাক্স পরিষেবা কলগুলি কেবল তাদের একটি সারিতে সন্নিবেশ করানো হচ্ছে, যা ভিন্ন প্রক্রিয়া দ্বারা সরবরাহ করা হয়। আমি উপরে বর্ণিত লেনদেনটি যদি ঘটে থাকে তবে সারি সন্নিবেশ বাতিল করা হবে।
রাইগুয়ে

1
@ রিয়েগু: প্রশ্নটি আপডেট করুন। প্রশ্নটিতে মন্তব্য যুক্ত করবেন না দয়া করে। এটি আপনার স্থাপত্যের একটি গুরুত্বপূর্ণ অঙ্গ। প্রশ্নে এটি প্রকাশ করুন।
এস .লট

উত্তর:


5

আপনি যা বর্ণনা করছেন তা আসলে দ্বি-পর্বের প্রতিশ্রুতি প্রয়োগকারী বিতরণ লেনদেন । কিছু এন্টারপ্রাইজ বার্তাপ্রেরণ প্ল্যাটফর্মের মধ্যে এই জাতীয় জিনিসটিকে সমর্থন করার জন্য লেনদেন পরিচালকদের অন্তর্ভুক্ত থাকে তবে কংক্রিট পণ্যগুলি প্ল্যাটফর্ম / ভাষা নির্ভর। এ জাতীয় সরঞ্জামগুলির সাথে আমার কাছে কংক্রিটের অভিজ্ঞতা নেই তবে আশা করি এই পয়েন্টারগুলি সাহায্য করবে।


3

এটি আকর্ষণীয় যে আমি এই বিশেষ প্রশ্নোত্তরে অংশ নিচ্ছি বলে, আমি অংশ নিচ্ছি এমন ডিডিডি / সিকিউআরএস মেলিং তালিকার একাধিক প্ল্যাটফর্ম সমর্থনকারী পরিষেবাগুলি সম্পর্কে একই ধরণের থ্রো আছে I আমি এখানে আমার কিছু পরামর্শ পুনরায় পুনরুক্তি করতে পারি।

ভিন্ন ভিন্ন পরিবেশে লেনদেনকে সমর্থন করার জন্য একটি বিকল্প হ'ল একটি পরিবহন প্রক্রিয়া ব্যবহার করা যা লেনদেনকে সমর্থন করে এবং সমস্ত প্ল্যাটফর্ম যেখানে এটি ব্যবহার করা হবে সেগুলিতে সমর্থিত। উন্নত বার্তা সারি প্রোটোকল (AMQP) সমর্থন লেনদেন করে এবং সেখানে প্রায় প্রতিটি ভাষা যে আজ সাধারণভাবে ব্যবহৃত জন্য একটি নেটিভ এপিআই হয়। রাবিটএমকিউ একটি সার্ভার যা AMQP প্রয়োগ করে এবং একটি শক্তিশালী সমাধান হিসাবে শিল্পে পরীক্ষা করা হয়েছে।

একটি রেবিট এমকিউ ভিত্তিক সিস্টেমের সুবিধা অর্জনের ফলে আপনাকে এটির মধ্যে বাড়ার দরকার হলে একটি পূর্ণ ইএসবি রাখার পথে নিয়ে যায়। আপনি কোনও চ্যানেলে বার্তা প্রকাশ করেন এবং একটি সারিতে সাবস্ক্রাইব করেন। যেখানে এটি সত্যই শক্তিশালী হয় তা হ'ল চ্যানেল এবং সারির মধ্যে, আপনি অনেক আকর্ষণীয় জিনিস সম্পাদন করতে পারেন। একটি চ্যানেল একাধিক কাতাকে (পাব / সাব) ফিড দিতে পারে একটি সারিকে একাধিক চ্যানেল খাওয়াতে পারে, আপনি সামগ্রী ইত্যাদির উপর ভিত্তি করে বিভিন্ন কাতারে বার্তা পাঠাতে পারেন ইত্যাদি ইত্যাদি etc.

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

অবশ্যই খরগোশের ছিদ্র (ক্ষমা ত্যাগ করা) সেখান থেকে আরও গভীর হয়। আপনি অভ্যন্তরীণ এবং বাহ্যিক উভয় ওয়েব পরিষেবাদি দিয়ে জটিল অর্কেস্ট্রেশন করতে খরগোশ ব্যবহার করতে পারেন।

আপনার জনসাধারণের মুখোমুখি ওয়েবসার্চিসমূহের জন্য, এটি মৃত সহজ হয়ে যায়। আপনার পরিষেবা (এটি এসওএপি, রেস্ট, বা জেএসওএন) স্রেফ উপযুক্ত পরিষেবা কাতারে একটি বার্তা প্রকাশ করে এবং আপনার অভ্যন্তরীণ সিস্টেমটিকে সেখান থেকে এটি পরিচালনা করতে দেয়।

আপনি যে তথ্যগুলি দ্রুত ফিরে প্রত্যাশা করেন সেসব পরিস্থিতিতে একটি অনুরোধ / প্রতিক্রিয়া বার্তা তৈরির জন্য কার্যকারিতাও রয়েছে।


2

আপনি যে কীওয়ার্ডগুলি সন্ধান করছেন তা হ'ল 'ওয়েব সার্ভিস কোরিওগ্রাফি'।

পরীক্ষা করে দেখুন উইকিপিডিয়া এর এটা সম্পর্কে নিবন্ধ।


কখনও কখনও "অর্কেস্টেশন" নামেও পরিচিত।
এস .লট

1

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

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


1

আমি কেবল দেখতে পাচ্ছি না আপনি কীভাবে কোনও গুরুতর কাজের জন্য ওয়েব পরিষেবা কার্যকরভাবে ব্যবহার করতে পারেন। আমি যদি কোনও লেনদেন ব্যবহার না করতে পারি তবে কীভাবে আমি একাধিক পরিষেবা কল নিরাপদে সম্পাদন করতে পারি?

আপনি পারবেন না।

আপনার যে প্রশ্নটি জিজ্ঞাসা করা উচিত তা হ'ল: আমি কীভাবে ওয়েব সার্ভিস ফ্রেম এক্স এর সাথে লেনদেন বাস্তবায়ন করব? এখনই, আপনি কেবল ধরে নিচ্ছেন যে এটি অসম্ভব।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.