اذهب إلى المحتوى

الإنترنت وما بعده وعلاقته بجافا


Rama Alkhayer

يمكن وصل الحواسيب مع بعضها البعض في شبكات (networks). يستطيع الحاسب على الشبكة أن يتواصل مع الحواسيب الأخرى على نفس الشبكة عبر تبادل البيانات والملفات أو إرسال واستقبال الرسائل. يمكن حتى للحواسيب على شبكة ما أن تتعاون معًا في إجراء حسابات ضخمة.

في يومنا هذا، تتصل ملايين الحواسيب في أنحاء العالم بشبكة عملاقة واحدة تدعى الإنترنت (Internet). تتصل حواسيب جديدة إلى الإنترنت في كل يوم، عبر اتصالات لاسلكية واتصالات فيزيائية باستخدام تقنيات مختلفة مثل خط المشترك الرقمي (DSL)، مودمات الكابل التلفزيوني (Cable modems) والإيثرنت (Ethernet).

هناك بروتوكولات مُفصّلة للتواصل عبر الإنترنت. يُعرّف البروتوكول ببساطة على أنه توصيف مُفصل لكيفية إجراء الاتصالات. لكي يتسنى لحاسوبين التواصل معًا أصلًا، عليهما استخدام نفس البروتوكولات. البرتوكولان الأساسيّان على شبكة الإنترنت هما بروتوكول الإنترنت IP (مختصر للعبارة Internet Protocol) والذي يوّصف كيفية نقل البيانات فيزيائيًّا من حاسب إلى آخر، وبروتوكول التحكم بالنقل TCP (مختصر للعبارة Transmission Control Protocol) والذي يضمن أنّ البيانات المرسلة باستخدام IP استُقبلت كاملةّ وخاليةً من الأخطاء. يُؤمِّن هذان البروتوكولان، واللذان يشار لهما معًا بالمصطلح TCP/IP، أساس التواصل هذا. تستخدم البروتوكولات الأخرى TCP/IP لإرسال أنواع مختلفةٍ من المعلومات مثل صفحات الويب، البريد الإلكتروني، وملفات البيانات.

تجري جميع عمليات الاتصال على شبكة الإنترنت على هيئة رُزم (packets). تتألف الرزمة من بعض البيانات المُرسلة من حاسب إلى آخر، مضافًا إليها معلومات العنونة التي تشير إلى الموضع من شبكة الإنترنت الذي يفترض أن تذهب تلك البيانات إليه. فكّر بالرزمة وكأنها ظرف بريدي يحمل العنوان ويحتوي رسالة بداخله. (تمثل الرسالة البيانات المراد إرسالها.) تتضمن الرزمة أيضًا عنوان استجابة (return address) أي عنوان المرسل. يمكن للرزمة أن تحمل كمية محدودة من البيانات فقط، ويجب تقسيم الرسائل الأطول إلى عدة رزم يتم إرسالها عندئذ على الشبكة بشكلٍ فرديّ وإعادة تجميعها عند وصولها إلى وجهتها.

يمتلك كل حاسبٍ على شبكة الإنترنت عنوان IP (أي IP address). هذا العنوان هو رقمٌ يُميّز هذا الحاسب على نحوٍ فريد عن جميع الحواسيب الأخرى على شبكة الإنترنت. (في الحقيقة، ادعاء التّفرّد هذا غير حقيقيّ كليًّا، لكن الفكرة الأساسيّة صحيحة، أما الحقيقة الكاملة فمعقّدة بعض الشيء.) يستخدم عنوان IP لعنونة الرزم. يمكن للحاسب إرسال البيانات إلى حاسب آخر على شبكة الإنترنت فقط إذا ما كان يعرف عنوان IP لذاك الأخير. نظرًا لأنّ الناس يُفضّلون استخدام الأسماء عوضًا عن الأرقام، لذا تُميّز معظم الحواسب أيضًا بأسماء تدعى أسماء النطاق (domain names). على سبيل المثال، يمتلك الحاسب الرئيسي لقسم الرياضيات في جامعة هوبارت وويليام سميث اسم النطاق math.hws.edu. (تُستخدم أسماء النطاق للسهولة فقط، ما زال حاسبك يحتاج لمعرفة عنوان IP قبل أن يستطيع التواصل. هناك حواسيب على شبكة الإنترنت مهمّتها ترجمة أسماء النطاق إلى عناوين IP. عندما تستخدم اسم نطاق، يحتاج حاسوبك إلى إرسال رسالة إلى خادم أسماء النطاق للبحث عن عنوان IP الموافق. بعدئذٍ، يستخدم حاسبك عنوان IP بدلًا من اسم النطاق، للتواصل مع الحاسب الآخر.)

