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

تعداد صفحات: 91 فرمت فایل: word کد فایل: 10001973
سال: 1388 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۱۵,۷۰۰ تومان
قیمت: ۱۳,۶۰۰ تومان
دانلود مقاله
  • خلاصه
  • فهرست و منابع
  • خلاصه پایان نامه ارائه روشی برای تلفیق جنبه گرایی و سرویس گرایی با هدف بهبود کیفیت نرم افزار

    پایان نامه کارشناسی ارشد مهندسی کامپیوتر  

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

    چکیده  

    معماری سرویس گرا[1] و برنامه سازی جنبه گرا[2] پارادایمهای شناخته شده و محبوبی در دنیای توسعه نرم افزار هستند. یکی از بزرگترین دشواریها در راستای دستیابی به سرویس گرایی، جداسازی نیازهای سرویس از نیازهای برنامه کاربردی است. درحالیکه سرویس ها تنها باید با دغدغه وظیفهمندی حرفهای که ارائه میکنند، مواجه باشند اما گاهی ویژگیهای وابسته به برنامه در لایه سرویس "نشت" میکنند. اصل "جداسازی دغدغه ها[3]" بیان میکند که هر دغدغه مربوط به سیستم نرمافزاری باید جدا از سایر دغدغهها مورد توجه قرار گیرد و به طور مجزا پیاده سازی شود. این مفهوم در رابطه با قابلیت استفاده مجدد[4] بنیادی است: اگر متن و زمینه یک سناریوی کاربری در پیادهسازی سرویس نشت کند، سرویس تنها در همان زمینه قابل استفاده مجدد خواهد بود. جنبهگرایی[5] رهیافت جالبی برای جداسازی دغدغه ها ارائه میکند و تا کنون تلاشهای تحقیقاتی آکادمیک و صنعتی مختلفی در جهت پیوند این دو مفهوم صورت گرفته است، چرا که با بکارگیری مفاهیم ارائهشده در جنبهگرایی، اکنون معماران میتوانند از نشت دغدغههای متداخل[6] در سرویسهایی که طراحی میکنند، جلوگیری کنند و این پیوند، سرویسگرایی را به چشمانداز مطلوب آن نزدیکتر می-کند، گرچه پیوند این دو مفهوم با چالشهایی نیز همراه است.  

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

    در این تحقیق، ضمن معرفی و بررسی بیشتر این چالشها، راهکارهایی برای رویارویی با آنها تحت عنوان "چارچوب مدیریت تزریق جنبهها در سرویسها" ارائه و در قالب ابزار مدیریت تزریق جنبهها در سرویسها، پیادهسازی شدهاند.

    هدف از ارائه چارچوب پیشنهادی این است که فرآیند تزریق و مدیریت رفتار جنبهها در سیستمهای سرویسگرای پیچیده را تسهیل کند.  

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

    فصل اول 

    تعریف مسأله 

    1- 1- مقدمه  

    معماری سرویس گرا چشماندازی برای آینده ارائه میکند: سیستمهایی که د ر آنها وظیفهمندیهای حرفه مانند بلاک -های لگو به هم متصل هستند و مانند قطعات قابل تعویض قابلیت جایگزینی دارند. سیستمهایی که در آنها چالشهای تجاری یکپارچهسازی بدیهی و ساده خواهد شد. در زمان طراحی برای سرویسگرایی، ایدهآل است که سرویسها یک وظیفهمندی حرفه خودمختار[7] با یک واسط و تقید[8] خوشتعریف ارائه کنند، گرچه در عمل سرویسها در زمینههای زیادی با دغدغههای متنوع یافت میشوند و در لایههای مختلف یک برنامه کاربردی و سراسر مرزهای شبکه حضور دارند. در راستای تکامل چشمانداز فوق چالشهای زیادی بروز میکند که قابلیت استفاده مجدد یکی از بنیادیترین این چالشهاست، چرا که نشت دغدغههای متداخل [18] در پیادهسازی سرویسها قابلیت استفاده مجدد از آنها را محدود میکند و سرویسهای با قابلیت استفاده مجدد محدود چشمانداز مناسبی برای سرویسگرایی ارائه نمیکنند. با بکارگیری مفاهیم ارائهشده در جنبهگرایی، اکنون معماران میتوانند از نشت دغدغههای متداخل در سرویسهایی که طراحی میکنند، جلوگیری نمایند.  

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

     

    1- 2-  محدودیتهای مدل فعلی SOA  

     

    اصل "جداسازی دغدغه ها" بیان میکند که هر بخش از یک برنامه باید یک مسئولیت تعریفشده و روشن داشته باشد [15]. این مفهوم در رابطه با قابلیت استفاده مجدد بنیادی است: اگر متن و زمینه یک سناریوی کاربری در پیادهسازی سرویس نشت کند، سرویس تنها در همان زمینه قابل استفاده مجدد خواهد بود.  

    با وجود اینکه معماری سرویسگرا روشی نوین در ساخت سیستمهای اطلاعاتی توزیع شده به شمار میرود، اما مدل فعلی SOA با محدودیتهایی نیز مواجه است. سرویسهای نرمافزاری موجود عموماً شامل اطلاعات از قبل جاسازی شده[9] هستند که این اطلاعات از محیط استقرار سرویس ناشی میشوند. برای مثال میتوان به توصیف XML[10] [2] مورد استفاده در ارتباط با سایر سرویسها اشاره کرد. این اطلاعات از قبل جاسازی شده یا سیمبندیشده[11] از به کارگیری مؤلفههای متفاوت در زمینههای خارجی دیگر جلوگیری میکند. همچنین، همانطور که در شکل 1-1 نشان داده شده است، در صورتی که از روش های متداول کنونی استفاده شود، چند عارضه ممکن است در  پیادهسازی چنین دغدغه های متداخلی  پیشبیاید. می توان این مشکلات را به طور کلی به دو دسته آمیختگی[12] و پراکندگی[13] کد تقسیم کرد [19]:   

    آمیختگی کد: واحدهای[14] مختلف برنامه ممکن است به طور هم زمان با چندین نیاز سروکار داشته باشند. مثلاً اغلب برنامه سازان همزمان درباره منطق کاری، کارایی، همزمانی، ثبت وقایع[15] و امنیت فکر  میکنند. تجمع همه  این نیازها باعث  میشود در هر بخش از برنامه قسمتی از هرکدام از این دغدغه ها پیاده سازی شوند که باعث آمیختگی کد می شود.  

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

    ثبت وقایع و امنیت مثالهایی از دغدغههای متداخل هستند و شکل 1-1 پراکندگی و آمیختگی کد مربوط به این دغدغه ها را در سرویس های x2 ،x1 و y2 نشان میدهد. همچنین با توجه به اینکه سرویس x1 از نسخه موروثی[16] توصیف XML استفاده میکند و x2 از نسخهای جدیدتر، برای مجتمع سازی[17] این دو سرویس (M1 و M2 پیامهای مبتنی بر XML هستند که برای ارتباط سرویسها استفاده شدهاند)، باید از مبدل[18] استفاده شود که این موضوع باعث آمیختگی کدهای مربوط به ثبت وقایع، امنیت و منطق مجتمعسازی در این مبدل خواهد شد.  

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

    - 3-  مزیت و چالشهای پیوند دو مفهوم  

    به منظور غلبه بر محدودیتهای ساختاری مدل فعلی SOA، نیاز به مدل SOA جدیدی است که در آن سرویسها از پروتکلها و محیط استقرار مستقل باشند. از سوی دیگر، جنبهگرایی رهیافت جالبی برای جداسازی دغدغهها ارائه می-کند. جنبه ها مکانیزمی برای سازماندهی رفتار سیستم هستند که در آن وظیفهمندی های متعامد[1] مشترک از دغدغه -های مرکزی[2] سیستم فاکتور گرفته میشوند [18]. سپس برای دستیابی به عملکرد مطلوب، جنبهها در نقاطی از برنامه اعمال میشوند. برای مثال میتوان به جنبه ثبت وقایع اشاره کرد که در زمان فراخوانی هر عملکرد یک مهر زمانی[3] را درج میکند. بنابراین انتظار میرود که رهیافت جنبهگرا در این زمینه راهگشا باشد و بتواند برای محصورسازی[4] نیازهای غیروظیفهمندی و متداخل مورد استفاده قرار گیرد.  

    اما جنبه ایدهآل باید در حالت "متعامد" با وظیفه مندی هدف[5] قرار گیرد، به این معنی که جنبه هیچ تأثیر عملکردی روی دیگر اجزای سیستم نداشته باشد [18] و مسأله دیگر این است که در منابع و متون مرتبط با معرفی مفهوم جنبهگرایی، عموماً به جنبههای معدود و خاصی اشاره میشود و این نکته به ذهن متبادر میشود که کاربرد جنبهگرایی محدود به استفاده از چند جنبه خاص و شناخته شده است، اما در سیستمهای سرویسگرای با درجه پیچیدگی بالا و مقیاس وسیع، ممکن است که نیاز به اجرای جنبههای متعدد و متنوعی باشد که این مورد نیز منجر به دشواری مدیریت فرآیند تزریق جنبهها در سرویسها خواهد شد. همچنین در بعضی موارد نیاز است که جنبهها تنها در بعضی از سرویسها تزریق شوند و بنابراین مکانیزم سادهای برای انتخاب سرویسهای هدف جنبهها مورد نیاز است و ممکن است نیاز باشد که در زمان اجرا و پس از استقرار هم مجموعه سرویسهای هدف تغییر داده شود. بنابراین با توجه به موارد مذکور مکانیزم پویایی برای انتخاب سرویسهای هدف جنبهها در هر مرحله از چرخه حیات سیستم مورد نیاز است. در بخش 3-3 از فصل سوم، این چالشها با تفصیل بیشتری مورد بحث قرار خواهند گرفت و به طور خلاصه عبارتند از:  

    نبود مکانیزمی مؤثر برای تعیین ترتیب اجرای زنجیره جنبههایی که سرویس یکسانی را هدف گرفتهاند.  

    نبود مکانیزمی مؤثر برای انتخاب و تغییر سرویسهای هدف جنبه ها به صورت پویا. 

    نبود مکانیزمی مؤثر برای فعال یا غیرفعال کردن مقطعی جنبه های تزریق شده در سرویسها. 

    نبود مکانیزمی مؤثر برای اعمال وابستگی جنبه های تزریق شده در سرویسها.  

     

    1- 4- اهداف تحقیق 

     

    اهداف تحقیق به طور خلاصه عبارتند از:  

    تزریق جنبهها به فراخوانی سرویسها به منظور افزایش قابلیت استفاده مجدد سرویس ها و جلوگیری از نشت دغدغه های متداخل و ویژگیهای وابسته به برنامه در پیاده سازی سرویسها  

    ارائه راهکارهایی در جهت مدیریت و پیکربندی مؤثر جنبههای تزریق شده به سرویسها و تسهیل فرآیند تزریق و مدیریت رفتاری جنبهها 

     

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

     نوآوری ارائهشده در این پایاننامه، ایجاد زیرساختی تحت عنوان "چارچوب مدیریت تزریق جنبهها در سرویسها" است که فرآیند مذکور را تسهیل میکند. لازم به ذکر است که برای پیادهسازی چارچوب پیشنهادی، فناوری سرویسهای وب[6] مورد استفاده قرار گرفته است و این فناوری را میتوان عینیت بخش معماری سرویس گرا دانست. در بخش 2-2-1 از فصل دوم تفاوتهای این دو مفهوم به تفصیل مورد بحث قرار گرفته است.   

     

    1- 5- مسیر تحقیق  

     

    شکل 1-2 مسیر تحقیق پیموده شده را نشان میدهد. در این مسیر ابتدا محدودیتهای معماری سرویسگرا با تکیه بر قابلیت استفاده مجدد مورد بررسی قرار گرفت و سپس مفاهیم و امکانات ارائهشده تحت عنوان جنبهگرایی، برای غلبه بر محدودیتهای ذکر شده مورد مطالعه قرار گرفت. با مطالعه قابلیتهای جنبهگرایی مشخص شد که بکارگیری این مفهوم میتواند در حذف دغدغههای متداخل و ویژگیهای وابسته به برنامه از پیادهسازی سرویسها راهگشا باشد تا استفاده از سرویسها در سایر زمینهها سادهتر شود.  

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

    - 6-  ساختار پایان نامه  

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

     

    فصل دوم

    ادبیات تحقیق 

    2-1-   مقدمه  

    معماری سرویسگرا، مدلی برای توسعه سامانههای نرم افزاری است که در آن استفاده و سازماندهی منابع گسترده، اعم از برنامه و داده به نحوی صورت میگیرد که بکارگیری این قابلیتها به شکل یکسان و با تعاریف مشخص صرف نظر از سکو ، مشخصه شئ  و دامنه  امکانپذیر میشود [3].  

    از طرف دیگر در بیشتر سیستم های نرمافزاری کنونی دغدغه های[1] مختلفی وجود دارد که بین بخش های مختلف برنامه مشترک هستند و بعضاً رابطه های پیچیده ای بین بخش های مختلف برنامه ایجاد می کنند. دغدغه هایی از قبیل امنیت، امکان ثبت وقایع و ... بخش کوچکی از این دغدغه ها را تشکیل می دهند. اگر برای  پیادهسازی  اینگونه دغدغه ها از روش های معمول برنامه سازی استفاده شود، یک سیستم پیچیده، غیر قابل فهم و غیر انعطافپذیر  بهوجود می آید.  

    با توجه به اینکه هدف اصلی این تحقیق، تسهیل تلفیق مفاهیم سرویسگرایی و جنبه گرایی در جهت بهبود قابلیت استفاده مجدد سرویسهاست، لازم است که این مفاهیم با جزئیات بیشتری معرفی و مورد بررسی قرار گیرند. با توجه به محبوبیت این دو مفهوم در حوزه توسعه سیستمهای نرمافزاری، این معرفی به این منظور انجام میشود که مزایا، قابلیتها، ویژگیهای اصلی و موارد کاربرد آنها مورد بحث قرار گیرند. در این فصل ابتدا معماری سرویسگرا معرفی شده و سپس نقش مفاهیم جنبه گرایی در واحدبندی[2] دغدغههای متداخل و حضور آن در فازهای مختلف توسعه نرم -افزار مورد بررسی قرار  میگیرد.  

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

    فهرست:

    فصل اول ........................................................................................................................... ١

    تعریف مسأله ......................................................................................................................1-1- مقدمه ................................................................................................................... ٢

    محدودیتهای مدل فعلی SOA ................................................................................ ٢

    مزیت و چالشهای پیوند دو مفهوم ............................................................................. ٤

    اهداف تحقیق ........................................................................................................ ٥

    مسیر تحقیق ......................................................................................................... ٦

    ساختار پایاننامه .................................................................................................... ٧ فصل دوم ........................................................................................................................... ٩

    ادبیات تحقیق .................................................................................................................... ٩ 2-1-  مقدمه ................................................................................................................ ١٠

    2-2-  مروری بر معماری سرویسگرا ................................................................................. ١٠

    2-2-1-  تعاریف .......................................................................................................... ١١

    2-2-2-  مفاهیم و اصول طراحی سرویسگرا ..................................................................... ١٥

    2-2-3-  مزایای معماری سرویس گرا ............................................................................... ١٨

    2-3-  معرفی مفهوم جنبهگرایی و نقش آن در توسعه نرمافزار .............................................. ٢١

    2-3-1-  دغدغه های متداخل در یک سیستم .................................................................... ٢٢

    2-3-2-  مسائل مربوط به دغدغه های متداخل .................................................................. ٢٤

    2-3-3-  نیازهای غیروظیفه مندی .................................................................................. ٢٥

    2-3-4-  مبانی برنامهسازی جنبهگرا ............................................................................... ٢٧

    2-3-5-  جنبهگرایی در فازهای تحلیل نیازها و طراحی ...................................................... ٢٨

    فصل سوم ........................................................................................................................ ٣٣ کارهای مرتبط و چالشهای پیش رو ...................................................................................... ٣٣ 3-1- مقدمه ................................................................................................................ ٣٤

    3-2- کارهای مرتبط ..................................................................................................... ٣٤

    3-2-1- استفاده از یک لایه جنبهگرا در SOA به منظور مجتمعسازی برنامههای سازمانی ......... ٣٤

    3-2-2- فراخوانی پویای سرویسهای وب با استفاده از برنامهسازی جنبهگرا ........................... ٣٦

    3-2-3- معماری برای توسعه سرویسهای وب جنبهگرا ...................................................... ٣٩

    3-2-4- ترکیب سرویس وب جنبهگرا ............................................................................. ٤٢

    3-3-  چالشهای پیش روی تلفیق سرویسگرایی و جنبهگرایی ............................................. ٤٣

    3-4- جمعبندی ........................................................................................................... ٤٦ فصل چهارم ..................................................................................................................... ٤٧

    هشت

    پیشنهاد چارچوب و ابزار مدیریت تزریق جنبهها در سرویسها .................................................. ٤٧ 4-1-  مقدمه ................................................................................................................ ٤٧

    4-2-  نیازهای غیروظیفهمندی با قابلیت جنبهشدن ............................................................ ٤٨

    4-2-1-  قابلیت تغییر و آزمون پذیری .............................................................................. ٤٨

    4-2-2-  کارایی .......................................................................................................... ٤٩

    4-2-3-  قابلیت استفاده .............................................................................................. ٥٠

    4-2-4-  امنیت ........................................................................................................... ٥١

    4-2-5-  دسترسپذیری ............................................................................................... ٥١

    4-3-  راهکار پیشنهادی: ارائه چارچوبی برای مدیریت تزریق جنبهها در سرویسها .................. ٥٢

    4-3-1-  ساختار چارچوب مدیریت تزریق جنبهها در سرویسها ........................................... ٥٢

    4-4-  معرفی ابزار مدیریت تزریق جنبهها در سرویسها ...................................................... ٥٤

    4-4-1-  ساختار ابزار ................................................................................................... ٥٥

    4-5- جمعبندی ........................................................................................................... ٦١ فصل پنجم ....................................................................................................................... ٦٢

    مطالعه موردی .................................................................................................................. ٦٢ 5 -1-  مقدمه ............................................................................................................... ٦٣

    5 -2- شاخصهای ارزیابی ............................................................................................... ٦٣

    5 -3-  معرفی محیط و سیستم ........................................................................................ ٦٤

    5 -4-  مراحل استفاده از چارچوب و ابزار .......................................................................... ٦٦

    5 -5- تحلیل نتایج مطالعه و مقایسه با سایر روشها ............................................................ ٦٩

    5 -5-1- مقایسه با روش اول .......................................................................................... ٦٩

    5 -5-2- مقایسه با روش دوم ......................................................................................... ٧٠

    5 -5-3- مقایسه با روش سوم ........................................................................................ ٧١

    5 -5-4- مقایسه با روش چهارم ...................................................................................... ٧٢

    5 -6- جمعبندی ........................................................................................................... ٧٢ فصل ششم ...................................................................................................................... ٧٤

    نتیجهگیری و جمعبندی ..................................................................................................... ٧٤ 6-1- مقدمه................................................................................................................. ٧٥

    6-2 - خلاصه تحقیق ..................................................................................................... ٧٥

    6-3- بازگشت به اهداف تحقیق ...................................................................................... ٧٦

    6-4- نتایج تحقیق ....................................................................................................... ٧٦

    6-5- اقدامات آتی ........................................................................................................ ٧٨ پیوست 1:  چگونگی تعریف و استفاده از پند در Spring.NET ................................................. ٧٩

    فهرست مقالات ارائهشده مستخرج از پایاننامه .......................................................................

    منابع و مراجع ..................................................................................................................

     

    منبع:

      

    .1 Babak Mirmobin, Fereidoon Shams, “An Aspect Management Tool to Enhance Introducing AOP to SOA”, in Proc. Of 5th CENTRAL AND EASTERN EUROPEAN SOFTWARE ENGINEERING CONFERENCE (CEE-SECR 2009),

    Moscow, 2009.  

    Erl, T., Service-Oriented Architecture: Concepts, Technology, and Design, Prentice

    Hall, 2005.   

     

    Erl, T., Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, Prentice Hall, 2004.   

     

    Zangenberg, H. and Forsberg, C., The SOA Tutorial, Gartner, Inc, 2005. 

     

    Weerawarana, S., Curbera, F., Leymann, F. and Storey, T., Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More, Prentice Hall, 2005.   

     

    Manes, A.T., Web Services: Manager's Guide, Addison-Wesley, 2003.   

     

    Knipple, R., “Service Oriented Enterprise Architecture”, MS Thesis, IT-University of Copenhagen, 2005.   

     

    Wilkes, L., The Essential Guide to Service Orientation, CBDI Forum, 2004. 

     

    Schmelzer, R., The ROI of SOA, 2005, Available:

    http://www.zapthink.com/report.html?id=ZAPFLASH-20050127     

     

    Sprott, D., SOA: An Introduction for Managers, CBDI Forum, 2004.    

     

    Wood, L., The Costs and Benefits of SOA, 2004, Available:   

    http://www.managingautomation.com/maonline/magazine/read.jspx?id=1245185

     

    Sun Microsystems, Assessing Your SOA Readiness, 2001.    

     

    Keen, M., Acharya, A., Bishop, S., Hopkins, A. and Milinski, S., Patterns:

    Implementing an SOA Using an Enterprise Service Bus, IBM Publisher, 2004.   

     

    Natis, Y.V., Service-Oriented Architecture Scenario, 2003, Available:

    http://www.gartner.com/resources/114300/114358/114358.pdf    

     

    Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice,

    Addison-Wesley, 2nd edition, 2003.     

     

    Parnas, D.L., “On the criteria to be used in decomposing systems into modules”, Communications of the ACM, vol. 15(12), pp. 1053–1058, 1972.   

     

    Stein, D., “An Aspect-Oriented Design Model Based on AspectJ and UML”, MS Thesis, University of Essen, Germany, 2002.     

    Kaewkasi, C. and Rivepiboon, W., “Aspect-Oriented Extension for Capturing Requirements in Use-Case Model”, The 15th Conference on Advanced Information Systems Engineering, CAiSE' 03, Austria, pp. 84-92, June 2003.      

     

    Clarke, S. and Baniassad, E., Aspect-Oriented Analysis and Design: The Theme Approach, Addison Wesley, 2005.     

     

    Kiczales Gregor, Lamping John, Mendhekar Anurag, Maeda Chris, Videira Lopes Cristina, Loingtier Jean-Marc and Irwin John, “Aspect-Oriented Programming”, Springer-Verlag LNCS 1241, pp. 220-242, 1997.    

     

    Foote, B. and Yoder, J., Evolution, architecture and metamorphosis: Pattern Language of Program Design 2, Addison-Wesley, 1996.   

     

    Chitchyan Ruzanna et al, Survey of Aspect-Oriented Analysis and Design Approaches, 2005, Available:  http://www.aosdeurope.net   

     

    Stein, D., Hanenberg, St. and Unland, R., “Designing Aspect-Oriented Crosscutting in UML”, AOSD-UML Workshop at AOSD' 02 Enschede, the Netherlands, pp. 65-73,

    2002.     

     

    Robillard, M. and Murphy, G., “Concern graphs: Finding and describing concerns using structural program dependencies”, International Conference on Software Engineering, pp. 406-416, 2002.   

     

    Tellander David, “Aspect Detector: A tool for automatic aspect detection in Java code”, MS Thesis, Vaxjo University, Sweden, 2005.    

     

    Baniassad, E., Clements, P., Araújo, J., Moreira, A., Rashid, A. and Tekinerdogan, B., “Discovering Early Aspects”, IEEE Software, Special Issue on Aspect-Oriented Programming, pp. 61-70, January/February 2006.     

     

    Jacobson Ivar and Pan-Wei Ng, Aspect-Oriented Software Development with Use Cases, Addison Wesley, 2004.   

     

    Araújo, J. and Moreira, A., “An Aspectual Use Case Driven Approach”, VIII Jornadas de Ingeniería de Software y Bases de Datos (JISBD), Alicante, Spain, pp. 94102, November 2003.   

     

    Araújo, J., Moreira, A., I. Brito and Rashid, A., “Aspect-Oriented Requirements with UML”, Workshop on Aspect oriented Modeling with UML, UML 2002, Dresden, Germany, pp. 55-64, October 2002.   

     

    Sousa, G., Soares, S., Borba, P. and Castro, J., “Separation of crosscutting concerns from requirements to design: Adapting the use case driven approach”, Early Aspects Workshop at AOSD 2004, pp. 96-106, March 2004.   

    Van den Berg Klaas et al, “Identification of Crosscutting in Software Design”, 8th

    International Workshop on Aspect-Oriented Modeling at AOSD'06, Bonn, Germany,  pp. 70-76, March 2006.      

     

    Induruwana, C.D., “Using an Aspect Oriented Layer in SOA for Enterprise Application Integration”, The Proceeding of the IBM Sponsored Doctorial Symposium at the 3rd International Conference on Service-Oriented Computing (ICSOC 2005), Amsterdam, the Netherlands, pp. 19-24, Dec. 2005.   

     

    Laroia, A. and Sayavedra, L., “EAI Business Drivers”, EAI Journal, Vol 2, pp. 2729, 2003.   

     

    Resendiz, M.P. and Aguirre, J.O.O, “Dynamic invocation of Web services by using aspect-oriented programming”, 2nd International Conference on Electrical and Electronics Engineering ICEEE-CIE, Mexico City, Mexico, pp. 48-51, 2005.  

     

    Bonér, J. and Vasseu, A., AspectWerkz – Plain Java AOP, Available: http://aspectwerkz.codehaus.org/    

     

    W3C, Simple Object Access Protocol (SOAP), Available:

    http://www.w3.org/TR/SOAP/    

     

    Duftler, M.J., Mukhi, N.K., Slominski, A. and Weerawarana, S., ‘Web Services Invocation Framework (WSIF)’, IBM T.J. Watson Research Center, Tech. Rep., August

    2001.    

     

    Singh, S., Grundy, J., Hosking, J. and Sun, J., “An Architecture for Developing Aspect-Oriented Web Services”, Proc. of the 3rd IEEE European Conference on Web Services (ECOWS\'05), Vaxjo, Sweden, pp. 58-68, 2005. 

     

    Grundy, J.C. and Hosking, J.G., “In Engineering plugin software components to support collaborative work”, SP&E, vol. 32, pp. 983-1013, 2002.  

     

    Singh, S., Grundy, J. and Hosking, J.,. “Developing .NET Web Service-based Applications with Aspect-Oriented Component Engineering”, AWSA’04, Australia, pp. 89-95, 2004. 

     

    Hanenberg, S., Hirschfeld, R. and Unland, R., “Morphing Aspects: Incompletely Woven Aspects and Continuous Weaving”, AOSD 04, Lancaster, UK, pp. 62-69, 2004.  

     

    Latchem, S., “Patterns for Internet development. Providing a component based technical architecture for Internet solutions”, SIGS 2000, Newdigate, UK, pp. 94-100, 2000.  

     

    Charfi, A. and Mezini, M., “Aspect-Oriented Web Service Composition with AO4BPEL”, Proc. of the 2nd European Conference on Web Services (ECOWS 2004), Erfurt, Germany, pp. 168-182, 2004.   

    D'Hondt, M. and Jonckers, V., “Hybrid Aspects for Weaving Object-Oriented Functionality and Rule-Based Knowledge”, Proceedings of the 3rd AOSD conference, Lancaster, UK, pp. 73-79, 2004.     

     

    Spring.NET application framework, Available: 

    http://www.springframework.net/  

     

    Pressman, R.S., Software Engineering: A Practitioner's Approach, Fifth Edition,

    McGraw-Hill, 2001.   

     

    Hannemann, J. and Kiczales, G., “Design pattern implementation in Java and aspectJ”, APSEC, 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA 2002), pp. 161-173, 2002.  

     

    Williams, L.G. and Smith, C.U., “PASASM: A Method for the Performance Assessment of Software Architectures”, Workshop on Software and Performance, pp. 179-188, 2002.  

     

    Banerjee, S., Mattmann, Ch. A., Medvidovic, N. and Golubchik, L., “Leveraging architectural models to inject trust into software systems”, Proc. of SESS'05, pp. 1-7, 2005.  

     

    AspectXML open source community project, Available: 

    http://www.aspectxml.org/   

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