دانلود مقاله معماری سرویس گرا با طراحی و پیاده سازی یک نمونه کاربردی

معماری سرویس گرا با طراحی و پیاده سازی یک نمونه کاربردی

قیمت :   ۱۸۹۰۰ تومان 

تعداد صفحات:

۷۰  ( هفتاد)

دسته :

کامپیوتر و IT

نوع فایل:

Word

توضیحات:

قابل ارائه جهت پروژه پایانی

دانلود مقاله معماری سرویس گرا با طراحی و پیاده سازی یک نمونه کاربردی

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

فهرست مطالب :

مقدمه

فصل ۱ : معرفی معماری سرویس گرا

۱-۱ تاریخچه معماری سرویس گرا

۲-۱ تعریف معماری سرویس گرا

۳-۱ معماری سرویس گرا مقدماتی

۴-۱ معماری سرویس گرا پیشرفته

۵-۱

۶-۱ عناصر تشکیل دهنده معماری سرویس گرا

۷-۱

۸-۱

 

فصل۲ : مفاهیم کلی سرویس گرایی

۱-۲ تعریف سرویس

۲-۲ خصوصیات اساسی جهت استفاده بهینه از سرویس‌ها

۳-۲ ویژگی سرویس ومحاسبات سرویس گرا

۴-۲ وب سرویس

۱-۴-۲ تعریف وب سرویس

۲-۴-۲ ویژگی وب سرویس

۳-۴-۲ انواع وب سرویس

۵-۲ نرم افزار به عنوان سرویس

 

فصل ۳ : کاربردهای معماری سرویس گرا

۱-۳ یکپارچه سازی سیستمهای اطلاعاتی

۲-۳ یکپارچگی اتوماسیون فرایند های ارکستریشن

۳-۳

 

فصل ۴ : پروتکل ها وابزارهای معماری سرویس گرا

۱-۴

۱-۱-۴ SOAP

۲-۱-۴ WDSL

۳-۱-۴ UDDI

۲-۴ ابزارها معماری سرویس گرا

۱-۲-۴ ORACLE

۲-۲-۴ ASP.NET

 

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

۱-۵ نشریه الکترونیکی

۲-۵ طراحی وتحلیل نشریه

۱-۲-۵ فرایند ارزیابی مقاله

۲-۲-۵ توصیف فرایند

۳-۲-۵ حاتهای ذخیره سازی

۴-۲-۵ طراحی

۱-۴-۲-۵

۲ – ۴-۲-۵ نمودارهای usecase

۳-۴-۲-۵ توصیف سرویس ها

۴-۴-۲-۵

۳-۵ پیاده سازی

۱-۳-۵ روشها وتکنولوژی مورد نیاز

۲-۳-۵

۳-۳-۵

۴-۳-۵

۵-۳-۵ برنامه کاربردی وبASP.NET

۶-۳-۵ ADO.NET

نتیجه گیری

واژه نامه

مراجع ومنابع

 

چکیده :

با پیشرفت روز افزون دنیای ITو افزایش استفاده از سیستم های توزیع شده,پیچیدگی وکارایی توسعه نرم افزار نیز تغییر کرده است.سرویس گرایی به عنوان یک دیدگاه تکاملی در تاریخ, ITکه بیشتر مفاهیم خود را ازالگو ها ودید گاه های موفق قبلی دارد,با معرفی خود توانسته ضمن حل برخی مشکلات ذاتی توسعه نرم افزار,مزایای چشم گیری را هم با خود به همراه بیاورد. سازمان ها با گرایش به اتوماسیون فعالیت های تجاری خود ,تمایل دارند تا از دیدگاهی استفاده کنند که ضمن حفظ سازگاری داده ها وقواعدشان ,بتواند با هزینه کمتر فعالیت های تجاری آنها را خود کار سازد از آنجا که قبل از ظهور سرویس گرایی ,بیشتر سازمانها از مزایای خودکار سازی فعالیت های تجاری خود به کمک دیگر دیدگاه ها بهره مند بودند ,لازم است به نحوی خود را با کاربردها وفعالیت های سازمان تطبیق کند که کمترین مشکلات وچالش ها ایجاد شود.با این وجود با اعمال SOAدر سازمان ها چالش ها وتاثیراتی ایجاد می شود که در این نوشتار به آن پرداخته نمی شود.
در این مقاله ابتدا مفاهیم وتعاریف کلی سرویس گرایی بیان می شود سپس مفهوم سرویس گرایی بسط داده می شود پروتکل ها ابزارها کاربردهای سرویس گرایی وتاثیرات آن بر روی سازمانها شرح داده میشود وسپس یک نمونه کاربردی تحت عنوان طراحی و پیاده سازی نشریه الکترونیکی با معماری سرویس گرا ارائه می شود.

