ওয়ার্কফ্লো ইঞ্জিনগুলি কখন ব্যবহার করবেন?


41

আমি প্রোগ্রামার হিসাবে ওয়ার্কফ্লো ইঞ্জিনগুলির কয়েকটিতে অতীতে কাজ করেছি কিন্তু আমরা কেন কাজ-প্রবাহ ইঞ্জিনকে প্রথম স্থানে বেছে নিয়েছি তা সম্পর্কে কখনই কোনও স্পষ্টতা ছিল না। এবং প্রোগ্রামার হিসাবে আমি জানি যে আপনি কোড লেখার সময় কমপক্ষে 100 টি উপায় আছে তবে কয়েকটি উপায় সবচেয়ে ভাল!

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

সুতরাং আমার প্রশ্ন হ'ল: প্রয়োজনীয় কাজের সাধারণ বৈশিষ্ট্যগুলি কী কী যা একটি ভাল ওয়ার্কফ্লো ইঞ্জিন বেছে নেওয়ার এবং তার চারপাশে কোডিংয়ের সংকেত হিসাবে নেওয়া যেতে পারে?


1
একটি "ডিআই সক্ষম অ্যাপ্লিকেশন" কি?
জেনেউম্যান

আমি নির্ভরতা ইনজেকশনে স্থির হয়েছি, তবে এটি কিছু ভারী চিন্তাভাবনা নিয়েছিল ...
জেনেউম্যান

1
@ জেসনট্রু ওহ তাই আপনিও উইন্ডোজ ওয়ার্কফ্লো ফাউন্ডেশন ব্যবহার করেছেন!
গিলস

@ গিলস আপনি কিভাবে বলতে পারেন? : পি
জেসনট্রু

উত্তর:


22

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

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

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

সুতরাং, আপনার যদি প্রসেস থাকে যা শুরু থেকে শেষ পর্যন্ত পরিবর্তনশীল হয় তবে একটি ওয়ার্কফ্লো ব্যবহার করুন। যদি একই প্রক্রিয়াটি সবাই ব্যবহার করতে পারে তবে আপনার কোনও কার্যপ্রবাহের প্রয়োজন হবে না।


কিন্তু কীভাবে এটি বাস্তব বিশ্বের সাথে সংযুক্ত হয়? উদাহরণস্বরূপ স্টেটচার্ট অনুসারে আপনার কাছে "প্রক্রিয়া রেকর্ডস" ট্র্যাকিং স্টেটের সাথে একটি ডাটাবেস থাকবে , তবে তারপরে আপনাকে এখনও ইউজার ইন্টারফেস এবং সতর্কতা, মেসেজিং সিস্টেমের উপর I / O বার্তা, ETL কাজ ইত্যাদি প্রয়োজন এবং তারপরে এই সমস্তগুলি রাখুন একটি যোগাযোগের কেন্দ্রের মাঝখানে এবং এটি চালান। "ওয়ার্কফ্লো ইঞ্জিন" কি স্টেটচার্ট স্থাপন এবং "এটি চালানোর" অভিনব উপায়?
ডেভিড টোনহোফার

@ ডেভিড - একটি পরিমাণে হ্যাঁ।
জন রেয়নর

19

আমি জানি আপনি ব্যবহারের ক্ষেত্রে জিজ্ঞাসা করেছেন, তবে সম্ভাব্য সমস্ত ব্যবহারের ক্ষেত্রে কল্পনা করার চেয়ে সুবিধাগুলি তালিকাবদ্ধ করা সহজ। অবশ্যই সুবিধাগুলি আপনি যে ইঞ্জিন এবং ভাষার সাথে তুলনা করছেন তার উপর নির্ভর করে তবে সাধারণভাবে:

  1. কোডের পরিবর্তে ডেটা হিসাবে নিয়ম রক্ষা করার অর্থ আপনাকে পুনরায় সংকলন করতে হবে না, তাই আপনি দ্রুত পরিবর্তনগুলি পরীক্ষা করতে পারবেন, রান সময়ে পরিবর্তন করতে পারেন ইত্যাদি you প্রথমদিকে পুনরায় সংকলন করতে না পারলে খুব বেশি সুবিধা হবে না।

  2. ব্যবহারকারীদের নিয়মগুলি সম্পাদন করার জন্য আরও যুক্তিসঙ্গতভাবে আশা করা যেতে পারে। তারা কোনও প্রোগ্রামার রাইটিং কোড রাখার সময় তাদের সাথে ইন্টারেক্টিভভাবে সম্ভাব্যভাবে টিঙ্কার করতে পারে।

  3. ডেটা হিসাবে নিয়ম রাখার মাধ্যমে সরঞ্জামগুলিকে ভিজ্যুয়ালাইজ করতে এবং ডেটা পরিবর্তনের জন্য সরঞ্জামগুলি লেখার অনুমতি দেয়।

  4. ডেটা হিসাবে নিয়মগুলি রক্ষা করা মেটা-প্রোগ্রামিংকে আরও সহজে অনুমতি দেয় - আপনি ডেটা বিশ্লেষণের জন্য কোড লিখতে পারেন এবং কিছু জটিল উপায়ে আরও সন্নিবেশ করতে পারেন যা কোডের পক্ষে খুব কঠিন।

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


