Component-based Scalable Logical Architecture
CSLA. NET ایک سافٹ ویئر فریم ورک ہے جسے راک فورڈ لوٹکا نے بنایا ہے جو کاروباری اشیاء کا استعمال کرتے ہوئے مضبوط آبجیکٹ پر مبنی پروگرام بنانے کا ایک معیاری طریقہ فراہم کرتا ہے۔ کاروباری اشیاء وہ اشیاء ہیں جو کسی آبجیکٹ پر مبنی پروگرام میں کاروباری اداروں کو خلاصہ کرتی ہیں۔ کاروباری اداروں کی کچھ مثالوں میں سیلز آرڈرز، ملازمین، یا رسیدیں شامل ہیں۔ اگرچہ سی ایس ایل اے خود ڈاؤن لوڈ کرنے کے لیے آزاد ہے، لیکن تخلیق کار صرف اس کی کتابیں اور ویڈیوز فراہم کرتا ہے، جو مفت نہیں ہیں۔ سی ایس ایل اے (اجزاء پر مبنی اسکیل ایبل لاجیکل آرکیٹیکچر) کو اصل میں لوٹکا کی کتاب ویژول بیسک 6 بزنس آبجیکٹس میں ویژول بیسک 6 کی طرف نشانہ بنایا گیا تھا۔ مائیکروسافٹ. نیٹ کی آمد کے ساتھ، سی ایس ایل اے کو مکمل طور پر زمین سے دوبارہ لکھا گیا، بغیر کسی کوڈ کے آگے بڑھایا گیا، اور اسے سی ایس ایل اے. نیٹ کہا گیا۔ اس ترمیم نے ویب سروسز اور مائیکروسافٹ. نیٹ کے ساتھ آنے والی آبجیکٹ پر مبنی زبانوں (خاص طور پر، بصری Basic.NET اور C #) کا فائدہ اٹھایا۔ سی ایس ایل اے. نیٹ کو ایکسپرٹ سی #بزنس آبجیکٹس اور ایکسپرٹ ون آن ون ویژول بیسک. نیٹ بزنس آبجیکٹس میں بیان کیا گیا تھا، دونوں کو لوٹکا نے لکھا تھا۔ اگرچہ سی ایس ایل اے اور سی ایس ایل اے ڈاٹ نیٹ کو اصل میں مائیکروسافٹ پروگرامنگ زبانوں کی طرف نشانہ بنایا گیا تھا، لیکن زیادہ تر فریم ورک کا اطلاق زیادہ تر آبجیکٹ پر مبنی زبانوں پر کیا جا سکتا ہے۔ سی ایس ایل اے. نیٹ کے بارے میں موجودہ معلومات لوٹکا کی خود شائع کردہ یوزنگ سی ایس ایل اے 4 ای بک سیریز کے ذریعے دستیاب ہے۔ سی ایس ایل اے اسمارٹ ڈیٹا کی خصوصیات ایک کاروباری آبجیکٹ اس آبجیکٹ سے وابستہ تمام ڈیٹا اور رویے (کاروباری منطق اور قواعد) کو سمیٹتا ہے جس کی وہ نمائندگی کرتا ہے۔ مثال کے طور پر، آرڈر ایڈیٹ آبجیکٹ میں ڈیٹا اور کاروباری اصولوں کے نفاذ شامل ہوں گے جو ایپلی کیشن کے لیے ضروری ہیں تاکہ صارف کو آرڈر کی معلومات میں ترمیم کرنے کی صحیح اجازت دی جا سکے۔ رولز انجن CSLA. NET فریم ورک ایک رولز انجن فراہم کرتا ہے جو توثیق کے قواعد، کاروباری قواعد، اور اجازت کے قواعد کی حمایت کرتا ہے۔ یہ قواعد آبجیکٹ مثالوں یا خصوصیات سے منسلک ہوتے ہیں، اور ضرورت پڑنے پر خود بخود CSLA. NET کے ذریعے استعمال کیے جاتے ہیں۔ توثیق کے قوانین کو سی ایس ایل اے. نیٹ رول انجن کا استعمال کرتے ہوئے، یا مائیکروسافٹ. نیٹ کے ڈیٹا اننوٹیشن فیچر کے استعمال کے ذریعے نافذ کیا جا سکتا ہے۔ آبجیکٹ استقامت ڈیٹا تخلیق، بازیافت، اپ ڈیٹس، اور حذف (سی آر یو ڈی) ڈیٹا ٹیسٹنگ سے وابستہ کاروباری آبجیکٹ کے واضح طور پر بیان کردہ طریقوں کے ذریعے انجام دیا جاتا ہے۔ ڈیٹا تک رسائی کی منطق کو واضح طور پر کاروباری منطق سے الگ کیا جاتا ہے، عام طور پر ریپوزیٹری پیٹرن یا دیگر مرکزی دھارے میں شامل آبجیکٹ پر مبنی پروگرامنگ تکنیک کا استعمال کرتے ہوئے۔ میٹاسٹیٹ کی دیکھ بھال CSLA. NET ہر کاروباری شے کے بارے میں میٹاسٹیٹ کا انتظام کرتا ہے۔ مثال کے طور پر، ہر کاروباری آبجیکٹ اس بارے میں معلومات کو ٹریک کرتا ہے کہ وہ کب نیا ہے (یہ اس ڈیٹا کی نمائندگی کرتا ہے جو ابھی تک محفوظ نہیں کیا گیا ہے) اور جب یہ گندا ہے (اسے ڈیٹا بیس میں محفوظ کرنے کی ضرورت ہے یا تو اس وجہ سے کہ یہ نیا ہے یا اس وجہ سے کہ اس کے ممبر کا ڈیٹا آخری بار لوڈ ہونے کے بعد سے تبدیل کیا گیا ہے)۔ کاروباری اشیاء کو حذف کرنے کے لیے بھی نشان زد کیا جا سکتا ہے تاکہ انہیں بعد میں حذف کیا جا سکے (مثال کے طور پر جب کسی صارف نے قطاریں حذف کرنے کے اپنے ارادے کی تصدیق کرنے والا بٹن دبا دیا ہو۔) این-لیول انڈو یہ خصوصیت کسی شے یا اشیاء کے مجموعے کے لیے حالتوں کے مجموعے کو برقرار رکھنا ممکن بناتی ہے۔ یہ شے کو آسانی سے پچھلی حالتوں میں واپس جانے کی اجازت دیتا ہے۔ یہ اس وقت مفید ہو سکتا ہے جب کوئی صارف کسی ایپلی کیشن میں کئی بار پچھلی ترامیم کو کالعدم کرنا چاہتا ہے۔ یہ خصوصیت صارف کو متعدد ترامیم کو دوبارہ کرنے کی بھی اجازت دے سکتی ہے جو پہلے کالعدم کر دی گئی تھیں۔ یہ خصوصیت ڈیسک ٹاپ ایپلی کیشن اور ویب ایپلی کیشنز کے لیے بھرپور فعالیت فراہم کر سکتی ہے۔ احتیاط کا ایک نوٹ یہ ہوگا کہ ہائی ٹرانزیکشن ویب پر مبنی ایپلی کیشنز کے لیے اوور ہیڈ پر غور کیا جائے۔ این-لیول انڈو کی صلاحیت کے لیے کسی ایپلی کیشن کی پچھلی حالت کو محفوظ کرنے کی ضرورت ہوگی جس تک عام طور پر عکاسی کے ذریعے رسائی حاصل ہوتی ہے۔ یہ ڈیسک ٹاپ ایپلی کیشنز میں عام عمل ہے جہاں تبدیلیاں "اپلائیڈ" ہونی چاہئیں۔ ویب پر مبنی ڈیزائنوں میں، اضافی اسٹوریج غیر ضروری اوور ہیڈ کا باعث بن سکتی ہے کیونکہ تبدیلیاں عام طور پر بیچ میں جمع کی جاتی ہیں اور انہیں اسی سطح کی "انڈو" صلاحیت کی ضرورت نہیں ہوتی ہے۔ بزنس رول ٹریکنگ اشیاء کو "ٹوٹے ہوئے اصول" کے مجموعے کو برقرار رکھنے کی اجازت دیتی ہے۔ ٹوٹے ہوئے اصول کسی شے کے لیے اس وقت تک موجود ہوں گے جب تک کہ وہ درست حالت میں نہ ہو، یعنی وہ ڈیٹا بیس پر برقرار رہنے کے لیے تیار ہے۔ بروکن رول آبجیکٹ عام طور پر توثیق کی منطق سے وابستہ ہوتے ہیں جیسے کہ اس بات کو یقینی بنانا کہ فون نمبر کے میدان میں کوئی حروف تہجی درج نہ ہو۔ مثال کے طور پر، اگر کسی اکاؤنٹ آبجیکٹ میں فون نمبر پراپرٹی ہے، اور اس پراپرٹی کو حروف تہجی کے حروف کے ساتھ فون نمبر تفویض کیا گیا ہے، تو اکاؤنٹ آبجیکٹ کی IsValid پراپرٹی غلط ہو جائے گی (جس سے ڈیٹا بیس میں محفوظ کرنا ناممکن ہو جائے گا) اور پھر ایک نیا بروکن رول آبجیکٹ بنایا جائے گا اور اکاؤنٹ کے ٹوٹے ہوئے قواعد کے مجموعے کو تفویض کیا جائے گا۔ جب غلط فون نمبر کو درست کیا جائے گا تو یہ قاعدہ غائب ہو جائے گا جس سے اکاؤنٹ آبجیکٹ خود کو ڈیٹا بیس میں محفوظ کرنے کے قابل ہو جائے گا۔ CSLA سادہ UI تخلیق کی توسیعی خصوصیات CSLA. NET کا استعمال کرتے ہوئے بنائی گئی کاروباری اشیاء تمام مائیکروسافٹ. NET UI ٹیکنالوجیز کے لیے ڈیٹا بائنڈنگ کو مکمل طور پر سپورٹ کرتی ہیں، بشمول ونڈوز رن ٹائم (ون آر ٹی)، ڈبلیو پی ایف، ویب فارمز، ASP.NET ایم وی سی، ونڈوز فون، سلور لائٹ، اور ونڈوز فارمز۔ ڈیٹا گرڈز اور لسٹ باکسز جیسے ڈیٹا باؤنڈ کنٹرولز کو زیادہ عام ڈیٹا بیس آبجیکٹ جیسے ADO.NET ڈیٹا سیٹس اور ڈیٹا ٹیبلز کے بجائے کاروباری آبجیکٹ سے منسلک کیا جا سکتا ہے۔ تقسیم شدہ ڈیٹا تک رسائی CSLA. NET فریم ورک ایک تصور کو نافذ کرتا ہے جسے موبائل آبجیکٹ یا موبائل ایجنٹ کہا جاتا ہے تاکہ اشیاء کو WCF، ویب سروسز، یا دیگر ٹیکنالوجیز کا استعمال کرتے ہوئے نیٹ ورک کی حدود میں منتقل ہونے کی اجازت دی جا سکے۔ نتیجے کے طور پر، ڈیٹا تک رسائی محل وقوع کی شفافیت سے لطف اندوز ہوتی ہے، جس کا مطلب ہے کہ منطق ایپلی کیشن کی ترتیب کے لحاظ سے کلائنٹ ورک سٹیشن یا سرور پر چل سکتی ہے۔ اسے دستی ڈیٹا بیس ٹرانزیکشنز استعمال کرنے یا تقسیم شدہ دو مرحلوں کے ارتکاب ٹرانزیکشنز کے لیے بھی ترتیب دیا جا سکتا ہے۔ ڈیٹا تک رسائی کی منطق کو کاروباری منطق سے صاف طور پر الگ کیا گیا ہے، اور اسے مائیکروسافٹ. نیٹ پلیٹ فارم پر دستیاب کسی بھی ڈیٹا تک رسائی کی ٹیکنالوجی کا استعمال کرتے ہوئے نافذ کیا جا سکتا ہے۔ مثالوں میں ADO.NET اینٹیٹی فریم ورک، خام ADO.NET، nHibernate، وغیرہ شامل ہیں۔ ویب سروسز سپورٹ CSLA. NET فریم ورک کے ساتھ بنائی گئی کاروباری منطق کو دور دراز کے صارفین کے لیے ویب سروس کے طور پر آسانی سے بے نقاب کیا جا سکتا ہے۔ یہ سرور سائیڈ مائیکروسافٹ. نیٹ ٹیکنالوجیز جیسے ویب اے پی آئی، ڈبلیو سی ایف، اور اے ایس ایم ایکس ویب سروسز کا استعمال کرتے ہوئے کیا جا سکتا ہے۔ حوالہ جات کی تربیت CSLA.NET CSLA 4 ای بک سیریز کا استعمال کرتے ہوئے تربیتی کتابیں ماہر C #2008 کاروباری آبجیکٹ ماہر VB 2008 کاروباری آبجیکٹ CSLA کا استعمال کرتے ہوئے. NET 3 CSLA. NET ورژن 2.1 ہینڈ بک ماہر C #2005 کاروباری آبجیکٹ ماہر VB 2005 کاروباری آبجیکٹ ماہر C #کاروباری آبجیکٹ ماہر VB کاروباری آبجیکٹ بصری بنیادی 6 تقسیم شدہ آبجیکٹ بصری بنیادی 6 کاروباری آبجیکٹ بصری بنیادی 5 کاروباری آبجیکٹ ویب سائٹس CSLA. NET ٹریننگ CSLA. NET ہوم پیج CSLA. NET گٹ ہب CSLA. NET کمیونٹی فورم پر بیرونی لنک راک فورڈ لوہٹکا کی ویب سائٹ ایپلی کیشن پروگرامنگ انٹرفیس اجزاء پر مبنی سافٹ ویئر انجینئرنگ C شارپ لائبریریاں