يُؤمِّن الإنترنت عددًا من الخدمات للحواسيب المتصلة به (وبالطبع لمستخدمي تلك الحواسيب). تستخدم هذه الخدمات TCP/IP لإرسال أنواع مختلفة من البيانات عبر الإنترنت. من أكثر تلك الخدمات شيوعًا، الرسائل الفورية، مشاركة الملفات، البريد الإلكتروني والشبكة العنكبوتية العالمية. لكل خدمة بروتوكولاتها الخاصة التي تستخدمها للتحكم بنقل البيانات عبر الشبكة. لكلّ خدمةٍ أيضًا ما يشبه واجهة مستخدم تسمح للمستخدم بمعاينة، وإرسال، واستقبال البيانات من خلال الخدمة.

على سبيل المثال، تستخدم خدمة البريد الإلكتروني بروتوكولًا يعرف باسم بروتوكول نقل البريد البسيط (Simple Mail Transfer Protocol ويختصر إلى SMTP) لنقل رسائل البريد الإلكتروني من حاسبٍ إلى آخر. تستخدم بروتوكولات أخرى، مثل POP و IMAP، لجلب الرسائل من حساب البريد الإلكتروني ليتسنى للمستلم قراءتها. بيد أنّ الشخص الذي يستخدم البريد الإلكتروني لا يحتاج لفهم أو حتى معرفة وجود هذه البروتوكولات. وتقوم، عوضًا عن ذلك، برامج الحاسب باستخدام هذه البروتوكولات وراء الكواليس لإرسال واستقبال رسائل البريد الإلكتروني. تؤمن هذه البرامج للمستخدم واجهة مستخدم سهلة الاستخدام تخفي خلفها بروتوكولات الشبكة.

تكاد الشبكة العنكبوتية العالمية تكون أكثر خدمات الشبكة تشويقًا، إذ تسمح لك بطلب صفحات من المعلومات المُخزَّنَة على حواسيب في جميع أرجاء الإنترنت. يمكن أن تحتوي صفحة الويب على روابط لصفحات أخرى على الحاسب نفسه الذي حصلت منه على الصفحة أو على حواسيب أخرى في أي مكان من العالم. يُطلق على الحاسب الذي يخزن صفحات المعلومات هذه باسم مخدِّم أو خادم ويب (web server). يُمثّل نوعٌ من البرنامج يدعى بمتصفحات الويب (web browser) واجهة المستخدم لخدمة الويب هذه. نذكر من أكثر متصفحات الويب شعبية: Microsoft Edge، و Internet Explorer، وفايرفوكس، وكروم، وسفاري.

تستخدم متصفح الويب لطلب صفحةٍ من المعلومات. يرسل المتصفح طلبًا لتلك الصفحة إلى الحاسب الذي يختزنها، وعند استلام ردّ من ذاك الحاسب، يعرض متصفح الويب الصفحة لك في هيئة مُنسّقة ومرّتبة. متصفح الويب هو مجرد واجهة مستخدم للويب. يستخدم متصفح الويب وراء الكواليس بروتوكولًا يدعى بروتوكول نقل النصوص الفائقة HTTP (اختصارًا للعبارة HyperText Transfer Protocol) لإرسال طلب كل صفحة واستقبال الاستجابة من خادم الويب.