5
এগুলির কিছুই আসলে কোনও আকারের যুক্তিসঙ্গত জটিল প্রকল্পে সুবিধা নয়। পর্যাপ্ত পরীক্ষার বা ডকুমেন্টেশন ছাড়াই আপনি নিজেকে অন্য কারও বিধি বিধিবিহীনভাবে "ডিবাগিং" দেখতে পাবেন যা উত্পাদনশীল পরিবেশে ফেলে দেওয়া হয়েছিল।
জেমস অ্যান্ডারসন

লিস্প রেফারেন্সের জন্য +1 - কোডটি ডেটা এবং বিপরীত।
মাইকেল এইচ।

2
@ জেমস অ্যান্ডারসন: গ্রাহক ব্যতীত এখন সফ্টওয়্যার বিক্রেতার কাছে কোনও সমর্থন মামলা না করেই তাদের নিজস্ব নিয়মাবলী সমস্যা সমাধানের জন্য নিজস্ব নন-প্রোগ্রামার (ওয়ার্কফ্লো পরামর্শদাতাদের) দিতে পারবেন।
রোবং

3

কেবলমাত্র যখন এই ধরণের জিনিসটি ব্যবহার করা উচিত তখনই কেবলমাত্র তাকেই কম পরিমাণে মূল্যবান ব্যবহারকারীরা কনফিগার করতে পারেন IM আপনি যদি কোনও সমস্যা সমাধানের মাধ্যমে তাদের সমস্যার সমাধান করতে পারেন তবে আরও গুরুত্বপূর্ণ কিছু নিয়ে কাজ করে ফিরে যান তবে একটি ব্যবহার করুন।

যদি আপনি এখনও তাদের জন্য এটি সেট আপ করতে চান তবে আমি কল্পনা করব যে আপনি 10 টি ভিন্ন উপায়ে ভাবতে পারেন এমন একটি সরঞ্জামের সাথে আপনি একই রকম ফল পাবেন যা আপনি পরিচিত এবং এটি সমর্থন এবং কাস্টমাইজ করা অনেক সহজ হবে।


3

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

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

আপনার সমস্যাযুক্ত ডোমেন / প্রয়োজনীয়তার কোনও ব্যবসায়ের প্রক্রিয়া আছে কিনা তা দেখার জন্য খুব সতর্ক ও সমালোচনা করুন, এটিকে একটি কার্যপ্রবাহে "ফিট" করার চেষ্টা করবেন না।


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

1

ওয়ার্ক-ফ্লো ইঞ্জিনগুলির পরামর্শ দেওয়ার জন্য আমার বেশ কয়েকটি নির্দেশিকা রয়েছে।

1) যখন ব্যবসায় বিশ্লেষকদের কোনও কোডিং ব্যাকগ্রাউন্ড না থাকে তবে ডায়াগ্রাম আঁকতে পারে।

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

2) যখন আপনার কাজের অগ্রগতি পর্যবেক্ষণ করতে হবে, এসক্ল্যাশনগুলি সম্পাদন করুন, কম্পিউটার-নিয়ন্ত্রিত প্রক্রিয়া এবং মানব-নিয়ন্ত্রিত প্রক্রিয়াগুলির মধ্যে পিছনে পিছনে ফ্লিপ করুন।

মনিটরিং এবং স্ব-রেফারেন্স হল আধুনিক কাজের প্রবাহ ইঞ্জিনগুলির বৈশিষ্ট্য।


-2

এইচআর ব্যবসায়িক দৃষ্টিকোণ থেকে, কাজের ফ্লো ইঞ্জিনগুলি খুব গুরুত্বপূর্ণ।

  1. প্রতিবার একই রকম হলেও তারা একটি কাঠামোগত প্রক্রিয়া সরবরাহ করে।
  2. তারা স্বচ্ছতা প্রদান

    • কে পরিবর্তনের অনুরোধ করেছে,
    • কখন এটি অনুরোধ করা হয়েছিল,
    • কে অনুমোদন করেছে ইত্যাদি।

    এই স্বচ্ছতা প্রক্রিয়া চালিত করতে সহায়তা করে এবং মালিকানা প্রচার করে।

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

এইচআর এর পক্ষে: দীর্ঘ লাইভ ওয়ার্কফ্লো !!!

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