9 networking

Mohammad Alyan
Mohammad AlyanSoftware Engineer en notebooksbilliger.de
9- Network Applications Programming 
@MhdAlyan
Outlines 
مقدمة  
Networking Application Models  
Client /server Model  
؟ Socket ما هي ال  
إنشاء تطبيقات شبكية تتواصل مع تطبيقات محلية أو بعيدة.  
؟ Socket ما هي أنواع التطبيقات التي يمكن إنشاؤها عن طريق  
الاستراتيجيات المتبعة لتخديم عدد معين من الزبائن .  
sequential Server  
؟ Socket ما هي أنواع التطبيقات التي يمكن إنشاؤها عن طريق  
زبون بنفس الوقت أو مع تأخير مقبول نسبيا . n كيف نستطيع أن نخّدم  
Synchronization Mode  
Thread Pool  
Asynchronous Mode  
05 2 تشرين الثاني، 14
مقدمة 
أنواع التطبيقات :  
MonoThread وتسمى )Desktop تطبيقات تعمل على نفس الحاسب )تطبيقات شخصية  
تطبيقات شبكية .  
تطبيقات ويب .  
Multithread users تطبيقات موزعة )تعمل على الشبكة( وتسمى  
05 3 تشرين الثاني، 14
Networking Application 
Models 
تحتاج التطبيقات المحلية أو البعيدة إلى التواصل )التخاطب فيما بينها(, يتم هذا التواصل من خلال  
“middleware” ما يُسمى برامج وسيطة 
: middleware أنواع ال  
Client /server - Socket  
3tiers Client /Server  
Queue  
RPC  
OOMW  
CORBA  
RMI  
EJB  
COM+  
05 4 تشرين الثاني، 14
Client /server Model 
أي أن ال Software Engineering هو مفهوم برمجي بال Client/Server مفهوم ال  
هما تطبيقان . Server و ال Client 
.)Server( والذي يتلقى الطلبات ويقدم الخدمات يسمى مُخدم ) Client ( الذي يطلب هو الزبون  
سوف نستخدم بنية برمجية معروفة )Client/Server ( لتحقيق الإتصال بين هذين البرنامجين  
. Socket ومتوفرة في معظم لغات البرمجة وهي المكتبة 
؟ Socket إذاً ما هي ال  
05 5 تشرين الثاني، 14
؟ Socket ما هي ال 
.Stream وهي تعميم لمفهوم ال TCP/IP هي عبارة عن بنية برمجية مبنية فوق : Socket  
. ) TCP , UDP بشكل أساسي مع بروتوكولات طبقة النقل )وتحديداً Socket تتعامل  
IP And Port بالشبكات : هو عبارة عن Socket تعريف ال  
unique هو عنوان الحاسب المنطقي وهو عنوان فريد : IP  
وهو بإختصار عنوان التطبيق المرسل أو المستقبل . : Port  
ملاحظات :  
تنقل معطيات فقط )مصفوفة بايتات ( ولا تحولها من شكل إلى أخر . : Socket  
إي أنها تعمل على جميع الحواسيب والنظم تستعمل في معظم لغات Cross Platform هي : Socket المكتبة  
.)Low Level( البرمجة والتعامل معها يكون في مستوى منخفض 
أي يقيم رابطة ويتحقق من سلامة وصول الطرود لذلك هو بطيء نوعا ما : TCP is Connection Oriented  
مثلا , وهو لايدعم الإرسال إلى عدة مستخدمين ) FTP Server ويستخدم في تطبيقات نقل الملفات 
. unicast فقط ,)Multicasting Or Broadcasting 
TCP أي لا يقيم رابطة ولا يتحقق من سلامة وصول الطرود لذلك هو أسرع من : UDP is Connectionless  
لذلك هو غير موثوق . )Video Conferencing ( ويستخدم غالبا في نقل الفيديو الحي والمباشر 
05 6 تشرين الثاني، 14
إنشاء تطبيقات شبكية تتواصل مع تطبيقات محلية أو بعيدة 
System.Net.Socket و System .Net كل ما نحتاجه موجود ضمن فضاء الأسماء  
في المخدم نكتب :  
TcpListener listener =new TcpListener(5000); 
listener.Start(); 
Socket myscoket=listener.AcceptSocket(); 
NetworkStream mynetworkStream=new NetworkStream(myscoket) ; 
BinaryReader reader= new BinaryReader(mynetworkStream); 
BinaryWriter writer=new BinaryWriter(mynetworkStream); 
05 7 تشرين الثاني، 14
إنشاء تطبيقات شبكية تتواصل مع تطبيقات محلية أو بعيدة. 
05 8 تشرين الثاني، 14
إنشاء تطبيقات شبكية تتواصل مع تطبيقات محلية أو بعيدة. 
في برنامج الزبون نكتب :  
TcpClient client=new TcpClient(); 
client.Connect("localhost", 5000); 
NetworkStream mynetworkstream=client.GetStream(); 
BinaryWriter writer = new BinaryWriter(mynetworkstream); 
BinaryReader reader = new BinaryReader(mynetworkstream); 
05 9 تشرين الثاني، 14
sequential Server 
هو عبارة عن مخدم يخدم زبون واحد في أنٍ واحد  
بقية الزبائن تنتظر في ضمن رتل , كما يمكن التحكم بطول هذا الرتل .  
05 10 تشرين الثاني، 14
؟ Socket ما هي أنواع التطبيقات التي يمكن إنشاؤها عن طريق 
وهو برنامج موجود على حاسبين مختلفين وكل تطبيق منهم هو بمثابة : Peer To Peer تطبيق  
مخدم وزبون في آن واحد. 
: Client /sever تطبيق  
إذا إتصل أكثر من زبون مع المخدم في نفس الوقت ماذا يفعل المخدم حينها ؟  
يمكن للمخدم أن يعمل بها لكي يتعامل مع عدد Mode يوجد ثلاث طرق أو إستراتيجيات أو أوضاع  
كبير من طلبات الزبائن في نفس الوقت الإستراتيجيات هي : 
05 11 تشرين الثاني، 14
؟ SBolocckkineg Mt o d قe يم وت كسم نى إونضشعا ال ؤتز هاام نعأو ن ت سم طىري : S تيy لnاc h تro اn قizيa طبtioتn ال M اعo وdنe ي أ  ما ه 
مزايا هذه الطريقة :  
سهلة نوعا ما  
Client 
Thread 
Thread 
Thread 
Client 
Client 
جميع الطلبات يتم معالجتها بالزمن الحقيقي , لا يوجد تأخير .  
Server 
05 12 تشرين الثاني، 14
Synchronization Mode 
مساوئ هذه الطريقة :  
. )Ram + CPU Time( استهلاك عالي جداً للموارد  
إقلاع النيسب يأخد وقت طويل نسبي اً  
يمكن لهذا المخدم أن يتعرض لهجمة  
يمكن إستخدام هذه الطريقة في بعض الحالات التي نضمن فيها عدد محدد للزبائن المتصلين كما  
يجب أن نضمن عدم تعرض المخدم لهجمة معينة . 
يوجد حل أفضل وهو مطبق في معظم المخدمات الموجودة في العالم .  
05 13 تشرين الثاني، 14
Thread Pool 
كما شاهدنا أن وضع التزامن يستهلك الكثير من الموارد .  
لذلك يوجد حل أخر هو أن نقوم بحجز مجموعة من النياسب التي تعمل بشكل دائم )لا تموت أبد اً(  
لتخديم عدد معين من الزبائن والبقية تنتظر لزمن معين )يفترض أن يكون مقبول(. 
جزء من موارد الحاسب ليتم إعادة استخدامها . )ThreadPool( تخصص هذه الطريقة  
باستخدام حوض )Data Base Servers( ومخدمات قواعد المعطيات )Web Servers( تقوم مخدمات الويب  
من النياسب بدلاً من تخصيص نيسب خاص لكل زبون 
وبذلك نستطيع التخلص من المشاكل الموجودة في وضعية التزامن .  
05 14 تشرين الثاني، 14
Advanced Concepts in Software Engineering 
Design Pattern  
EAI  
AOP  
SOA  
05 15 تشرين الثاني، 14
Design Pattern نموذج التصميم 
نموذج التصميم : هو عبارة عن حل تصميمي لمشكلة متكررة هذه المشكلة في مرحلة التحليل والتصميم غرضي  
التوجه . 
استراتيجيات مستقلة عن لغة برمجة معينة لحل مشكلة تظهر لنا خلال كتابة الكود .  
A design pattern is not a finished design that can be transformed directly into code. It is  
a description or template for how to solve a problem that can be used in many 
different situations 
SUN suggests GOF (Gang Of Four--four pioneer guys who wrote a book named "Design  
Patterns"- Elements of Reusable Object-Oriented Software) 
C# ,JAVA ,C++,…. يوجد 23 نموذجي تصميمي مستخدمة في لغات البرمجة الشهيرة مثل  
Design Patterns"- Elements of Reusable Object-Oriented : الكتاب المرجعي هو  
Software 
05 16 تشرين الثاني، 14
Model View Controller Design Patterns 
كاملة لكيفية تصميم وبرمجة التطبيقات سواء كانت تطببيقات عادية أو (Methodology ) يعتبر منهجية : MVC  
حتى في التطبيقات المؤسساتية الكبيرة . 
؟ MVC ما هي المشاكل التي يحلها  
تعدد الواجهات .  
تعدد وسائط التخزين .  
الهدف من هذه الطريقة هو فصل المكونات الثلاثة عن بعضها  
البعض . 
05 17 تشرين الثاني، 14
Model View Controller Design Patterns 
وهي الواجهة التي يتعامل معها المستخدم . : View  
ويجري ضمنه كل عمليات التحقق من (Business Logic Code ) هو الذي يحوي كود منطق العمل : Controller  
بالإضافة إلى عملية التحقق من الصلاحيات وتسُمى هذه العملية Authentication وهذه العمليات تسُمى ID المعرفات 
. Authorization أيضا 
: DAO & ORM (Model)  
05 18 تشرين الثاني، 14
Model View Controller Design Patterns 
View 1 
View 2 
View 3 
Controller 
Model 1 
Model 2 
M0del 3 
05 19 تشرين الثاني، 14
Model View Controller Design Patterns 
 
View Controller Model 
ORM DAO 
Oracle 
SQL 
server 
MySQL 
05 20 تشرين الثاني، 14
3tiers Architecture 
هي معمارية أو بنيان كامل لبناء تطبيقات ثلاثية الإرتال لها مجموعة من الأهداف منها :  
فصل المتطلبات الوظيفية عن المتطلبات الغير وظيفية .  
تخديم عدد كبير من الزبائن .  
؟ MVC Design Pattern 3 و tiers Architecture ما الفرق بين ال  
؟ MVC , 3tiers ما العلاقة بين ال  
05 21 تشرين الثاني، 14
MVC , 3tiers العلاقة بين ال 
Presentation Tier Business Logic Tier 
View Control 
ler 
Model 
Storage Tier 
Oracle 
SQL 
server 
MySQL 
Desktop 
Applicatio 
n 
Web 
Application 
Mobile 
Application 
05 22 تشرين الثاني، 14
05 23 تشرين الثاني، 14
1 de 23

Recomendados

Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsAhmed Adel
709 vistas48 diapositivas
Cassandra - Tips And TechniquesCassandra - Tips And Techniques
Cassandra - Tips And TechniquesKnoldus Inc.
2.2K vistas13 diapositivas
CKA_1st.pptxCKA_1st.pptx
CKA_1st.pptxYIJHEHUANG
100 vistas63 diapositivas
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à pythonMariem ZAOUALI
292 vistas17 diapositivas

Más contenido relacionado

La actualidad más candente

Introduction to AnsibleIntroduction to Ansible
Introduction to AnsibleCoreStack
721 vistas19 diapositivas
Présentation DockerPrésentation Docker
Présentation DockerColin LEVERGER
7.5K vistas28 diapositivas
TerraformTerraform
TerraformAdam Vincze
991 vistas25 diapositivas
Ansible Introduction Ansible Introduction
Ansible Introduction Robert Reiz
17.6K vistas35 diapositivas

La actualidad más candente(20)

Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
CoreStack721 vistas
Application Monitoring using DatadogApplication Monitoring using Datadog
Application Monitoring using Datadog
Mukta Aphale3.8K vistas
Présentation DockerPrésentation Docker
Présentation Docker
Colin LEVERGER7.5K vistas
TerraformTerraform
Terraform
Adam Vincze991 vistas
Ansible Introduction Ansible Introduction
Ansible Introduction
Robert Reiz17.6K vistas
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
Jonathan Holloway13.8K vistas
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
Eric Bourdet2.5K vistas
Terratest with TerraformTerratest with Terraform
Terratest with Terraform
Knoldus Inc.256 vistas
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
Mirantis88.5K vistas
Ansible get startedAnsible get started
Ansible get started
Rafael Cassau686 vistas
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
Knoldus Inc.23.2K vistas
 Kubernetes Architecture Kubernetes Architecture
Kubernetes Architecture
Knoldus Inc.2.9K vistas
Why kubernetes mattersWhy kubernetes matters
Why kubernetes matters
Platform93K vistas
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
NexThoughts Technologies6.4K vistas
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
Steffen Gebert21.7K vistas
knolx of KubeCost & Infracostknolx of KubeCost & Infracost
knolx of KubeCost & Infracost
Knoldus Inc.298 vistas
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
Heungsub Lee50K vistas

Destacado

1  first lesson -assemblies1  first lesson -assemblies
1 first lesson -assembliesMohammad Alyan
1.3K vistas31 diapositivas
7 multi threading7 multi threading
7 multi threadingMohammad Alyan
1.5K vistas25 diapositivas
5 fifth lesson -xml5 fifth lesson -xml
5 fifth lesson -xmlMohammad Alyan
794 vistas19 diapositivas
Introduction To ERPIntroduction To ERP
Introduction To ERPMohammad Alyan
1.7K vistas17 diapositivas

Destacado(13)

1  first lesson -assemblies1  first lesson -assemblies
1 first lesson -assemblies
Mohammad Alyan1.3K vistas
10 system.security.cryptography10 system.security.cryptography
10 system.security.cryptography
Mohammad Alyan2.2K vistas
7 multi threading7 multi threading
7 multi threading
Mohammad Alyan1.5K vistas
5 fifth lesson -xml5 fifth lesson -xml
5 fifth lesson -xml
Mohammad Alyan794 vistas
Introduction To ERPIntroduction To ERP
Introduction To ERP
Mohammad Alyan1.7K vistas
4 fourth lesson-deployment4 fourth lesson-deployment
4 fourth lesson-deployment
Mohammad Alyan667 vistas
2 second lesson- attributes2 second lesson- attributes
2 second lesson- attributes
Mohammad Alyan563 vistas
Fax With Sangoma GatewayFax With Sangoma Gateway
Fax With Sangoma Gateway
Hossein Yavari308 vistas
3 third lesson-reflection3 third lesson-reflection
3 third lesson-reflection
Mohammad Alyan831 vistas
8 memory managment & pointers8 memory managment & pointers
8 memory managment & pointers
Mohammad Alyan1.3K vistas
CourseraCoursera
Coursera
Mohammad Alyan7.2K vistas
Models for hierarchical dataModels for hierarchical data
Models for hierarchical data
Karwin Software Solutions LLC371K vistas

Similar a 9 networking

DynamoDynamo
DynamoOmar Selim
314 vistas24 diapositivas
Ms  projectMs  project
Ms projectMohamed Abd ALhakim
4.3K vistas23 diapositivas
Cloud computing in ArabicCloud computing in Arabic
Cloud computing in ArabicMohammed Omar
2.4K vistas6 diapositivas

Similar a 9 networking(20)

DynamoDynamo
Dynamo
Omar Selim314 vistas
Ms  projectMs  project
Ms project
Mohamed Abd ALhakim4.3K vistas
الحوسبه السحابيهالحوسبه السحابيه
الحوسبه السحابيه
Lavender Rose1.4K vistas
تقنية البلوك تشين Blockchainتقنية البلوك تشين Blockchain
تقنية البلوك تشين Blockchain
Abdurrahman AlQahtani2.9K vistas
Cloud computing in ArabicCloud computing in Arabic
Cloud computing in Arabic
Mohammed Omar2.4K vistas
مقدمة في الـبرمـجةمقدمة في الـبرمـجة
مقدمة في الـبرمـجة
tttyyyuuuiiiooo78A_0282 vistas
الحوسبهالحوسبه
الحوسبه
loshh489 vistas
أمن الويب أمن الويب
أمن الويب
Nouha Hamami1.3K vistas
الحوسبةالسحابيةالحوسبةالسحابية
الحوسبةالسحابية
Mamoun Matar1K vistas
غمدان 1 مترجم.pptxغمدان 1 مترجم.pptx
غمدان 1 مترجم.pptx
HASHEMHASH12 vistas
البرمجةالبرمجة
البرمجة
guest351eb9382.5K vistas
سلسلة تعلم البرمجة بلغة C / C++  - 1سلسلة تعلم البرمجة بلغة C / C++  - 1
سلسلة تعلم البرمجة بلغة C / C++ - 1
بندر المجلاد8.7K vistas
mcitpmcitp
mcitp
izzeldin2012646 vistas
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابية
Mamoun Matar5K vistas

Más de Mohammad Alyan

Blue ocean strategy arabicBlue ocean strategy arabic
Blue ocean strategy arabicMohammad Alyan
893 vistas64 diapositivas
Apple case studyApple case study
Apple case studyMohammad Alyan
9.7K vistas25 diapositivas
Crowd fundingCrowd funding
Crowd fundingMohammad Alyan
11.9K vistas68 diapositivas
CourseraCoursera
CourseraMohammad Alyan
1.7K vistas27 diapositivas
Course indexCourse index
Course indexMohammad Alyan
341 vistas2 diapositivas

Más de Mohammad Alyan(11)

Blue ocean strategy arabicBlue ocean strategy arabic
Blue ocean strategy arabic
Mohammad Alyan893 vistas
Apple case studyApple case study
Apple case study
Mohammad Alyan9.7K vistas
 Introduction to Industry Life Cycles  Introduction to Industry Life Cycles
Introduction to Industry Life Cycles
Mohammad Alyan300 vistas
Crowd fundingCrowd funding
Crowd funding
Mohammad Alyan11.9K vistas
CourseraCoursera
Coursera
Mohammad Alyan1.7K vistas
Course indexCourse index
Course index
Mohammad Alyan341 vistas
التفكير- مصنع للإبداعالتفكير- مصنع للإبداع
التفكير- مصنع للإبداع
Mohammad Alyan534 vistas
Cloud computing Cloud computing
Cloud computing
Mohammad Alyan561 vistas
Linq introductionLinq introduction
Linq introduction
Mohammad Alyan363 vistas
10 1 otp all10 1 otp all
10 1 otp all
Mohammad Alyan1.1K vistas
6 ado.net6 ado.net
6 ado.net
Mohammad Alyan852 vistas

9 networking

  • 1. 9- Network Applications Programming @MhdAlyan
  • 2. Outlines مقدمة  Networking Application Models  Client /server Model  ؟ Socket ما هي ال  إنشاء تطبيقات شبكية تتواصل مع تطبيقات محلية أو بعيدة.  ؟ Socket ما هي أنواع التطبيقات التي يمكن إنشاؤها عن طريق  الاستراتيجيات المتبعة لتخديم عدد معين من الزبائن .  sequential Server  ؟ Socket ما هي أنواع التطبيقات التي يمكن إنشاؤها عن طريق  زبون بنفس الوقت أو مع تأخير مقبول نسبيا . n كيف نستطيع أن نخّدم  Synchronization Mode  Thread Pool  Asynchronous Mode  05 2 تشرين الثاني، 14
  • 3. مقدمة أنواع التطبيقات :  MonoThread وتسمى )Desktop تطبيقات تعمل على نفس الحاسب )تطبيقات شخصية  تطبيقات شبكية .  تطبيقات ويب .  Multithread users تطبيقات موزعة )تعمل على الشبكة( وتسمى  05 3 تشرين الثاني، 14
  • 4. Networking Application Models تحتاج التطبيقات المحلية أو البعيدة إلى التواصل )التخاطب فيما بينها(, يتم هذا التواصل من خلال  “middleware” ما يُسمى برامج وسيطة : middleware أنواع ال  Client /server - Socket  3tiers Client /Server  Queue  RPC  OOMW  CORBA  RMI  EJB  COM+  05 4 تشرين الثاني، 14
  • 5. Client /server Model أي أن ال Software Engineering هو مفهوم برمجي بال Client/Server مفهوم ال  هما تطبيقان . Server و ال Client .)Server( والذي يتلقى الطلبات ويقدم الخدمات يسمى مُخدم ) Client ( الذي يطلب هو الزبون  سوف نستخدم بنية برمجية معروفة )Client/Server ( لتحقيق الإتصال بين هذين البرنامجين  . Socket ومتوفرة في معظم لغات البرمجة وهي المكتبة ؟ Socket إذاً ما هي ال  05 5 تشرين الثاني، 14
  • 6. ؟ Socket ما هي ال .Stream وهي تعميم لمفهوم ال TCP/IP هي عبارة عن بنية برمجية مبنية فوق : Socket  . ) TCP , UDP بشكل أساسي مع بروتوكولات طبقة النقل )وتحديداً Socket تتعامل  IP And Port بالشبكات : هو عبارة عن Socket تعريف ال  unique هو عنوان الحاسب المنطقي وهو عنوان فريد : IP  وهو بإختصار عنوان التطبيق المرسل أو المستقبل . : Port  ملاحظات :  تنقل معطيات فقط )مصفوفة بايتات ( ولا تحولها من شكل إلى أخر . : Socket  إي أنها تعمل على جميع الحواسيب والنظم تستعمل في معظم لغات Cross Platform هي : Socket المكتبة  .)Low Level( البرمجة والتعامل معها يكون في مستوى منخفض أي يقيم رابطة ويتحقق من سلامة وصول الطرود لذلك هو بطيء نوعا ما : TCP is Connection Oriented  مثلا , وهو لايدعم الإرسال إلى عدة مستخدمين ) FTP Server ويستخدم في تطبيقات نقل الملفات . unicast فقط ,)Multicasting Or Broadcasting TCP أي لا يقيم رابطة ولا يتحقق من سلامة وصول الطرود لذلك هو أسرع من : UDP is Connectionless  لذلك هو غير موثوق . )Video Conferencing ( ويستخدم غالبا في نقل الفيديو الحي والمباشر 05 6 تشرين الثاني، 14
  • 7. إنشاء تطبيقات شبكية تتواصل مع تطبيقات محلية أو بعيدة System.Net.Socket و System .Net كل ما نحتاجه موجود ضمن فضاء الأسماء  في المخدم نكتب :  TcpListener listener =new TcpListener(5000); listener.Start(); Socket myscoket=listener.AcceptSocket(); NetworkStream mynetworkStream=new NetworkStream(myscoket) ; BinaryReader reader= new BinaryReader(mynetworkStream); BinaryWriter writer=new BinaryWriter(mynetworkStream); 05 7 تشرين الثاني، 14
  • 8. إنشاء تطبيقات شبكية تتواصل مع تطبيقات محلية أو بعيدة. 05 8 تشرين الثاني، 14
  • 9. إنشاء تطبيقات شبكية تتواصل مع تطبيقات محلية أو بعيدة. في برنامج الزبون نكتب :  TcpClient client=new TcpClient(); client.Connect("localhost", 5000); NetworkStream mynetworkstream=client.GetStream(); BinaryWriter writer = new BinaryWriter(mynetworkstream); BinaryReader reader = new BinaryReader(mynetworkstream); 05 9 تشرين الثاني، 14
  • 10. sequential Server هو عبارة عن مخدم يخدم زبون واحد في أنٍ واحد  بقية الزبائن تنتظر في ضمن رتل , كما يمكن التحكم بطول هذا الرتل .  05 10 تشرين الثاني، 14
  • 11. ؟ Socket ما هي أنواع التطبيقات التي يمكن إنشاؤها عن طريق وهو برنامج موجود على حاسبين مختلفين وكل تطبيق منهم هو بمثابة : Peer To Peer تطبيق  مخدم وزبون في آن واحد. : Client /sever تطبيق  إذا إتصل أكثر من زبون مع المخدم في نفس الوقت ماذا يفعل المخدم حينها ؟  يمكن للمخدم أن يعمل بها لكي يتعامل مع عدد Mode يوجد ثلاث طرق أو إستراتيجيات أو أوضاع  كبير من طلبات الزبائن في نفس الوقت الإستراتيجيات هي : 05 11 تشرين الثاني، 14
  • 12. ؟ SBolocckkineg Mt o d قe يم وت كسم نى إونضشعا ال ؤتز هاام نعأو ن ت سم طىري : S تيy لnاc h تro اn قizيa طبtioتn ال M اعo وdنe ي أ  ما ه مزايا هذه الطريقة :  سهلة نوعا ما  Client Thread Thread Thread Client Client جميع الطلبات يتم معالجتها بالزمن الحقيقي , لا يوجد تأخير .  Server 05 12 تشرين الثاني، 14
  • 13. Synchronization Mode مساوئ هذه الطريقة :  . )Ram + CPU Time( استهلاك عالي جداً للموارد  إقلاع النيسب يأخد وقت طويل نسبي اً  يمكن لهذا المخدم أن يتعرض لهجمة  يمكن إستخدام هذه الطريقة في بعض الحالات التي نضمن فيها عدد محدد للزبائن المتصلين كما  يجب أن نضمن عدم تعرض المخدم لهجمة معينة . يوجد حل أفضل وهو مطبق في معظم المخدمات الموجودة في العالم .  05 13 تشرين الثاني، 14
  • 14. Thread Pool كما شاهدنا أن وضع التزامن يستهلك الكثير من الموارد .  لذلك يوجد حل أخر هو أن نقوم بحجز مجموعة من النياسب التي تعمل بشكل دائم )لا تموت أبد اً(  لتخديم عدد معين من الزبائن والبقية تنتظر لزمن معين )يفترض أن يكون مقبول(. جزء من موارد الحاسب ليتم إعادة استخدامها . )ThreadPool( تخصص هذه الطريقة  باستخدام حوض )Data Base Servers( ومخدمات قواعد المعطيات )Web Servers( تقوم مخدمات الويب  من النياسب بدلاً من تخصيص نيسب خاص لكل زبون وبذلك نستطيع التخلص من المشاكل الموجودة في وضعية التزامن .  05 14 تشرين الثاني، 14
  • 15. Advanced Concepts in Software Engineering Design Pattern  EAI  AOP  SOA  05 15 تشرين الثاني، 14
  • 16. Design Pattern نموذج التصميم نموذج التصميم : هو عبارة عن حل تصميمي لمشكلة متكررة هذه المشكلة في مرحلة التحليل والتصميم غرضي  التوجه . استراتيجيات مستقلة عن لغة برمجة معينة لحل مشكلة تظهر لنا خلال كتابة الكود .  A design pattern is not a finished design that can be transformed directly into code. It is  a description or template for how to solve a problem that can be used in many different situations SUN suggests GOF (Gang Of Four--four pioneer guys who wrote a book named "Design  Patterns"- Elements of Reusable Object-Oriented Software) C# ,JAVA ,C++,…. يوجد 23 نموذجي تصميمي مستخدمة في لغات البرمجة الشهيرة مثل  Design Patterns"- Elements of Reusable Object-Oriented : الكتاب المرجعي هو  Software 05 16 تشرين الثاني، 14
  • 17. Model View Controller Design Patterns كاملة لكيفية تصميم وبرمجة التطبيقات سواء كانت تطببيقات عادية أو (Methodology ) يعتبر منهجية : MVC  حتى في التطبيقات المؤسساتية الكبيرة . ؟ MVC ما هي المشاكل التي يحلها  تعدد الواجهات .  تعدد وسائط التخزين .  الهدف من هذه الطريقة هو فصل المكونات الثلاثة عن بعضها  البعض . 05 17 تشرين الثاني، 14
  • 18. Model View Controller Design Patterns وهي الواجهة التي يتعامل معها المستخدم . : View  ويجري ضمنه كل عمليات التحقق من (Business Logic Code ) هو الذي يحوي كود منطق العمل : Controller  بالإضافة إلى عملية التحقق من الصلاحيات وتسُمى هذه العملية Authentication وهذه العمليات تسُمى ID المعرفات . Authorization أيضا : DAO & ORM (Model)  05 18 تشرين الثاني، 14
  • 19. Model View Controller Design Patterns View 1 View 2 View 3 Controller Model 1 Model 2 M0del 3 05 19 تشرين الثاني، 14
  • 20. Model View Controller Design Patterns  View Controller Model ORM DAO Oracle SQL server MySQL 05 20 تشرين الثاني، 14
  • 21. 3tiers Architecture هي معمارية أو بنيان كامل لبناء تطبيقات ثلاثية الإرتال لها مجموعة من الأهداف منها :  فصل المتطلبات الوظيفية عن المتطلبات الغير وظيفية .  تخديم عدد كبير من الزبائن .  ؟ MVC Design Pattern 3 و tiers Architecture ما الفرق بين ال  ؟ MVC , 3tiers ما العلاقة بين ال  05 21 تشرين الثاني، 14
  • 22. MVC , 3tiers العلاقة بين ال Presentation Tier Business Logic Tier View Control ler Model Storage Tier Oracle SQL server MySQL Desktop Applicatio n Web Application Mobile Application 05 22 تشرين الثاني، 14
  • 23. 05 23 تشرين الثاني، 14