ليس هذا فحسب، قد تفكر الآن، هل لكل هذا علاقةٌ بجافا؟ في الحقيقة، جافا مترافقة بقوة مع شبكة الإنترنت والشبكة العنكبوتية العالمية. كان من أكبر نقاط قوة جافا في بداية صدورها هو قدرتها على كتابة البريمجات (applets). البريمج هو برنامج صغير يُرسل عبر شبكة الإنترنت ويُنفّذ على صفحة ويب. منحت البريمجات لصفحات الويب القدرة على أداء مهام معقدة وإجراء تفاعلات معقدة مع المستخدم. مع الأسف، فقد عانت البريمجات من العديد من المشاكل ومن ثم توقف استخدامها وظهرت الآن خيارات أخرى لتنفيذ البرامج على صفحات الويب.

رغم أنّ البريمجات تُمثّل جانبًا واحدًا من علاقة جافا بالإنترنت. يمكن استخدام جافا لكتابة تطبيقات معقدة مستقلة لا تعتمد على متصفح ويب. الكثير من هذه التطبيقات مرتبطة بالشبكة. على سبيل المثال، تستخدم الكثير من أكبر وأعقد مواقع الويب برمجيات خادم ويب مكتوبةً بلغة جافا. تتضمن الجافا دعمًا ممتازًا لبروتوكولات الشبكة، كما أنّ استقلالها عن المنصة يسمح بكتابة برامج شبكية تعمل على أنواع مختلفة كثيرة من الحواسيب. ستتعلم المزيد حول دعم جافا للشبكة لاحقًا من هذه السلسلة.

لا يُمثل دعم جافا للشبكة ميزتها الوحيدة. إلّا أنّ الكثير من لغات البرمجة الجيدة اندثرت بعد اختراعها بفترة وجيزة. تحلّت جافا بالحظ الوفير لتستغل شعبية الإنترنت الكثيفة والمتزايدة.

مع نضوج جافا، وصلت تطبيقاتها لمستوً يتعدى شبكة الإنترنت بكثير. تأتي النسخة المعيارية من جافا بدعم مسبق للكثير من التقنيات، كالتشفير، وضغط البيانات، ومعالجة الصوت، والرسوميات ثلاثية الأبعاد. كما كتب المبرمجون مكتبات جافا لتؤمن مقدرات إضافية.

يمكن تطوير أنظمة معقدة عالية الأداء باستخدام جافا. على سبيل المثال، هادوب (Hadoop)، وهو نظام لمعالجة البيانات على نطاق واسع، مكتوب بلغة جافا. تستخدم كل من ياهو، وفيسبوك والكثير من مواقع الويب الأخرى نظام Hadoop لمعالجة كميات البيانات الضخمة التي يولدوها مستخدمو تلك المنصات.

أبعد من ذلك، لا يقتصر استخدام جافا على الحواسيب التقليدية. يمكن استخدام جافا لكتابة برامج للهواتف الذكية (ولكن ليس لهواتف iPhone). حيث أنّ جافا هي لغة التطوير الأساسية للأجهزة التي تعمل بنظام آندرويد. (يستخدم نظام آندرويد نسخة شركة غوغل من جافا ولا يستخدم نفس مكونات واجهة المستخدم الرسومية كما في جافا المعيارية.) كما أن جافا هي لغة البرمجة المستخدمة في قارئ الكتب الإلكترونية Amazon Kindle وفي الميزات التفاعلية على أقراص الفيديو Blu-Ray.

في وقتنا هذا، تحتل جافة مرتبةً متقدمة بين أكثر لغات البرمجة شعبية وأوسعها استخدامًا. إنّها خيار جيد تقريبًا في أي مشروع برمجي يُقصد له العمل على أكثر من نوع من أجهزة الحواسيب كما أنها خيار منطقي حتى في حالة البرامج التي ستعمل على جهاز واحد. من المرجّح أنّها ما تزال لغة البرمجة الأكثر تدريسًا في الكليّات والجامعات. إنّها مشابهة لحد كبير للكثير من لغات البرمجة الشائعة، مثل C++‎ و JavaScript، و Python لدرجة أنّ معرفتك بك ستمنحك بداية جيدة لتعلم هذه اللغات أيضًا.

عمومًا، فإنّ تعلّم جافا هو نقطة انطلاق رائعة على طريقك لتصبح مبرمجًا خبيرًا. نأمل أنك ستستمتع بهذه الرحلة.

ترجمة وبتصرف للفصل The Internet and Beyond من كتاب Introduction to Programming Using Java


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...