اليوم، مع التطور السريع لصناعة المعلومات، سوف تصبح المنافسة بين الشركات أكثر حدة. مع التوسع المستمر في الحجم والتحديث المستمر للأعمال، تحتاج المؤسسات بشكل عاجل إلى حلول موزعة كاملة لإدارة البيئات المعقدة غير المتجانسة وتحقيق التكامل الكامل بين الأجهزة المختلفة وأنظمة البرامج وبيئات الشبكات وأنظمة قواعد البيانات.
طوال تاريخ تطور أجهزة الكمبيوتر البشرية، خضعت صناعة المعلومات لتغيرات دورية كل عشرة إلى خمسة عشر عامًا، من عام 1950 إلى عام 1970، اعتمدت المؤسسات بشكل أساسي بنية الحواسيب المركزية الطرفية، في حين اعتمدت أنظمة تطبيقات المؤسسات على تزويد المستخدمين بخدمات مشاركة الموارد في نظام واحد. ، بطريقة مركزية. في أوائل الثمانينيات، تم اعتماد الأنظمة المفتوحة وأنظمة إدارة قواعد البيانات العلائقية على نطاق واسع من قبل المؤسسات، على عكس الأنظمة المركزية، كان منطق التطبيق مشتتًا بين الأطراف الرئيسية والتابعة. مع شعبية نظام التشغيل Windows، كانت فترة التسعينيات عصر التطبيقات الرسومية، كما تم اعتماد بنية العميل/الخادم على نطاق واسع. في أواخر التسعينيات، ظهرت تكنولوجيا الكائنات الموزعة في صناعة المعلومات، ويمكن توزيع التطبيقات على منصات أنظمة مختلفة، ويمكن تحقيق التواصل المتبادل للأشياء بين المنصات غير المتجانسة من خلال التكنولوجيا الموزعة. يمكن أن يؤدي دمج أنظمة المؤسسة الحالية في الأنظمة الموزعة إلى تحسين قابلية التوسع لأنظمة تطبيقات المؤسسة بشكل كبير. أدى ظهور التطبيقات الموزعة متعددة المستويات في أواخر التسعينيات إلى تمهيد الطريق أمام المؤسسات لزيادة تبسيط تطوير أنظمة التطبيقات.
في بنية العميل/الخادم التقليدية، يتم عادةً توزيع منطق التطبيق بين العميل والخادم. يصدر العميل طلب الوصول إلى مورد البيانات، ويعيد الخادم النتائج إلى العميل. عيب بنية العميل/الخادم هو أنه عندما يزيد عدد العملاء، سينخفض أداء الخادم بشكل كبير بسبب عدم إمكانية إجراء موازنة التحميل. بمجرد تغيير متطلبات التطبيق، يجب تعديل كل من تطبيقات العميل والخادم، مما يسبب إزعاجًا كبيرًا لصيانة التطبيق وترقيته، كما يؤدي نقل كميات كبيرة من البيانات إلى زيادة الحمل على الشبكة. من أجل حل مشاكل العميل/الخادم، يمكن للمؤسسات فقط التحول إلى التطبيقات الموزعة متعددة الطبقات.
في التطبيق الموزع متعدد الطبقات، يمكن إضافة طبقة واحدة أو أكثر من برامج خدمة التطبيق بين العميل والخادم. ويسمى هذا البرنامج "خادم التطبيقات". يمكن للمطورين وضع منطق الأعمال لتطبيقات المؤسسة على خادم الطبقة المتوسطة بدلاً من العميل، وبالتالي عزل منطق الأعمال الخاص بالتطبيق عن واجهة المستخدم وتزويد المستخدمين بتطبيق رفيع (رفيع) مع ضمان وظائف العميل. ) الواجهة. وهذا يعني أنه إذا كانت هناك حاجة إلى تعديل كود التطبيق، فيمكن القيام بذلك في مكان واحد (على خادم الطبقة المتوسطة) بدلاً من آلاف تطبيقات العميل. يتيح ذلك للمطورين التركيز على تحليل وتصميم وتطوير منطق الأعمال الأساسي لنظام التطبيق، وتبسيط تطوير وتحديث وترقية أنظمة المؤسسة، ويعزز بشكل كبير قابلية التوسع والمرونة لتطبيقات المؤسسة.
عندما تحتاج المؤسسات إلى إنشاء أنظمة تطبيقات تجارية قائمة على الويب، توفر البنية الموزعة متعددة الطبقات أيضًا مزايا قوية، مما يوفر بنية "عميل رفيع" للتطبيقات التجارية القائمة على الويب، مما يسمح للعملاء القائمين على المتصفح بالتواصل مع موارد الإنترانت بشكل فعال التفاعل دون الحاجة إلى عمل تكوين تطبيق معقد من جانب العميل. تعمل الحلول الموزعة متعددة المستويات على بناء الجسور بين الأنظمة الأساسية غير المتجانسة وتمكين تطبيقات الأعمال المستندة إلى الويب من التكامل مع أنظمة المؤسسات الحالية.
في الوقت الحاضر، لا يزال عدد كبير من الشركات في بلدنا يعتمد بنية العميل/الخادم، بينما في الدول الغربية المتقدمة، أصبح تحول المؤسسات من أنظمة التطبيقات التقليدية إلى أنظمة التطبيقات الموزعة متعددة الطبقات هو الاتجاه السائد في الصناعة. من المعتقد أن الأنظمة الموزعة متعددة الطبقات سيتم استخدامها على نطاق أوسع في بلدنا.
التحديات التي تفرضها التطبيقات الموزعة متعددة المستويات
على الرغم من أن البنية الموزعة متعددة الطبقات توفر مزايا كبيرة للمؤسسات، إلا أنه من الصعب تطوير تطبيقات موزعة متعددة الطبقات مقارنة بنهج العميل/الخادم التقليدي، والذي يجلب تحديات تقنية جديدة للمطورين. ويشمل بشكل رئيسي الجوانب الثلاثة التالية:
1. تنويع معايير الكائنات الموزعة
إذا أرادت المؤسسات إنشاء أنظمة موزعة متعددة الطبقات، فيجب عليها اتباع المعايير الصناعية الموزعة. ما هي المعايير التي تعتمد عليها تؤثر بشكل مباشر على انفتاح أنظمة تطبيقات المؤسسة وقابليتها للتوسع. يوجد حاليًا ثلاثة معايير رئيسية للكائنات الموزعة: DCOM من Microsoft، وEnterprise JavaBeans/RMI من Sun Microsystems، وOMG (Object Management Group) CORBA (Common Object Request Broker Architecture). DCOM هو معيار كائن موزع يعتمد على بيئة Windows، لذا فإن أنواع الأنظمة الأساسية المدعومة محدودة. RMI وEnterprise JavaBean عبارة عن بنيات كائنية موزعة تعتمد على لغة Java، وهي مناسبة لاحتياجات المؤسسات الكبيرة عبر الأنظمة الأساسية. ومع ذلك، يتم إنشاء بيئة نظام التطبيق الفعلية بشكل عام من خلال عدة لغات برمجة مختلفة وتعتمد فقط على لغة برمجة واحدة تطبيقات المؤسسات نادرة. CORBA هو معيار كائن موزع تم تطويره بواسطة منظمة OMG بمشاركة أكثر من 800 شركة برمجيات وأجهزة كبيرة، وهو مدعوم من قبل شركات كبيرة مثل IBM وSun Microsystems وOracle وSybase وNovell وNetscape التكامل بين الأنظمة الأساسية المختلفة، التواصل وقابلية التشغيل البيني للكائنات، طالما أن بائعي البرامج يتبعون IDL (لغة تعريف الواجهة) للتواصل بين كائنات التطبيق وORB، فيمكنهم تقديم أو الحصول على خدمات في شكل كائنات تسمح للمطورين بذلك تخلص من الحاجة إلى النظر في المنصات غير المتجانسة، فبروتوكولات الاتصال المختلفة أو لغات البرمجة المختلفة تسبب اختلافات، والتركيز على تطوير منطق التطبيق. يمكن ملاحظة أن CORBA يوفر معيارًا موزعًا مفتوحًا ومرنًا، وهو مناسب للمؤسسات لبناء أنظمة تطبيقات موزعة متعددة الطبقات.
2. إن تطوير التطبيقات الموزعة متعددة المستويات أمر معقد للغاية
إذا تم تطوير التطبيقات الموزعة متعددة الطبقات بالطريقة التقليدية، فسيحتاج المطورون إلى معرفة عميقة على مستوى نظام الكمبيوتر ومعرفة رئيسية في جوانب مختلفة مثل التزامن والأمن وقابلية التوسع ومعالجة المعاملات. علاوة على ذلك، من الضروري تحقيق إدارة فعالة للوصول إلى موارد النظام، مثل إدارة الخيوط والذاكرة واتصالات قاعدة البيانات واتصالات الشبكة. تستهلك هذه المهام المعقدة طاقة المطورين بشكل كبير وتحد من تقدم أعمال التطوير. يتطلب تطوير أنظمة تطبيقات المؤسسات من المطورين التركيز بشكل أكبر على تطوير منطق الأعمال بدلاً من إضاعة المزيد من الوقت في التطوير على مستوى النظام.
3. يمثل توزيع وإدارة التطبيقات الموزعة تحديًا أيضًا
تتكون معظم التطبيقات الموزعة من مئات أو آلاف المكونات، ولكل مكون خصائص يجب تكوينها أثناء التوزيع. عادةً، تعتمد كيفية تكوين خصائص المكون على النظام الأساسي الذي يوجد عليه المكون. لذلك، بعد توزيع التطبيق، ستكون كيفية إدارة المكونات الموزعة تحديًا. يحتاج المديرون إلى التأكد من أن مكونات التطبيق يمكن أن تعمل بشكل صحيح، ويمكن أن تكون موجودة على أي جهاز داخل شبكة الشركة، ويمكنها اكتشاف أخطاء المعالجة (بما في ذلك أخطاء النظام، وانقطاعات الشبكة، وأخطاء التطبيق، وما إلى ذلك) في الوقت المناسب.
بالمعنى التقليدي، لا يمكن لإدارة نظام الشبكة (مثل SNMP) الحصول على حالة تشغيل التطبيقات إلا من خلال تحليل حالة المضيف. ومع ذلك، بالنسبة لأنظمة التطبيقات الموزعة، لا يعمل التطبيق على مضيف معين يجب إدارة حالة الشبكة بالكامل، الأمر الذي يتطلب دعم الأدوات المناسبة.
متطلبات التطبيقات الموزعة متعددة المستويات
عادةً ما يتطلب تطوير التطبيقات الموزعة متعددة المستويات للمؤسسة ما يلي:
من السهل تطويرها
على الرغم من أن البنية الموزعة متعددة الطبقات تتطلب معرفة عميقة على مستوى نظام الكمبيوتر كأساس (على سبيل المثال: قاعدة البيانات، ومعالجة المعاملات، وأمن الشبكات، وتقنية CORBA، وما إلى ذلك)، إلا أنها بالنسبة لمطوري تكنولوجيا المعلومات، لا تتطلب فهمًا عميقًا للبنية الأساسية. تعقيدات النظام، يمكن تطوير أنظمة التطبيقات الموزعة القوية متعددة الطبقات بسرعة وسهولة في بيئة تطوير مرئية متكاملة (IDE).
تبسيط أعمال التوزيع والإدارة
يحتاج المطورون إلى القدرة على اختبار وتعديل التطبيقات الموزعة في بيئة تطوير متكاملة لتحسين أداء التطبيقات، وتحقيق توزيع وإدارة التطبيقات في نفس البيئة. نظرًا لأن العديد من التطبيقات تتضمن آلاف المكونات الموزعة في جميع أنحاء المؤسسة، فهناك حاجة إلى أداة إدارة مركزية لإدارة التطبيقات الموزعة والتحكم فيها وتنفيذ وظائف اكتشاف الأخطاء وتصحيحها.
متطلبات المتانة لتطبيقات المؤسسات
يجب أن يفي التطبيق الكامل متعدد المستويات الموزع على مستوى المؤسسة بمتطلبات معالجة المعاملات، وإدارة الأمان، والتسامح مع الأخطاء، وموازنة التحميل، وقابلية التوسع، والأداء العالي.
يتميز ببنية مفتوحة قائمة على معايير الصناعة
ما تحتاجه المؤسسات هو حلول مفتوحة قائمة على معايير الصناعة يمكنها التفاعل مع الأنظمة الأخرى المتوافقة مع المعايير.
يمكن دمجها مع قواعد البيانات المختلفة والأنظمة الحالية
يجب أن تكون التطبيقات الموزعة للمؤسسة قادرة على الوصول إلى موارد بيانات المؤسسة، وعادة ما يتم تخزين بيانات المؤسسة على قواعد بيانات واسعة النطاق شائعة حاليًا (مثل Oracle وSybase وما إلى ذلك)، أو يمكن الوصول إليها من خلال TP Monitor (مثل: IBM CICS، BEA Tuxedo )، لذلك من الضروري أن تكون الأنظمة الموزعة للمؤسسات متكاملة مع قواعد البيانات والأنظمة الحالية.
دعم بيئات منصة مختلفة
تحتاج التطبيقات الموزعة متعددة الطبقات للمؤسسات إلى دعم بيئات الأنظمة الأساسية المختلفة، ويجب أن يدعم جانب الخادم الأنظمة الأساسية لنظام التشغيل Windows NT أو UNIX، ويمكن للعملاء على الأنظمة الأساسية المختلفة الوصول إلى التطبيقات الموجودة على الخادم، بما في ذلك: HTML وتطبيقات Java وتطبيقات Java وHTML الديناميكي وC++. التطبيقات الخ.
خادم تطبيقات المؤسسة
بناءً على الأسباب المذكورة أعلاه، عندما تتحول المؤسسات إلى تطبيقات موزعة متعددة الطبقات، فإنها تحتاج إلى دعم خوادم التطبيقات، بحيث يمكن دمج تقنيات التطبيقات المختلفة معًا، مما يجعل تطوير التطبيقات الموزعة متعددة الطبقات وتوزيعها وإدارتها أمرًا سهلاً. أسهل. تستخدم العديد من المؤسسات الآن تقنية خادم التطبيقات، مما أدى إلى تحسين أداء تطبيقات المؤسسة بشكل كبير. ومع ذلك، فإن تقنية خادم التطبيقات المستخدمة حاليًا في بلدي لا يمكنها تلبية احتياجات المؤسسات بشكل كامل لإنشاء تطبيقات موزعة متعددة الطبقات. وتنقسم خوادم التطبيقات هذه بشكل أساسي إلى الفئتين التاليتين:
خادم التطبيقات على شبكة الإنترنت
توفر خوادم التطبيقات المستندة إلى الويب بشكل عام بيئة تطوير لتطبيقات الإنترنت المستندة إلى الويب وهي مناسبة لإنشاء أنظمة تطبيقات العميل/الخادم المستندة إلى الويب. في هذا النظام، يعمل خادم تطبيق الويب عادةً على خادم الويب للتعامل مع طلبات العميل. عادةً ما يتم استخدام ODBC وJDBC للاتصال بقاعدة البيانات. هذا النوع من خوادم التطبيقات سهل الاستخدام بشكل عام ويدعم تطوير تطبيقات الخادم استنادًا إلى EJB (Enterprise JavaBeans). ومع ذلك، فإن عيوب هذا النوع من خادم التطبيقات تشمل: أنه لا يدعم معالجة المعاملات، ولديه أمان ضعيف، ولديه دعم محدود لأنظمة التداول الحالية، وأداء منخفض.
خادم التطبيقات القائم على البرمجيات الوسيطة
يمكن لخوادم التطبيقات القائمة على البرمجيات الوسيطة أن تزود المؤسسات بوظائف أكثر قوة من خلال التكامل مع الأنظمة الحالية (مثل شاشات TP)، بما في ذلك: معالجة المعاملات، وإدارة الأمان، والتسامح مع الأخطاء، وموازنة التحميل، وما إلى ذلك، ولكن معظم الحلول تعتمد على العميل/الخادم الهندسة المعمارية، أو التي تقتصر على بنية ثلاثية المستويات، ليست مناسبة لبناء تطبيقات الويب الموزعة، ولا تتمتع ببيئة تطوير وإدارة فعالة.
ملحوظة: موازنة التحميل عبارة عن مجموعة من الخوادم المكونة من خوادم متعددة بطريقة متماثلة، كل خادم له حالة متساوية ويمكنه تقديم خدمات خارجية بشكل مستقل دون مساعدة الخوادم الأخرى. من خلال نوع من تكنولوجيا مشاركة التحميل، يتم توزيع الطلبات المرسلة من الخارج بالتساوي على خادم معين في بنية متماثلة، ويستجيب الخادم الذي يتلقى الطلب لطلب العميل بشكل مستقل. يمكن للتحميل المتوازن توزيع طلبات العملاء بالتساوي على مصفوفة الخادم، وبالتالي توفير الوصول السريع إلى البيانات المهمة وحل مشكلة عدد كبير من خدمات الوصول المتزامنة. يمكن لتقنية المجموعة هذه تحقيق أداء قريب من أداء الحاسوب المركزي بأقل قدر من الاستثمار. مزايا موازنة تحميل الشبكة: أولاً، تضمن تقنية موازنة تحميل الشبكة أن الخادم يمكنه الاستجابة بسرعة حتى في ظل التحميل الثقيل؛ ثانيًا، تحتاج موازنة تحميل الشبكة فقط إلى توفير عنوان IP (أو اسم المجال) للعالم الخارجي أو عدم توفر العديد من الخوادم في موازنة تحميل الشبكة، فلن تتم مقاطعة الخدمة. تكتشف موازنة حِمل الشبكة تلقائيًا عدم توفر الخادم ويمكنها إعادة توزيع حركة مرور العميل بسرعة بين الخوادم المتبقية. يمكن أن يساعدك إجراء الحماية هذا في تقديم خدمات دون انقطاع لبرامج الأعمال الرئيسية، ويمكن أن يزيد عدد خوادم موازنة تحميل الشبكة وفقًا لزيادة الوصول إلى الشبكة. رابعًا، يمكن تنفيذ موازنة تحميل الشبكة على أجهزة الكمبيوتر العادية.
هذه المقالة مأخوذة من مدونة CSDN، يرجى الإشارة إلى المصدر عند إعادة الطباعة: http://blog.csdn.net/deantry119/archive/2009/12/28/5089598.aspx .