تبادل اطلاعات بین شرکت های دنیا روز به روز در حال افزایش است. در نتیجه تعداد برنامه هاییی که باید با یکدیگر یکپارچه شوند نیز در همچنین حال افزایش است. Interface ها از تکنولوژی ها، پروتکل ها و فرمت های داده ای گوناگونی استفاده می کنند. با این اوصاف، یکپارچه سازی برنامه های کاربردی باید با یک راه و روش استاندارد، موثر ضمن پشتیبانی از آزمون های خودکار مدل شوند.
فریم ورک های یکپارچه سازی در محیط JVM در دسترس هستند که هر کدام نیازمندی های این امر را برآورده می کنند:
هر یک از این فریم ورک ها الگوهای یکپارچه سازی برنامه های اینترپرایز را پیاده سازی کرده اندو به همین دلیل برای استاندارد سازی و ... به منظور یکپارچه سازی توصیه می شوند.
این فریم ورک ها می توانند بروی تمام برنامه های محیط JVM به کار گرفته شوند - مهم نیست کدام تکنولوژی، پروتکل انتقال یا قالب و فرمت داده ای استفاده شود. تمام پروژه های یکپارچه سازی می توانند در یک روش و راه مستحکم تولید شوند.
در این مقاله قصد دارم بر اساس بخشی از مطالعات و نظرات فردی ام به مقایسه این فریم ورک ها بپردازم که بر اساس شاخص های زیر به عنوان نمونه شما هم می توانید مقایسه و نظر شخصی خود را داشته باشید.
اگر شما می دانید یکی از این فریم ورک ها را بشناسید، شما می توانید سایر این دسته از فریم ورک ها را به آسانی فرا بگیرید چراکه در تمام آنها مفاهیم و ویژگی های مشترک زیادی وجود دارد. تفاوت این فریم ورک ها در تعداد ابزارهای قابل پشتیبانی و DSL مورد استفاده شان است. به همین دلیل تمرکز ما به طور ویژه بروی همین دو شاخص در امر مقایسه فریم ورک ها خواهد بود.
لطفا به کد ها و پیاده سازی های زیر در هر یک از این فریم ورک ها دقت کنید.
در این فریم ورک یکپارچه سازی با استفاده از کد های فراوان XML انجام میشود و ابزار های ساده ای را مانند موارد زیر پشتیبانی میکند.
File, FTP, JMS, TCP, HTTP or Web Services
قطعه کد زیر یک مثال حد اقلی برای یکپارچه سازی با استفاده از این فریم ورک است. البته شما میتوانید برای بعضی از ابزارهای اشاره شده از annotaion ها نیز استفاده کنید اما در آخر به فایل XML اختصاصی این فریم ورک نیاز داریم. البته به نظر من بهتر بود از یک DSL برای این کار استفاده میشد. من در مورد این فریم ورک می توانم بگویم که برای پروژه های موجود از جنس SPRING با ابزارهای ساده اشاره شده بهتر است استفاده کنید. هر چند خودم از طرفداران متعصب مجموعه Springهستم.
:(
Mule ESB
همانطور که مشخص است می توانید از این فریم ورک برای یک ESB تمام عیار استفاده کنید، اما با این وجود می توانید از این فریم ورک به شکل سبک و ساده نیز همچنان استفاده نمایید. با اینکه این فریم ورک هم مانند Spring Integration از XML برای این یکپارچه سازی استفاده می کند اما به نظر من خوانایی بیشتری را به نسبت آن دارد. ابزار Mule Studio نیز کار را برای انجام یکپارچه سازی نیز بسیار راحت کرده است.
البته لازم بذکر است که این فریم ورک connector های اختصاصی برای اینترفیس های زیر ارائه کرده است.
راستی برای تکمیل اطلاعات پیشنهاد میکنم در خصوص این فریم ورک به سایت زیر هم سر بزنید.
http://blogs.mulesoft.org/osgi-no-thanks/
این فریم ورک که توسط غول بزرگ فریم ورک ها یعنی Apacheطراحی و تولید شده از فریم ورک Mule شناخته شده تر است و شرکت های بیشتر در مورد مسیله یکپارچه سازی به سراغ آن میروند. به طور قطع برای هر ابزاری که فکرشو کنید می توانید از این فریم ورک برای مسیله جاری استفاده کنیم. اگر ابزار یا کامپوننت مورد نظر خودتون رو در این فریم ورک پیدا نکردید می تونید به سادگی خودتون اون رو ایجاد کنید.
خوانایی قابل قبول، ابزار بصری طراحی سناریوهای لازم که توسط FuseSource برای تولید XML مورد نیاز طرح یکپارچه سازی به کار میرود همگی از نقاط قدرت این فریم ورک هستند. اما جالب انگیز ترین مطلب در خصوص مقایسه این فریم ورک بیان این نکته است که شما میتوانید از JAVA, Groovy, Scala نیز به جای XMLاستفاده کنید.
شاد باشین دوستان عزیزم و برای پیدا کردن سوالات برنامه نویسی و چند تا حوزه دیگه رو کمک من در کانال واتس آپ بنده حساب کنید.
;)
https://chat.whatsapp.com/DmERbiw3rVU42I9uELlMgR
دوستدار شما عزیزان حامد سهامی