Design: Distributed & Internet Systems التصميم: النظم الموزعة وشبكات الإنترنت

Moving from monolithic systems to distributed architectures. LANs, Client/Server, Cloud Computing, and SOA. الانتقال من الأنظمة الأحادية (Monolithic) إلى البنى الموزعة. LANs، Client/Server، الحوسبة السحابية، و SOA.

LAN vs WAN LAN vs WAN Client/Server Client/Server Cloud Computing الحوسبة السحابية Middleware البرمجيات الوسيطة SOA SOA

Designing LAN Systems تصميم أنظمة LAN

Local Area Networks (LANs) support workgroups. The design typically involves sharing resources (printers, databases) efficiently. تدعم الشبكات المحلية (LANs) مجموعات العمل. يتضمن التصميم عادةً مشاركة الموارد (الطابعات، قواعد البيانات) بكفاءة.

File Server Model نموذج خادم الملفات (File Server)

The client requests a file, and the entire file is sent to the client for processing. يطلب العميل ملفاً، ويتم إرسال الملف بالكامل إلى العميل للمعالجة.

  • High network traffic. حركة مرور عالية في الشبكة.
  • Client needs high processing power (Fat Client). يحتاج العميل إلى قوة معالجة عالية (Fat Client).
  • Data integrity issues (concurrent updates). مشاكل تكامل البيانات (تحديثات متزامنة).

Client/Server Model نموذج العميل/الخادم (Client/Server)

The client requests data, the server processes the request (e.g., SQL query) and sends back only the result. يطلب العميل البيانات، يقوم الخادم بمعالجة الطلب (مثل استعلام SQL) ويرسل النتيجة فقط.

  • Lower network traffic. حركة مرور أقل في الشبكة.
  • Processing is distributed. المعالجة موزعة.
  • Better data integrity (DBMS handles locking). تكامل بيانات أفضل (DBMS يدير الأقفال).

Advanced Architectures البنى المتقدمة

Three-Tier Architecture البنية ثلاثية الطبقات (Three-Tier Architecture)

Separating the application logic from the data and the user interface. فصل منطق التطبيق عن البيانات وواجهة المستخدم.

1. Presentation Tier 1. طبقة العرض
(Client/Browser) (العميل/المتصفح)
2. Application Tier 2. طبقة التطبيق
(Business Logic/Web Server) (منطق العمل/خادم الويب)
3. Data Tier 3. طبقة البيانات
(Database Server) (خادم قاعدة البيانات)

Cloud Computing الحوسبة السحابية (Cloud Computing)

Provisioning computing resources (hardware, software) over the internet on-demand. توفير موارد الحوسبة (الأجهزة، البرمجيات) عبر الإنترنت عند الطلب.

IaaS Infrastructure as a Service. (Hardware, Storage, Network). e.g., AWS EC2. البنية التحتية كخدمة. (الأجهزة، التخزين، الشبكة).
PaaS Platform as a Service. (OS, Runtime, Middleware). e.g., Google App Engine. المنصة كخدمة. (نظام التشغيل، بيئة التشغيل، البرمجيات الوسيطة).
SaaS Software as a Service. (Applications). e.g., Salesforce, Gmail. البرمجيات كخدمة. (التطبيقات). مثل Gmail.

Designing Internet Systems تصميم أنظمة الإنترنت

Standards المعايير (Standards)

  • BPEL: Business Process Execution Language.
  • SOAP: Simple Object Access Protocol (XML based).
  • XML: Extensible Markup Language (Data structure).

Key Issues قضايا رئيسية

  • Security:الأمان: Balancing ease of use with protection. الموازنة بين سهولة الاستخدام والحماية.
  • Performance:الأداء: Variable connection speeds. سرعات اتصال متغيرة.
  • Integration:التكامل: Combining legacy data with new web apps. دمج البيانات القديمة مع تطبيقات الويب الجديدة.

Content Management Systems (CMS) أنظمة إدارة المحتوى (CMS)

Software that collects, organizes, and publishes website content. It separates the content (text/images stored in DB) from the presentation (templates). This allows non-technical users to update sites without knowing HTML. برمجيات تجمع وتنظم وتنشر محتوى الموقع. تفصل المحتوى (النصوص/الصور المخزنة في قاعدة البيانات) عن العرض (القوالب). يتيح ذلك للمستخدمين غير التقنيين تحديث المواقع دون معرفة HTML.

Service-Oriented Architecture (SOA) البنية الموجهة للخدمات (SOA)

SOA (Service-Oriented Architecture) SOA (البنية الموجهة للخدمات)

Business processes broken down into individual Services. عمليات تجارية مقسمة إلى Services فردية.

  • Reusability:قابلية إعادة الاستخدام: A "Check Credit" service can be used by Sales, Finance, and Web Store. خدمة "التحقق من الرصيد" يمكن استخدامها من قبل المبيعات، المالية، والمتجر الإلكتروني.
  • Interoperability:قابلية التشغيل البيني: Services communicate via standard protocols (like XML/SOAP), regardless of the language they were written in. تتواصل الخدمات عبر بروتوكولات قياسية (مثل XML/SOAP)، بغض النظر عن لغة برمجتها.
  • Componentization:التركيب: Build systems like Lego blocks. بناء الأنظمة مثل مكعبات الليغو.

The Exam Vault خزنة الاختبارات

Professor's Secrets & Trap Avoidance أسرار البروفيسور وتجنب الفخاخ

TRAP: File Server vs Client/Server فخ: File Server vs Client/Server

File Server: Sends the *whole file* to the client. Processing happens on the Client. (Bad for big data).
Client/Server: Server processes the query and sends *only results*. Processing happens on the Server. (Good for big data).
File Server: يرسل *الملف بالكامل* للعميل. المعالجة تتم عند العميل. (سيء للبيانات الضخمة).
Client/Server: يعالج الخادم الاستعلام ويرسل *النتائج فقط*. المعالجة تتم في الخادم. (جيد للبيانات الضخمة).

TRAP: Fat vs Thin Client فخ: Fat vs Thin Client

Fat Client: PC does most of the processing (Presentation + Logic). Server just holds data.
Thin Client: PC only does Presentation (UI). Server does Logic + Data. (Easier to update software).
Fat Client (العميل الثري): الحاسوب الشخصي يقوم بمعظم المعالجة (العرض + المنطق). الخادم يحفظ البيانات فقط.
Thin Client (العميل النحيف): الحاسوب الشخصي يقوم بالعرض فقط (UI). الخادم يقوم بالمنطق + البيانات. (أسهل في تحديث البرمجيات).

SECRET: Middleware سر: Middleware (البرمجيات الوسيطة)

Middleware is the "glue" that allows disparate systems to talk. It sits between the OS and the Application.
Example: ODBC/JDBC allows a Java program to talk to an Oracle Database without knowing Oracle-specific commands.
الـ Middleware هو "الغراء" الذي يسمح للأنظمة المتباينة بالتحدث. يقع بين نظام التشغيل والتطبيق.
مثال: ODBC/JDBC يسمح لبرنامج Java بالتحدث مع قاعدة بيانات Oracle دون معرفة أوامر Oracle الخاصة.

KEY CONCEPT: SOA Benefits مفهوم أساسي: فوائد SOA

Why SOA? It decouples systems. If you change the "Credit Check" code, you don't break the Sales System, as long as the Service Interface (Input/Output) stays the same. لماذا SOA؟ لأنها تفصل الأنظمة (Decouples). إذا غيرت كود "التحقق من الرصيد"، فلن تعطل نظام المبيعات، طالما بقيت واجهة الخدمة (المدخلات/المخرجات) كما هي.