کلید واژه ها : معماری،SOA،چالش های SOA،سرویس گرایی

 

معرفی معماری سرویس گرا

رهیافتی است برای ساخت سیستم های توزیع شده با (Distributed Application) که کارکردهای نرم افزاری را در قالب سرویس ارائه می کند. این سرویس ها هم توسط دیگر نرم افزارها قابل فراخوانی هستند و هم برای ساخت سرویس های جدید مورد استفاده قرارمی یرند، این رهیافت برای یکپارچه سازی فناوری ها در محیطی که انواع مختلفی از سکوهای* نرم فزاری و سخت افزاری وجود دارد ایده آل است. سرویس ها اجزای توزیع شده با رابط های تعریف شده و مشخص هستند که پیغام های XML را پردازش وتبادل می کنند. با رویکرد سرویس گرا می توان راه حل های را ارائه داد که به مرز دامنه های سازمان، شرکت یا دپارتمان محدود نیستند. با استفاده از SOA می توان در شرکتی که دارای سیستم ها و برنامه های کاربردی مختلف روی پلتفرم های متفاوت است، یک راه حل یک پارچه سازی با استقلال زیاد (loosely coupled) ساخت که جریان یکنواخت و ناهماهنگ کار را تضمین کند

معماری سرویس گرا از دیدگاه های مختلف قابل بررسی است، هر فرد یا ذینفع بر طبق جایگاه خود تصویری از این معماری دارد، در ادامه از سه دیدگاه کارشناسان حرفه، معماران و طراحان سیستم های اطلاعاتی مورد بررسی قرار می گیرد.
    کارشناسان حرفه: مجموعه ای از سرویس ها که سازمان مایل به ارائه آنها به مشتریان یا شرکاء خود است. (تعریف سرویس کسب و کار)

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

از نظر ساختار از یک ارائه دهنده سرویس و یک درخواست کننده سرویس تشکیل شده است.

طراحان و پیاده سازان: یک سبک(مدل) برنامه نویسی که از استانداردهائی مانند ( SOAP، UDDI، WSDL، ..) و فناوری هائی نظیر سرویس های وب استفاده می کند و قابلیت تعامل پذیری بین مولفه های نرم افزاری را بدون توجه به سکو و فناوری پیاده سازی آنها پشتیبانی می کند.

     ۱-۱ تاریخچه معماری سرویس گرا¹:
برای مدتهای طولانی برنامه نویسان سعی می کردند تا، کدهای خود را بصورت modular بنویسند، تا بتوان از آن در تولید نرم افزارهای دیگر استفاده کرد. تفاوت نوشتن کد بصورت modular و بر اساس معماری سرویس گرا در حجم مخاطبان آن است ، وقتی شما کد خود را به منظور قابل استفاده بودن توسط نرم افزارهای دیگر، به شکل modular می نویسید مانند این است که، یک شبکه تلویزیون کابلی درون یک ساختمان خاص دارید و بنابراین فقط ساکنین آن ساختمان می توانند از آن بهره برداری کنند. در جهان امروز طیف مخاطبانی که بالقوه می توانند از سرویس شما استفاده کنند، کل کاربران روی شبکه اینترنت است. بنابراین باید مکانیزمی بوجود می آمد، که می توانست پاسخگوی این محیط جدید (اینترنت) و کاربران آن باشد و بنابراین معماری سرویس گرا بوجود آمد. این معماری توسط دو شرکت IBM, Microsoft بوجود آمد، که هر دو شرکت طی سالهای اخیر از حامیان اصلی سرویسهای وب و عامل بسیاری از ابداعات جدید در حیطه سرویس های وب، مانند UDDI,بوده اند.

