تصميم الأنظمة الموزعة والمستندة إلى الإنترنت
تغطي هذه الوحدة عملية تصميم الأنظمة الموزعة، شبكات الاتصال المحلية (LAN)، بنية الخادم/العميل، الحوسبة السحابية، البنية الموجهة للخدمات (SOA)، وإدارة مواقع الإنترنت.
Design of Internet-based Systems
This module covers the design process of distributed systems, LANs, Client/Server architectures, Cloud Computing, SOA, and Internet site management.
أهداف التعلم
- فهم كيفية تصميم الأنظمة الموزعة والمستندة إلى الإنترنت.
- التعرف على جوانب تصميم أنظمة شبكات الاتصال المحلية (LAN).
- وصف الحوسبة السحابية والاتجاهات الجديدة وتأثيراتها على أنظمة المعلومات.
- Understand designing distributed and internet systems.
- Recognize aspects of designing Local Area Network (LAN) systems.
- Describe cloud computing and new trends and their influences on Information systems.
1 تصميم الأنظمة الموزعة
1 Designing Distributed Systems
الأنظمة الموزعة هي أنظمة يتم نشرها في أكثر من موقع واحد، مما يتطلب موازنة بين الموثوقية والتوافر.
Distributed systems are deployed over multiple locations, requiring trade-offs between reliability and availability.
يركز تطوير الأنظمة الجديدة على التطبيقات المستندة إلى الإنترنت. نظرًا لأن هذه الأنظمة موزعة عبر مواقع متعددة، فإنها تتطلب مكونات أكثر (معالجات، شبكات) مما يزيد من الأماكن المحتملة لحدوث الأعطال.
عند تنفيذ التصميم، يجب توفير معلومات لكل موقع تشمل: وصف الموقع، وصف استخدام البيانات، وصف إجراءات العمل، ومقارنة البنى التحتية البديلة.
New systems development focuses on Internet-based applications. Because these systems are deployed over more than one location, they require more components (processors, networks), meaning more potential places for failure.
When implementing a design, specific information is needed for each site: Description of Site, Description of Data Usage, Description of Business Process, and Contrasts of Alternative IS Architectures.
تتأثر الموثوقية (Reliability) والتوافر (Availability) والقدرة على البقاء (Survivability) بشكل مباشر بتوزيع النظام.
زيادة المكونات تعني زيادة نقاط الفشل المحتملة (Single Points of Failure)، مما يحتم على المصممين وضع استراتيجيات للتكرار (Redundancy) وتجاوز الفشل (Failover).
Reliability, availability, and survivability are directly influenced by distribution.
More components mean more potential points of failure, forcing designers to implement redundancy and failover strategies to maintain system integrity.
لماذا تعتبر الأنظمة الموزعة أكثر عرضة للأعطال مقارنة بالأنظمة المركزية؟ Why are distributed systems more prone to failures compared to centralized systems?
لأنها تتطلب مكونات أكثر مثل المعالجات والشبكات، وكل مكون إضافي يمثل نقطة فشل محتملة جديدة.
Because they require more components like processors and networks, and each additional component represents a new potential point of failure.
2 شبكات LAN وخوادم الملفات
2 LAN Systems and File Servers
خادم الملفات هو جهاز يدير عمليات الملفات ويشاركه أجهزة العملاء في شبكة LAN، لكنه يعاني من حركة بيانات مفرطة.
A file server manages file operations and is shared by client PCs on a LAN, but suffers from excessive data movement.
تدعم شبكة المنطقة المحلية (LAN) شبكة من أجهزة الكمبيوتر الشخصية، حيث يمتلك كل جهاز مساحة تخزين خاصة به ويمكنه مشاركة الأجهزة والبرامج.
في بيئة LAN الأساسية، يتم تعيين جهاز كمبيوتر واحد على الأقل كخادم ملفات (File Server) لتخزين قواعد البيانات المشتركة. ومع ذلك، لخوادم الملفات قيود:
- حركة بيانات مفرطة (يتم إرسال الملف بأكمله للعميل)،
- الحاجة إلى محطة عمل عميل قوية لمعالجة البيانات،
- تحكم لامركزي في البيانات يتطلب إدارة الأقفال (Locks) لمنع تعارض التحديثات.
A LAN supports a network of personal computers, each with its own storage and ability to share devices/software.
Usually, at least one computer is a file server storing shared databases. However, file servers have limitations:
- Excessive data movement (entire files are sent to the client),
- The need for a powerful client workstation to process large databases,
- Decentralized data control requiring locks to manage concurrent updates.
في بنية خادم الملفات، تحدث جميع عمليات معالجة البيانات في محطة العميل.
هذا يعني أنه إذا أراد العميل البحث عن سجل واحد في قاعدة بيانات ضخمة، يجب نقل قاعدة البيانات بأكملها عبر الشبكة إلى العميل، مما يسبب اختناقاً في الشبكة (Network Bottleneck).
In a file server architecture, all data manipulation occurs at the client workstation.
If a client queries a single record in a large database, the entire file must be transferred over the network, causing severe network bottlenecks.
كيف يؤثر نقل الملف بالكامل في بنية خادم الملفات على أداء الشبكة؟ How does transferring the entire file in a file server architecture affect network performance?
يؤدي إلى استهلاك كبير لعرض النطاق الترددي (Bandwidth) وبطء في الاستجابة بسبب حركة البيانات المفرطة.
It leads to high bandwidth consumption and slow response times due to excessive data movement across the network.
3 بنية الخادم/العميل
3 Client/Server Architecture
بنية الخادم/العميل تقسم المعالجة بين العميل (واجهة المستخدم) والخادم (قاعدة البيانات)، مما يقلل من حركة مرور الشبكة.
Client/Server architecture divides processing between the client (UI) and server (database), reducing network traffic.
تعتبر بنية الخادم/العميل تحسيناً للأنظمة المستندة إلى LAN. يتم تقسيم معالجة التطبيق: محطة العميل مسؤولة عن إدارة واجهة المستخدم، بينما خادم قاعدة البيانات مسؤول عن تخزين البيانات والوصول إليها.
يتيح ذلك للشركات الاستفادة من تكنولوجيا الحواسيب الدقيقة، وتحسين أوقات الاستجابة، وتقليل حركة مرور الشبكة (حيث يتم إرسال نتيجة الطلب فقط وليس الملف بأكمله)، وتسهيل استخدام واجهات المستخدم الرسومية (GUI).
Client/server architecture is an improvement over LAN-based systems. Application processing is divided: the client workstation manages the user interface, while the database server manages storage and access.
This allows companies to leverage microcomputer technology, improve response times, reduce network traffic (only the result of the request is sent), and facilitates the use of graphical user interfaces (GUIs).
على عكس خادم الملفات، يقوم خادم قاعدة البيانات في بنية الخادم/العميل بتنفيذ الاستعلامات محلياً وإرسال السجلات المطابقة فقط عبر الشبكة.
هذا يحل مشكلة الاختناق ويوفر أماناً وتكاملاً أعلى للبيانات لأن الخادم يدير الوصول المتزامن (Concurrent Access).
Unlike a file server, the database server in a client/server model executes queries locally and sends only the matching records over the network.
This solves the bottleneck issue and provides higher data security and integrity because the server manages concurrent access.
| File Server | Client/Server | |
|---|---|---|
| المعالجةProcessing | العميل فقطClient only | العميل والخادم معاًBoth client and server |
| الوصول المتزامن للبياناتConcurrent Data Access | منخفض - يدار بواسطة كل عميلLow—managed by each client | عالي - يدار بواسطة الخادمHigh—managed by server |
| استخدام الشبكةNetwork Usage | نقل ملفات وبيانات كبيرةLarge file and data transfers | نقل بيانات فعالEfficient data transfers |
| أمان وتكامل قاعدة البياناتDatabase Security and Integrity | منخفض - يدار بواسطة كل عميلLow—managed by each client | عالي - يدار بواسطة الخادمHigh—managed by server |
| صيانة البرمجياتSoftware Maintenance | منخفض - التغييرات على الخادم فقطLow—software changes just on server | مختلط - يجب تسليم أجزاء جديدة لكل عميلMixed—some new parts must be delivered to each client |
| مرونة الأجهزة وبرمجيات النظامHardware and System Software Flexibility | العميل والخادم منفصلان ويمكن خلطهماClient and server decoupled and can be mixed | يحتاج لتنسيق أكبر بين العميل والخادمNeed for greater coordination between client and server |
لماذا تعتبر بنية الخادم/العميل أكثر أماناً من بنية خادم الملفات؟ Why is Client/Server architecture more secure than File Server architecture?
لأن الخادم يدير الوصول إلى البيانات بشكل مركزي، بدلاً من ترك إدارة التحديثات والأقفال لكل عميل على حدة.
Because the server centrally manages data access and integrity, rather than leaving lock management and updates to individual clients.
4 الحوسبة السحابية
4 Cloud Computing
توفير التطبيقات والموارد عبر الإنترنت بنظام الدفع حسب الاستخدام، مما يلغي الحاجة للاستثمار في البنية التحتية.
Provisioning applications and resources over the Internet on a pay-per-use basis, eliminating infrastructure investment.
تشير الحوسبة السحابية إلى توفير التطبيقات عبر الإنترنت حيث لا يضطر العملاء للاستثمار في الأجهزة والبرامج، بل يتم محاسبتهم على أساس الاستخدام.
خصائصها تشمل: الخدمة الذاتية عند الطلب، المرونة السريعة (Rapid Elasticity)، الوصول الواسع للشبكة، تجميع الموارد، والخدمة المقاسة.
نماذج الخدمة هي: البنية التحتية كخدمة (IaaS)، المنصة كخدمة (PaaS)، والبرمجيات كخدمة (SaaS).
معايير تقييم مزودي السحابة تشمل التوافر، الموثوقية، قابلية التوسع، الأمان، الخصوصية، والتكلفة.
Cloud computing refers to the provision of applications over the Internet where customers do not invest in hardware/software and are charged on a per-use basis.
Characteristics include: On-Demand Self-Service, Rapid Elasticity, Broad Network Access, Resource Pooling, and Measured Service.
Service models are IaaS, PaaS, and SaaS.
Evaluation criteria for providers include Availability, Reliability, Scalability, Security, Privacy, and Cost.
يمثل الانتقال إلى السحابة تحولاً من النفقات الرأسمالية (CapEx) إلى النفقات التشغيلية (OpEx).
المرونة السريعة تسمح للأنظمة بالتوسع أو الانكماش تلقائياً بناءً على الطلب، مما يحل تحديات تخزين البيانات وتكاليف الطاقة المتزايدة التي تواجهها المنظمات.
Moving to the cloud represents a shift from Capital Expenditure (CapEx) to Operational Expenditure (OpEx).
Rapid elasticity allows systems to scale up or down automatically based on demand, solving the challenges of storage bandwidth and rising energy costs faced by organizations.
كيف تساعد الحوسبة السحابية في تقليل تكاليف الطاقة للمنظمات؟ How does cloud computing help reduce energy costs for organizations?
من خلال نقل عبء تشغيل وتبريد الخوادم المادية إلى مزود الخدمة السحابية، واستخدام الموارد المشتركة بكفاءة أعلى.
By shifting the burden of running and cooling physical servers to the cloud provider, and utilizing shared resources more efficiently.
5 البنية الموجهة للخدمات (SOA)
5 Service-Oriented Architecture (SOA)
بنية برمجية تقسم إجراءات العمل إلى مكونات أو خدمات فردية يمكن إعادة استخدامها.
A software architecture that breaks down business processes into individual, reusable components or services.
البنية الموجهة للخدمات (SOA) هي بنية برمجية يتم فيها تقسيم إجراءات العمل إلى مكونات فردية (خدمات) مصممة لتحقيق النتائج المرجوة لمستهلك الخدمة.
تعتبر خدمات الويب (Web Services) النهج الأكثر شيوعاً لنشر SOA.
لتبادل البيانات، تستخدم خدمات الويب ملفات XML (لغة تتيح إنشاء علامات مخصصة لتعريف ونقل البيانات) أو JSON (نهج خفيف الوزن لتبادل البيانات يسهل على البشر فهمه وعلى أجهزة الكمبيوتر إنشاؤه).
SOA is a software architecture in which business processes are broken down into individual components (or services) designed to achieve desired results for the consumer.
Web services are the most common approach for deploying SOA.
For data exchange, web services utilize XML (allows customized tags for data definition/transmission) and JSON (a lightweight data interchange approach easy for humans to read and computers to parse).
تسمح SOA بفك الارتباط (Decoupling) بين الأنظمة.
يمكن لتطبيق واحد استدعاء خدمات متعددة (مثل خدمة معالجة البطاقة، خدمة الشحن، خدمة عرض المنتج) دون الحاجة لمعرفة كيفية تنفيذ هذه الخدمات داخلياً، مما يعزز قابلية إعادة الاستخدام والتكامل بين الأنظمة المختلفة.
SOA enables system decoupling.
A single application can invoke multiple services (e.g., Process Credit Card, Ship Product) without knowing their internal implementation. This promotes reusability and seamless integration across disparate systems.
لماذا أصبح JSON مفضلاً على XML في العديد من خدمات الويب الحديثة؟ Why has JSON become preferred over XML in many modern web services?
لأنه خفيف الوزن (Lightweight)، يستهلك نطاقاً ترددياً أقل، وأسهل في القراءة والتحليل بواسطة لغات البرمجة الحديثة.
Because it is lightweight, consumes less bandwidth, and is easier to read and parse by modern programming languages.
6 تصميم أنظمة الإنترنت واتساق الموقع
6 Designing Internet Systems & Site Consistency
يجب أن تحافظ مواقع الويب على مظهر وإحساس متسقين لتسهيل التصفح، ويتم تحقيق ذلك باستخدام CSS و XSL.
Websites must maintain a consistent look and feel to ease navigation, achieved using CSS and XSL.
يتأثر تصميم أنظمة الإنترنت بالمعايير والتطور المستمر. اتساق الموقع (المظهر والإحساس - Look and Feel) أمر أساسي لنقل صورة احترافية وتسهيل تنقل المستخدمين وتوقع معاني الروابط.
لفرض هذا الاتساق، تُستخدم حلول مثل:
- أوراق الأنماط المتتالية (CSS): مجموعة من القواعد تخبر المتصفح بكيفية عرض المستند، وتسهل صيانة الموقع بتحديث ملف واحد.
- لغة أوراق الأنماط القابلة للامتداد (XSL): طريقة أكثر تطوراً تفصل النمط عن المحتوى عند إنشاء صفحات XML، مما يسمح بعرض المحتوى بسلاسة على أجهزة مختلفة.
Internet system design is influenced by standards and ongoing evolution. Site Consistency (Look and Feel) is fundamental for a professional image, helping users navigate and anticipate links.
Solutions to enforce consistency include:
- Cascading Style Sheets (CSS): rules telling a browser how to present a document, simplifying maintenance via linked sheets.
- eXtensible Stylesheet Language (XSL): a sophisticated method separating style from content for XML pages, allowing seamless display across various client devices.
استخدام أوراق الأنماط المرتبطة (Linked Style Sheets) يعني أن تغيير عنصر تصميمي واحد في ملف CSS سينعكس فوراً على آلاف الصفحات في الموقع.
XSL يأخذ هذا المفهوم أبعد من ذلك من خلال تحويل بيانات XML الخام إلى تنسيقات محددة للأجهزة (مثل متصفح الويب، أو طابعة، أو هاتف محمول) باستخدام محول XSL.
Using linked style sheets means changing one design element in a CSS file instantly updates thousands of pages.
XSL takes this further by transforming raw XML data into device-specific formats (web browser, printer, mobile) using an XSL Transformer.
ما هو الفرق الرئيسي بين CSS و XSL؟ What is the main difference between CSS and XSL?
CSS يُستخدم لتنسيق مستندات HTML، بينما XSL يُستخدم لتحويل وتنسيق بيانات XML لعرضها على أجهزة مختلفة.
CSS is used to format HTML documents, while XSL is used to transform and format XML data for display on various devices.
7 إدارة الموقع ونظام إدارة المحتوى (CMS)
7 Site Management and CMS
تتطلب إدارة الموقع بناء الثقة، الحفاظ على الروابط للأبد، الموازنة بين الأمان وسهولة الاستخدام، واستخدام CMS لتنظيم المحتوى.
Site management requires building trust, keeping links alive forever, balancing security with usability, and using a CMS to organize content.
قضايا التصميم المتعلقة بإدارة الموقع تشمل:
- ولاء العملاء والثقة: يُبنى من خلال جودة التصميم، الإفصاح المسبق، والمحتوى المخصص.
- الروابط يجب أن تعيش للأبد: بسبب الإشارات المرجعية للعملاء، الروابط من مواقع أخرى، وإحالات محركات البحث.
- أمان النظام: النظام الآمن غالباً ما يكون أقل سهولة في الاستخدام، لذا يجب إيجاد توازن.
- إدارة محتوى الموقع: تستخدم المنظمات نظام إدارة المحتوى (CMS)، وهو تطبيق برمجي يجمع وينظم وينشر محتوى الويب من مصادر بيانات متعددة في مستودع واحد لتجنب المعلومات القديمة والتخطيطات غير المتسقة.
Design issues related to site management include:
- Customer Loyalty and Trust: built through design quality, up-front disclosure, and personalized content.
- Links Must Live Forever: due to customer bookmarks, links from other sites, and search engine referrals.
- System Security: secure systems are often less user-friendly; a balance is needed.
- Website Content Management: Organizations use a Content Management System (CMS), a software application that collects, organizes, and publishes web content from multiple sources into a single repository to prevent outdated info and inconsistent layouts.
يسمح نظام إدارة المحتوى (CMS) بفصل المحتوى عن التنسيق.
يمكن للمؤلفين المتعددين إدخال البيانات (نصوص، صور) في المستودع المركزي، ويقوم النظام تلقائياً بتطبيق القوالب (Templates) المحددة مسبقاً لضمان اتساق الموقع عند النشر.
A CMS allows content to be stored separately from its formatting.
Multiple authors can input data into a central repository, and the system automatically applies predefined templates to ensure site consistency upon publication.
لماذا يعتبر تغيير عناوين URL القديمة ممارسة سيئة في إدارة المواقع؟ Why is changing old URLs considered a bad practice in site management?
لأنه يكسر الإشارات المرجعية للمستخدمين، ويفقد الموقع الزيارات القادمة من محركات البحث والروابط الخارجية.
Because it breaks user bookmarks and loses traffic from search engine referrals and external site links.