Upload
alice-cortez
View
63
Download
3
Embed Size (px)
DESCRIPTION
فصل 8 – Process and Deployment. به نام خدا. فصل 10 Process and Deployment Design برگرفته از کتاب Large-Scale Software Architecture – Jeff Garland, Richard Anthony اسماعیل رضایی آزمايشگاه سيستم هاي هوشمند بهار 87. آزمايشکاه سيستم هاي هوشمند ( http://ce.aut.ac.ir/islab ) طراحي زيرسيستم ها. - PowerPoint PPT Presentation
Citation preview
1
10فصل Process and Deployment –8فصل
Process and Deployment Design
برگرفته از کتابLarge-Scale Software Architecture – Jeff Garland, Richard Anthony
اسماعیل رضایی آزمايشگاه سيستم هاي هوشمند
87بهار
هاي سيستم آزمايشکاههوشمند
(http://ce.aut.ac.ir/islab)ها زيرسيستم طراحي
به نام خدا
2
در رابطه با طراحی و ساخت سیستم های بزرِگ: توزیع viewpointموضوع کلی :بیان چندشده.
این مطالب بخشی ویژگی های معماری از قبیل
•Reliability •Fault tolerance •Performance
را تحت تاثیر قرار می دهند.
ها در ساخت آنها مد نظر باشد: Viewpointسیستم هایی که نیاز دارند این
•Enterprise systems•Telecommunication systems•Web systems
Process and Deployment Design
3
viewpoint : هایی که در این فصل بحث می شوند
• Physical data•Deployment•Process
.سازندگان نرم افزار ها در طراحی ناگزیر به توجه به سخت افزار سیستم هستند را تحت تاثیر Componentبنابراین توجه به سخت افزار می تواند طراحی و ساختار
قرار دهد.
برای مثال اگر پردازش توزیع شده باشد و یا متمرکز روی یک ماشین باشد، درperformance.بسیار متفاوت خواهد بود
Process and Deployment Design
4
اینViewpoint(ارتباط بین سرورها ،مولفه ها Component.و داده را بیان می کند )
. مدیریت فیزیکی داده ها، تاثیر مستقیم بر طراحی و ساخت نرم افزار دارد
یک نرم افزار بسیار مؤثر باشد.Availability و Performanceمی تواند در تعیین •
باشد، منطق برنامه برای Data objectبسته به اینکه محل ذخیره داده ها در فایل یا •مدیریت مکان های فیزیکی ذخیره داده ها متفاوت خواهد بود .
اینکه داده ها چگونه ذخیره شده و چگونه مدیریت می شوند، در منطق نرم افزا سیستم در دسترسی Performanceبرای بهینه کردن فضای ذخیره سازی و باال بردن
به داده ها تعیین کننده است.
Physical data viewpoint
5
مدیریت می شوند.database server که توسط یک data storageتعدادی از • مشخص شده stereotype ، مکانیزم ذخیره سازی با یک data storageدر هر •
است.
Figure 10-1: Physical Data View
Physical data viewمثالی از
6
مدل کردن ویژگی های دیگر ذخیره سازی
در این مدل عالوه براینکه نیاز داریم بدانیم چهdatabase هایی توسط یک سرور سرور تاثیر Performanceکنترل می شوند، نیازداریم که پارامترهای اصلی ای که بر
دارند، بدانیم.
پارامترها :•Transaction rate •Growth rate•Archive policy
روش های نمایش پارامتر ها :بیان مستقیم روی مدل •استفاده از یک جدول جانبی•
7
مدل کردن ویژگی های دیگر ذخیره سازی
بیان مستقیم ویژگی ها روی مدل
8
مدل کردن ویژگی های دیگر ذخیره سازی
استفاده از یک جدول کمکی
Table 10.2 Physical data storage attributes
Database Name
Type Description Backup TransRate
Growth Rate
Archive
Customer Information
RDB Provides Basic Customer data records
Replication Server
200/sec 2K/dayDaily
SavingsTransactions
RDB Provides information aboutsaving accountTransaction
Journaling Logfile andPeriodicbackup script
5/sec 50K/day Hourly
Application Config
File Provides application configurationInformation
File systembackup
N/A 0 Daily
9
مدل کردن ویژگی های دیگر ذخیره سازی
Transaction rate و growth rate مهمترین تعیین کننده های performance.یک سرور هستند
ویژگی هایGrowth rate و Archive policy نیاز سیستم برای منابع ذخیره سازی را تعیین می کنند.
سیستم های با نرخ باال،برای داشتن کارایی مناسب نیازمند دقت زیاد در طراحیهستند.در مواردی ممکن است نیاز به توزیع کردن باشد، که چگونه توزیع کردن
طراحی را تحت تاثیر قرار می دهد.
Transaction rate.تعیین کننده اندازه سرور خواهد بود
پایگاه داده های با نرخ باالیtransaction ممکن است، نیازمند سخت افزار ویژه بوده و یا نیاز به توزیع شدن روی چند سرور داشته باشند.
در مواردی ممکن است، چند پایگاه داده باtransaction rate پایین ترکیب شده و از یک سرور برای آنها استفاده شود
10
.در سیستم های بزرِگ از چندین تکنولوژی ذخیره سازی استفاده می شود.بدلیل بزرِگ بودن مسئله امکان استفاده سلسله مراتبی از پایگاه داده وجود دارد
مدیریت این ساختار سلسله مراتبی
DBMSتوسط • Application توسط •
استفاده ازLocking در مدیریت ساختارسلسله مراتبی
.سازماندهی فیزیکی درست ،طراحی منطقی را تحت تاثیر قرار می دهد
Physical storage تر مدل کردن جزئی
11
هاContainer ها و Databaseساختار سلسله مراتبی ساخته شده از App ها دارای ساختار سلسله مراتبی هستندکه باید مستقیما توسط OODBبسیاری از
کنترل شوند.
Figure 10-3: Detailed Storage Hierarchies
Physical storageیک مثال از مدل کردن جزئی
12
Table 10-1 Physical Data Viewpoint
Physical data viewpoint
13
intercommunication process issuesطراحی سیستم های توزیع شده، به دلیل ها ،پیچیده است.
ها :issueاز جمله این
هاProcessتعداد دفعات ایجاد و از بین بردن ••Process failure and recovery•failure و recover کردن ارتباطات بین مولفه ها در داخل یک process.
fault و reliability ها و ارتباطات آنها تاثیر مستقیم در Processطراحی صحیح tolerance.سیستم است
:co-dependent های processاجتناب از :co-dependencyروش تشخیص
در زمان اجرا شود.co-dependency ، میتواند منجر به process viewوجود حلقه در •
راه حل در صورت وجود: processترکیب کردن و بوجود آوردن یک • را انجام دهد.co-dependent functionality دیگر که processایجاد یک •
Process Viewpoint
14
Process Viewpoint یک مثال از
15
ها و ارتباطات بین آنها است.Process در بردارنده viewاین • نام منحصر به فرد دارد.Processهر •(originator , receiver ها نمایش دهنده ارتباط بین آنها است .)Processخطوط بین • است.transient و یا persistent ، مشخص می شود که process روی هر tagبا یک •
Persistent : process هایی که برای دریافت درخواست کاربران و پاسخگویی منتظر هستند. از قبیل info
server.که همیشه در حال اجرا است و منتظر درخواست کاربر
Transient: Client process هایی که توسط یک کاربر و یا توسط process management در داخل سیستم start می شوند.
Process های کلیدی در این process view: •info server • database server
ها برای رسیدن به داده های کاربران به آنها نیاز دارند.processبدین دلیل که دیگر
:مشکل• info server تنها process.است که باید ترافیک از تمام سیستم های خارجی را تحمل کند •Info server به دلیل عدم replication یک single point of failure. است
Process Viewpointجزئیات
16
ضعیفی documentation ،سیستم هایی که reengineering برای Process viewاستفاده از دارند:
هاprocessتحلیل سیستم موجود به صورت مجموعه ای از • ها و ارتباطات آنها processساخت یک مدل اولیه از • ها و توزیع شدگی سیستم موجود از مدلfunctionalityاستخراج •
Process View و View: های دیگر process view با component view و deployment view.همپوشانی دارد
نیست.process view نیازی به ایجاد deployment viewبا ایجاد • استفاده process viewزمانی که ضرورت بیان جزئیات گره های فیزیکی نباشد، از•
می شود. Process ها وجود داشته باشد، process ها و componentهر گاه تناظر یک به یک بین •
view و Component View.معادل هستند
Process Viewpoint
17
هاprocess ها به componentاضافه کردن
ها می تواند اطالعات با ارزشی را به آن process ها به componentاضافه کردن •بیفزاید .
ها و وبویژه آنهایی که چند مولفه دارند، روشن تر processبا این کار، هدف هر یک از •می شود.
نحوه اضافه کردن :
، داخل آن.process های هر componentنمایش • ها .process ها و برداشتن نام componentنامگذاری • ها با خطوط componentنمایش ارتباطات بین • ها استفاده می شوند.component هایی که در ارتباط بین interfaceنمایش •
Process ها و Component ها
18
Process ها و Component ها
Figure 10-5: Process View with Components
19
هاApplication ها برای ساخت Component Frameworkاستفاده از ها.Componentفراهم نمودن ابزار استاندارد برای آسان کردن مدیریت •
فراهم می کندFrameworkابزار هایی که هاComponentابزاری برای اجرای آسان ••Monitoring•Check pointing•Logکردن فعالیت های برنامه
Component Frameworkاجزای اصلی یک Process Managementمولفه •Component Managementمولفه •
Component و Processمدیریت
20
Process Managementمولفه
وجود دارد و اعمال زیر را انجام می Process Management یک مولفه Processبرای هر دهد:
مربوطه Processپیکر بندی منابع برای ••Load کردن، اجرا ،پیکربندی و مقدار دهی اولیه برای هر یک از Component های آن
Process. performance ها، نمایش alarm ها،status برای کنترل Interfaceفراهم کردن یک •
سیستم، انجام تغییرات در پیکربندی و داشتن دستورات ساده برای مدیرت سیستم.
وجود دارد که تعامالت Component Management یک مولفه Componentبرای هر مربوط به آن مولفه را مدیریت می کند. و اعمال زیر را انجام می دهد:
•Load،کردن،پیکربندی، مقدار دهی اولیه start ، stop آن Component. .Process Managementپاسخ دادن به دستورات مولفه • .Process Management ها برای alarm ، آمار ها و statusفرهم کردن •
21
Process and component management framework
Figure 10-6: Process and Component Management Framework
22
Deployment Viewpoint
Nodeچیست ؟ ها را thread ها و process ها در componentیک عنصر سخت افزاری که قابلیت اجرای •
دارد.
Deployment viewpointچیست ؟
ها) و سخت افزار توصیف می شود.component ها (و یا process نگاشت بین viewدر این • ساخته می شود.component view یا process view ها به node با اضافه کردن viewاین • را تهیه کرد.component view و process view ابتدا باید deployment viewبرای تولید • ها در سخت افزار سیستم مشخص باشد، داشتن processدر صورتیکه جایگاه هر یک از •
برای توصیف سیستم ضرورت ندارد.viewاین های سیستم تعریف شدند، برای تصمیم componentدر ایجاد یک سیستم پس از اینکه •
گیری در خرید سخت افزار سیستم می توان از آن استفاده کرد. ها را process ها استفاده شوند، مسیر ارتباط بین process تنها viewدر صورتیکه در این •
رسم می کنیم .-comp-to ها استفاده شود، ارتباطات component ها و هم از processدر صورتیکه هم از •
comp.را رسم می کنیم
23
Deployment Viewpoint with process
Figure 10-10: Deployment View with Annotated Nodes
24 Figure 10-10: Deployment View with Annotated Nodes
25
Scalable nodeطراحی
Scalable Nodeچیست ؟ عناصری که به عنوان یک نقطه مقیاس پذیری در معماری سیستم مطرح هستند.•
Deployment viewpoint می تواند برای مدل کردن Scalable node.ها به کار رود
باید به نحوی طراحی شوند که امکان رویارویی process و view ، dataدر این •سیستم با ، بارمحاسباتی و
را فراهم کنند.faultداده ای متفاوت و همچنین رویارویی با
را برای سیستم فراهم Fault tolerance و Load balancingاین عناصر باید امکان •کنند.
recovery ها و ثبت آنچه در سیستم اتفاق می افتد امکان log fileبا فراهم نمودن • فراهم می شود.failureدر زمان وقوع
بودن سیستم، باید بیان شوند.Fault toleranceمالحظاتی از قبیل تعداد عناصر برای •
26
Scalable nodeطراحی
Figure 10-12: Scalable Server Design
27
Archive و Backupطراحی
archive و backupدر بسیاری از سیستم های بزرِگ برای نمایش راه حل استفاده شده برای استفاده می شود؟deployment viewاز
Backup data : در سسیستم مورد failureیک کپی از داده های در حال تغییر ، که تنها در صورت وقوع •
استفاده قرار می گیرد.
Archive data : یک کپی همیشگی از داده هایی که محتوای آنها دیگر تغییر نخواهند کرد. این کپی برای •
مراجعات تاریخی و بررسی سابقه داده ها مورد استفاده خواهد بود.
مورد نظر هستند:backupروش هایی که برای برای ثبت تغییرات log fileاستفاده از • .backup server داده ها به periodicانتقال •
مورد نظر هستند:archiveروش هایی که برای archive dataاستفاده از ابزار های اماده برای ذخیره •نوشتن کد برنامه توسط سازندگان سیستم برای انتخاب و انتقال داده ها به محل ذخیره •
سازی
28
Tools
• Microsoft visio 2003• Power Designer 12.5
29
منابع
Main resource:
Jeff Garland, Richard Anthony, Large-Scale Software Architecture, 2002
Further reading
UML User Guide,Booch,1999.
30
با تشکر