2-2-6-4- سرویسها دارای اتصال سست اند. اتصال سست یک ویژگی برای سیستم های اطلاعاتی است که در آن واسطهای بین اجزاء یا پیمانه ها به گونه ای طراحی می شوند که وابستگی بین اجزاء حداقل شود و در نتیجه ریسک اثر تغییر یک جزء بر سایر اجزاء کاهش یابد[20] در معماری سرویس گرا منظور از اتصال سست، قابلیت تعامل بین سرویسها به صورت مستقل از کدنویسی و مکان سرویسها است، بگونه ای که سرویسها در زمان اجرا می توانند تغییر مکان داده ، روالهای داخلی خود را تغییر دهند یا حتی از یک فناوری جدیدتر استفاده کنند بدون این که تاثیری منفی بر سرویس گیرندگان گذاشته شود.[6] 2-2-6-5- سرویسها قابل کشف اند. یکی دیگر از عوامل مهم در انعطاف پذیری و قابلیت استفاده مجدد SOA مفهوم قابلیت کشف و اتصال پویا است. پیمانه های یک سرویس گیرنده هیچ پیوند ایستایی با سرویس ندارند. بطور مشابه پیمانه های یک سرویس نیز با هیچ سرویس گیرنده ای پیوند ایستا ندارند. سرویس گیرندگان به جای استفاده از اتصالهای ایستا که در زمان کامپایل ساخته می شوند، برای یافتن وظیفه مندی مطلوب از یک محل ثبت استفاده می کنند. سپس با بهره گرفتن از اشاره گر دسترسی، که از محل ثبت بدست آمده است ، می توانند به نقطه اتصال دسترسی یابند. بنابراین سرویس کاملاً آزاد است تا پیمانه ای را که موارد قرارداد را تامین می کند جابجا کند یا تغییر دهد. برعکس، اگر نیازهای سرویس گیرنده تغییر کند یا سرویس دهنده دیگر سرویس مورد نظر را ارائه نکند، سرویس گیرنده کاملاً آزاد است تا سرویس دیگری را انتخاب کند. بدون آنکه نیاز به آن داشته باشد که تغییر درونی در کار خود ایجاد کند. 2-2-6-6- محل سرویسها برای سرویس گیرندگان نا پیدا است مخفی کردن محل سرویس برای سرویس گیرنده انعطاف پذیری [12]زیادی را برای پیاده سازی SOA فراهم کند. سازماندهی مجدد در سازمان ممکن است میزبانی یک سرویس را به یک سرویس دهنده دیگر بسپارد. قطعی دسترسی به یک مکان می تواند با بهره گرفتن از ارسال درخواستهای سرویس به سایر سرویسها در مکانهای دیگر، از دید سرویس گیرندگان پنهان شود. عدم لزوم دانستن محل سرویس توسط سرویس گیرنده امکان آن را فراهم می کند تا یک معماری تا حد ممکن انعطاف پذیر، قابل نگهداری، ارزان و نسبت به خرابی مقاوم باشد. 2-2-6-7- سرویسها مستقل از روش انتقال هستند. سرویس گیرندگان از طریق یک ارتباط شبکه به سرویسها دسترسی یافته و از آنها استفاده می کنند. SOA از نوع ارتباط شبکه ای مورد استفاده برای دسترسی به سرویس مستقل است. سرویسها از مکانیزم انتقال مورد استفاده برای دسترسی به آنها مستقل اند. در عمل تطبیق دهنده ای وجود دارد تا دسترسی به سرویسها را از طریق انواع روش های انتقال ممکن کند. مثلاً اگر سرویس گیرندگان بخواهند با بهره گرفتن از HTTP به سرویس دسترسی یابند، یک تطبیق دهنده HTTP ایجاد خواهد شد. همین مثال درباره استفاده از RMI[13] و سایر روش های انتقال صادق است. یک تطبیق دهنده می تواند برای چندین سرویس به کار رود و قابل استفاده مجدد باشد. 2-2-6-8- سرویسها مستقل از سکو هستند. برای بدست آوردن حداکثر انعطاف پذیری یک سرویس نباید به سکویی که بر آن اجرا می شود وابسته باشد. بنابراین سرویس ایده آل باید از نظر تئوری مستقل از سیستم عامل باشد. در دنیای واقعی با مستقل کردن سرویسها از روش انتقال ، استقلال SOA از سکو بسیار کم اهمیت تر می شود. زیرا برای مثال یک سرویس .NET که روی windows اجرا می شود، در تئوری می تواند به سرویس گیرندگان در حال اجرا بر روی هر سیستم عامل دیگر روی شبکه دسترسی داشته باشد. بسیاری از سازمانها دارای سکوهای متعددی هستند. سرویسهایی که برای این سازمانها تولید می شوند باید مستقل از سکو باشند تا انعطاف پذیری در میزبانی را، که لازمه حداکثر عملکرد کاری است، فراهم کنند. سرویسهایی که برای سازمانهای کوچکتر تولید می شوند مانند حرفه هایی که از یک سیستم عامل منفرد استفاده می کنند، استقلال از سکو را چندان ضروری نخواهند دید. 2-2-6-9- سرویسها قابل استفاده مجدد هستند. سرویس گرایی استفاده مجدد را در همه سرویسها مورد تاکید قرار می دهد. با اعمال استانداردهای طراحی که هر سرویس را قابل استفاده مجدد می کند، این قابلیت وجود دارد که در قبال تغییرات آینده انطباق آسانتر و در زمینه توسعه سیستم نیاز به کار کمتری داشته باشیم.
[سه شنبه 1398-12-13] [ 03:39:00 ب.ظ ]
|