۲-۱تعریف معماری سرویس گرا

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

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

* معماری سرویس گرا روشی برای ساخت سیستمهای توزیع شده ای است که در آنها عملکرد سیستم بصورت سرویس در اختیار کاربران و یا سایر سرویسها قرار می گیرد.

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

* معماری سرویس گرا یک محصول نیست بلکه پلی است بین حرفه و فناوری به کمک از دیگرتعاریف ارائه شده می توان به “واحدهای نرم افزاری آماده در شبکه Network-available Software Unit ” یا “سرویسهای سطح حرفه (Business-level services) ” اشاره کرد.

در جمع بندی از تعاریف معماری سرویس گرا به ویژگیهای مشترک زیر می توان اشاره نمود:

– هم راستای کسب و کار سازمان است

– هم موضوعی فنی است و هم نوعی سبک تفکر است

– مبتنی بر اتصال سست است و از پیام رسانی استفاده می کند

– قادر به ساخت سیستم های ترکیبی است

– مهمترین دستاورد آن انعطاف پذیری و چابکی فناوری اطلاعات در برابر تغییرات حرفه است.

– منجر به تعامل پذیری سامانه ها/سازمانها می گردد

– امکان ارائه یک سرویس با واسطه های متنوع را محقق می سازد

– زیرساخت ارتباطی برای این معماری می بایست مستقل از پروتکل های لایه های زیرین باشد

  ۳-۱ معماری سرویس گرای مقدماتی

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

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

  ۴-۱ معماری سرویس گرای توسعه یافته

معماری سرویس گرای مقدماتی به برخی از مسائل موجود در یک معماری مبتنی بر سرویس نمی پردازد. از جمله این مسائل، مدیریت، هماهنگ سازی سرویسها ، متناسب کردن آنها ، امنیت ، مدیریت تراکنشها و … می باشد.این نکات که در شکل ۲ نمایش داده شده است ، در معماری سرویس گرای توسعه یافته در نظر گرفته شده است.

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

Service Aggregator تهیه کننده سرویسی است که سرویسهای ارائه شده توسط سایر تهیه کنندگان را یکپارچه می نماید تا از آنها سرویسهای جدید بسازد، همچنین مشخصات و کدهایی را تهیه

می کند تا در مورد سرویسهای ترکیبی عملیات زیر را انجام دهد:

* متناسب کردن : کنترل اجرای سرویسهای ترکیب شده و مدیریت گردش داده ها در بین آنها و انتقال آن به خروجی.

* کنترل کردن : مجوز دادن به رخدادها و اطلاعات تولید شده توسط سرویسهای ترکیبی جهت به اشتراک گذاشتن و منتشر کردن رخدادهای ترکیبی سطح بالاتر ( برای مثال از طریق فیلتر کردن و خلاصه سازی)

* مطابقت دادن : حصول اطمینان از حفظ جامعیت سرویسهای ترکیبی از طریق تطبیق دادن محدودیتها و نوع پارامترهای سرویسهای بکار رفته.

* ترکیب خواص سرویسها : بکارگیری ، مجتمع سازی و دسته بندی ویژگی های سرویسهای ترکیب شده. جهت بدست آوردن خواص ترکیبی جدید که دربردارنده کارایی ، هزینه ، امنیت ، جامعیت ، قیاس پذیری ، در دسترس بودن و قابلیت اطمینان می باشد.

