گزارش سمینار بررسی قابلیت بهره برداری ازدر SOA (Service Oriented Architecture)نگرش MDA (Model Driver Architecture )چارچوب

تعداد صفحات: 74 فرمت فایل: word کد فایل: 10002047
سال: 1386 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۱۴,۰۰۰ تومان
قیمت: ۱۱,۹۰۰ تومان
دانلود مقاله
  • خلاصه
  • فهرست و منابع
  • خلاصه گزارش سمینار بررسی قابلیت بهره برداری ازدر SOA (Service Oriented Architecture)نگرش MDA (Model Driver Architecture )چارچوب

    گزارش سمینار کارشناسی ارشد

    گرایش نرم‌افزار

    چکیده

    تولید نرم افزار همواره یسک چالش باز در دنیای کنونسی اسست. قابلیت اسستفاده مجدد یکسی از پیش‌رانه‌های اصلی در مهندسسی نر ‌م افزار م ‌یباشد و راه‌حلهای گوناگونی برای آن پیشنهاد شده. معماری مدل- رانه یکی از این راه‌حل‌هاست که قابلیت استفاده مجدد را بر اساس مفهوم ساده‌ی مدل‌ و نگاشت مدلهای گوناگون به شکل خودکار، ایجاد م ‌ینماید. از سوی دیگر، در سالهای اخیر در توجه به سسرویس‌گرایی یسک جهش بزرگ رخ داده‌‌ و معماری سسرویس‌گرا در حال تبدیسل بسه یسک پارادایسم غالب اسست. آیسا می‌توان از معماری سرویس‌گرا در معماری مد ‌ل- رانه بهره برد؟ این چالشی است که در این نوشته برای پاسخ به آن تلش شده‌است. استفاده از معماری‌ سرویس‌گرا، می‌توانسد معماری مدل- رانه را اول همگام بسا معماری سسرویس‌گرا بسه پیسش برد و دوم آنکسه می‌توانسد نگاشتهای سساده و کاراتری را در معماری مدل‌- رانسه ایجاد کنسد. برای پاسسخ بسه ایسن مسساله در ایسن نوشتسه، نخسست معماریهسا مدل-رانسه و سسرویس‌گرا معرفی‌شد ‌هاند و در پایان روی کاربرد-معماری سرویس‌گرا در معماری مدل-رانه سخن رفته و با صحبت روی چالشهای پیش رو به پایان می‌رسد .

    ۱- مدلسازی

    برای شروع در مورد معماری مدل رانه باید نخست به بخش اول آن یعنی مدل پرداخت. مدل چیست؟ مدل یعنی نمایشی از محیط که روی برخی از جنبه‌های یک سیستم تاکید کند و از جنبه‌های دیگر چشم‌پوشی کند .حتی ذهن هم مدلها را برای فهم استفاده می‌کند: برای پرهیز از جزییات اضافی. و گرنه برای به یادآوردن یا فهمیدن موضوعی ساده باید تا سالها صبر می‌کردیم تا تمام جزییات آن بررسی شود. شاید بتوان مدلسازی را به این شکل تعریف کرد که »مدل، در نظر گرفتن جنبه‌های اساسی یک مساله یا پدیده است.« یعنی به بهترین شکل باید بتوان آن را برای کار بیان کرد بدون آنکه جزییاتی که لزم نیستند در نظر گرفته شوند. اینکه کدام ویژگیها دیده شوند و کدامها دیده نشوند، بستگی به زاویه مدلسازی و میزان جزیی بودن آن دارد. به عنوان یک مثال، سقوط سیب (!) شاید جالب باشد. یک مدلسازی می‌تواند تنها ارتفاع را در نظر بگیرد و یا با جزییاتی بیشتر، مثل ارتفاع آن ناحیه از سطح دریا. در نهایت جزیی‌ترین مدل، واقعیت خواهد بود یعنی تمام جزییات!

    اما چرا مدلسازی؟ مدلسازی یکی از مهمترین ابزار برای توصیف پدیده‌های واقعی و حل مشکلت دنیای واقعی است. یک مساله دنیای واقعی جزییات بسیار پیچید ‌های دارد. توصیف پدیده ساده مانند همان افتادن سیب از درخت‌(!) دارای جزییات بسیاری است:‌ میزان جاذبه زمین در آن نقطه یعنی دقت در تغییر نیروی جاذبه بر سیب جابجایی سیب و نزدیک شدن آن به سطح زمین، اندازه سیب برای اصطکاک، جهت و شدت باد یا هوا و حتی جزییاتی عجیب مانند زمان سال و ... . در نظر گرفتن این مسایل اگر غیر ممکن نباشد، محاسبه آنها بسیار طولنی می‌گشت. (یعنی اگر نیوتن برای چنان مسایلی صبر می‌کرد، هنوز بشریت باید منتظر نیوتن می‌ماند!) اما مساله ساده گردید. یعنی مدلسازی شد. شاید نه با عنوان مدلسازی –  مثل نقاشی –  ولی مفهوم مدلسازی در آن بکار می‌رود. از این رو، باید فرایندی که در آن مدلها ساخته می‌شوند هم مورد بررسی قرار گیرند  .

    ۱-۱ یک فعالیت طبیعی

    مدلسازی را شاید بتوان یکی از طبیعی‌ترین کارهای بشر دانست. به نظر می‌رسد که انسان از کودکی به شکل ناخودآگاه توانایی این کار را دارد. بسهترین مثال، نقاشی کودکان است! چرا که از واقعیات موجود آنچه که مهمترین ویژگیها را برای آنها دارد (یعنی مدل) بر صفحه کاغذ می‌انگارند. مثل در نقاشی از یک ماشین چرخها‌، چراغها و فرمان چیزی است که غالبا در این آثار کودکانه مشاهده می‌شود! چرا که از نظر کودک این ویژگیها مهمترین چیزهایی هستند که م ‌یتوانند موضوع اصلی را بیان دارند. اگر برای کودک در مورد کمربند ایمنی و اهمیت‌ آن صحبت شود، حتما در نقاشی بعدی کمربند ایمنی به عنوان یک بخش از جزییات مورد نظر قرار خواهد گرفت!

    (تصاویر و نمودار در فایل اصلی موجود است)

    اما مدلسازی در سطوح بالتر، کامل خود آگاهانه و بر اساس روش انجام می‌گیرد. مثل ساخت یک ماکت برای یک بنای مسکونی که برای پذیرش بنا ساخته می‌شود یا یک مدل ریاضی برای حل یک مساله فیزیک که در شرایط معمولی دشواریهای زیادی دارد. گاهی این مدلسازی نیاز به مهارت زیادی دارد و تنها از پس یک متخصص بر می‌آید. ولی از نظر ماهیتی درست مشابه نقاشی کودکانه است .

    ۱-۱-۲ مدلسازی در دنیای کامپیوتر

    اما حیط ‌های که م ‌یتوان در آن مدلسازی را کامل نهادینه‌ دانست، حیطه کامپیوتر است. بسیاری از مسایلی که در حیطه نرم افزار مطرح می گردند، برخاسته از دنیای واقعی هستند. رخدادها و وضعیت های دنیای واقعی اکثرا پیوسته هستند و در شمار آوردن آنها ناممکن. از سوی دیگر، یک رایانه که مقصد نهایی محصولت مهندسی نر ‌مافزار است، ماشینی با حالتهای گسسته و محدود می باشد. (در تئوری تعداد حالت می توانند بیشمار باشند ولی در عمل برای حافظه و سایر منابع سیستم محدودیت وجود دارد. پس با این توصیف در تولید نرم افزار مشکلی اساسی وجود دارد. باید به نحوی دنیای نامحدود و پیوسته را به دنیای محدود و گسسته نگاشت کرد. واضح است که در این میان نیاز به یک رابطه میان این دو حوزه وجود دارد. مدلسازی همین مفهوم ارتباط دهنده می‌باشد.

    جزییات آنقدر کنار گذاشته می‌شوند که بتوان مساله و پدیده را در قالب حالتهای محدودی بیان کرد .

    ۱-۲ روشهای تولید نرم‌افزار

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

    ۱-۲-۱ روشهای سنتی

    تا اینجا چنین گفته‌ شد که مساله از دنیای واقعی به شکل یک مدل مطرح می‌گردد؛ سپس راه حلی برای آن ایجاد می‌گردد. همین را می‌توان طور دیگری گفت که منجر به یک روش استانده برای تولید نر ‌مافزار گردد: یک مساله یا محیط در دنیای بیرون وجود دارد. این مساله باید شناخته شود؛ آنهم از ابعاد مهم و مطرحش. پس در گام اول محیط شناخته می‌شود. و چون زواید آن کنار گذاشته می‌شود، یک مدل در اینجا بدست می‌آید. پس از آن‌،مدل بدست آمده باید بیانی کامپیوتری پیدا کند. تا از دنیای واقعی به دنیای کامپیوتر وارد شود. در واقع، یک گذارخواهیم داشت از مدلی در دنیای واقعی و پیوسته به دنیای گسسته و محدود کامپیوتر. در این گذار، برای هر بخش از مدل اصلی یک مدلسازی دیگر انجام می‌پذیرد. مثل برای نمایش موجودیتی مثل کتاب از دنیای واقعی به صورت زیر مدل می‌گردد:

    کتاب »نام« دارد؛ یک رشته با طول حداکثر ۶۰ حرف که تنها از حروف و ارقام تشکیل شده. »نویسنده« یا نویسندگانی دارد که هر کدام نام و نام خانوادگی دارند و در اینجا حداکثر ۲۵ حرف می‌باشد. کتاب را یک »ناشر« چاپ می‌کند. با کامل شدن این لیست، مدلی از کتاب بدست می‌آید که حاوی اطلعات مهم درباره کتاب است.

    شاید لزم نباشد رنگ کتاب و طرح را نگه داشت پس از این اطلعات صرف نظر می‌شود .

    علوه بر این، م ‌یتوان به کارهایی که روی یک کتاب انجام می‌پذیرد، مدلسازی انجام داد: مثل ساعمالی مانسند خرید، فروش یا اعمال دیگری که مسرتبط با کتاب است و برای محیط دارای اهمیت می‌باشد .

    هنگامی‌که تمام این اطلعات کامل گردید، این مدل به مدل دیگری تبدیل می‌گردد. این مدل جدید به سادگی در کامپیوتر قابل پیاده‌سازی است. از اینجا به بعد، دیگر صحبت پیاده‌سازی پیش می‌آید و این یعنی آنکه باید به کد و اجرای آن فکر کرد.

     

    برای همین مثال در مورد کتاب اگر روش شی گرایی مدنظر باشد، یک هویت جدید به نام کتاب بر اساس داده‌های موجود و اعمال مطرح در آن، به عنوان یک کلس انتخاب می‌گردد. در چنین دیدگاهی باید تصمیم گرفت که اشیا کدامها هستند و متدها کدامها خواهند بود. به بیان دیگر باید به دنبال قواعدی گشت که مدل پیشین که شناختی کلی از سیستم بدست می‌دهد، به مدلی تبدیل کند که بتوان آن را پیاده‌سازی کرد. یک روش رایج آن است که موجودیتهای بدست آمده در مدل نخستین را معادل یک کلس در نظر گرفته‌شود، داده‌های مربوط به این کلسها، معادل اعضا دانست و هر عملی که درمورد این موجودیتها مطرح است را یک متد. و این قواعد تنها برایپیاده سازی به روش شی‌گرا مفیدند.

    اگر بنا باشد که روش ساختیافته باشد، باید باز قواعد را تغییر داد:‌ مثل به ازای هر موجودیت شناسایسی شده یسک ماژول بدست آورد. و توابع داخل این ماژول همان اعمالی باشند که روی یک موجودیت مانند کتاب قابل انجام است .

    این مراحل در دنیای نر ‌م افزار نامهای آشنایی دارند: تحلیل، طراحی و پیاده‌سازی! که به صورت متوالی و پشت سرهم انجام می‌پذیرند. با کمی توسعه در این ایده ابتدایی به مدل آشنای خطی می‌توان رسید: یک روش ساده و عملی برای تمامی مسایل .

  • فهرست و منابع گزارش سمینار بررسی قابلیت بهره برداری ازدر SOA (Service Oriented Architecture)نگرش MDA (Model Driver Architecture )چارچوب

    فهرست:

    فهرست مطالب...................................................................................................................................................................................................................3فهرست اشکال...................................................................................................................................................................................................................5چکیده..................................................................................................................................................................................................................................6۱- مدلسازی.......................................................................................................................................................................................................................7

    ۱-۱ یک فعالیت طبیعی  ........................................................................................................................................................................................8

    ۱-۱-۲ مدلسازی در دنیای کامپیوتر...............................................................................................................................................................9

    ۱-۲ روشهای تولید نر ‌م افزار ....................................................................................................................................................................................9

    ۱-۲-۱ روشهای سنتی.......................................................................................................................................................................................9

    ۱-۲-۲ روشهای بهبود یافته..........................................................................................................................................................................۱۱

    ۱ –  ۲ –  ۲ روش های چابک............................................................................................................................................................................۱2

    ۱ - ۳ مشکل اصلی:نگاه غیر منعطف...................................................................................................................................................................۱2

    2- راه حل: نگاه مد ‌لرانه...............................................................................................................................................................................................۱7

    ۲ - ۱ معرفی معماری مدل‌ رانه ........................................................................................................................................................................۱7

    ۲ - ۲ تعریفها ..........................................................................................................................................................................................................۱9

    ۲ - ۳ چرخه حیات معماری مدل رانه.............................................................................................................................................................20

    3 –  ۲ –  ۳ –  ۱  مدل مستقل از محاسبه .................................................................................................................................................22

    ۲ –  ۳ –  ۲ مدل مستقل از سکو .................................................................................................................................................................22

    ۲ –  ۳ –  ۳ مدل ویژه سکو ...........................................................................................................................................................................22

    ۲ –  ۳ –  ۴ مدل سکو ....................................................................................................................................................................................23

    ۲ –  ۳ –  ۵ تبدیل مدل .................................................................................................................................................................................23

    ۲ –  ۳ –  ۶ سرویس های فراگیر .....................................................................................................................................................................23

    ۲ –  ۳ –  ۷ پیاده‌سازی....................................................................................................................................................................................23

    ۲ –  ۴ معماری مد ‌لرانه در عمل..........................................................................................................................................................................24

    ۲ –  ۴ –  ۱ ساخت مدل مستقل از محاسبه...............................................................................................................................................24

    ۲ –  ۴ –  ۲ ساخت مدل مستقل از سکو......................................................................................................................................................24

    ۲ –  ۴ –  ۳ ساخت مدل وابسته به سکو: نگاه اول.....................................................................................................................................25

    ۲ –  ۴ –  ۴ نگاشت ها.....................................................................................................................................................................................25

    ۲ –  ۴ –  ۴ –  ۱  انواع نگاشتها...............................................................................................................................................................25

    ۲ –  ۴ –  ۴ –  ۲ الگوها ...........................................................................................................................................................................26

    ۲ –  ۴ –  ۴ –  ۳ زبان نگاشت..................................................................................................................................................................26

    ۲ –  ۴ –  ۵ تبدیلها...........................................................................................................................................................................................26

    ۲ –  ۴ –  ۵ –  ۱ مدل وابسته به سکو و تبدیل....................................................................................................................................28

    ۲ –  ۴ –  ۵ –  ۳ قوانین تبدیل ..............................................................................................................................................................29

    ۲ –  ۵  معماری مدل‌- رانه و معماری نر ‌م افزار...................................................................................................................................................30

    ۲ –  ۶  یک مثال ...................................................................................................................................................................................................3۱

    39....................................................................................................................................................................................هاArchetype ۷  – ۲

    40............................................................................................................................................................................Pleomorphism ۸  – ۲

    4۱.....................................................................................................................................................................Archetype استفاده از ۹  – ۲

    ۲ –  ۱۰ معماری مدل-رانه قول‌ها و چالشها.......................................................................................................................................................42

    3 - معماری سرویس‌گرا................................................................................................................................................................................................45

    ۳ –  ۱ مولفه‌گرایی...................................................................................................................................................................................................46

    ۳ –  ۳  اجزای مولفه...............................................................................................................................................................................................46

    ۳ –  ۴ ترکیب...........................................................................................................................................................................................................47

    ۳ –  ۵ اجرا................................................................................................................................................................................................................47

    ۳ –  ۶ سرویس‌گرایی..............................................................................................................................................................................................48

    ۳ –  ۷ الگوی تعامل در سرویس‌گرایی.................................................................................................................................................................48

    ۳ –  ۸ توصیف سرویس..........................................................................................................................................................................................50

    ۳ –  ۹ شیء سرویس..............................................................................................................................................................................................50

    ۳ –  ۱۰ ترکیب........................................................................................................................................................................................................5۱

    ۳ –  ۱۱  اجرا...........................................................................................................................................................................................................52

    ۳ –  ۱۲ مقایسه سرویس‌گرایی و مولفه‌گرایی....................................................................................................................................................52

    4  - معماری مدل- رانه و معماری سرویس گرا:‌ یک افق باز................................................................................................................................55

    ۴ –  ۱ مروری بر کارهای گذشته.........................................................................................................................................................................55

    5  –  نتایج گزارش ..........................................................................................................................................................................................................59

    ۵ –  ۱ مروری بر این گزارش.................................................................................................................................................................................59

    ۵ –  ۲ نتایج حاصل.................................................................................................................................................................................................60

    ۵ –  ۳ تعریف یک مساله برای کارهای آتی........................................................................................................................................................6۱

    ۵ –  ۴ پیشنهاد راه حل برای مساله.....................................................................................................................................................................6۱

    فهرست منابع و مراجع...................................................................................................................................................................................................63

     

    منبع:

     

    ۱- A. Kellpe, W. West, J. Warmer. MDA Explained: Practice and Promise. Addison Wesly, 2003.

    ۲-اس ستادزاده ش، شم س ف. »جایس گاه MDA در مس سعماری س یستمهای س ازمانی«. س مینار کارشناس ی

    . ارشد .دانشگاه آزاد اسلمی،  واحد علوم و تحقیقات. دانشکده فنی و مهندسی۳- J. Arlow , I. Neustadi. Enterprise Patterns and MDA: Building Better Software with Archetypes and UML. Addison Wesly, 2003.

    ۴-D. S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Computing. OMG Press, 2003.

    ۵- Andrews, T. e. (2003). Business process execution language for Web services, version 1.1.

    Retrieved August 3, 2004, from http://www-106.ibm.com/developerworks/library/ws-bpel/ ۶- Berners-Lee, T., Hendler, J., & Lassila, O. (2001). The Semantic Web. Scientific American. 284(5) , pp. 34-43.

    ۷- Burbeck, S. (2000). The evolution of Web applications into service-oriented components.

    Retrieved August 3, 2004, from http://www-106.ibm.com/developerworks/library/wstao/index.html ۸- Clements, P. C. (1996). A survey of architecture description languages. Proceedings of 8th

    International Workshop on Software Specification and Design (pp. 16-25). Washington, D.C.: IEEE Computer Society.

    ۹- Conan, D., Putrycz, E., Farcet, N., & DeMiguel, M. (2001). Integration of non-functional properties in containers. Retrieved August 3, 2004, from

    http://research.microsoft.com/users/cszypers/events/WCOP2001/ConanPutryczFarcetDeMiguel.pdf

     ۰۱- Davidson, M. (2002). The Bean Builder tutorial. Retrieved August 3, 2004, from http://java.sun.com/products/javabeans/beanbuilder/1.0/docs/guide/tutorial.html

    ۱۱- Fowler, M. (2004). Inversion of control containers and the dependency injection pattern.

    Retrieved August 3, 2004, from http://martinfowler.com/articles/injection.html

    Ousterhout, J. K. (1998). Scripting: Higher-level programming for the 21st century. Computer, )3(13 , 23-30.

    ۱۲-OWL Services Coalition. (2003). OWL-S: Semantic markup for Web services. Retrieved August

    3, 2004, from http://www.daml.org/services/owl-s/1.0/owl-s.html

    Peltz, C. (2003). Web services orchestration and choreography. Computer, 36(10) , pp. 46-52. ۱۳-Szyperski, C. (1998). Component software: Beyond object-oriented programming. Boston:

    Addison-Wesley.

    ۱۴-Sun Microsystems, Model Driven Architecture enabling Service Oriented Architecture, March 2004

    ۱۵-Torkaman Rahmani et al., An MDA-Based Modeling and Design of Service Oriented

    Architecture, ICCS 2006, Part III, LNCS 3993, pp. 578   585, 2006

    ۱۶-Ultra-Large-Scale Systems : The Software Challenge of the Future,  Cornegie Mellon University, June 2006

ثبت سفارش
عنوان محصول
قیمت