هر فناوری به غایت پیچیده‌ای از جادو قابل تشخیص نیست.  -  آرتور سی. کلارک (Arthur C. Clarke)
اینشتین تلاش کرد نشان دهد که جهان باید توضیح ساده‌ای داشته باشد؛ چرا که خدا مستبد و دمدمی نیست. متاسفانه چنین ایمانی مایه تسلای مهندسی نرم‌افزار نیست.  -  فرد بروکس (Fred Brooks)
«ببین بابا جون. همه کلیدهای صفحه‌کلیدت رو به ترتیب حروف الفبا چیدم! بهتر نشد؟»  -  ناشناس
وظیفه اصلی یک «خطا گردان» در یک برنامه این است که خطا را از دامن برنامه‌نویس در بیاورد و به صورت کاربر پرت کند!   -   وریتی استاب (Verity Stob)
«به نظرم یکی با لگد زده به سطل آشغال ویندوزم. همه آیکون‌ها پاشیده روی روی دسک‌تاپ!   -   بیلیام (Billiam)
کامپیوتر انجام خیلی از کارها را ساده می‌کند. اما خیلی از این کارهایی که ساده شده‌اند، اصولا نیازی به انجام‌شان نیست!  -  اندی رونی (Andy Rooney)
یک ماشین می‌تواند کار پنجاه مرد عادی را انجام دهد، اما هیچ ماشینی نمی‌توانند کار یک مرد فوق‌العاده را انجام دهد.  -  البرت هوبارد (Elbert Hubbard)
اعضای مجلس دست کم دو بار از من پرسیده‌اند «آقای بابیج، اگر اعداد نادرستی وارد ماشین کنی، آیا پاسخ درست نتیجه خواهد داد؟» واقعا نمی‌فهم چه نوع اغتشاش ذهنی‌ای می‌تواند به طرح چنین سوالی منجر شود!  -  چارلز بابیج (Charles Babbage)
بد نیست شرکت‌های نرم‌افزاری، در صورتی که نرم‌افزارشان بد بود، پول مشتری را پس بدهند. هرچند که این کار احتمالا صنعت نرم‌افزار را ورشکسته خواهد کرد.  -   اندرو تننباوم (Andrew S. Tanenbaum)
یونیکس بسیار ساده است؛ فقط یک نابغه لازم است که سادگی‌اش را درک کند!  -  دنیس ریچی (Dennis Ritchie)

مترجم: سيامك پاپيرانی

 

شركت مين‌سافت (Mainsoft) در ميدان برنامه‌نويسي ميان‌بستره‌اي (cross platform) دست پیش را دارد: نرم‌افزار Visual MainWin For J2EE، اين شركت را به تنها مكان مناسب براي توليد نرم‌افزارهاي تركيبي دات‌نت (.Net) و جاوا تبديل كرده است.

محصول نرم‌افزاري شركت مين‌سافت، به نام Visual MainWin For J2EE كد نوشته شده در دات‌نت را به بايت‌كد جاوا تبديل و به اين ترتيب امكان همكاري اين دو بستره‌ي توليد نرم‌افزار را فراهم مي‌كند. اين نرم‌افزار از كتابخانه‌ي MSIL زبان‌هاي C#، VB.Net و ASP.Net استفاده و ماحصل را به بايت‌كد جاوا كامپايل مي‌كند. خروجي كار مي‌تواند روي تامكت (Tomcat) يا يك سرور برنامه (Application server) نصب و اجرا شود. در نتيجه، كد اجرايي جاواي خالص و كد اصلي و قابل نگهداري، به دات‌نت خواهد بود.

محيط برنامه‌نويسي مايكروسافت ايجاد لايه‌ي نمايش (presentation layer) را راحت‌تر و در نتيجه ASP.Net را محبوب‌تر از JSP كرده است. تعداد برنامه‌نويسان ASP.Net هم نسبت به جاوا بيشتر است. در ضمن برنامه‌نويسان مبتدي ASP.Net هم، به دليل چارچوب و محيط كاري آسان‌تر Visual Studio، سريع‌تر به بهره‌وري مي‌رسند.

code-in-net

از آن جايي كه شركت‌هاي نرم‌افزاري جاواكار، بيشتر دارايي نرم‌افزاري‌شان را بر EJB استوار كرده‌اند، به همكاري واداشتن اين دو چارچوب كار چندان ساده‌اي نيست. يك راه حل اين است كه EJB ها را درون وب‌سرويس‌ها بپيچيم (Wrap) و از وب‌سرويس‌هاي ايجاد شده در لايه‌ي نمايش دات‌نت استفاده كنيم. البته، اين كار شناسايي و مكان‌يابي دقيق مشكلات احتمالي را سخت خواهد كرد.

گرچه از ديدگاه اجرايي تركيب اين دو فناوري به همين صورت هم چندان جذاب به نظر نمي‌رسد، با اين حال تست نرم‌افزار تركيبي ايجاد شده اوضاع را پيچيده‌تر هم مي‌كند. به منظور انجام تست لايه‌ي نمايش، بايد يك مجموعه تست بين EJB و وب‌سرويس و يك مجموعه‌ي ديگر بين وب‌سرويس و دات‌نت تهيه و انجام شود، به طوري كه حدود و ثغور معين هر كدام نيز كاملا مشخص باشد. اگر از ويژوال‌ مِين‌وين استفاده نشود، اين تنها راه خواهد بود. حتي با وجود معماري سرويس‌گرا هم در ارتباط بين سرورهاي SOAP مشكل ايجاد خواهد شد. چرا كه هر سروري ممكن است ساختار داده‌ها را به گونه‌اي متفاوت تفسير كند. به دليل اين كه ساختار داده‌ها به شدت به محيط استفاده وابسته است، افرادي با دانش كافي از محيط عملياتي طرفينِ ارتباط بايد حضور داشته باشند، تا امكان داد و ستد اطلاعاتي سيستم‌ها فراهم شود. به عنوان مثال، با در اختيار گذاشتن يك DataSet در ASP.Net، برنامه‌هاي تحت جاوا قادر به استفاده از آن نخواهند بود، چرا كه جاوا قادر به خواندن فرآورده‌هاي ASP.Net نيست. اين گونه محدوديت‌ها نيز با استفاده از نرم‌افزار ويژوال‌ مِين‌وين مرتفع مي‌شود. شركت مِين‌سافت دستورالعمل‌هايي براي سريال‌سازي (serialization) داده‌ها ارايه مي‌كند، به طوري كه برنامه‌هاي جاوا داده‌هاي دات‌نت را مستقيما بخوانند. بدين ترتيب، برخي از مشكلات موجود بر سر راه پل زدن بين اين دو فناوري حل مي‌شود. با اين حال هنوز هم معضلاتي در كاربرد اين فناوري تركيبي، در برنامه‌هاي تجاري ابرسازماني (enterprise applications) وجود دارد. شركت ويژوال مِين‌سافت با ارايه‌ي يك راه حل معماري باز، بر تمام مشكلات فوق فايق مي‌آيد. اين نرم‌افزار معماران نرم‌افزار را به هيچ برنامه‌ي خاصي وابسته نمي‌كند. ضمن اين كه بايد اضافه كرد كه گرچه تبديل كد مشكلات مربوط به همكاري سيستم‌ها را نيز مرتفع مي‌سازد، ولي اين عمل معمولا هزينه‌زا است. با اين حال، ويژوال مِين‌سافت با ابزار خود اين روش را مقرون به صرفه مي‌كند.

نرم‌افزار ويژوال مِين‌سافت، از كتابخانه‌هاي C#، VB.Net و ASP.Net و بيشتر چارچوب‌هاي ديگر.Net Framework پشتيباني مي‌كند. با اين وجود، قادر به تبديل WinForms به جاوا نيست، به خاطر اين كه اصولا معادلش در آن سوي تبديل (مثلا لينوكس) وجود ندارد. بنابراين، عمل تبديل صرفا به پروژه‌هاي وب محدود مي‌شود. در ضمن، اگر از كامپوننت‌هاي غيرمايكروسافتي نيز استفاده شده باشد، بايد قبلا به جاوا كامپايل شوند تا قابل انتقال باشند. در صورتي كه كد برنامه براي كامپايل مجدد در دسترس نباشد، بايد نسخه‌ي جاواي آن خريداري يا كامپوننت مورد نظر در وب‌سرويس دات‌نت پيچيده شود. روش اخير، در بيشتر موارد كارساز مي‌باشد.

افزودني (add-on) جديد اين شركت، تحت عنوان Visual MainWin 1.8 Portal Edition امكان ارتباط دات‌نت با نرم‌افزار درگاه WebSphere شركت IBM را فراهم مي‌كند. اين افزودني در اصل كد ASP.Net است كه درون WebSphere اجرا مي‌شود. نسخه‌های ابرسازماني نرم‌افزار ويژوال‌مِين‌وين نيز با WebSphere، JBoss و BEA WebLogic ارتباط برقرار و امكان استفاده از چندين پردازنده را نيز فراهم مي‌كنند.

شماره 00