مقاله در مورد معماري عمومي وب و روش جاوا
مقاله در مورد معماري عمومي وب و روش جاوا
معماري عمومي وب و روش جاوا
براي تشريح بهتر برنامههاي كاربردي تحت وب مدرن و امروزي،معمولا رسم بر آن است كه آن را به چهار لاية مستقل تفكيك ميكنند. (شكل يك) لاية مشتري يا clien، لايههاي مياني كه عبارتند از presentation و Business و در نهايت آخرين لايه يعني لاية داد. در مدلهاي كوچكتر معمولا لايههاي مياني در يك لايه مجتمع شده و در نتيجچه يك مدل ساده شده سه لايهاي به دست ميآيد براي تصور بهتر اين لايهها، شايد بهتر بتاشد كه فرض كنيد هر لايه بر روي يك كامپيوتر پياده سازي ميشود.
با اينن سناريو، فقط لاية مشتري يا clien در منزل و محل كار من يا شما قرار گرفته است و بقية لايهها بر روي كامپيوترهايي واقع هستند كه ممكن است صدها يا هزارها كيلومتر از ما فاصلاه داشتهباشد. حتي ممكن است كه لايههاي ديگر نيزر در كنار هم واقع شدهباشند. (هر چند كه معمولا چنين نيست.) لاية مشتري در اين مدل سازسژي همان مرورگر وب است كه بر روي كامپيوتر مشتري، صفحات وب را نشان ميدهد. در اينن لايه علاوه بر آنكه اطلاعات نمايش داده ميشوند، امكان ورود اطلاعات از طرف كاربر نيز وجود دارد و يكي از وظايف مرور گرها، انتقال اين اطلاعات جمع آوري شده و ارسال آن به لايههاي فوقاني است. معمولا براي پياده سازي لايههاي مشتري از دو روش استفاده ميشود.
در روش اول، از هوشمند بودن كامپيوتر كاربر هيچ استفادهاي نميشود. هنگامي كه كاربر اطلاعات يك فرم را تكميل ميكند و يا در خواست صفحة خاصي را ميكند (submit). كليه عمليات پردازشي در لايههاي مياني انجام شده و صفحة جديدي براي او ارسال ميگردد. اين صفحة جديد فقط ممكن است شامل يك پيام خطا باشد. به اين روش اصطلاحا Dump HTML client اطلاق ميگردد. در روش دوم از هوشمندي كامپيوتر
كاربر به خوبي استفاده ميگردد. مثلا هنگامي كه فرمي را در يك صفحة وب تكميل ميكنيم و اگر دچار اشتباه شويم، بلافاصله بدون آنكه ارتباطي بين لايههاي فوقاني برقرار گردد، كامپيوتر به شما هشدار ميدهد. مزيت روش دوم (Semi intellgent client) آشكار است. (كاربر براي هر عمليات ساده و ابتدايي نياز به انتظار كشيدن در پاي كامپيوتر خود ندارد.) اما در اين روش، مرز بين لايههاي مياني (Business و Presentation) مخدوش ميگردد براي استفاده از هوشمندي كامپيوتر مشتري، از اسكريپت نويسي به زبانهاي جاوا اسكريپت و يا (DHTML) vbscript در صفحات وب استفاده ميشود. توجه داشته باشيد كه به همين علت،، توانايي مرورگرها در اجراي دستورات، اهميت مييابد و نسخههاي 4 به بعد مرورگرهاي Netscape/IE، امروزه حداقل نيازمندي سايتهاي جديد قرار گرفتهاند.
لايه Presentation
وظيفة لاية Presentation، ارائة محتواي متغير (ديناميك) در صفحات وب است. معمولا محتواي ديناميك از يك بانك اطلاعاتي تامين ميشود (مانند اسامي كاربران Hotmail به همراه مشخصات آنان). وظيفة مهمتر اين لايه شناسايي صفحات ارسال شده از سمت مشتري (client) است.
(يعني شناسايي كاربر و انتقال اطلاعاتي كه او به لاية Business وارد كردهاست). روشهاي پياده سازي اين عمليات بر روي كامپيوتر web server، متنوع بوده و در گذشته از برنامههاي موسوم به CGI استفاده ميشدهاست. الب”ه استفاده از جاوا اسكريپت در سمت سرور نيز مدتي مورد استفاده قرار گرفت، اما روشهاي متداول امروزي عبارتند از :
استفاده از روشهاي مايكروسافت بر اساس سفحات فعال سمت سرور يا ASP با استفاده از Visual Interdev.
استفاده از راه حلهاي شركت سان بر اساس تركيب صفحات فعال جاوا (JSP) و موجوديتهايي به نام servlet ها.
در ابزارهاي ارائه شدة فوق، روشهايي براي قرار دادن محتواي ديناميك در درون صفحات HTML و همچنين تكنيكهايي براي دريافت اطلاعات ورودي كابر، در نظر گرفته شدهاند.
لايه Presentation معمولا درون برنامههاي وب سرور (نظير Apache webserver , Microsoft IISS IBM websphere و غيره) پياده سازي ميشوند. وب سرورها توانايي دريافت و اجراتي چندين در خواست از سوي برنامههاي كاربردي لايههاي ديگر و همچنان كار بران را به طور همزمان دارند. وب سرورها بر اساس آرايش اوليه (configuration) ميدانند كه در خواستهاي (requests) كاربر مشتري را بايد به كدام برنامة كاربردي (application) هدايت نمايند.
لية Business
حجم زياد از عمليات يك سايت مدرن در اين لايه، پياده سازي ميِود. اين عمليات عبارتند از :
اجراي تمام محاسبات و تاييد (validation) دادهها
مديريت جريان كار (worflow). فرض كنيد كه شما به عنوان يك كاربر Hotmail با وارد كردن نام كاربري و اسم رمز وارد سايت شدهايد، تا زماني ككه از سايت خارج نشدهايد. سايت شما راميشناسد و امكان استفاده از امكانات آن براي شما فراهم است. حضور شما تا لحظة خروج يك session يا جلسه نام دارد و مديريت
اين جلسات نيز در لاية Business انجام ميگردد.
مديريت دستيابي به اطلاعات (بانك اطلاعاتي) و ارائة آن به لاية Presention.
روشهاي پياده سازي اين لايه در كاربردهاي جديد به يكي از صورتهاي زير است :
استفاده از اشياي COM (ارائه شده توسط مايكروسافت) با استفاده از ويژوال بيسيك يا ويژوال c++ وغيره،
استفاده از اشياي متناظر شركت سان يا.EJB (Enterprise java Beans)
اصولا هرگاه نياز با ارتباط يا مبادله اطلاعات بين چند برنامة مستقل وجود داشته باشد، نام اين تكلونوژيها را خوتهيد شنيد. (در شمارات گذشته مقالاتي در اين مورد منتشر شدهاست) روشي كه قبل از ارائة راهحلهاي مايكروسافت و سان در اين مورد به كار ميرفتهاست، پيروي از مشخصههاي اشياي CORBA بوده است. اين مشخصه (CORBA) در سال 1992 ارائه شده است و قابل حل در راه حل ارائه شده توسط شركت سان و زبان جاوا ميباشد.
لايه Business معمولا درون برنامههايي موسوم به (Application sever) پياده سازي ميشوند (نظير Oracle Application server , Microsoft MTS و غيره).
اگر فعاليتهايي كه در لايههاي يكسايتكابردي انجام ميگيرند را به امور يم منزل تشبيه كنيم،كلية فعاليتهاي خانهداري بر عهدة لايةBusiness و برنامههاي Application server خواهد بود.
برنامههاي شركتهاي توليد كنندة Application server بر اساس قابليتهاي امنيتي، مقياس پذيري، قابليت اطمينان و غيره از يكديگر تفكيك ميشوند.
لايه داده
اين لايه مسئول نگهداري اطلاعات است و ميتواند شامل بانكهاي اطلاعاتي مدرن يا مجموعهاي از فايلهاي متني ساده باشد.
در كاربردهاي سادهتر ميتوان مدل چهار لايهاي شرح داده شده را به مدل كوچكتري تبديل كرد. در اين مدل كوچك شده ميتوان لايههاي Business و resentationP را در هم تركيب كرده و بروي يك وب سرور اجرا نمود.
مروري بر معماري J2EE (Java 2 Enterprise Edition)
در سالهاي اولية پيذايش جاوا (1990)، از اين زبان بيشتر به عنوان يك زبان قوي براي برنامه نويسي در سمت مشتري client ياد ميشد. بهتدريج اين زبان از اقبال عمومي در كابردهاي لايههاي مياني برخوردار گرديد و نهايتا با عرضه را حلهاي جديد EJB)و(Servlets ، شركت سان (حدود سال 200) مشخصههاي J2EE را معرفي نمود. مشخصههاي J2EE نيز چهار لايه بوده و منطبق بر مدل معرفي شده « معماري چها لايه وب » است. (شكل دو) در لايه مشتري، صفحات وب كه ميتوانند شامل جاوا اسكريپت باشند نمايش داده ميشوند. در لايه مياني resentationP، به كمك Servletها و JSP محتواي يناميك توليد ميشود. Servletها و JSP درون وب سرور اجرا ميشوند. لايه Business با استفاده از تكنولوژي EJB پياده سازي ميشود. EJB ها درون Application server اجرا شده و همان تور كه گفته شد وظايف خانه داري از قبيل انجام محاسبات، تاييد دادهها و دسترسي به بانك اطلاعاتي به يكي از روشهاي زير انجام پذير است :
استفاده از واسطه JDBC (مشابه ODBC مايكروسافت) و يا استفاده از SQLJ (مشابه SQL مايكروسافت).
در مشخصههاي ارضه شده در J2EE، براي كامپيوترهاي مشتري (client) غير وابسطه به وب نيز پيشبيني هايي انجام شده است. براي دسترسي كامپيوترهاي مشتري به لاية Business (مثلا تحت شبكة LAN كه IIOP cilent نام گذاري شدهاند) توابع دسترسي از راه دور نام RMIAPI عرضه شدهاست.
Servelt چيست؟
CGI يكي از اولين روشهايي بود كه براي توليد صفحات وب با محتواي ديناميك مورد استفاده قرار ميگرفت. به مرور زمان روشهاي جديدتري نيز براي اين منظور، عرضه شد. همانطور كه ذكر شد، مايكروسافت تكنيك ASP را عرضه نمود و پس از زمان كوتاهي JSP از طرف سان ارائه گشت. اما قبل از آن شركت سان در سال 1997، Servletها را معرفي كرده بود.
Servletها به عنوان جايگزيني براي اسكريپتهاي CGI، (درون ماشين مجازي جاوا يعني JVM ) Servletها برخلاف اپلتهاي جاوا نيازي به پشتيباني مرورگر از جاوا ندارند و تقريبا بر روي تمام وب سروها (به صورت مستقيم و يا با استفاده از plug-inها) قابل اجرا هستند. servlet ها قابليت دريافت اطلاعات دريافنژت شده از كاربر و كوكيها و غيره را دارند. servlet ها قابليت دسترسي مستقيم به بانكهاي اطلاعاتي (در مدلهاي ساده معماري وب) و يا دسترسي به داده از طريق EJB (در مدلهاي كاملتر) را دارند.
به عنوان مثالي از يك servlet به قطعه كد – در كادر پايين – توجه نماييد. اين قطعه يك صفحة وب با عبارت “ Welcome bake username” توليد ميكند كه در اين عبارت username نام كاربر فعلي است.
JSP
همانطور كه ديده ميشود، استفادة مكرر و اجباري از عبارت out.printh() در servletها، نميتوانست در برابر راه حل سر راستتر مايكروسافت (ASP) ايستادگي نمايد. اين موضوع شركت سان را بر آن داشت تا در سال 1999، JSP را معرفي نمايد. قطعه كد نشان داده شده در بخش دوم همان كار servlet نمونة ما را انجام ميدهد و حجم آن بسيار كوچكتر است. واقعيت
آن است كه عبارت « %%» در JSP بر روي وب سرور به servlet ترجمه ميشوند.
EJB
تا قبل از سال 1996، تكنولوژي جاوا محدود به اجرا در سمت مشتري clint بوده است، اما شركت سان با معرفي قطعات كد قابل استفاده مكرر به نامJava Bean در اين سال همچنان با رقابت با مايكروسافت ادامه داد. (در همان سالها نيز مايكروسافت تكنولوژي COM را پايه گذار نمود) يك Java Bean كه رابط گرافيكي نداشته باشد ميتواند كلية وظايف لاية Business را بر عهده گيرد.
اين Java Bean ميتواند از درون Servlet يا يك صفحة JSP فراخواني شود. اما با پيچيدهتر شدن كاربردهاي اينترنت و پيدايش مدل چهار لايه، لازم شد تا Java Beanها بر روي كامپيوترهاي جداگانه (Application server) اجرا شوند. به اين منظور سان EJBها را عرضه كرد EJBها برخلاف Java Bean هاي معمولي همواره بدون واسطة گرافيكي هستند و ميتوانند از راه دور به خدمت گرفته شوند. اين برنامهها، برنامههاب كاربردي توزيع شده نام دارند.
سرزمين جاوا
يكي از دلايل شهرت شركت سان مايكروسيستمز ارائه و توسيعة پلافرم جاوا (Java Platform) است كه در قلب آن زبان برنامه نويسي جاوا قرار دارد. مهمترين نكته اي كه در ارتباط با جاوا بايد دانست، اين است كه جاوا تنها يك زبان برنامه نويسي مانند C++ نيست، بلكه يك فنآوري كامل و جامع است كه تقريبا براي هر مسالهاي كه در دنيايه شبكه و اينارنت وجود دارد راه حلي دارد. اغلب افرادي كه نسبت به جاوا مبتدي هستند مرتكب همين اشتبها ميشوند و چون زبان برنامه نويسي حاوا همچون زبان مادري خود C++، “سبت به
زبانهايي مثل بيسيك كمي پيچيده به نظر ميرسد، خيلي زود ممكن است از آن خسته و دلزده شوند ولي اگر به جاوا به چشم يك فنآور پيشرفته نگاه كنيم آنگاه زبان برنامه نويسي جاوا شيرين و جذاب به نظر خواهد رسيد خصوصا كه زبان جاوا نسبت به فنآوري جاوا يك موضوع جنبي ديده ميشود در حقيقت زبان جاوا ابزار عينيت بخشيدن به تفكر حاكم بر فنآوري جاوا و راه حلهاي آن است.
پروژة سبز
اوايل سال 1991 ميلادي گكروهي از متخصصان سان ؤپروژهاي به نام Green Project را
آغاز كردند. هدف اين پروژه كه تا نهايي شده نتيجة آن مخفي ماند، يافتن پاسخ اين سوال بود كه «موج بعدي» جهان كامپيوتر (در آن سالها) چه خواهد بود و چگونه ميتوان بر آن مسلط شد؟ تيم نخستين پروژة سبز متشكل از جميز گاسلينگ، مايم شريدان و پاتريك ناگتون خيلي زود به اين نتيجه رسيدند كه دست كم يكي از تحولات مهم آينده آميزش و تركيب شدن كامپيوترها و وسايل ديجيتالي مصرفي و خانگي (Digital Consumer Devices) خواهد بود. به عبارت ساده تر تكنولوژي به سمتي خواهد رفت كه اين دوگروه از ابزارها با هم تلفيق شوند و در نتيجه محصولات جديدي پديد آيد كه هم كامپيوتر باشند و هم مصارف عمومي و يا خانگي داشته باشند. اكنون سوال اين بود كه اعضاي گروه سبز بايد چه ميكردند؟ پاسخ را از روي هميشگي سان اقتباس كردند : « وسيلة جديدي بسازيم و تخيلات خود را جامة عمل بپوشانيم » سر انجام پس از حدود يك سال و اندي كار تلاش پيوسته يك وسيلة ديجيتالي بر اساس پردازندة SPARC ساخته شد ككه STAR7 (يا به اختصار*7) ناميده شد Star 7 يك PDA دستي و بي سيم بود.
PDAها (Personal Digital Assistant يا دستيار ديجيتالي شخصي) ابزارهايي شبه رايانهاي هستند كه ميتوان آنان را چيزي بين ماشين حسابهاي پيشرفته و رايانههاي روميزي دانست و معمولا صفحة مانيتور كوچكي دارند كه ابعاد آن حدودا به اندازةيك كف دست است. Star 7 در نوع خود كم نظير بود و پيشرفته ترين امكانات آن روز را داشت. تيم سازندة 7 اعضاي گروه كوشيدند براي اين محصول در بازار صنايع تلويزييوني و ويدئويي جايي باز كنند اما در بازاريابي موفق نشدند. اين ناكامي سبب شد تا به دنبال بازارهاي ديگري بگردند. « اينترنت » چيزي بود كه ناگهان به اهميت آن پي بردند. فن آوري استفاده شده در *7 و زبانن Oak به گونهاي بود مه ميتوانست براي انتقال محتواي صوتي و تصويري از طريق اينترنت مورد استفاده قرار گيرد.«بيعتا اولين چيزي كه جلب توجه ميكرد صفحات وب و فايلهاي HTML بود به به اين ترتيب زبان جاوا بوجود آمد. هدف نخستين جاوا اين بود كه از طريق اپلتهاي جاوا، تصاوير گرافيكي و انيميشن را در صفحات ايستا و بي روح HTML به حركت و پويايي وادار كند. مروگر HotJava كه در سال 1994 معرفي گرديد براي تحقق همين ايده ساخته شد و خيلي زود زبان و فن آوري جاوا محبوبيت پيدا كرد.
اوايل سال 1995 نخستين مجموعة كد سورس حاوا (نسخة 1.Oa2) بر روي اينترنت قرار گرفت. بلافاصله پس از انتشار رايگان سورس جاوا در دنيا چيزي بالغ بر 10 هزار نفر برنامه نويس مشتاق آن را دريافت كردند و به اين ترتيب انقلاتب جاوا آغاز شد.
جاوانويس، جاوايي فكر كن، جاوابنوش !
مدير عامل سان، اسكات مك نيلي ميگويد : « پلاتفرم جاوا تمام API ها و زبانهاي برنامه نويسي ديگر را پشت سر گذاشت. امروزه جاوا زبان برنامه نويسي، پلاتفرم و معماري
دنيايه شبكه هاي رايانه اي است » در حقيقت جاوا جهاني است كه با آن بايد بر اساس تفكر و معماري جاواييي و با استفاده از ابزارهاي برنامه نويسي جاوا براي محيط و پلاتفرم جاوا فعاليت كد.
جدول 1 به طور خلاصه عناصر كليدي دنيايه جاوا را نشان ميدهد.
شكل 1 مربوط به گزارش شركت IDC در مورد وضعيت بازار محصولات سان در زمينة اينترنت و شبكه است. به ادعاي IDC، 51 درصد بازار برنامه نويسي در اختيار جاوا و فن آوري مرتبط با آن است و چيزي حدود 5/2 ميليون برنامه نويس در سراسر جهان به كار با اين فن آوري مشغولند.
اين موضوع نشان دهندة آن است كه با وجود حضور گستردة ساير فن آوري هاي مرتبط با اينترنت (از جمله پلاتفرم مايكروسافت و زبان C++ وVB) هنوز صنعت اطلاعات اعتماد بيشتري به پلاتفرم جاوا دارد. جديدترين نسخة پلاتفرم جاوا (Java 2 Enterprise J2EE EdItion است كه سورس كد آن (SDK) قابل اجرا بر روي پلاتفرم ويندوز 98 مايكروسافت نيست اولين بار در سال 1999 معرفي شد و كماكن محوري ترين بخش فن آوري جاوا است. از ميان مهمترين شاخههاي فن آوري جاوا ميتوان به خود زبان جاوا اشاره كرد در اين زمينه جاوا اشاره كرد در اين زمينه جاوا از زبان رقب خود يعني VC++موفقتر است و سهم بيتري را نسيب خود كردهاست.
J++محصول ناكامي است كه شركت مايكروسافت به تقليد از نسخة اصلي جاوا آن را پياده سازي كرد و پس از ماجراي دادگاه مايكروسافت آن را ادامه نداد اما در عين حال زبان برنامه نويسي جديدي را ابداع كرد به نام C# (سي شارپ) كه بسيار شبيه زبان جاوا است و تقريبا همان قابليتها را دارد. C# هنوز خردسال است و بسيار زود است كه در مورد آن قضاوت كنيم ولي بعيد است بتواند در جذب
فایل : 19 صفحه
فرمت : Word
- کاربر گرامی، در این وب سایت تا حد امکان سعی کرده ایم تمام مقالات را با نام پدیدآورندگان آن منتشر کنیم، لذا خواهشمندیم در صورتی که به هر دلیلی تمایلی به انتشار مقاله خود در ارتیکل فارسی را ندارید با ما در تماس باشید تا در اسرع وقت نسبت به پیگیری موضوع اقدام کنیم.