Functional software architecture
فنکشنل سافٹ ویئر آرکیٹیکچر (ایف ایس اے) ایک آرکیٹیکچرل ماڈل ہے جو انٹرپرائز افعال، تعاملات اور متعلقہ آئی ٹی ضروریات کی نشاندہی کرتا ہے۔ ان افعال کو مختلف ڈومین ماہرین کے ذریعے کوآپریٹو انفارمیشن پر مبنی انٹرپرائز کے حصے کے طور پر آئی ٹی سسٹم تیار کرنے کے لیے حوالہ کے طور پر استعمال کیا جا سکتا ہے۔ اس طرح، سافٹ ویئر انجینئرز اور انٹرپرائز آرکیٹیکٹس دونوں معلومات پر مبنی، مربوط تنظیمی ماحول تشکیل دے سکتے ہیں۔ جائزہ جب ایک مربوط سافٹ ویئر سسٹم کو تیار کرنے اور اس پر عمل درآمد کرنے کی ضرورت ہو تو کئی کاموں اور متعلقہ ذمہ داریوں کو عام طور پر تقسیم کیا جا سکتا ہے: اسٹریٹجک مینجمنٹ اور بزنس کنسلٹنٹس زیادہ موثر/موثر کاروباری عمل کے سلسلے میں مقاصد طے کرتے ہیں۔ انٹرپرائز انجینئرز ایک زیادہ موثر کاروباری عمل کا ڈیزائن اور انٹرپرائز آرکیٹیکچر کی شکل میں ایک مخصوص انفارمیشن سسٹم کی درخواست کے ساتھ آتے ہیں۔ سافٹ ویئر انجینئر اس انفارمیشن سسٹم کا ڈیزائن تیار کرتے ہیں، جو ایک مخصوص فن تعمیر کی تفصیل کی زبان (اے ڈی ایل) کے استعمال سے سسٹم کے اجزاء اور ساختی خصوصیات کو بیان کرتا ہے۔ کمپیوٹر پروگرامر مختلف ماڈیولز کو کوڈ کرتے ہیں اور دراصل نظام کو نافذ کرتے ہیں۔ بیان کردہ ورک ڈویژن حقیقت میں بہت زیادہ پیچیدہ ہے اور اس میں مزید اداکار بھی شامل ہیں لیکن یہ ایک ایسا سافٹ ویئر سسٹم بنانے میں مختلف پس منظر کے لوگوں کی شمولیت کا خاکہ پیش کرتا ہے جو تنظیم کو کاروباری مقاصد تک پہنچنے کے قابل بناتا ہے۔ اس نظام کی ترقی کے عمل کے اندر مختلف اداکاروں کے ذریعہ تیار کردہ مواد کی وسیع اقسام کو متعدد اداکاروں کے درمیان تبادلہ کرنے اور سمجھنے کی ضرورت ہے۔ خاص طور پر سافٹ ویئر انجینئرنگ کے میدان میں بہت سے ٹولز (اے 4 ٹول، کیم، اے آر آئی ایس)، زبانیں (اے سی ایم ای، ریپائڈ، یو ایم ایل) اور طریقے (ڈی ایس ڈی ایم، آر یو پی، آئی ایس پی ایل) تیار کیے جاتے ہیں اور بڑے پیمانے پر استعمال کیے جاتے ہیں۔ نیز، سافٹ ویئر انجینئرز (مرحلہ 3) اور کمپیوٹر پروگرامرز (مرحلہ 4) کے درمیان منتقلی کو پہلے ہی، مثال کے طور پر، آبجیکٹ پر مبنی ترقی کے ذریعے انتہائی باقاعدہ بنایا گیا ہے۔ اسٹریٹجک مقاصد کا تعین (مرحلہ 1) اور کاروباری مواقع اور کمزوریوں کی متعلقہ تلاش ایک ایسا موضوع ہے جس پر سو سال سے زیادہ عرصے سے وسیع پیمانے پر تبادلہ خیال اور تفتیش کی جاتی رہی ہے۔ کاروباری عمل کی دوبارہ انجینئرنگ، پروڈکٹ سافٹ ویئر مارکیٹ تجزیہ، اور ضروریات کا تجزیہ جیسے تصورات عام طور پر اس تناظر میں جانے جاتے ہیں اور بڑے پیمانے پر استعمال ہوتے ہیں۔ ان اسٹریٹجک ان پٹ کو ایک اچھے انٹرپرائز ڈیزائن (مرحلہ 2) کی ترقی کے لیے استعمال کیا جانا چاہیے، جسے پھر بالترتیب سافٹ ویئر ڈیزائن اور عمل درآمد کے لیے استعمال کیا جا سکتا ہے۔ حالیہ مطالعات سے پتہ چلتا ہے کہ ان انٹرپرائز آرکیٹیکچرز کو کئی مختلف طریقوں اور تکنیکوں سے تیار کیا جا سکتا ہے۔ ان طریقوں اور تکنیکوں پر تفصیل سے بحث کرنے سے پہلے انٹرپرائز فن تعمیر کی ایک تعریف دی گئی ہے: ایک انٹرپرائز فن تعمیر ایک اسٹریٹجک انفارمیشن اثاثہ بنیاد ہے، جو مشن کی وضاحت کرتا ہے، مشن کو انجام دینے کے لیے ضروری معلومات اور مشن کو انجام دینے کے لیے ضروری ٹیکنالوجیز، اور مشن کی بدلتی ہوئی ضروریات کے جواب میں نئی ٹیکنالوجیز کو نافذ کرنے کے لیے عبوری عمل۔ یہ تعریف کاروباری عمل کی بہتری اور مطلوبہ انفارمیشن سسٹم کی ترقی کے لیے ایک بھرپور اسٹریٹجک معلومات کے ذریعہ کے طور پر فن تعمیر کے استعمال پر زور دیتی ہے۔ اگر اس کی وضاحت کی جائے، اسے برقرار رکھا جائے اور اسے مؤثر طریقے سے نافذ کیا جائے تو یہ ادارہ جاتی خاکے تنظیم کے کاروباری کاموں اور بنیادی آئی ٹی کے درمیان باہمی انحصار اور باہمی تعلقات کو بہتر بنانے میں مدد کرتے ہیں جو کارروائیوں کی حمایت کرتے ہیں۔ اس اندراج کے آغاز میں فنکشنل سافٹ ویئر فن تعمیر کی تعریف کو پڑھنے کے بعد ہم ایک فنکشنل سافٹ ویئر فن تعمیر کو انٹرپرائز فن تعمیر کی ایک قسم کے طور پر دیکھ سکتے ہیں جسے مربوط انفارمیشن سسٹم کی ترقی کے لیے ایک بھرپور حوالہ کے طور پر استعمال کیا جا سکتا ہے۔ اسے فنکشنل سافٹ ویئر فن تعمیر کا نام دینا پریکٹیشنرز کو تکنیکی فن تعمیر کے لیے اسٹریٹجک ان پٹ کے طور پر استعمال کرنے کی ترغیب دیتا ہے۔ اس لیے فنکشنل سافٹ ویئر فن تعمیر اور ایک قسم کے اے ڈی ایل کے درمیان ایک رسمی نقشہ سازی کی ضرورت ہے۔ اس طرح، سافٹ ویئر آرکیٹیکچرز کے لیے اسٹریٹجک ان پٹ کے طور پر انٹرپرائز آرکیٹیکچرز کے باضابطہ استعمال اور دوبارہ استعمال کا احساس کیا جا سکتا ہے۔ ترقی جیسے جیسے کسی انٹرپرائز کی حد بڑھتی جاتی ہے، یہ تیزی سے اہم ہوتا جاتا ہے کہ ضروری کاروبار، لوگوں اور آئی ٹی سسٹم کی سرگرمیوں کی ایک مشترکہ "بڑی تصویر" تیار کی جائے اور اس میں شامل تمام فریقوں کے ذریعے اس کا اشتراک کیا جائے۔ فنکشنل سافٹ ویئر آرکیٹیکچر کاروباری افعال اور متعلقہ آئی ٹی ضروریات میں تنظیم کو توڑ کر ایسا کرتا ہے۔ اس طرح، انٹرپرائز انجینئر ایک بھرپور منصوبہ بند حوالہ فراہم کرتا ہے جسے سافٹ ویئر انجینئر ان آئی ٹی سسٹمز کی ترقی میں استعمال کر سکتا ہے۔ فنکشنل سافٹ ویئر فن تعمیر کی ترقی کئی (مشترکہ) طریقوں اور تکنیکوں کے ذریعے کی جا سکتی ہے۔ مختلف طریقوں اور تکنیکوں کے امتزاج کے استعمال کے ذریعے انٹرپرائز انجینئرز اور سافٹ ویئر انجینئرز کے درمیان "خلا" کو پر کرنا بنیادی مقصد ہوگا۔ تاہم، اس مقصد تک تب ہی پہنچا جا سکتا ہے جب مشترکہ طریقوں کے نتیجے میں واضح اور بھرپور فنکشنل سافٹ ویئر آرکیٹیکچرز ہوں جو دونوں فریقوں کے ذریعہ تیار اور استعمال کیے جاتے ہیں۔ پروسیس ری انجینئرنگ کے ذریعے اندرونی اور بیرونی کاروباری عمل کو بہتر بنانا ان اہم مقاصد میں سے ایک ہے جو ایک انٹرپرائز اعلی بیرونی دباؤ کے وقت حاصل کر سکتا ہے۔ کاروباری عمل میں کچھ ان پٹ اور آؤٹ پٹ کے ساتھ قدر پیدا کرنے کی سرگرمیاں شامل ہوتی ہیں، جو ایک دوسرے سے جڑی ہوتی ہیں اور اس طرح مشترکہ طور پر عمل کے نتائج (پروڈکٹ یا سروس) میں حصہ ڈالتی ہیں۔ پروسیس ری انجینئرنگ تنظیم کو تبدیل کرنے کے طریقے کے بارے میں مختلف نقطہ نظر کا احاطہ کرتی ہے۔ اس کا تعلق کسی تنظیم کے عمل کو بہتر بنانے کے لیے اسٹریٹجک، قدر بڑھانے والے عمل، نظام، پالیسیوں اور تنظیمی ڈھانچے کے نئے ڈیزائن سے ہے۔ کاروبار کی ماڈلنگ انٹرپرائز انجینئرنگ کے شعبے میں رسمی طریقوں، طریقوں اور تکنیکوں کو ڈیزائن، جانچ اور بڑے پیمانے پر استعمال کیا جاتا ہے تاکہ تنظیموں کو دوبارہ قابل استعمال کاروباری عمل کے حل پیش کیے جا سکیں: کمپیوٹر انٹیگریٹڈ مینوفیکچرنگ اوپن سسٹمز آرکیٹیکچر (سی آئی ایم او ایس اے) طریقہ کار انٹیگریٹڈ ڈیفینیشن (آئی ڈی ای ایف) طریقہ کار پیٹری نیٹ یونیفائیڈ ماڈلنگ لینگویج (یو ایم ایل) یا یونیفائیڈ انٹرپرائز ماڈلنگ لینگویج (یو ای ایم ایل) انٹرپرائز فنکشن ڈائیگرام (ای ایف ڈی) یہ طریقے/تکنیک اور طریقے انٹرپرائز اور اس کے بنیادی عمل کی ماڈلنگ میں کم و بیش موزوں ہیں۔ تو، ان میں سے کون سا انفارمیشن ٹیکنالوجی کے نظام کی مزید ترقی کے لیے موزوں ہے جو موثر اور موثر (دوبارہ) ڈیزائن کردہ عمل کے لیے ضروری ہیں؟ اس سے بھی اہم بات یہ ہے کہ وقت طلب انٹرپرائز طریقہ کار کا استعمال کیوں کیا جائے جب کہ انفارمیشن اور سافٹ ویئر انجینئرز آئی ٹی سسٹمز کو فعال کرنے والی کارکردگی کی ترقی میں غیر واضح نتائج کا استعمال نہیں کر سکتے یا نہیں کریں گے؟ ان سوالات کے جوابات دینے سے پہلے اوپر درج کردہ طریقوں کی کچھ مختصر وضاحت دی گئی ہے۔ کمپیوٹر انٹیگریٹڈ مینوفیکچرنگ اوپن سسٹمز آرکیٹیکچر سی آئی ایم او ایس اے کاروبار، لوگوں اور انٹرپرائز کی ضروریات کے آئی ٹی پہلوؤں کو انکوڈ کرنے کے لیے ٹیمپلیٹس اور باہم مربوط ماڈلنگ تعمیرات فراہم کرتا ہے۔ یہ متعدد نقطہ نظر سے کیا جاتا ہے: انفارمیشن ویو، فنکشن ویو، ریسورس ویو، اور تنظیمی ویو۔ ان تعمیرات کو مزید تفصیلی آئی ٹی سسٹمز کے ڈیزائن اور نفاذ کی تشکیل اور سہولت کے لیے استعمال کیا جا سکتا ہے۔ مختلف نظریات میں تقسیم اسے انٹرپرائز اور سافٹ ویئر انجینئروں کے لیے ایک واضح حوالہ بناتی ہے۔ یہ مختلف کاروباری فعالیتوں (سرگرمیوں، عمل، کارروائیوں) اور متعلقہ وسائل کے لیے معلومات کی ضروریات کو ظاہر کرتا ہے۔ اس طرح، یہ آسانی سے طے کیا جا سکتا ہے کہ کون سا آئی ٹی سسٹم کسی خاص سرگرمی اور عمل میں معلومات کی ضروریات کو پورا کرے گا۔ انٹیگریٹڈ ڈیفینیشن (آئی ڈی ای ایف) آئی ڈی ای ایف ایک اسٹرکچرڈ ماڈلنگ تکنیک ہے، جسے سب سے پہلے مینوفیکچرنگ سسٹم کے ماڈلنگ کے لیے تیار کیا گیا تھا۔ یہ پہلے ہی 1981 میں امریکی فضائیہ کے ذریعے استعمال کیا جا رہا تھا۔ ابتدائی طور پر، اس میں ایک مخصوص نقطہ نظر سے کسی انٹرپرائز کو ماڈل بنانے کے لیے 4 مختلف اشارے تھے۔ یہ بالترتیب فنکشنل، ڈیٹا، ڈائنامک اور پروسیس تجزیہ کے لیے آئی ڈی ای ایف 0، آئی ڈی ای ایف 1، آئی ڈی ای ایف 2 اور آئی ڈی ای ایف 3 تھے۔ پچھلی دہائیوں میں، اشاروں کے انضمام کے لیے کئی اوزار اور تکنیکیں اضافی طور پر تیار کی گئی ہیں۔ آئی ڈی ای ایف واضح طور پر ظاہر کرتا ہے کہ کس طرح ایک کاروباری عمل متعلقہ معلومات کے ان پٹ، آؤٹ پٹ اور اداکاروں کے ساتھ مختلف قسم کے سڑے ہوئے کاروباری افعال سے گزرتا ہے۔ سی آئی ایم او ایس اے کی طرح یہ بھی مختلف انٹرپرائز ویوز کا استعمال کرتا ہے۔ مزید برآں، آئی ڈی ای ایف کو اس کے نظام کی مزید ترقی کے لیے آسانی سے یو ایم ایل-خاکے میں تبدیل کیا جا سکتا ہے۔ یہ مثبت خصوصیات اسے فنکشنل سافٹ ویئر آرکیٹیکچرز کی ترقی کے لیے ایک طاقتور طریقہ بناتی ہیں۔ پیٹری نیٹ پیٹری نیٹ مینوفیکچرنگ سسٹم کے ماڈل بنانے کے لیے معروف اوزار ہیں۔ وہ انتہائی اظہار خیال کرتے ہیں اور ہم آہنگی والے نظاموں کے ماڈلنگ کے لیے اچھی رسمی کارروائیاں فراہم کرتے ہیں۔ سب سے زیادہ فائدہ مند خصوصیات ریاستوں کی سادہ نمائندگی، ہم آہنگی نظام کی منتقلی، اور منتقلی کی مدت کو ماڈل کرنے کی صلاحیتیں ہیں۔ لہذا، پیٹری نیٹ کا استعمال کچھ کاروباری عمل کو متعلقہ حالت اور منتقلی یا سرگرمیوں کے اندر اور آؤٹ پٹ کے ساتھ ماڈل بنانے کے لیے کیا جا سکتا ہے۔ مزید برآں، پیٹری نیٹ کو مختلف سافٹ ویئر سسٹمز اور ان سسٹمز کے درمیان ٹرانزیشن کے ماڈل بنانے کے لیے استعمال کیا جا سکتا ہے۔ اس طرح، پروگرامر اسے اسکیمیٹک کوڈنگ حوالہ کے طور پر استعمال کرتے ہیں۔ حالیہ برسوں میں کئی کوششوں سے پتہ چلا ہے کہ پیٹری نیٹ کاروباری عمل کے انضمام کی ترقی میں معاون ثابت ہو سکتے ہیں۔ ان میں سے ایک ماڈل بلیو طریقہ کار ہے، جسے آئی بی ایم چینی تحقیقی لیبارٹری نے تیار کیا ہے اور مربوط پلیٹ فارم کی تعمیر کے لیے ابھرتے ہوئے نقطہ نظر کے طور پر ماڈل پر مبنی کاروباری انضمام کی اہمیت کا خاکہ پیش کرتا ہے۔ ان کے ماڈل بلیو بزنس ویو اور مساوی پیٹری نیٹ کے درمیان ایک نقشہ سازی بھی دکھائی گئی ہے، جو اس بات کی نشاندہی کرتی ہے کہ ان کی تحقیق کاروبار اور آئی ٹی کے درمیان فرق کو ختم کرتی ہے۔ تاہم، پیٹری نیٹ کے بجائے وہ اپنا ماڈل بلیو آئی ٹی ویو استعمال کرتے ہیں، جسے ان کے کاروباری نقطہ نظر سے ٹرانسفارمیشن انجن کے ذریعے حاصل کیا جا سکتا ہے۔ یونیفائیڈ ماڈلنگ لینگویج یو ایم ایل سافٹ ویئر سسٹمز اور ایپلی کیشنز کی ترقی کے لیے وسیع پیمانے پر قبول شدہ ماڈلنگ زبان ہے۔ آبجیکٹ پر مبنی کمیونٹی بھی انٹرپرائز ماڈلنگ کے مقاصد کے لیے یو ایم ایل کو استعمال کرنے کی کوشش کرتی ہے۔ وہ کاروباری اشیاء یا کاروباری اشیاء کے استعمال پر زور دیتے ہیں جن سے پیچیدہ کاروباری نظام بنائے جاتے ہیں۔ ان اشیاء کا مجموعہ اور ان کے درمیان متعلقہ تعاملات ایک پیچیدہ کاروباری نظام یا عمل کی نمائندگی کر سکتے ہیں۔ جہاں پیٹری نیٹ اشیاء کے تعامل اور حالتوں پر توجہ مرکوز کرتا ہے، یو ایم ایل خود کاروباری اشیاء پر زیادہ توجہ مرکوز کرتا ہے۔ بعض اوقات ان کو "انٹرپرائز بلڈنگ بلاکس" کہا جاتا ہے، جس میں وسائل، عمل، اہداف، قواعد اور میٹا ماڈل شامل ہوتے ہیں۔ اگرچہ اس طرح سے یو ایم ایل کو ایک مربوط سافٹ ویئر سسٹم کے ماڈل کے لیے استعمال کیا جا سکتا ہے لیکن یہ دلیل دی گئی ہے کہ کاروبار کی حقیقت کو سافٹ ویئر ماڈلنگ زبان کے ساتھ ماڈل کیا جا سکتا ہے۔ ردعمل میں، آبجیکٹ پر مبنی کمیونٹی یو ایم ایل کے لیے کاروباری توسیع کرتی ہے اور زبان کو اپناتی ہے۔ یو ای ایم ایل یو ایم ایل سے ماخوذ ہے اور اسے بزنس ماڈلنگ زبان کے طور پر تجویز کیا گیا ہے۔ سوال یہ رہتا ہے کہ کیا یہ کاروباری تبدیلی کرنا صحیح ہے۔ پہلے یہ کہا گیا تھا کہ یو ایم ایل دوسرے "خالص" کاروباری طریقوں کے ساتھ مل کر ایک بہتر متبادل ہو سکتا ہے۔ انٹرپرائز فنکشن ڈائیگرام ای ایف ڈی انٹرپرائز فنکشنز اور متعلقہ تعاملات کی نمائندگی کے لیے استعمال ہونے والی ماڈلنگ تکنیک ہے۔ ان نمائندوں میں "فنکشن ماڈیولز" اور ٹرگرز کے استعمال کے ذریعے مختلف کاروباری عمل کو ماڈل کیا جا سکتا ہے۔ ایک ابتدائی کاروباری عمل مختلف افعال کے لیے مختلف ان پٹ فراہم کرتا ہے۔ تمام افعال اور ذیلی افعال سے گزرنے والا عمل متعدد نتائج پیدا کرتا ہے۔ انٹرپرائز فنکشن کے خاکے اس طرح استعمال میں بہت آسان اور کاروباری عمل اور متعلقہ افعال، ان پٹ، آؤٹ پٹ اور محرکات کی تفصیلی نمائندگی فراہم کرتے ہیں۔ اس طرح، ای ایف ڈی میں آئی ڈی ای ایف 0 خاکے کے ساتھ بہت سی مماثلت ہے، جو افعال اور محرکات کے امتزاج کے طور پر درجہ بندی کے انداز میں کاروباری عمل کی بھی نمائندگی کرتے ہیں۔ فرق یہ ہے کہ ای ایف ڈی کاروباری افعال کو تنظیم کے درجہ بندی کے تناظر میں رکھتا ہے، جو تنظیم میں بعض عمل کے نیچے کی طرف کا خاکہ پیش کرتا ہے۔ اس کے برعکس، آئی ڈی ای ایف 0 خاکے تیروں کے استعمال کے ذریعے بعض کاروباری افعال کی ذمہ داریوں کو ظاہر کرتے ہیں۔ نیز، آئی ڈی ای ایف 0 میں ہر (ذیلی) فنکشن کے ان پٹ اور آؤٹ پٹ کی واضح نمائندگی ہوتی ہے۔ ای ایف ڈی کو ممکنہ طور پر یو ایم ایل جیسی سافٹ ویئر ماڈلنگ زبان کے کاروباری محاذ کے طور پر استعمال کیا جا سکتا ہے۔ ماڈلنگ ٹول کے طور پر آئی ڈی ای ایف کے ساتھ بڑی مماثلت اس بات کی نشاندہی کرتی ہے کہ یہ کیا جا سکتا ہے۔ تاہم، ای ایف ڈی تکنیک کو اس طرح بہتر بنانے کے لیے مزید تحقیق کی ضرورت ہے کہ یو ایم ایل کی باضابطہ نقشہ سازی کی جا سکے۔ آئی ڈی ای ایف اور یو ایم ایل کے تکمیلی استعمال نے آئی ڈی ای ایف کو کاروباری محاذ کے طور پر قبول کرنے میں اہم کردار ادا کیا ہے۔ ای ایف ڈی اور یو ایم ایل کے ساتھ بھی ایسا ہی مطالعہ کیا جانا چاہیے۔ حوالہ جات سافٹ ویئر فن تعمیر انٹرپرائز فن تعمیر