استانداردهای جدید ارائه شده با عنوان زبان اجرای پردازشهای حرفه برای سرویسهای وب ، تلاشی است

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

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

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

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

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

   ۵-۱ ویژگی های معماری سرو یس گرا:

استفاده کننده از سرویس هیچ لزومی ندارد از جرئیات پیاده سازی سرویس در سمت سرویس دهنده مطلع باشد – محل سرویس دهنده باید از نظر استفاده کننده از سرویس پنهان باشد (در انجام امور مرتبط با استفاده از سرویس ) و تنها در زمان اجرا سرویس گیرنده از مکان سرویس دهنده آگاه خواهد شد. – نرم افزار مبتنی بر معماری سرویس گرا باید بتواند با نرم افزارهای موجود روی سایر پلتفرم ها تعامل داشته باشد. – چندین نسخه از سرویس باید بصورت همزمان در کنار هم فعالیت کنند زیرا با توجه به طیف گسترده استفده کنندگان در صورت بروزرسانی سرویس در سمت سرویس دهنده، به سرعت امکان بروزرسانی استفاده کنندگان سرویس وجود ندارد همچنین تعدادی از ویژگی هایی که هر نرم افزار، اعم از اینکه مبتنی بر این معماری باشد یا نباشد، باید داشته باشد به شرح زیر است :

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

ویژگی های معماری سرویس گرا به این شرح است:

* استفاده از استانداردهای مستقل از فناوری و مورد توافق برای ارائه مولفه های نرم افزاری تحت قالب سرویس

* معرفی کننده یک روش مشخص و مورد توافق برای تعریف و ارتباط بین مولفه های نرم افزاری

* مولفه های نرم افزاری منفرد می توانند در ساخت دیگر نرم افزارها استفاده شوند

* تقویت کننده رهیافت سرهم بندی اجزاء از قبل تعریف شده برای ساخت نرم افزارها به جای توسعه و پیاده سازی آنها

* می تواند به نرم افزاهای خارج سازمانی نیز مانند انواع داخلی آن متصل شوند.

مقایسه میان ویژگیهای معماری سرویس گرا با رهیافت های گذشته در جدول ۱، نشان داده شده است.

جدول۱-۱مقایسه معماری سرویسگرا توسعه یافته با رهیافتهای گذشته

معماری سرویس گرا رهیافتهای گذشته
ارتباطات ارزش آفرین است ارتباطات هزینه بر بود
مبتنی بر فرآیند مبتنی بر کارکرد
ساخت برای تغییر ساخت برای بقا
توسعه تدریجی تولید یکمرتبه
فدراسیون نرم افزارها نرم افزارهای تعامل ناپذیر
مستقل از سکو تک سکو
اتصال سست اتصال محکم
پیام محور شیء گرا

SOA بر اساس استفاده از اشیاء و اجزا توزیع شده است و قدم تکامل بعدی در محیط ‌های محاسبه‌ای است. این معماری در حال حاضر مدل مرجع استانداردی ندارد؛ اما پیاده‌سازی‌های موجود مفاهیم مشترکی را مورد استفاده قرار می‌دهند که در ادامه این مفاهیم پایه مورد بررسی قرار می‌گیرند.

  1. Service Oriented Architecture

(فایل کامل این پروژه ۷۰( هفتاد) صفحه word همراه با منابع و ماخذ می باشد.)

در تمامی ساعات شبانه روز >> پرداخت آنلاین و دانلود آنی فایل پس از پرداخت. 

معماری سرویس گرا با طراحی و پیاده سازی یک نمونه کاربردی

توجه مهم :

*دوست عزیز در صورت نداشتن رمز پویا یا قطع بودن درگاه بانکی ، لطفا نام پروژه درخواستی خود را جهت هماهنگی برای دریافت شماره کارت واریزی و دریافت لینک دانلود، به واتساپ پشتیبانی سایت  ۰۹۳۹۲۷۶۱۶۳۰  ارسال کنید *(از ساعت ۸ الی ۲۳)

Related posts

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *