فصل 8 – Process and Deployment

30
ل ص ف8 Process and Deployment ل ص ف10 Process and Deployment Design اب ت ک ه از ت ف ر گ ر بLarge-Scale Software Architecture – Jeff Garland, Richard Anthony ی ی ا ل زض ت ع ما س ا د ت م% س و ه م هاي ت س سي گاه% ش ي ما ز5 ا هاز ب87 د ت م% س و ه م هاي ت س سي کاه% ش ي ما ز5 ا( http://ce.aut.ac.i r/islab ) م ها ت س سير ب ز ي ح را ط دا ام خ ه ن ب1

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

Transcript of فصل 8 – Process and Deployment

Page 1: فصل 8 – Process and Deployment

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)ها زيرسيستم طراحي

به نام خدا

Page 2: فصل 8 – Process and Deployment

2

در رابطه با طراحی و ساخت سیستم های بزرِگ: توزیع viewpointموضوع کلی :بیان چندشده.

این مطالب بخشی ویژگی های معماری از قبیل

•Reliability •Fault tolerance •Performance

را تحت تاثیر قرار می دهند.

ها در ساخت آنها مد نظر باشد: Viewpointسیستم هایی که نیاز دارند این

•Enterprise systems•Telecommunication systems•Web systems

Process and Deployment Design

Page 3: فصل 8 – Process and Deployment

3

viewpoint : هایی که در این فصل بحث می شوند

• Physical data•Deployment•Process

.سازندگان نرم افزار ها در طراحی ناگزیر به توجه به سخت افزار سیستم هستند را تحت تاثیر Componentبنابراین توجه به سخت افزار می تواند طراحی و ساختار

قرار دهد.

برای مثال اگر پردازش توزیع شده باشد و یا متمرکز روی یک ماشین باشد، درperformance.بسیار متفاوت خواهد بود

Process and Deployment Design

Page 4: فصل 8 – Process and Deployment

4

اینViewpoint(ارتباط بین سرورها ،مولفه ها Component.و داده را بیان می کند )

. مدیریت فیزیکی داده ها، تاثیر مستقیم بر طراحی و ساخت نرم افزار دارد

یک نرم افزار بسیار مؤثر باشد.Availability و Performanceمی تواند در تعیین •

باشد، منطق برنامه برای Data objectبسته به اینکه محل ذخیره داده ها در فایل یا •مدیریت مکان های فیزیکی ذخیره داده ها متفاوت خواهد بود .

اینکه داده ها چگونه ذخیره شده و چگونه مدیریت می شوند، در منطق نرم افزا سیستم در دسترسی Performanceبرای بهینه کردن فضای ذخیره سازی و باال بردن

به داده ها تعیین کننده است.

Physical data viewpoint

Page 5: فصل 8 – Process and Deployment

5

مدیریت می شوند.database server که توسط یک data storageتعدادی از • مشخص شده stereotype ، مکانیزم ذخیره سازی با یک data storageدر هر •

است.

Figure 10-1: Physical Data View

Physical data viewمثالی از

Page 6: فصل 8 – Process and Deployment

6

مدل کردن ویژگی های دیگر ذخیره سازی

در این مدل عالوه براینکه نیاز داریم بدانیم چهdatabase هایی توسط یک سرور سرور تاثیر Performanceکنترل می شوند، نیازداریم که پارامترهای اصلی ای که بر

دارند، بدانیم.

پارامترها :•Transaction rate •Growth rate•Archive policy

روش های نمایش پارامتر ها :بیان مستقیم روی مدل •استفاده از یک جدول جانبی•

Page 7: فصل 8 – Process and Deployment

7

مدل کردن ویژگی های دیگر ذخیره سازی

بیان مستقیم ویژگی ها روی مدل

Page 8: فصل 8 – Process and Deployment

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

Page 9: فصل 8 – Process and Deployment

9

مدل کردن ویژگی های دیگر ذخیره سازی

Transaction rate و growth rate مهمترین تعیین کننده های performance.یک سرور هستند

ویژگی هایGrowth rate و Archive policy نیاز سیستم برای منابع ذخیره سازی را تعیین می کنند.

سیستم های با نرخ باال،برای داشتن کارایی مناسب نیازمند دقت زیاد در طراحیهستند.در مواردی ممکن است نیاز به توزیع کردن باشد، که چگونه توزیع کردن

طراحی را تحت تاثیر قرار می دهد.

Transaction rate.تعیین کننده اندازه سرور خواهد بود

پایگاه داده های با نرخ باالیtransaction ممکن است، نیازمند سخت افزار ویژه بوده و یا نیاز به توزیع شدن روی چند سرور داشته باشند.

در مواردی ممکن است، چند پایگاه داده باtransaction rate پایین ترکیب شده و از یک سرور برای آنها استفاده شود

Page 10: فصل 8 – Process and Deployment

10

.در سیستم های بزرِگ از چندین تکنولوژی ذخیره سازی استفاده می شود.بدلیل بزرِگ بودن مسئله امکان استفاده سلسله مراتبی از پایگاه داده وجود دارد

مدیریت این ساختار سلسله مراتبی

DBMSتوسط • Application توسط •

استفاده ازLocking در مدیریت ساختارسلسله مراتبی

.سازماندهی فیزیکی درست ،طراحی منطقی را تحت تاثیر قرار می دهد

Physical storage تر مدل کردن جزئی

Page 11: فصل 8 – Process and Deployment

11

هاContainer ها و Databaseساختار سلسله مراتبی ساخته شده از App ها دارای ساختار سلسله مراتبی هستندکه باید مستقیما توسط OODBبسیاری از

کنترل شوند.

Figure 10-3: Detailed Storage Hierarchies

Physical storageیک مثال از مدل کردن جزئی

Page 12: فصل 8 – Process and Deployment

12

Table 10-1 Physical Data Viewpoint

Physical data viewpoint

Page 13: فصل 8 – Process and Deployment

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

Page 14: فصل 8 – Process and Deployment

14

Process Viewpoint یک مثال از

Page 15: فصل 8 – Process and Deployment

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جزئیات

Page 16: فصل 8 – Process and Deployment

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

Page 17: فصل 8 – Process and Deployment

17

هاprocess ها به componentاضافه کردن

ها می تواند اطالعات با ارزشی را به آن process ها به componentاضافه کردن •بیفزاید .

ها و وبویژه آنهایی که چند مولفه دارند، روشن تر processبا این کار، هدف هر یک از •می شود.

نحوه اضافه کردن :

، داخل آن.process های هر componentنمایش • ها .process ها و برداشتن نام componentنامگذاری • ها با خطوط componentنمایش ارتباطات بین • ها استفاده می شوند.component هایی که در ارتباط بین interfaceنمایش •

Process ها و Component ها

Page 18: فصل 8 – Process and Deployment

18

Process ها و Component ها

Figure 10-5: Process View with Components

Page 19: فصل 8 – Process and Deployment

19

هاApplication ها برای ساخت Component Frameworkاستفاده از ها.Componentفراهم نمودن ابزار استاندارد برای آسان کردن مدیریت •

فراهم می کندFrameworkابزار هایی که هاComponentابزاری برای اجرای آسان ••Monitoring•Check pointing•Logکردن فعالیت های برنامه

Component Frameworkاجزای اصلی یک Process Managementمولفه •Component Managementمولفه •

Component و Processمدیریت

Page 20: فصل 8 – Process and Deployment

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فرهم کردن •

Page 21: فصل 8 – Process and Deployment

21

Process and component management framework

Figure 10-6: Process and Component Management Framework

Page 22: فصل 8 – Process and Deployment

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.را رسم می کنیم

Page 23: فصل 8 – Process and Deployment

23

Deployment Viewpoint with process

Figure 10-10: Deployment View with Annotated Nodes

Page 24: فصل 8 – Process and Deployment

24 Figure 10-10: Deployment View with Annotated Nodes

Page 25: فصل 8 – Process and Deployment

25

Scalable nodeطراحی

Scalable Nodeچیست ؟ عناصری که به عنوان یک نقطه مقیاس پذیری در معماری سیستم مطرح هستند.•

Deployment viewpoint می تواند برای مدل کردن Scalable node.ها به کار رود

باید به نحوی طراحی شوند که امکان رویارویی process و view ، dataدر این •سیستم با ، بارمحاسباتی و

را فراهم کنند.faultداده ای متفاوت و همچنین رویارویی با

را برای سیستم فراهم Fault tolerance و Load balancingاین عناصر باید امکان •کنند.

recovery ها و ثبت آنچه در سیستم اتفاق می افتد امکان log fileبا فراهم نمودن • فراهم می شود.failureدر زمان وقوع

بودن سیستم، باید بیان شوند.Fault toleranceمالحظاتی از قبیل تعداد عناصر برای •

Page 26: فصل 8 – Process and Deployment

26

Scalable nodeطراحی

Figure 10-12: Scalable Server Design

Page 27: فصل 8 – Process and Deployment

27

Archive و Backupطراحی

archive و backupدر بسیاری از سیستم های بزرِگ برای نمایش راه حل استفاده شده برای استفاده می شود؟deployment viewاز

Backup data : در سسیستم مورد failureیک کپی از داده های در حال تغییر ، که تنها در صورت وقوع •

استفاده قرار می گیرد.

Archive data : یک کپی همیشگی از داده هایی که محتوای آنها دیگر تغییر نخواهند کرد. این کپی برای •

مراجعات تاریخی و بررسی سابقه داده ها مورد استفاده خواهد بود.

مورد نظر هستند:backupروش هایی که برای برای ثبت تغییرات log fileاستفاده از • .backup server داده ها به periodicانتقال •

مورد نظر هستند:archiveروش هایی که برای archive dataاستفاده از ابزار های اماده برای ذخیره •نوشتن کد برنامه توسط سازندگان سیستم برای انتخاب و انتقال داده ها به محل ذخیره •

سازی

Page 28: فصل 8 – Process and Deployment

28

Tools

• Microsoft visio 2003• Power Designer 12.5

Page 29: فصل 8 – Process and Deployment

29

منابع

Main resource:

Large-Scale Software Architecture, Jeff Garland, Richard Anthony,2002

Further reading

UML User Guide,Booch,1999.

Page 30: فصل 8 – Process and Deployment

30

با تشکر