Comprehensive Database Management-1
Comprehensive Database Management-1
Kf8
9
·j¦
¶WáKE:<W
jME
f8>XM ¥£h²WT
ﺑﻌﺪ ﺩﺭﺍﺳﺘﻚ ﳍﺬﺍ ﺍﻟﻔﺼﻞ ﺳﺘﻜﻮﻥ ﻗﺎﺩﺭﹰﺍ ﻋﻠﻰ
xﺗﻌﺮﻳﻒ ﺍﳌﺼﻄﻠﺤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ :ﻧﻈﻢ ﳐﺪﻡ/ﺯﺑﻮﻥ ) ،(Client/Server Systemsﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ
) ،(File Serverﺍﻟﺰﺑﻮﻥ ﺍﻟﺜﻘﻴﻞ ) ،(Fat Clientﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ )،(Database Server
ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﹸﺨﺰﻧﺔ ) ،(Stored Proceduresﺍﻟﺒﻴﺌﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ )،(Three-tier Architecture
ﺍﻟﺰﺑﻮﻥ ﺍﳋﻔﻴﻒ ) ،(Thin Clientﲡﺰﺋﺔ ﺍﻟﺘﻄﺒﻴﻖ ) ،(Application Partitioningﺍﳌﻌﺎﳉﺔ ﺍﳌﺘﻌﺪﺩﺓ
ﺍﳌﺘﻨﺎﻇﺮﺓ ،SMPﺍﳌﻌﺎﳉﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ ﺍﳌﻜﺜﻔﺔ/ﺍﻟﺒﻨﻴﺔ ﻏﲑ ﺍﻟﺘﺸﺎﺭﻛﻴﺔ ،ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ
) ،(Middlewareﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﱪﳎﻴﺔ ﻟﻠﺘﻄﺒﻴﻘﺎﺕ ،(Application Program Interface) APIﻟﻐﺔ
ﺍﻻﺳﺘﻌﻼﻡ ﺑﺎﻷﻣﺜﻠﺔ ) ،(Query-By-Example) (QBEﻣﻌﻴﺎﺭ ﺍﻻﺗﺼﺎﻝ ﺑﻘﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﻔﺘﻮﺡ
،ODBCﻟﻐﺔ ﻓﻴﺠﻮﺍﻝ ﺑﻴﺴﻚ ﻟﻠﺘﻄﺒﻴﻘﺎﺕ ،VBAﺍﻟﱪﳎﺔ ﺍﳌﻘﺎﺩﺓ ﺑﺎﳊﺪﺙ ).(Event-driven
ﻣﻌﺮﻓﺔ ﻣﺰﺍﻳﺎ ﺑﻨﻴﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻣﻘﺎﺭﻧﺔ ﺑﻄﺮﻕ ﺍﳌﻌﺎﳉﺔ ﺍﻷﺧﺮﻯ. x
ﺷﺮﺡ ﺍﳌﺮﻛﺒﺎﺕ ﺍﻟﺜﻼﺛﺔ ﻟﻠﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ ﻟﻠﺘﻄﺒﻴﻖ :ﺧﺪﻣﺎﺕ ﻋﺮﺽ ﺍﻟﺒﻴﺎﻧﺎﺕ ،ﺧﺪﻣﺎﺕ ﺍﳌﻌﺎﳉﺔ، x
ﺧﺪﻣﺎﺕ ﺍﻟﺘﺨﺰﻳﻦ.
ﺍﻗﺘﺮﺍﺡ ﺇﻣﻜﺎﻧﻴﺔ ﲡﺰﻱﺀ ﻫﺬﻩ ﺍﳋﺪﻣﺎﺕ ﺇﱃ ﻋﺪﺓ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ. x
ﺍﻟﺘﻤﻴﻴﺰ ﺑﲔ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﻭﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﺔ ﺍﻟﻄﺒﻘﺎﺕ ﻭﺍﻟﺒﻨﻴﺔ ﺍﳌﺘﻌﺪﺩﺓ x
ﺍﻟﻄﺒﻘﺎﺕ.
ﻭﺻﻒ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ،ﻭﻣﻌﺮﻓﺔ ﻛﻴﻒ ﺗﺴﻬﻞ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ. x
>a Kf8 516
ﻭﻋﻼﻗﺘﻬﺎ ﺑﺎﻟﱪﻧﺎﻣﺞ QBE ﺷﺮﺡ ﺇﻣﻜﺎﻧﺎﺕ ﻭﺍﺟﻬﺔ ﺍﻻﺳﺘﻌﻼﻡ ﻋﻦ ﻃﺮﻳﻖ ﺍﻷﻣﺜﻠﺔ x
،Microsoft Access 2000ﻣﻴﺰﺍﺎ ﻭﻋﻴﻮﺎ ﻣﻘﺎﺭﻧﺔ ﺑﻠﻐﺔ .SQL
ﺷﺮﺡ ﻛﻴﻔﻴﺔ ﺭﺑﻂ ﺟﺪﺍﻭﻝ ﻣﻌﻄﻴﺎﺕ ﺧﺎﺭﺟﻴﺔ ﻣﻊ ﺗﻄﺒﻴﻖ ﰲ ﺑﻴﺌﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺑﻮﺍﺳﻄﺔ ODBCﺃﻭ x
.JDBC
ﺷﺮﺡ ﻛﻴﻒ ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ VBAﻣﻊ Access2000ﻟﺒﻨﺎﺀ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﺰﺑﻮﻥ. x
517 ·j¦
¶WáKE:<W
jME9
?MW
ﺗﻌﻤﻞ ﺃﻧﻈﻤﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﰲ ﺑﻴﺌﺔ ﺷﺒﻜﻴﺔ ﳎﺰﺋﺔ ﻣﻌﺎﳉﺔ ﺍﻟﺘﻄﺒﻴﻖ ﺑﲔ ﺯﺑﻮﻥ ﺍﻟﻄﺮﻑ ﺍﻷﻣﺎﻣﻲ ﻭﻣﻌﺎﰿ
ﺍﻟﻄﺮﻑ ﺍﳋﻠﻔﻲ .ﻭﺑﺸﻜﻞ ﻋﺎﻡ ﻓﺈﻥ ﺗﻄﺒﻴﻖ ﺍﻟﺰﺑﻮﻥ ﻳﺘﻄﻠﺐ ﺑﻌﺾ ﺍﳌﻮﺍﺭﺩ ﺍﻟﱵ ﻳﺰﻭﺩﻩ ﺎ ﺍﳌﺨﺪﻡ ﻭﻣﻦ
ﺍﳉﺪﻳﺮ ﺑﺎﻟﺬﻛﺮ ﺃﻥ ﺍﻟﺰﺑﺎﺋﻦ ﻭﺍﳌﺨﺪﻣﺎﺕ ﳝﻜﻦ ﺃﻥ ﻳﻜﻮﻧﻮﺍ ﻋﻠﻰ ﺍﳊﺎﺳﺐ ﻧﻔﺴﻪ ،ﺃﻭ ﳝﻜﻦ ﺃﻥ ﻳﻜﻮﻧﻮﺍ
ﻼ ﻣﻦ ﺍﻟﺰﺑﺎﺋﻦ ﻭﺍﳌﺨﺪﻣﲔﻣﺘﻮﺯﻋﲔ ﻋﻠﻰ ﻋﺪﺓ ﺃﺟﻬﺰﺓ ﻣﺘﺼﻠﺔ ﺿﻤﻦ ﺷﺒﻜﺔ .ﺣﻴﺚ ﳝﻜﻦ ﺍﻋﺘﺒﺎﺭ ﺃﻥ ﻛ ﹰ
ﺫﻛﻲ ﻭﻗﺎﺑﻞ ﻟﻠﱪﳎﺔ ﲝﻴﺚ ﳝﻜﻦ ﺃﻥ ﺗﺴﺘﺨﺪﻡ ﻗﻮﻤﺎ ﺍﳊﺴﺎﺑﻴﺔ ﻹﳒﺎﺯ ﺗﻄﺒﻴﻘﺎﺕ ﻓﻌﺎﻟﺔ.
ﻣﻦ ﺍﻟﺼﻌﺐ ﺗﻘﻴﻴﻢ ﺃﺛﺮ ﺗﻄﺒﻴﻘﺎﺕ ﺍﳌﺨﺪﻡ/ﺍﻟﺰﺑﻮﻥ ﰲ ﺍﻟﺴﻨﻮﺍﺕ ﺍﻟﻌﺸﺮ ﺍﳌﺎﺿﻴﺔ.ﻛﻤﺎ ﺃﻥ ﺍﻟﺘﻘﺪﻡ ﰲ
ﺗﻘﻨﻴﺎﺕ ﺍﳊﻮﺍﺳﻴﺐ ﺍﻟﺸﺨﺼﻴﺔ ﻭﺍﻟﺘﻄﻮﺭ ﺍﻟﺴﺮﻳﻊ ﻟﻮﺍﺟﻬﺎﺕ ﺍﳌﺴﺘﺨﺪﻡ ﺍﻟﺒﻴﺎﻧﻴﺔ GUIsﻭﺍﻟﺸﺒﻜﺎﺕ
ﻭﺍﻻﺗﺼﺎﻻﺕ ،ﻛﻠﻬﺎ ﻏﲑﺕ ﻣﻦ ﻃﺮﻕ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻷﻋﻤﺎﻝ ﻷﻧﻈﻤﺔ ﺍﳊﺴﺎﺏ ﲟﺎ ﻳﺘﻮﺍﻓﻖ ﻣﻊ ﻣﺘﻄﻠﺒﺎﺎ.
ﻓﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﺠﺎﺭﺓ ﺍﻹﻟﻜﺘﺮﻭﻧﻴﺔ ﺗﺘﻄﻠﺐ ﺃﻥ ﻳﻜﻮﻥ ﻣﺘﺼﻔﺢ ﺍﻟﺰﺑﻮﻥ ﻗﺎﺩﺭﹰﺍ ﻋﻠﻰ ﺍﻟﻮﻟﻮﺝ ﺇﱃ ﺻﻔﺤﺎﺕ
ﺍﻟﻮﻳﺐ ﺍﻟﺪﻳﻨﺎﻣﻜﻴﺔ ﺍﳌﺮﺗﺒﻄﺔ ﺑﻘﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺗﺰﻭﺩﻫﺎ ﲟﻌﻄﻴﺎﺕ ﻣﺘﺠﺪﺩﺓ.
ﻗﺪ ﺃﻋﻴﺪﺕ ﻛﺘﺎﺑﺔ ﺗﻄﺒﻴﻘﺎﺕ ﳏﻄﺎﺕ ﺍﻟﻌﻤﻞ ﻟﺘﻌﻤﻞ ﰲ ﺑﻴﺌﺔ ﻣﻌﻄﻴﺎﺕ ﺗﺰﻭﺩﻫﺎ ﲟﻌﻄﻴﺎﺕ ﻣﺘﺠﺪﺩﺓ.
ﻗﺪ ﺃﻋﻴﺪﺕ ﺗﻄﺒﻴﻘﺎﺕ ﳏﻄﺎﺕ ﺍﻟﻌﻤﻞ ﻟﺘﻌﻤﻞ ﰲ ﺑﻴﺌﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻣﺴﺘﻔﻴﺪﺓ ﻣﻦ ﺍﻷﺛﺮ ﺍﻟﻜﺒﲑ ﻟﻠﻜﻠﻔﺔ
ﰲ ﺷﺒﻜﺎﺕ ﺍﳊﻮﺍﺳﻴﺐ ﺍﻟﺸﺨﺼﻴﺔ ﻭﳏﻄﺎﺕ ﺍﻟﻌﻤﻞ .ﺗﻼﺋﻢ ﺍﳊﺎﺟﺔ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺍﺳﺘﺮﺍﺗﻴﺠﻴﺎﺕ ﺑﻴﺌﺔ
ﻋﻤﻞ ﳏﺪﺩﺓ ،ﻗﺪ ﰎ ﺳﺪﻫﺎ ﺑﻮﺍﺳﻄﺔ ﺣﻠﻮﻝ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻷﺎ ﺗﻘﺪﻡ ﺍﳌﺮﻭﻧﺔ ﻭﻗﺎﺑﻠﻴﺔ ﺍﻟﺘﻄﻮﻳﺮ )ﻭﻫﻲ
ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺗﻄﻮﻳﺮ ﻧﻈﺎﻡ ﺩﻭﻥ ﺍﳊﺎﺟﺔ ﻹﻋﺎﺩﺓ ﺗﺼﻤﻴﻤﻪ( ﻭﻗﺎﺑﻠﻴﺔ ﺍﻟﺘﻤﺪﺩ )ﻭﻫﻲ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺗﻌﺮﻳﻒ
ﺃﳕﺎﻁ ﻣﻌﻄﻴﺎﺕ ﻭﻋﻤﻠﻴﺎﺕ ﺟﺪﻳﺪﺓ( ﺃﻳﻀﹰﺎ .ﻭﻛﻠﻤﺎ ﺗﻮﺳﻌﺖ ﺍﻷﻋﻤﺎﻝ ﻭﺃﺻﺒﺤﺖ ﺃﻛﺜﺮ ﴰﻮﻟﻴﺔ ﻣﻦ
ﻧﺎﺣﻴﺔ ﻋﻤﻠﻴﺎﺎ ،ﻓﺈﻧﻪ ﻳﺘﻮﺟﺐ ﻋﻠﻴﻬﺎ ﺍﺑﺘﻜﺎﺭ ﻧﻈﻢ ﻣﻮﺯﻋﺔ ﺟﺪﻳﺪﺓ )ﺳﺘﺘﻢ ﻣﻨﺎﻗﺸﺘﻬﺎ ﰲ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﻟﺚ
ﻋﺸﺮ( ،ﻭﻏﺎﻟﺒﺎﹰ ﻣﺎ ﺗﺘﻀﻤﻦ ﺧﻄﻄﻬﺎ ﺍﺳﺘﺨﺪﺍﻡ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ.
ﺳﻮﻑ ﻧﺘﻨﺎﻭﻝ ﰲ ﻫﺬﺍ ﺍﻟﻔﺼﻞ ﺗﻄﻮﺭﺍﺕ ﺑﻴﺌﺔ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻣﺘﻌﺪﺩﺓ ﺍﳌﺴﺘﺨﺪﻣﲔ ﻭﺍﻟﱵ ﺃﺩﺕ
ﺇﱃ ﺗﻄﻮﻳﺮ ﻋﺪﺓ ﺍﺳﺘﺮﺍﺗﻴﺠﻴﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﳌﻌﺎﳉﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ،ﻭﻣﻨﻬﺎ :ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ
ﺍﳌﺒﻴﻨﺔ ﻋﻠﻰ ﺷﺒﻜﺎﺕ ،LANﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ )ﻭﺗﺘﻀﻤﻦ ﺍﻟﺒﲎ ﺛﻼﺛﻴﺔ
ﺍﻟﻄﺒﻘﺎﺕ( ،ﺑﲏ ﺍﳌﻌﺎﳉﺔ ﺍﳌﻮﺯﻋﺔ ،ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺍﻹﻧﺘﺮﻧﺖ ،ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ.
ﺇﻥ ﻣﺎ ﻳﺮﻏﱢﺐ ﰲ ﺗﻘﻨﻴﺎﺕ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺗﻠﻚ ،ﻫﻮ ﺗﻨﻮﻉ ﺍﻟﻔﺮﺹ ﺍﳉﺪﻳﺪﺓ ﻭﺍﻟﻀﻐﻮﻁ ﺍﻟﺘﻨﺎﻓﺴﻴﺔ،
ﻓﻠﻘﺪ ﺃﺻﺒﺤﺖ ﺍﻟﺸﺒﻜﺔ ﻛﺎﳊﺎﺳﺐ ،ﺣﻴﺚ ﺃﻥ ﺍﳌﺴﺘﺨﺪﻣﲔ ﻳﺘﺸﺎﺭﻛﻮﻥ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﺧﻼﻝ ﻣﺴﺎﺭﺍﺕ
ﺍﻟﺸﺒﻜﺔ ﰒ ﻳﻠﺠﺆﻭﻥ ﺇﱃ ﺍﻹﻧﺘﺮﻧﺖ ﻟﻠﻮﻟﻮﺝ ﺇﱃ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻭﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﱵ ﻃﻠﺒﻮﻫﺎ .ﺇﻥ ﺇﻋﺎﺩﺓ ﺑﻨﺎﺀ
ﺍﳌﺆﺳﺴﺎﺕ ،ﳚﻌﻞ ﻣﻦ ﺍﻟﻀﺮﻭﺭﻱ ﺭﺑﻂ ﺃﻭ ﺩﻣﺞ ﺃﻭ ﺍﺳﺘﺒﺪﺍﻝ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﻮﺟﻮﺩﺓ .ﺇﻥ ﺇﺣﺪﻯ ﻧﺘﺎﺋﺞ
ﺗﻘﻠﻴﺺ ﺍﳌﺆﺳﺴﺎﺕ ،ﻫﻲ ﺍﻣﺘﻼﻙ ﺍﳌﺪﺭﺍﺀ ﲢﻜﻤﹰﺎ ﺃﻭﺳﻊ ﻳﺴﺘﻠﺰﻡ ﺑﺪﻭﺭﻩ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﳎﺎﻝ ﺃﻛﱪ ﻣﻦ
>a Kf8 518
ﺍﳌﻌﻄﻴﺎﺕ .ﻭﺑﺎﻟﺘﺎﱄ ﻓﺈﻥ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺳﻮﻑ ﺗﺘﻘﻠﺺ ﻣﻦ ﺗﻄﺒﻴﻘﺎﺕ ﻋﻠﻰ ﺣﻮﺍﺳﻴﺐ ﻣﺮﻛﺰﻳﺔ ﻣﻜﻠﻔﺔ ﺇﱃ
ﺗﻄﺒﻴﻘﺎﺕ ﻋﻠﻰ ﺣﻮﺍﺳﻴﺐ ﻭﳏﻄﺎﺕ ﻋﻤﻞ ﻣﺮﺗﺒﻄﺔ ﺑﺸﺒﻜﺔ ﻣﺎ ،ﻭﺗﻌﺘﱪ ﺃﻛﺜﺮ ﺳﻬﻮﻟﺔ ﻟﻼﺳﺘﺨﺪﺍﻡ
ﻭﺃﺣﻴﺎﻧﹰﺎ ﺃﻓﻀﻞ ﻣﻦ ﺣﻴﺚ ﺍﻟﻜﻠﻔﺔ .ﻛﻤﺎ ﺗﺸﻜﻞ ﺇﺩﺍﺭﺓ ﺍﻟﻨﻘﻞ ﰲ ﺍﻟﺸﺒﻜﺔ ،ﺍﻟﱵ ﳝﻜﻦ ﺃﻥ ﺗﻜﻮﻥ ﻣﻌﻘﺪﺓ
ﰲ ﺑﻌﺾ ﺍﻟﺒﲎ ،ﻗﻀﻴﺔ ﻫﺎﻣﺔ ﰲ ﺗﻄﻮﻳﺮ ﺗﻄﺒﻴﻘﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻧﺎﺟﺤﺔ ،ﻭﺧﺼﻮﺻﺎﹰ ﻋﻨﺪﻣﺎ ﺗﻀﻊ
ﺍﳌﺆﺳﺴﺔ ﺗﻄﺒﻴﻘﺎﺕ ﻣﻬﻤﺔ ﰲ ﺑﻴﺌﺔ ﻣﻮﺯﻋﺔ .ﺇﻥ ﺇﻧﺸﺎﺀ ﺗﻮﺍﺯﻥ ﺟﻴﺪ ﺑﲔ ﺍﻟﻨﻈﻢ ﺍﳌﺮﻛﺰﻳﺔ ﻭﺍﻟﻨﻈﻢ ﻏﲑ
ﺍﳌﺮﻛﺰﻳﺔ ﻫﻲ ﻣﺴﺄﻟﺔ ﺍﳉﺪﻝ ﺍﳊﺎﻟﻴﺔ ،ﻟﺬﻟﻚ ﺗﻜﺎﻓﺢ ﺍﳌﺆﺳﺴﺎﺕ ﻣﻦ ﺃﺟﻞ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﺃﻋﻠﻰ ﻓﺎﺋﺪﺓ
ﻣﻦ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﻟﻜﻞ ﻣﻦ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻭﳏﻄﺎﺕ ﺍﻟﻌﻤﻞ.
·j¦
¶Wág;kC
ﺗﺴﺘﺨﺪﻡ ﺑﻴﺌﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺍﻟﺸﺒﻜﺎﺕ ﺍﶈﻠﻴﺔ LANﻟﺪﻋﻢ ﺷﺒﻜﺔ ﻣﻦ ﺍﳊﻮﺍﺳﻴﺐ ﺍﻟﺸﺨﺼﻴﺔ ،ﺣﻴﺚ ﺃﻥ
ﻟﻜﻞ ﺣﺎﺳﺐ ﻣﻦ ﻫﺬﻩ ﺍﳊﻮﺍﺳﻴﺐ ﻭﺳﺎﺋﻂ ﺍﻟﺘﺨﺰﻳﻦ ﺍﳋﺎﺻﺔ ﺑﻪ ،ﻭﳝﻜﻦ ﺃﻥ ﺗﺴﺘﺨﺪﻡ ﻫﺬﻩ ﺍﳊﻮﺍﺳﻴﺐ
ﲡﻬﻴﺰﺍﺕ ﻣﺸﺘﺮﻛﺔ ﺑﻴﻨﻬﺎ )ﻣﺜﻞ ﺍﻟﻘﺮﺹ ﺍﻟﺼﻠﺐ ،ﺍﻟﻄﺎﺑﻌﺔ( ﻭﺑﺮﳎﻴﺎﺕ ﻣﺸﺘﺮﻛﺔ ﺃﻳﻀﹰﺎ )ﻣﺜﻞ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ
ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ( ﻣﺘﺼﻠﺔ ﺑﺸﺒﻜﺔ LANﻣﻌﻴﻨﺔ.
ﻳﺒﻌﺪ ﻛﻞ ﺣﺎﺳﺐ ﺷﺨﺼﻲ ﺃﻭ ﳏﻄﺔ ﻋﻤﻞ ﺑﺸﻜﻞ ﻋﺎﻡ ﺣﻮﺍﱄ 100ﻗﺪﻡ ﻋﻦ ﺍﻟﺒﻘﻴﺔ ،ﺣﻴﺚ ﻳﻜﻮﻥ
ﻃﻮﻝ ﺳﻠﻚ ﺍﻟﺸﺒﻜﺔ ﺍﻹﲨﺎﱄ ﺃﻗﻞ ﻣﻦ ﻣﻴﻞ ،ﻭﳜﺼﺺ ﻋﻠﻰ ﺍﻷﻗﻞ ﺃﺣﺪ ﺍﻷﺟﻬﺰﺓ ﻛﻤﺨﺪﻡ ﻣﻠﻔﺎﺕ
ﺣﻴﺚ ﲣﺰﻥ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺸﺘﺮﻛﺔ ﻋﻠﻴﻪ .ﻟﻘﺪ ﺃﺿﺎﻓﺖ ﺃﺟﺰﺍﺀ ﺷﺒﻜﺔ LANﺍﳋﺎﺻﺔ ﺑﻨﻈﻢ ﺇﺩﺍﺭﺓ
ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﺘﺤﻜﻢ ﺑﺎﻟﻮﺻﻮﻝ ﺍﳌﺘﺰﺍﻣﻦ ،ﻭﺃﺿﺎﻓﺖ ﺃﻳﻀﹰﺎ ﲰﺎﺕ ﺇﺿﺎﻓﻴﺔ ﻣﺘﻌﻠﻘﺔ ﺑﺎﻷﻣﻦ،
ﻭﺇﺩﺍﺭﺓ ﲡﻤﻴﻊ ﺍﻻﺳﺘﻌﻼﻡ ﻟﺪﻋﻢ ﺍﻟﻮﺻﻮﻝ ﺍﳌﺘﺰﺍﻣﻦ ﻣﻦ ﻋﺪﺓ ﻣﺴﺘﺨﺪﻣﲔ ﺇﱃ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ
ﻣﺸﺘﺮﻛﺔ.
ﳝﻜﻦ ﲤﻴﻴﺰ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺍﳌﺘﻌﺪﺩﺓ ﺍﻟﱵ ﰎ ﺗﻄﻮﻳﺮﻫﺎ ﺑﻮﺍﺳﻄﺔ ﺗﻮﺯﻉ ﻣﻜﻮﻧﺎﺕ ﺍﻟﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ )ﻣﻨﻄﻖ(
ﻟﻠﺘﻄﺒﻴﻖ ﻋﻠﻰ ﺍﳌﺨﺪﻣﺎﺕ ﻭﺍﻟﺰﺑﺎﺋﻦ .ﺣﻴﺚ ﻳﻮﺟﺪ ﺛﻼﺛﺔ ﻣﻜﻮﻧﺎﺕ ﳌﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ .ﺍﳌﻜﻮﻥ ﺍﻷﻭﻝ ﻫﻮ
ﺍﻟﺪﺧﻞ/ﺍﳋﺮﺝ ﺃﻭ ﻣﻜﻮﻥ ﺍﻟﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ ﻟﻠﻌﺮﺽ )ﻣﻨﻄﻖ ﺍﻟﻌﺮﺽ( .ﻫﺬﺍ ﺍﳌﻜﻮﻥ ﻫﻮ ﺍﳌﺴﺆﻭﻝ ﻋﻦ
ﺗﻨﺴﻴﻖ ﻭﺇﻇﻬﺎﺭ ﺍﳌﻌﻄﻴﺎﺕ ﻋﻠﻰ ﺷﺎﺷﺔ ﺍﳌﺴﺘﺨﺪﻡ ﺃﻭ ﺃﻱ ﻭﺳﻴﻠﺔ ﺇﻇﻬﺎﺭ ﺃﺧﺮﻯ ،ﻭﻫﻮ ﻳﺪﻳﺮ ﺃﻳﻀﹰﺎ
ﻋﻤﻠﻴﺎﺕ ﺍﻹﺩﺧﺎﻝ ﺍﻟﱵ ﻳﻘﻮﻡ ﺎ ﺍﳌﺴﺘﺨﺪﻡ ﻋﻦ ﻃﺮﻳﻖ ﻟﻮﺣﺔ ﺍﳌﻔﺎﺗﻴﺢ ،ﺃﻭ ﺃﻱ ﻭﺳﻴﻠﺔ ﺇﺩﺧﺎﻝ ﺃﺧﺮﻯ.
ﺃﻣﺎ ﺍﳌﻜﻮﻥ ﺍﻟﺜﺎﱐ ﻓﻬﻮ ﻣﻜﻮﻥ ﺍﳌﻌﺎﳉﺔ ،ﻭﻫﻮ ﻳﺪﻳﺮ ﻣﻨﻄﻖ ﻣﻌﺎﳉﺔ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﻣﻨﻄﻖ ﻭﻗﻮﺍﻋﺪ ﺍﻟﻌﻤﻞ،
ﻭﻣﻨﻄﻖ ﺇﺩﺍﺭﺓ ﺍﳌﻌﻄﻴﺎﺕ .ﻳﺘﻀﻤﻦ ﻣﻨﻄﻖ ﻣﻌﺎﳉﺎﺕ ﺍﳌﻌﻄﻴﺎﺕ ﻧﺸﺎﻃﺎﺕ ﻣﺜﻞ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ
ﺍﳌﻌﻄﻴﺎﺕ ﻭﻫﻮﻳﺘﻬﺎ ﺪﻑ ﻣﻌﺎﳉﺔ ﺍﻷﺧﻄﺎﺀ .ﳝﻜﻦ ﺗﺮﻣﻴﺰ ﻗﻮﺍﻋﺪ ﺍﻟﻌﻤﻞ ﺍﻟﱵ ﻳﺘﻢ ﺗﺮﻣﻴﺰﻫﺎ ﰲ ﻣﺴﺘﻮﻯ
ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ،ﰲ ﻣﻜﻮﻥ ﺍﳌﻌﺎﳉﺔ.
519 ·j¦
¶WáKE:<W
jME9
ﳛﺪﺩ ﻣﻨﻄﻖ ﺇﺩﺍﺭﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻀﺮﻭﺭﻳﺔ ﳌﻌﺎﳉﺔ ﻣﻨﺎﻗﻠﺔ ﺃﻭ ﺍﺳﺘﻌﻼﻡ ﻣﺎ .ﺃﻣﺎ ﺍﳌﻜﻮﻥ ﺍﻟﺜﺎﻟﺚ
ﻓﻬﻮ ﺍﻟﺘﺨﺰﻳﻦ ،ﻭﻫﻮ ﺍﳌﺴﺆﻭﻝ ﻋﻦ ﲣﺰﻳﻦ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺍﺳﺘﻌﺎﺩﺎ ﻣﻦ ﻭﺳﺎﺋﻂ ﺍﻟﺘﺨﺰﻳﻦ ﺍﻟﻔﻴﺰﻳﺎﺋﻴﺔ
ﺍﳌﺮﺗﺒﻄﺔ ﺑﺎﻟﺘﻄﺒﻴﻖ .ﺇﻥ ﻧﺸﺎﻃﺎﺕ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﲢﺪﺙ ﰲ ﻣﻨﻄﻖ ﻣﻜﻮﻥ ﺍﻟﺘﺨﺰﻳﻦ.
)ﺍﻧﻈﺮ ﺇﱃ ﺍﻟﺸﻜﻞ ).(9-1
K>A&¶WáMEC
ﻫﻲ ﺃﻭﻝ ﺑﻨﻴﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﰎ ﺗﻄﻮﻳﺮﻫﺎ ،ﰲ ﺑﻴﺌﺔ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﺗﺘﻢ ﻣﻌﺎﳉﺔ ﺍﳌﻌﻄﻴﺎﺕ ﰲ ﳏﻄﺎﺕ ﺍﻟﻌﻤﻞ
) (workstationsﺍﻟﱵ ﻃﻠﺒﺖ ﻫﺬﻩ ﺍﳌﻌﻄﻴﺎﺕ ،ﺣﻴﺚ ﻳﺪﻳﺮ ﺍﻟﺰﺑﻮﻥ ﻣﻨﻄﻖ ﺍﻟﻌﺮﺽ ﻭﻣﻨﻄﻖ ﺍﳌﻌﺎﳉﺔ
ﻭﻏﺎﻟﺒﻴﺔ ﻣﻨﻄﻖ ﺍﻟﺘﺨﺰﻳﻦ )ﺍﳌﺘﻌﻠﻖ ﺑﻨﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ( .ﻳﺘﻢ ﺭﺑﻂ ﻣﻠﻒ ﻭﺍﺣﺪ ﺃﻭ ﺃﻛﺜﺮ ﺇﱃ
ﺷﺒﻜﺔ ،LANﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﺑﺎﻟﺘﻌﺮﻳﻒ ﻫﻮ ﺟﻬﺎﺯ ﻗﺎﺩﺭ ﻋﻠﻰ ﺇﺭﺳﺎﻝ ﻭﺍﺳﺘﻘﺒﺎﻝ ﺍﳌﻌﻄﻴﺎﺕ ﻭﻳﻘﻮﻡ ﺑﺈﺩﺍﺭﺓ
ﺍﻟﻌﻤﻠﻴﺎﺕ ﻋﻠﻰ ﺍﳌﻠﻔﺎﺕ ،ﻭﻫﻮ ﻣﺸﺘﺮﻙ ﺑﲔ ﻛﻞ ﺣﻮﺍﺳﻴﺐ ﺍﻟﺰﺑﺎﺋﻦ ﺍﳌﺮﺗﺒﻄﺔ ﺑﺸﺒﻜﺔ ،LANﻳﺴﺘﺨﺪﻡ
ﻛﻞ ﳐﺪﻡ ﻣﻠﻔﺎﺕ ﻛﻘﺮﺹ ﺻﻠﺐ ﺇﺿﺎﰲ ﻟﻜﻞ ﻣﻦ ﻫﺬﻩ ﺍﳊﻮﺍﺳﻴﺐ ،ﻓﻌﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ ،ﳝﻜﻦ ﺃﻥ
ﻳﺘﻌﺮﻑ ﺣﺎﺳﺒﻚ ﺍﻟﺸﺨﺼﻲ ﻋﻠﻰ ﺍﻟﻘﺮﺹ ﺍﳌﻨﻄﻘﻲ ،Fﻭﺍﻟﺬﻱ ﻫﻮ ﰲ ﺍﳊﻘﻴﻘﺔ ﺣﺠﻢ ﻣﻦ ﺍﻟﻘﺮﺹ
ﺍﳌﺨﺰﻥ ﻋﻠﻰ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﺍﳌﺮﺗﺒﻂ ﺑﺎﻟﺸﺒﻜﺔ ،ﻓﺎﻟﱪﺍﻣﺞ ﰲ ﺣﺎﺳﺒﻚ ﺍﻟﺸﺨﺼﻲ ﺗﺸﲑ ﺇﱃ ﻣﻠﻔﺎﺕ ﻋﻠﻰ
ﺍﻟﺴﻮﺍﻗﺔ ﻣﻊ ﲢﺪﻳﺪ ﺍﳌﺴﺎﺭ ﺑﺸﻜﻞ ﳕﻮﺫﺟﻲ ﻣﺘﻀﻤﻨﹰﺎ ﻫﺬﻩ ﺍﻟﺴﻮﺍﻗﺔ ﻭﺃﻳﺔ ﳎﻠﺪﺍﺕ ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺍﺳﻢ
>a Kf8 520
ﺍﳌﻠﻒ .ﻳﻄﻠﻖ ﰲ ﺑﻨﻴﺔ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ،ﻋﻠﻰ ﻛﻞ ﺣﺎﺳﺐ ﻣﻦ ﺣﻮﺍﺳﻴﺐ ﺍﻟﺰﺑﺎﺋﻦ ،ﺍﺳﻢ ﺍﻟﺰﺑﻮﻥ ﺍﻟﺜﻘﻴﻞ
،fat clientﺣﻴﺚ ﺗﺘﻢ ﻣﻌﻈﻢ ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﻋﻨﺪ ﺍﻟﺰﺑﻮﻥ ﻋﻮﺿﹰﺎ ﻋﻦ ﺍﳌﺨﺪﻡ.
ﰲ ﺑﻴﺌﺔ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﻳﺴﻤﺢ ﻟﻜﻞ ﺣﺎﺳﺐ ﺯﺑﻮﻥ ﺍﺳﺘﺨﺪﺍﻡ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻋﻨﺪﻣﺎ
ﻳﻜﻮﻥ ﺑﺮﻧﺎﻣﺞ ﺗﻄﺒﻴﻖ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻳﻌﻤﻞ ﻋﻠﻰ ﺫﻟﻚ ﺍﳊﺎﺳﺐ ،ﻭﺑﺎﻟﺘﺎﱄ ﻫﻨﺎﻙ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ
ﻭﺍﺣﺪﺓ ﻭﻟﻜﻦ ﻫﻨﺎﻙ ﻋﺪﺓ ﻧﺴﺦ DBSMﻋﺎﻣﻠﺔ ﺑﺼﻮﺭﺓ ﻣﺘﺪﺍﺧﻠﺔ.
ﺇﻥ ﺍﻟﺴﻤﺔ ﺍﻷﺳﺎﺳﻴﺔ ﻟﺒﻨﻴﺔ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﻫﻲ ﺃﻥ ﻛﻞ ﻋﻤﻠﻴﺎﺕ ﻣﻌﺎﳉﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺗﺘﻢ ﻋﻠﻰ ﺣﻮﺍﺳﻴﺐ
ﺍﻟﺰﺑﺎﺋﻦ ﻭﻟﻴﺲ ﻋﻠﻰ ﺍﳌﺨﺪﻡ ،ﺣﻴﺚ ﺃﻥ ﺩﻭﺭ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﻫﻮ ﻭﺳﻴﻂ ﲣﺰﻳﻦ ﺑﻴﺎﻧﺎﺕ ﻣﺸﺘﺮﻙ .ﺗﻘﻮﻡ
ﺍﻟﱪﳎﻴﺔ ﺍﻟﱵ ﺗﻌﻤﻞ ﻋﻠﻰ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﺑﻮﺿﻊ ﻃﻠﺒﺎﺕ ﺍﻟﻮﻟﻮﺝ ﰲ ﺭﺗﻞ ﻭﻟﻜﻦ ﻳﻘﻊ ﻋﻠﻰ ﻋﺎﺗﻖ ﺑﺮﻧﺎﻣﺞ
ﺍﻟﺘﻄﺒﻴﻖ ﰲ ﻛﻞ ﺣﺎﺳﺐ ﺯﺑﻮﻥ )ﺍﻟﺬﻱ ﻳﻌﻤﻞ ﻋﻠﻰ ﻧﺴﺨﺔ ﻣﻦ (DBMSﺍﻟﺘﺤﻜﻢ ﰲ ﻋﻤﻠﻴﺎﺕ ﺇﺩﺍﺭﺓ
ﺍﻟﺒﻴﺎﻧﺎﺕ ،ﻓﻌﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ ﺍﺧﺘﺒﺎﺭ ﺃﻣﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺇﻏﻼﻕ ﺍﳌﻠﻔﺎﺕ ﻭﻗﻔﻞ ﺍﻟﺴﺠﻼﺕ ﻛﻠﻬﺎ ﺗﺘﻢ ﻋﻠﻰ
ﺣﻮﺍﺳﺐ ﺍﻟﺰﺑﺎﺋﻦ ﰲ ﻫﺬﻩ ﺍﻟﺒﻴﺌﺔ.
521 ·j¦
¶WáKE:<W
jME9
K>A&KWáM£¹Wà
ﻳﻮﺟﺪ ﻫﻨﺎﻙ ﺛﻼﺙ ﻋﻴﻮﺏ ﻋﻨﺪ ﺍﺳﺘﺨﺪﺍﻡ ﳐﺪﻣﺎﺕ ﺍﳌﻠﻔﺎﺕ ﻋﻠﻰ ﺍﻟﺸﺒﻜﺎﺕ ﺍﶈﻠﻴﺔ ،LANﺍﻟﻌﻴﺐ
ﺍﻷﻭﻝ ﻫﻮ ﺗﻮﻟﻴﺪ ﺣﺮﻛﺔ ﻛﺒﲑﺓ ﻟﻠﺒﻴﺎﻧﺎﺕ ﻋﱪ ﺍﻟﺸﺒﻜﺔ ،ﻓﻌﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ ﻋﻨﺪﻣﺎ ﻳﺮﻳﺪ ﺑﺮﻧﺎﻣﺞ ﺗﻄﺒﻴﻘﻲ
ﻳﻌﻤﻞ ﻋﻠﻰ ﺣﺎﺳﺐ ﺯﺑﻮﻥ ﰲ ﻣﻔﺮﻭﺷﺎﺕ Pine Valleyﺍﻟﻮﻟﻮﺝ ﳌﻨﺘﺠﺎﺕ ﺧﺸﺐ ﺍﻟﺒﻠﻮﻁ ﻓﺈﻧﻪ ﻳﺘﻢ
ﻧﻘﻞ ﺟﺪﻭﻝ ﺍﳌﻨﺘﺠﺎﺕ ﺑﺎﻟﻜﺎﻣﻞ ﺇﱃ ﺣﺎﺳﺐ ﺍﻟﺰﺑﻮﻥ ﺣﻴﺚ ﻳﺘﻢ ﻣﺴﺢ ﻫﺬﺍ ﺍﳉﺪﻭﻝ ﻭﺇﳚﺎﺩ
ﺍﻟﺘﺴﺠﻴﻼﺕ ﺍﻟﻘﻠﻴﻠﺔ ﺍﳌﻼﺋﻤﺔ ،ﻭﺑﺎﻟﺘﺎﱄ ﻳﻘﻮﻡ ﺍﳌﺨﺪﻡ ﺑﺄﻋﻤﺎﻝ ﻗﻠﻴﻠﺔ ﺟﺪﹰﺍ ﰲ ﺣﲔ ﺃﻥ ﺍﻟﺰﺑﻮﻥ ﻳﻨﺸﻐﻞ
ﺑﺎﳌﻌﺎﳉﺔ ﺍﻟﺸﺎﻣﻠﺔ ﻟﻠﺒﻴﺎﻧﺎﺕ ﻭﺗﻨﻘﻞ ﺍﻟﺸﺒﻜﺔ ﻛﺘﻞ ﺑﻴﺎﻧﺎﺕ ﺿﺨﻤﺔ .ﻭﻫﻜﺬﺍ ﺗﻠﻘﻲ ﺷﺒﻜﺔ LANﺍﳌﺒﻴﻨﺔ
ﻼ ﻛﺒﲑﹰﺍ ﻋﻠﻰ ﻋﺎﺗﻖ ﺣﻮﺍﺳﻴﺐ ﺍﻟﺰﺑﺎﺋﻦ ﻟﻴﻘﻮﻣﻮﺍ ﺑﺘﻨﻔﻴﺬ ﻣﻬﺎﻡ ﳚﺐ ﺃﻥ ﺗﻨﻔﺬ ﻋﻨﺪ ﻛﻞ ﻋﻠﻰ ﺍﻟﺰﺑﺎﺋﻦ ﲪ ﹰ
ﺍﻟﺰﺑﺎﺋﻦ ﻭﺗﻮﻟﻴﺪ ﻋﻤﻴﻞ ﺯﺍﺋﺪ ﻋﻠﻰ ﺍﻟﺸﺒﻜﺔ ﺛﺎﻧﻴﺎﹰ ،ﳚﺐ ﺃﻥ ﲣﺼﺺ ﻛﻞ ﳏﻄﺔ ﻋﻤﻞ ﺯﺑﻮﻥ ﺫﺍﻛﺮﺓ
ﻟﻠﻨﺴﺨﺔ ﺍﻟﻜﺎﻣﻠﺔ ﻣﻦ ،DBMSﻭﻫﺬﺍ ﻳﻌﲏ ﺃﻥ ﻫﻨﺎﻙ ﺫﺍﻛﺮﺓ ﺃﻗﻞ ﻟﻠﱪﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ ﻋﻠﻰ ﺣﺎﺳﺐ ﺍﻟﺰﺑﻮﻥ،
ﻭﺃﻳﻀﹰﺎ ﺯﻳﺎﺩﺓ ﺣﺠﻢ ﺍﻟـ RAMﻋﻠﻰ ﺍﳊﺎﺳﺐ ﺍﻟﺸﺨﺼﻲ ﺳﺘﺤﺴﻦ ﺍﻷﺩﺍﺀ ﻋﻦ ﻃﺮﻳﻖ ﺯﻳﺎﺩﺓ ﺣﺠﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ
ﺍﳌﺨﺰﻧﺔ ﻋﻠﻰ ﺍﳊﺎﺳﺐ ﺑﻴﻨﻤﺎ ﺗﺘﻢ ﻣﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ،ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺫﻟﻚ ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﻛﻞ ﺯﺑﻮﻥ ﺃﻛﺜﺮ
ﻓﻌﺎﻟﻴﺔ ﻟﻴﻜﻮﻥ ﻟﺪﻳﻪ ﺯﻣﻦ ﺍﺳﺘﺠﺎﺑﺔ ﻣﻨﺎﺳﺐ ﻭﺫﻟﻚ ﻷﻧﻪ ﻳﻠﻘﻲ ﻋﻠﻰ ﳏﻄﺔ ﻋﻤﻞ ﺍﻟﺰﺑﺎﺋﻦ ﺍﳉﺰﺀ ﺍﻷﻛﱪ
ﻣﻦ ﺍﻟﻌﻤﻞ ،ﻭﰲ ﺍﳌﻘﺎﺑﻞ ﻻ ﳛﺘﺎﺝ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﺇﱃ RAMﻛﺒﲑﺓ ﺣﻴﺚ ﺃﻧﻪ ﻳﻘﻮﻡ ﺑﻌﻤﻞ ﺃﻗﻞ.
ﺛﺎﻟﺜﹰﺎ :ﻭﺃﻫﻢ ﻋﻴﺐ ﰲ ﻫﺬﻩ ﺍﻟﺒﻴﺌﺔ ﺃﻧﻪ ﳚﺐ ﻋﻠﻰ ﻛﻞ ﻧﺴﺨﺔ DBMSﰲ ﻛﻞ ﳏﻄﺔ ﻋﻤﻞ ﺃﻥ ﺗﺪﻳﺮ
ﺗﻜﺎﻣﻞ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺸﺘﺮﻛﺔ ،ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺫﻟﻚ ﳚﺐ ﻋﻠﻰ ﻛﻞ ﺑﺮﻧﺎﻣﺞ ﺗﻄﺒﻴﻘﻲ ﺃﻥ ﻳﺘﻌﺮﻑ
ﻋﻠﻰ )ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ( ﺍﻷﻗﻔﺎﻝ ﻭﺍﻻﻫﺘﻤﺎﻡ ﺑﺘﻬﻴﺌﺔ ﺍﻷﻗﻔﺎﻝ ﺍﳌﻼﺋﻤﺔ ،ﻭﺑﺎﻟﺘﺎﱄ ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﻣﱪﳎﻮ
ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺣﺬﺭﻳﻦ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﺤﺎﻻﺕ ﺍﻟﺪﻗﻴﻘﺔ ﺍﻟﱵ ﳝﻜﻦ ﺃﻥ ﺗﻈﻬﺮ ﰲ ﺑﻴﺌﺔ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻣﺘﻌﺪﺩﺓ
ﺍﳌﺴﺘﺨﺪﻣﲔ ،ﻭﳚﺐ ﻋﻠﻴﻬﻢ ﻓﻬﻢ ﻛﻴﻔﻴﺔ ﺗﻔﺎﻋﻞ ﺗﻄﺒﻴﻘﻬﻢ ﻣﻊ DBMSﻣﻦ ﺣﻴﺚ ﺍﻟﺘﺰﺍﻣﻦ
ﻭﺍﻻﺳﺘﺮﺟﺎﻉ ﻭﻗﻮﺍﻋﺪ ﺍﻷﻣﻦ ﻭﺃﺣﻴﺎﻧﹰﺎ ﳚﺐ ﺃﻥ ﻳﱪﳎﻮﺍ ﺑﻌﺾ ﻫﺬﻩ ﺍﻟﻘﻮﺍﻋﺪ ﺿﻤﻦ ﺗﻄﺒﻴﻘﻬﻢ.
ΐγϮΣ ΓΪϋ ϞΒϗ Ϧϣ ϪϴϠϋ ΔϛέΎθϤϟ ϢΘΗϭ ΕΎϔϠϤϟ ΕΎϴϠϤϋ ήϳΪϳ ίΎϬΟ Ϧϋ ΓέΎΒϋ :ΕΎϔϠϤϟ ϡΪΨϣ
ΪϋϮϗ ϖτϨϣϭ ΕΎϘϴΒτΘϟϭ νήόϟ ϖτϨϣ ΔΠϟΎόϣ Ϧϋ ϝϭΆδϣ ϥϮΑί ΏϮγΎΣ Ϯϫ :ϢΨπϟ ϞϴϤόϟ
KE:<&W
K¶WáMEC
ﺗﻠﺖ ﺍﻟﻄﺮﻕ ﺛﻨﺎﺋﻴﺔ ﺍﻟﻄﺒﻘﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﺒﲎ ﳐﺪﻡ-ﺯﺑﻮﻥ ﻃﺮﻳﻘﺔ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ،ﰲ ﻫﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ﺗﻜﻮﻥ
ﳏﻄﺎﺕ ﻋﻤﻞ ﺍﻟﺰﺑﺎﺋﻦ ﻣﺴﺆﻭﻟﺔ ﻋﻦ ﺇﺩﺍﺭﺓ ﻭﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ ﲟﺎ ﰲ ﺫﻟﻚ ﻣﻦ ﻣﻨﻄﻖ ﺍﻟﻌﺮﺽ ﻭﻣﻨﻄﻖ
ﻣﻌﺎﳉﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻣﻨﻄﻖ ﻗﻮﺍﻋﺪ ﺍﻟﻌﻤﻞ ،ﰲ ﺣﲔ ﻳﻜﻮﻥ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻣﺴﺆﻭ ﹰﻻ ﻋﻦ ﲣﺰﻳﻦ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺍﻟﻮﻟﻮﺝ ﺇﻟﻴﻬﺎ ﻭﻣﻌﺎﳉﺘﻬﺎ ،ﺍﻟﺸﻜﻞ ) (9-3ﻳﺒﲔ ﺑﻨﻴﺔ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﳕﻮﺫﺟﻴﺔ.
ﻳﺘﻢ ﺗﻘﻠﻴﻞ ﻋﺐﺀ ﺍﻟﺸﺒﻜﺔ LANﻋﻨﺪ ﺗﻮﺿﻊ DBMSﻋﻠﻰ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﻷﻧﻪ ﻳﺘﻢ ﺇﺭﺳﺎﻝ
ﺍﻟﺴﺠﻼﺕ ﺍﳌﻮﺍﻓﻘﺔ ﻟﻠﻤﻌﻴﺎﺭ ﺍﳌﻄﻠﻮﺏ ﻓﻘﻂ ﺇﱃ ﳏﻄﺔ ﺍﻟﺰﺑﻮﻥ ﺑﺪ ﹰﻻ ﻣﻦ ﺇﺭﺳﺎﻝ ﻛﺎﻣﻞ ﻣﻠﻔﺎﺕ ﺍﳌﻌﻄﻴﺎﺕ.
ΕΎϴτόϤϟ ΓΪϋΎϗ ϰϟ· ϝϮλϮϟϭ ΔΠϟΎόϣϭ ϦϳΰΨΗ Ϧϋ ϝϭΆδϣ ΐγΎΣ Ϯϫ :ΕΎϴτόϤϟ ΓΪϋΎϗ ϡΪΨϣ
.ΔϘΒτϟ ΔϴΎϨΛ ϥϮΑί - ϡΪΨϣ ΔΌϴΑ ϰϟ· ΓέΎηϺϟ ϠτμϤϟ άϫ ξόΒϟ ϡΪΨΘδϳϭ ˬϥϮΑί ϡΪΨϣ ΔΌϴΑ ϲϓ
ﻳﺸﲑ ﺍﻟﺒﻌﺾ ﺇﱃ ﻭﻇﺎﺋﻒ ﺍﻟـ DBMSﺍﳌﺮﻛﺰﻳﺔ ﺑﻮﻇﺎﺋﻒ ﺍﻟﻄﺮﻑ ﺍﳋﻠﻔﻲ ) (back-endﰲ ﺣﲔ
ﻳﻄﻠﻘﻮﻥ ﻋﻠﻰ ﺍﻟﱪﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ ﺍﳌﻮﺟﻮﺩﺓ ﻋﻠﻰ ﺣﻮﺍﺳﻴﺐ ﺍﻟﺰﺑﺎﺋﻦ ﺑﱪﺍﻣﺞ ﺍﻟﻄﺮﻑ ﺍﻷﻣﺎﻣﻲ ).(front-end
523 ·j¦
¶WáKE:<W
jME9
ﺇﻥ ﻧﻘﻞ DBMSﺇﱃ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻟﻪ ﻓﻮﺍﺋﺪ ﻋﺪﻳﺪﺓ ،ﻓﻔﻲ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ ﻳﺘﻄﻠﺐ ﳐﺪﻡ ﻗﺎﻋﺪﺓ
ﺍﳌﻌﻄﻴﺎﺕ ﻓﻘﻂ ﻗﺪﺭﺓ ﻣﻌﺎﳉﺔ ﻣﻼﺋﻤﺔ ﻹﺩﺍﺭﺓ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﺣﻴﺚ ﺗﻜﻮﻥ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﳐﺰﻧﺔ
ﻋﻠﻰ ﺍﳌﺨﺪﻡ ﻭﻟﻴﺴﺖ ﻋﻨﺪ ﺍﻟﺰﺑﺎﺋﻦ ،ﻭﺑﺎﻟﺘﺎﱄ ﳝﻜﻦ ﺃﻥ ﻳﻀﺒﻂ )ﺃﻭ ﻳﻌﺪﻝ( ﻟﺘﺤﺴﲔ ﻓﻌﺎﻟﻴﺔ ﺃﺩﺍﺓ ﻣﻌﺎﳉﺔ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ.
ﺳﻴﺘﻢ ﺗﻘﻠﻴﻞ ﲢﻤﻴﻞ ﺍﻻﺗﺼﺎﻝ ﰲ ﺣﺎﻝ ﻛﺎﻧﺖ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺮﺳﻠﺔ ﻋﱪ ﺍﻟﺸﺒﻜﺔ LANﻗﻠﻴﻠﺔ.
ﺗﻨﻔﺬ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺮﺧﻴﺺ ﻭﻓﺤﺺ ﺍﻟﺘﻜﺎﻣﻞ ﻭﺻﻴﺎﻧﺔ ﻗﺎﻣﻮﺱ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺍﻻﺳﺘﻌﻼﻡ ﻭﻣﻌﺎﳉﺔ ﺍﻟﺘﺤﺪﻳﺚ
ﻛﻠﻬﺎ ﻋﻠﻰ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﲣﺪﻡ ﻣﺸﺎﺭﻳﻊ ﳐﺪﻡ -ﺯﺑﻮﻥ ﺍﻟﱵ ﺗﺴﺘﺨﺪﻡ ﺑﻨﻴﺔ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﺃﻭ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻟﺘﻜﻮﻥ ﺗﻄﺒﻴﻘﺎﺕ ﺇﺩﺍﺭﻳﺔ ﺗﺪﻋﻢ ﻋﺪﺩ ﺻﻐﲑ ﻧﺴﺒﻴﹰﺎ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻣﲔ .ﻣﺜﻞ ﻫﺬﻩ
ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻟﻴﺴﺖ ﺫﺍﺕ ﺧﻄﻮﺭﺓ ﻭﺗﻜﻮﻥ ﻧﺎﺟﺤﺔ ﺣﻴﺚ ﺣﺠﻢ ﺍﳌﻨﺎﻗﻼﺕ ﺻﻐﲑ ﻭﺍﻟﺘﻮﺍﺟﺪ ﺍﻟﻔﻮﺭﻱ
ﻏﲑ ﻣﻬﻢ ﻭﺍﻷﻣﻦ ﻟﻴﺲ ﻣﻦ ﺃﻫﻢ ﺍﻷﻭﻟﻮﻳﺎﺕ ،ﻛﻤﺎ ﲢﺎﻭﻝ ﺍﻟﺸﺮﻛﺎﺕ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﺍﻟﻔﻮﺍﺋﺪ ﺍﳌﺘﻮﻗﻌﺔ ﻣﻦ
ﻣﺸﺎﺭﻳﻊ ﳐﺪﻡ-ﺯﺑﻮﻥ )ﻣﺜﻞ ﺍﻟﺘﻮﺳﻌﻴﺔ ﻭﺍﳌﺮﻭﻧﺔ ﻭﺍﻟﺘﻜﻠﻔﺔ ﺍﳌﻨﺨﻔﻀﺔ( .ﻓﺈﻧﻪ ﳚﺐ ﻋﻠﻴﻬﺎ ﺇﳚﺎﺩ ﻃﺮﻕ
ﺟﺪﻳﺪﺓ ﰲ ﺑﲎ ﳐﺪﻡ-ﺯﺑﻮﻥ.
ﺇﻥ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ )ﻭﺍﻟﱵ ﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﺃﺟﺰﺍﺀ ﻣﻦ ﺍﻟﺸﻴﻔﺮﺓ ﲢﻘﻖ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ،
ﺗﻜﻮﻥ ﺿﻤﻦ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ( ﺗﺪﻓﻊ ﺑﻨﻴﺔ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺑﺎﲡﺎﻩ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺇﺩﺍﺭﺓ
ﺗﻄﺒﻴﻘﺎﺕ ﻋﻤﻞ ﺃﻛﺜﺮ ﺧﻄﻮﺭﺓ ) ،(Quinlan 1995ﻭﻛﻤﺎ ﺑﲔ Quinlanﻓﺈﻥ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ ﳍﺎ
ﺍﳌﻴﺰﺍﺕ ﺍﻟﺘﺎﻟﻴﺔ:
ﲢﺴﻦ ﺍﻷﺩﺍﺀ ﺑﺎﻟﻨﺴﺒﺔ ﻟﺘﻌﻠﻴﻘﺎﺕ SQLﺍﳌﺘﺮﲨﺔ. x
ﲣﻔﻴﻒ ﺍﻟﻌﺐﺀ ﻋﻠﻰ ﺍﻟﺸﺒﻜﺔ ﺣﻴﺚ ﺗﻨﺘﻘﻞ ﺍﳌﻌﺎﳉﺔ ﻣﻦ ﺍﻟﺰﺑﻮﻥ ﺇﱃ ﺍﳌﺨﺪﻡ. x
ﺍﳊﻤﺎﻳﺔ ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ ﻗﺎﺑﻠﺔ ﻟﻠﻮﻟﻮﺝ .ﺗﺘﺤﺴﻦ ﺃﻛﺜﺮ ﻓﻴﻤﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﺒﻴﺎﻧﺎﺕ x
ﻭﺍﻟﺸﻴﻔﺮﺓ ﺗﺘﻨﻘﻞ ﺇﱃ ﺍﳌﺨﺪﻡ ﺑﻌﻴﺪﹰﺍ ﻋﻦ ﻭﻟﻮﺝ ﺍﳌﺴﺘﺨﺪﻡ ﺍﻟﻨﻬﺎﺋﻲ.
ﲢﺴﲔ ﺗﻜﺎﻣﻞ ﺍﳌﻌﻄﻴﺎﺕ ﻋﻨﺪﻣﺎ ﺗﻘﻮﻡ ﻋﺪﺓ ﺗﻄﺒﻴﻘﺎﺕ ﺑﺎﻟﻮﻟﻮﺝ ﺇﱃ ﻧﻔﺲ ﺍﻹﺟﺮﺍﺀ ﺍﳌﺨﺰﻥ. x
ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ :stored procedureﻋﺒﺎﺭﺓ ﻋﻦ ﳎﺘﺰﺃ ﺑﺮﳎﻲ ﻣﻜﺘﻮﺏ ﻏﺎﻟﺒﹰﺎ ﺑﻠﻐﺎﺕ ﻟﺸﺮﻛﺎﺕ ﻣﻌﻴﻨﺔ
ﻣﺜﻞ ﻟﻐﺔ PL/SQLﻟﺸﺮﻛﺔ Oracleﺃﻭ ﻟﻐﺔ Transact-SQLﻟﺸﺮﻛﺔ ،Sybaseﺗﻘﻮﻡ ﻫﺬﻩ ﺍﻹﺟﺮﺍﺀﺍﺕ
ﺑﺘﺤﻘﻴﻖ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ ﺃﻭ ﻗﻮﺍﻋﺪ ﺍﻟﻌﻤﻞ ﻭﲣﺰﻥ ﰲ ﺍﳌﺨﺪﻡ ﺣﻴﺚ ﺗﻨﻔﺬ ﻫﻨﺎﻙ ﻋﻨﺪﻣﺎ ﻳﺘﻢ ﺍﺳﺘﺪﻋﺎﺅﻫﺎ.
ﻭﻟﻜﻦ ﺗﺄﺧﺬ ﻛﺘﺎﺑﺔ ﺇﺟﺮﺍﺀﺍﺕ ﳐﺰﻧﺔ ﻭﻗﺘﹰﺎ ﺃﻃﻮﻝ ﻹﻧﺸﺎﺀ ﺗﻄﺒﻴﻖ ﻣﻦ ﻓﻴﺠﻮﺍﻝ ﺑﻴﺴﻚ ﺃﻭ ،Power builder
ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺫﻟﻚ ﻓﺈﻧﻪ ﻣﻠﻜﻴﺔ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ ﲢﺪ ﻣﻦ ﻗﺎﺑﻠﻴﺔ ﺍﻟﻨﻘﻞ ﻭﲡﻌﻞ ﻣﻦ ﺍﻟﺼﻌﺐ ﺗﻐﻴﲑ
>a Kf8 524
ﺍﻟـ DBMSﺩﻭﻥ ﺇﻋﺎﺩﺓ ﻛﺘﺎﺑﺔ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ ،ﻭﺃﻳﻀﹰﺎ ﳚﺐ ﺃﻥ ﻳﺰﻭﺩ ﻛﻞ ﺯﺑﻮﻥ ﺑﺎﻟﺘﻄﺒﻴﻖ
ﺍﻟﺬﻱ ﺳﻴﺴﺘﺨﺪﻡ ﰲ ﺫﻟﻚ ﺍﳌﻮﻗﻊ ،ﳝﻴﻞ ﺍﻷﺩﺍﺀ ﺇﱃ ﺍﻻﳓﺪﺍﺭ ﻛﻠﻤﺎ ﺯﺍﺩ ﻋﺪﺩ ﺍﳌﺴﺘﺨﺪﻣﲔ ﺍﳌﺘﺼﻠﲔ،
ﻭﺑﺬﻟﻚ ﻓﺈﻥ ﲢﺪﻳﺚ ﺍﻟﺘﻄﺒﻴﻖ ﺳﻮﻑ ﻳﺘﻢ ﻟﻜﻞ ﻣﺴﺘﺨﺪﻡ ﻋﻠﻰ ﺣﺪﺓ ،ﻫﻞ ﻫﺬﻩ ﺍﻟﻌﻴﻮﺏ ﰲ ﺑﻨﻴﺔ ﳐﺪﻡ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺃﺩﺕ ﺇﱃ ﺭﻭﺍﺝ ﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ.
K?:MEuMEC
ﺗﺘﻀﻤﻦ ﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﻃﺒﻘﺔ ﳐﺪﻡ ﺁﺧﺮ ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﻃﺒﻘﺔ ﺍﻟﺰﺑﺎﺋﻦ ﻭﻃﺒﻘﺎﺕ ﳐﺪﻡ ﻗﺎﻋﺪﺓ
ﺍﳌﻌﻄﻴﺎﺕ ﻛﻤﺎ ﰲ ﺍﻟﺸﻜﻞ ) ،(9-4ﺗﺸﲑ ﻫﺬﻩ ﺍﻹﻋﺪﺍﺩﺍﺕ ﺇﱃ ﺑﲎ ﳐﺪﻡ-ﺯﺑﻮﻥ ﳏﺴﻨﺔ ﺃﻭ ﻣﺘﻌﺪﺩﺓ
ﺍﻟﻄﺒﻘﺎﺕ ﺃﻭ ﺫﺍﺕ nﻃﺒﻘﺔ ،ﳝﻜﻦ ﺃﻥ ﻳﺴﺘﺨﺪﻡ ﺍﳌﺨﺪﻡ ﺍﻹﺿﺎﰲ ﰲ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ ﻷﺳﺒﺎﺏ ﳐﺘﻠﻔﺔ ،ﻓﻔﻲ
ﺍﻟﻐﺎﻟﺐ ﺗﻜﻮﻥ ﺍﻟﱪﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ ﻋﻠﻰ ﻫﺬﺍ ﺍﳌﺨﺪﻡ ﺍﻹﺿﺎﰲ ﻭﰲ ﻫﺬﻩ ﺍﳊﺎﻟﺔ ﻳﺴﻤﻰ ﳐﺪﻡ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ،
ﺃﻭ ﳝﻜﻦ ﺃﻥ ﳛﻮﻱ ﻫﺬﺍ ﺍﳌﺨﺪﻡ ﺍﻹﺿﺎﰲ ﻋﻠﻰ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﳏﻠﻴﺔ ﰲ ﺣﲔ ﺃﻥ ﺍﳌﺨﺪﻡ ﺍﻵﺧﺮ ﳛﻮﻱ
ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺍﳌﺆﺳﺴﺔ.
Client Layer
Business Layer
LAN
Application
server
Database Layer
Database Data
server
ﻳﺸﺎﺭ ﺇﱃ ﺍﻟﺘﻮﺻﻴﻔﲔ ﺍﻟﺴﺎﺑﻘﲔ ﻛﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺔ ﻟﻜﻦ ﻋﻤﻞ ﻛﻞ ﻭﺍﺣﺪ ﳜﺘﻠﻒ ﻋﻦ ﺍﻵﺧﺮ ﻭﻛﻞ
ﺗﻮﺻﻴﻒ ﻣﻼﺋﻢ ﳊﺎﻻﺕ ﻣﻌﻴﻨﺔ.
ﺗﺘﻤﻴﺰ ﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﻋﻦ ﺍﻟﺒﻨﻴﺔ ﺛﻨﺎﺋﻴﺔ ﺍﻟﻄﺒﻘﺔ ﺑﺰﻳﺎﺩﺓ ﻛﻞ ﻣﻦ ﺍﻟﺘﻮﺳﻌﻴﺔ ﻭﺍﳌﺮﻭﻧﺔ ﻭﺍﻷﺩﺍﺀ ﻭﻗﺎﺑﻠﻴﺔ
ﺇﻋﺎﺩﺓ ﺍﻻﺳﺘﺨﺪﺍﻡ ،ﳑﺎ ﳚﻌﻞ ﺍﻟﺒﲎ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﺍﳋﻴﺎﺭ ﺍﳌﻔﻀﻞ ﺑﺎﻟﻨﺴﺒﺔ ﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻹﻧﺘﺮﻧﺖ
ﻭﺃﻧﻈﻤﺔ ﻣﻌﻠﻮﻣﺎﺕ ،Net-Centricﻭﺳﻮﻑ ﻧﻨﺎﻗﺶ ﻣﻴﺰﺍﺕ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ ﺑﺎﻟﺘﻔﺼﻴﻞ ﻓﻴﻤﺎ ﻳﻠﻲ.
ﺗﻜﻮﻥ ﺷﻴﻔﺮﺓ ﺍﻟﺘﻄﺒﻴﻖ ﰲ ﺑﻌﺾ ﺍﻟﺒﲎ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﳐﺰﻧﺔ ﰲ ﳐﺪﻡ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ،ﻭﺑﺬﻟﻚ ﺗﺘﺤﻘﻖ
ﻧﻔﺲ ﺍﻟﻔﻮﺍﺋﺪ ﻋﻨﺪ ﻭﺿﻊ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ ﰲ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﰲ ﺍﻟﺒﻨﻴﺔ ﺛﻨﺎﺋﻴﺔ ﺍﻟﻄﺒﻘﺔ ،ﺇﻥ
ﺍﺳﺘﺨﺪﺍﻡ ﳐﺪﻡ ﺗﻄﺒﻴﻘﺎﺕ ﳛﺴﻦ ﺃﻳﻀﹰﺎ ﺍﻷﺩﺍﺀ ﻋﻦ ﻃﺮﻳﻖ ﺍﺳﺘﺨﺪﺍﻡ ﺷﻴﻔﺮﺓ ﺁﻟﺔ ﺻﺤﻴﺤﺔ ﻭﻗﺎﺑﻠﻴﺔ ﺍﻟﻨﻘﻞ
ﺍﳌﹸﻴﺴﺮﺓ ﻟﺸﻴﻔﺮﺓ ﺍﻟﺘﻄﺒﻴﻖ ﺇﱃ ﻣﻨﺼﺎﺕ ﻋﻤﻞ )ﺃﻧﻈﻤﺔ ﺗﺸﻐﻴﻞ( ﺃﺧﺮﻯ ﻭﺗﻘﻠﻴﻞ ﺍﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﺍﻟﻠﻐﺎﺕ
ﺫﺍﺕ ﺍﳌﻠﻜﻴﺔ ﻣﺜﻞ .SQL/PLUS
ϥϮΑΰϟ ΔϘΒσ :ΕΎϘΒσ ΙϼΛ ϰϠϋ ϱϮΘΤϳ ϥϮΑί–ϡΪΨϣ ϒϴλϮΗ Ϧϋ ΓέΎΒϋ ϲϫ :ΕΎϘΒτϟ ΔϴΛϼΛ ΔϴϨΒϟ
ϱϮΘΤΗ ΔϣΎόϟ ΕΎϔϴλϮΘϟ ϥΈϓ ΔϴόϴΒτϟ ΔϟΎΤϟ ϲϓ ϡΪΨϤϟ ΕΎϘΒσ ϒϠΘΨΗ ΎϤϨϴΑ ˬϡΪΨϣ ϲΘϘΒσϭ
.ΕΎϘϴΒτΗ ϡΪΨϣ
ﺗﻌﺎﰿ ﺍﻷﻋﻤﺎﻝ ﰲ ﺍﻟﻜﺜﲑ ﻣﻦ ﺍﳊﺎﻻﺕ ﰲ ﳐﺪﻡ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻋﻮﺿﹰﺎ ﻋﻦ ﺣﻮﺍﺳﻴﺐ ﺍﻟﺰﺑﺎﺋﻦ ﺃﻭ ﳐﺪﻡ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﳑﺎ ﻳﺆﺩﻱ ﺇﱃ ﻣﺴﺘﺨﺪﻡ ﺧﻔﻴﻒ.
ﺇﻥ ﺍﺳﺘﺨﺪﺍﻡ ﻣﺘﺼﻔﺤﺎﺕ ﺍﻹﻧﺘﺮﻧﺖ ﻋﻨﺪ ﺍﻟﺰﺑﺎﺋﻦ ﻟﻠﻮﻟﻮﺝ ﺇﱃ ﺻﻔﺤﺎﺕ ﺍﻟﻮﻳﺐ ﻫﻮ ﻣﺜﺎﻝ ﻣﻌﺎﺻﺮ ﻋﻦ
ﺑﻨﻴﺔ ﺍﻟﻌﻤﻴﻞ ﺍﳋﻔﻴﻒ.
ﺃﺻﺒﺤﺖ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﻮﺟﻮﺩﺓ ﻋﻠﻰ ﺍﳌﺨﺪﻡ ﻭﺍﳌﻨﻔﺬﺓ ﻋﻠﻴﻪ ﺩﻭﻥ ﺍﻟﺘﺤﻤﻴﻞ ﺇﱃ ﺍﻟﻌﻤﻴﻞ ﺷﺎﺋﻌﺔ.
ﻭﺑﺬﻟﻚ ﻳﺘﻄﻠﺐ ﲢﺪﻳﺚ ﺍﻟﱪﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ ﲢﻤﻴﻞ ﺍﻹﺻﺪﺍﺭ ﺍﳉﺪﻳﺪ ﻋﻠﻰ ﳐﺪﻡ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺑﺪﻝ ﲢﻤﻴﻠﻪ
ﻋﻨﺪ ﻛﻞ ﺯﺑﻮﻥ.
ﻟﻠﺒﲎ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻔﻮﺍﺋﺪ:
ﻼ
ﺍﻟﺘﻮﺳﻌﻴﺔ :ﺇﻥ ﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﺃﻛﺜﺮ ﺇﻣﻜﺎﻧﻴﺔ ﻟﻠﺘﻮﺳﻊ ﻣﻦ ﺍﻟﺒﻨﻴﺔ ﺛﻨﺎﺋﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ،ﻓﻤﺜ ﹰ x
ﺍﻟﻄﺒﻘﺔ ﺍﻟﻮﺳﻄﻰ ﳝﻜﻦ ﺃﻥ ﺗﺴﺘﺨﺪﻡ ﻟﺘﺨﻔﻴﻒ ﺍﻟﻌﺐﺀ ﻋﻦ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺑﻮﺍﺳﻄﺔ
ﺍﺳﺘﺨﺪﺍﻡ ﻣﺮﺍﻗﺐ ﻣﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ﳊﻔﻆ ﻋﺪﺩ ﺍﻻﺗﺼﺎﻻﺕ ﺑﺎﳌﺨﺪﻡ ،ﻭﳝﻜﻦ ﺃﻥ ﺗﻀﺎﻑ ﳐﺪﻣﺎﺕ
ﺗﻄﺒﻴﻖ ﻟﺘﻮﺯﻳﻊ ﻣﻌﺎﳉﺔ ﺍﻟﺘﻄﺒﻴﻖ .ﺇﻥ ﻣﺮﺍﻗﺐ ﻣﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ﻫﻮ ﺑﺮﻧﺎﻣﺞ ﻳﺘﺤﻜﻢ ﺑﺘﻨﻘﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﲔ
ﺍﻟﺰﺑﺎﺋﻦ ﻭﺍﳌﺨﺪﻣﺎﺕ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺑﻴﺌﺔ ﻣﺘﻜﺎﻣﻠﺔ ﳌﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ﺍﳌﺒﺎﺷﺮﺓ .OLTP
>a Kf8 526
ﺍﳌﺮﻭﻧﺔ ﺍﻟﺘﻘﻨﻴﺔ :ﻣﻦ ﺍﻟﺴﻬﻞ ﺗﻐﻴﲑ ﳏﺮﻙ ﺍﻟـ ) DBMSﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺃﻥ ﺍﻟﻘﻮﺍﺩﺡ ﻭﺍﻹﺟﺮﺍﺀﺍﺕ x
ﺍﳌﺨﺰﻧﺔ ﺳﻮﻑ ﲢﺘﺎﺝ ﻹﻋﺎﺩﺓ ﻛﺘﺎﺑﺔ( ﰲ ﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ،ﺣﻴﺚ ﺃﻥ ﺍﻟﻄﺒﻘﺔ ﺍﻟﻮﺳﻄﻰ
ﳝﻜﻦ ﺃﻥ ﺗﻨﻘﻞ ﺇﱃ ﻋﺪﺓ ﻣﻨﺼﺎﺕ ،ﲡﻌﻞ ﺧﺪﻣﺎﺕ ﺍﻟﻌﺮﺽ ﺍﳌﺒﺴﻄﺔ ﻣﻦ ﺍﻟﺴﻬﻞ ﲢﻘﻴﻖ ﻭﺍﺟﻬﺎﺕ
ﻣﺘﻨﻮﻋﺔ ﻣﺜﻞ ﻣﺘﺼﻔﺤﺎﺕ ﺍﻟﻮﻳﺐ.
ﻛﻠﻔﺔ ﻣﻨﺨﻔﻀﺔ ﻋﻠﻰ ﺍﳌﺪﻯ ﺍﻟﺒﻌﻴﺪ. x
ﺇﻥ ﺍﺳﺘﺨﺪﺍﻡ ﺍﳌﻜﻮﻧﺎﺕ ﺃﻭ ﺍﳋﺪﻣﺎﺕ ﺍﳉﺎﻫﺰﺓ ﰲ ﺍﻟﻄﺒﻘﺔ ﺍﻟﻮﺳﻄﻰ ﻳﻘﻠﻞ ﻣﻦ ﺍﻟﻜﻠﻔﺔ ،ﺣﻴﺚ ﺃﻥ
ﺗﺒﺪﻳﻞ ﺃﺟﺰﺍﺀ ﺿﻤﻦ ﺍﻟﺘﻄﺒﻴﻖ ﺃﻓﻀﻞ ﻣﻦ ﺗﺒﺪﻳﻞ ﺍﻟﺘﻄﺒﻴﻖ ﻛﻠﻪ.
ﻣﻄﺎﺑﻘﺔ ﺍﻟﻨﻈﺎﻡ ﳊﺎﺟﺎﺕ ﺍﻟﻌﻤﻞ :ﳝﻜﻦ ﺃﻥ ﺗﺒﲎ ﳎﺘﺰﺁﺕ ﺑﺮﳎﻴﺔ ﺟﺪﻳﺪﺓ ﻟﺪﻋﻢ ﺣﺎﺟﺎﺕ ﻋﻤﻞ x
ﳏﺪﺩﺓ ﺑﺪ ﹰﻻ ﻣﻦ ﺑﻨﺎﺀ ﺗﻄﺒﻴﻘﺎﺕ ﻛﺎﻣﻠﺔ ﻭﺃﻛﺜﺮ ﻋﻤﻮﻣﻴﺔ.
ﲢﺴﲔ ﺧﺪﻣﺔ ﺍﻟﺰﺑﺎﺋﻦ :ﳝﻜﻦ ﻟﻠﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻮﺍﺟﻬﺎﺕ ﻟﺪﻯ ﳐﺘﻠﻒ ﺍﻟﺰﺑﺎﺋﻦ ﺍﻟﻮﻟﻮﺝ ﺇﱃ ﻧﻔﺲ x
ﺇﺟﺮﺍﺀﺍﺕ ﺍﻟﻌﻤﻞ.
ﻣﻴﺰﺍﺕ ﺗﻨﺎﻓﺴﻴﺔ :ﺗﻀﻴﻒ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺍﻻﺳﺘﺠﺎﺑﺔ ﻟﺘﻐﲑﺍﺕ x
ﺍﻟﻌﻤﻞ ﺑﺴﺮﻋﺔ ﺑﻮﺍﺳﻄﺔ ﺗﻐﻴﲑ ﺃﺟﺰﺍﺀ ﺻﻐﲑﺓ ﻣﻦ ﺍﻟﺸﻴﻔﺮﺓ ﺑﺪ ﹰﻻ ﻣﻦ ﺗﻐﻴﲑ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺄﻛﻤﻠﻪ ﻣﻴﺰﺓ
ﺗﻨﺎﻓﺴﻴﺔ.
ﺗﻘﻠﻴﻞ ﺍﳌﺨﺎﻃﺮﺓ :ﻛﻤﺎ ﺳﺒﻖ ﺗﻌﺘﱪ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﲢﻘﻴﻖ ﺃﺟﺰﺍﺀ ﺻﻐﲑﺓ ﻣﻦ ﺍﻟﺸﻴﻔﺮﺓ ﺑﺴﺮﻋﺔ x
ﻭﻣﺰﺟﻬﺎ ﻣﻊ ﺷﻴﻔﺮﺓ ﺟﺎﻫﺰﺓ ﻣﻦ ﻣﺰﻭﺩ ﺧﻄﺮﹰﺍ ﰲ ﻣﺸﺎﺭﻳﻊ ﺍﻟﺘﻄﻮﻳﺮ ﺍﻟﻮﺍﺳﻌﺔ ﺍﻟﻨﻄﺎﻕ.
ﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺔ ﻭﺍﻟﺒﻨﻴﺔ ﺫﺍﺕ ﺍﻟـ nﻃﺒﻘﺔ ﻫﻲ ﺁﺧﺮ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﻄﻮﻳﺮ ﰲ ﻃﺮﻕ ﳐﺪﻡ-ﺯﺑﻮﻥ،
ﻭﻣﻦ ﺍﻟﺼﻌﻮﺑﺎﺕ ﺍﻟﱵ ﺭﺍﻓﻘﺖ ﺍﻻﻧﺘﻘﺎﻝ ﺇﱃ ﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﺃﻭ ﺑﻨﻴﺔ ﺃﻋﻘﺪ ﺗﺘﻀﻤﻦ:
ﺗﻜﺎﻟﻴﻒ ﻋﺎﻟﻴﺔ ﰲ ﺍﳌﺪﻯ ﺍﻟﻘﺼﲑ :ﻳﺘﻄﻠﺐ ﲢﻘﻴﻖ ﺍﻟﺒﻴﻨﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﻓﺼﻞ ﻣﻜﻮﻥ ﺍﻟﻌﺮﺽ x
ﻋﻦ ﻣﻜﻮﻥ ﺍﳌﻌﺎﳉﺔ ،ﺇﻥ ﺇﳒﺎﺯ ﻫﺬﺍ ﺍﻟﻔﺼﻞ ﳛﺘﺎﺝ ﺇﱃ ﺑﺮﳎﺔ ﺃﻛﺜﺮ ﺑﻠﻐﺎﺕ ﺍﳉﻴﻞ ﺍﻟﺜﺎﻟﺚ ﻣﺜﻞ C
ﺃﻛﺜﺮ ﳑﺎ ﳛﺘﺎﺟﻪ ﲢﻘﻴﻖ ﺍﻟﺒﻴﻨﺔ ﺛﻨﺎﺋﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ.
ﺍﻷﺩﻭﺍﺕ ﻭﺍﻟﺘﺪﺭﻳﺐ :ﲟﺎ ﺃﻥ ﺍﻟﺒﲎ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺔ ﺟﺪﻳﺪﺓ ﻧﺴﺒﻴﹰﺎ ﻓﺈﻥ ﺃﺩﻭﺍﺕ ﲢﻘﻴﻖ ﻫﺬﻩ ﺍﻟﺒﲎ ﱂ x
ﻳﺘﻢ ﺗﻄﻮﻳﺮﻫﺎ ﺑﺸﻜﻞ ﺟﻴﺪ ،ﻭﺃﻳﻀﹰﺎ ﲟﺎ ﺃﻥ ﺑﺮﺍﻣﺞ ﺍﻟﺘﺪﺭﻳﺐ ﻟﻴﺴﺖ ﻣﺘﻮﻓﺮﺓ ﻋﻠﻰ ﳓﻮ ﻭﺍﺳﻊ ﻓﺈﻥ
ﺍﻟﺸﺮﻛﺎﺕ ﳚﺐ ﺃﻥ ﺗﻄﻮﺭ ﻣﻬﺎﺭﺎ ﺩﺍﺧﻠﻴﹰﺎ.
ﺍﳋﱪﺓ :ﻳﻮﺟﺪ ﺣﱴ ﺍﻵﻥ ﻋﺪﺩ ﻗﻠﻴﻞ ﻣﻦ ﺍﻷﺷﺨﺎﺹ ﺍﻟﺬﻳﻦ ﻟﺪﻳﻬﻢ ﺧﱪﺓ ﰲ ﺑﻨﺎﺀ ﺍﻷﻧﻈﻤﺔ ﺛﻼﺛﻴﺔ x
ﺍﻟﻄﺒﻘﺎﺕ.
527 ·j¦
¶WáKE:<W
jME9
ﺍﳌﻌﺎﻳﲑ ﺍﳌﺘﻌﺎﺭﺿﺔ :ﰎ ﺍﻗﺘﺮﺍﺡ ﻋﺪﺩ ﻗﻠﻴﻞ ﻣﻦ ﺍﳌﻌﺎﻳﲑ ﳌﺮﺍﻗﺒﺔ ﻣﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ،ﻭﻟﻴﺲ ﻭﺍﺿﺤﹰﺎ x
ﺣﱴ ﺍﻵﻥ ﺃﻱ ﻣﻦ ﻫﺬﻩ ﺍﳌﻌﺎﻳﲑ ﺍﳌﻘﺘﺮﺣﺔ ﻟﻸﻏﺮﺍﺽ ﺍﳌﻮﺯﻋﺔ ﺳﻴﺘﻢ ﺍﻋﺘﻤﺎﺩﻩ.
ﻧﻘﺺ ﺃﺩﻭﺍﺕ ﺍﳌﺴﺘﺨﺪﻡ ﺍﻟﻨﻬﺎﺋﻲ ﺍﻟﱵ ﺗﻌﻤﻞ ﻣﻊ ﺧﺪﻣﺎﺕ ﺍﻟﻄﺒﻘﺔ ﺍﻟﻮﺳﻄﻰ: x
ﺇﻥ ﺍﻷﺩﻭﺍﺕ ﺍﻟﻌﺎﻣﺔ ﺍﳌﺘﻮﻓﺮﺓ ﺑﺸﻜﻞ ﻭﺍﺳﻊ ﻣﺜﻞ ﺃﺩﻭﺍﺕ ﺍﳉﺪﻭﻟﺔ ﻭﺍﻟﺘﻘﺮﻳﺮ ﻻ ﺗﺸﻐﻞ ﺇﱃ ﺣﺪ ﺍﻵﻥ
ﻣﻦ ﺧﻼﻝ ﺍﻟﻄﺒﻘﺔ ﺍﳌﺘﻮﺳﻄﺔ .ﺳﻴﺘﻢ ﺗﻮﺿﻴﺢ ﻫﺬﻩ ﺍﳌﺸﻜﻠﺔ ﺑﺘﻔﺼﻴﻞ ﺃﻛﺜﺮ ﰲ ﻣﺮﺍﺣﻞ ﻣﺘﻘﺪﻣﺔ ﻣﻦ
ﻫﺬﺍ ﺍﻟﻔﺼﻞ.
ϖϴΒτΘϟ ΔϠΟΎόϣ Ϧϣ ξόΑϭ ϡΪΨΘδϤϟ ΕΎϬΟϭ ΓέΩϹ ϒ͉λϮ˵ϳ ϲμΨη ΐγΎΣ Ϯϫ :ϞϳΰϬϟ ϞϴϤόϟ
"dE:MoZ
ﻻ ﻳﻮﺟﺪ ﺑﻨﻴﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺃﻣﺜﻠﻴﺔ ﺗﺸﻜﻞ ﺍﳊﻞ ﺍﻷﻣﺜﻞ ﻟﻜﻞ ﻣﺸﺎﻛﻞ ﺍﻟﻌﻤﻞ ،ﻭﻟﻜﻦ ﺍﳌﺮﻭﻧﺔ ﺍﳌﻼﺯﻣﺔ
ﻟﺒﻨﻴﺔ ﳐﺪﻡ ﺯﺑﻮﻥ ﺗﻘﺪﻡ ﻟﻠﻤﺆﺳﺴﺎﺕ ﺇﻣﻜﺎﻧﻴﺔ ﺻﻴﺎﻏﺔ ﺗﻮﺻﻴﻔﺎﺎ ﲝﻴﺚ ﺗﻼﺋﻢ ﺍﺣﺘﻴﺎﺟﺎﻢ ،ﻳﻮﺿﺢ
ﺍﻟﺸﻜﻞ ) (9-1ﺍﳌﻨﻄﻖ ﺍﳊﺴﺎﰊ ﺍﻟﺬﻱ ﳚﺐ ﺃﻥ ﻳﻮﺯﻉ ﻋﻠﻰ ﺍﻟﺰﺑﺎﺋﻦ ﻭﺍﳌﺨﺪﻣﺎﺕ .ﻳﻘﻊ ﻣﻨﻄﻖ ﺍﻟﻌﺮﺽ
ﻋﻨﺪ ﺍﻟﺰﺑﻮﻥ ﺣﻴﺚ ﺗﻮﺟﺪ ﻭﺍﺟﻬﺎﺕ ﺍﳌﺴﺘﺨﺪﻡ ،ﳝﻜﻦ ﺃﻥ ﻳﻘﺴﻢ ﻣﻨﻄﻖ ﺍﳌﻌﺎﳉﺔ ﻋﻠﻰ ﺍﻟﺰﺑﺎﺋﻦ
ﻭﺍﳌﺨﺪﻣﺎﺕ ﻛﻤﺎ ﻭﺿﺤﻨﺎ ﺳﺎﺑﻘﹰﺎ ﰲ ﻣﻨﺎﻗﺸﺘﻨﺎ ﻟﺒﲎ ﳐﺪﻡ ﺍﳌﻠﻔﺎﺕ ﻭﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺍﻟﺜﻨﺎﺋﻴﺔ ﻭﺍﻟﺜﻼﺛﻴﺔ
ﺍﻟﻄﺒﻘﺎﺕ ،ﻳﻜﻮﻥ ﻣﻨﻄﻖ ﺍﻟﺘﺨﺰﻳﻦ ﺍﻟﻔﻴﺰﻳﺎﺋﻲ ﻟﻠﺒﻴﺎﻧﺎﺕ ،ﻭﻧﺸﺎﻃﺎﺕ ﺍﻟﺘﺤﻜﻢ ﺑﺘﻜﺎﻣﻞ ﺍﳌﻌﻄﻴﺎﺕ ﻣﺜﻞ
ﺗﻔﺤﺺ ﺍﻟﻘﻴﻮﺩ ﻣﻮﺟﻮﺩﺓ ﰲ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﺍﻟﻘﻮﺍﺩﺡ ﺍﻟﱵ ﺗﻄﻠﻖ ﻋﻨﺪ ﲢﻘﻖ ﺷﺮﻭﻁ ﻣﻌﻴﻨﺔ
ﻣﺮﺗﺒﻄﺔ ﺑﻌﻤﻠﻴﺎﺕ ﺍﻹﺩﺧﺎﻝ ﻭﺍﻟﺘﻌﺪﻳﻞ ﻭﺍﻟﺘﺤﺪﻳﺚ ﻭﺍﳊﺬﻑ ،ﻭﲟﺎ ﺃﻥ ﻫﺬﻩ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺗﺆﺛﺮ ﻋﻠﻰ
ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ ﻓﺈﻥ ﺍﻟﻘﻮﺍﺩﺡ ﺃﻳﻀﹰﺎ ﺗﺨﺰﻥ ﰲ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﲣﺰﻥ ﺍﻹﺟﺮﺍﺀﺍﺕ
ﺍﳌﺨﺰﻧﺔ ﻭﺍﻟﱵ ﺗﺴﺘﺨﺪﻡ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺒﺎﺷﺮﺓ ﰲ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﺃﻣﺎ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ ﺍﻟﱵ
ﺗﻌﻤﻞ ﻣﻊ ﻧﺘﺎﺋﺞ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﻣﻦ ﺍﳌﻤﻜﻦ ﲣﺰﻳﻨﻬﺎ ﰲ ﳐﺪﻡ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺃﻭ ﻋﻨﺪ ﺍﻟﺰﺑﺎﺋﻦ ﻭﺫﻟﻚ
ﺣﺴﺐ ﻃﺒﻴﻌﺔ ﻣﺸﻜﻠﺔ ﺍﻟﻌﻤﻞ.
ﻳﺴﺎﻋﺪ ﲡﺰﻱﺀ ﺍﻟﺘﻄﺒﻴﻖ ﰲ ﻣﻄﺎﺑﻘﺔ ﺍﻻﺣﺘﻴﺎﺟﺎﺕ ،ﻓﻬﻮ ﻳﻌﻄﻲ ﺍﳌﻄﻮﺭﻳﻦ ﺍﻟﻔﺮﺻﺔ ﻟﻜﺘﺎﺑﺔ ﺷﻴﻔﺮﺓ ﺗﻄﺒﻴﻘﺎﺕ ﻣﻦ
ﺍﳌﻤﻜﻦ ﻭﺿﻌﻬﺎ ﻓﻴﻤﺎ ﺑﻌﺪ ﻋﻠﻰ ﳏﻄﺔ ﻋﻤﻞ ﺍﻟﺰﺑﻮﻥ ﺃﻭ ﻋﻠﻰ ﺍﳌﺨﺪﻡ ﺣﺴﺐ ﺍﳌﻜﺎﻥ ﺍﻟﺬﻱ ﻳﻌﻄﻲ ﺃﺩﺍﺀ ﺃﻓﻀﻞ،
ﻭﻟﻴﺲ ﻣﻦ ﺍﻟﻀﺮﻭﺭﻱ ﺗﻀﻤﲔ ﺍﻟﺸﻴﻔﺮﺓ ﺍﻟﱵ ﺗﻀﻊ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﱵ ﺳﻴﺘﻢ ﲡﺰﺋﺘﻬﺎ ﺃﻭ ﻛﺘﺎﺑﺔ ﺍﻟﺸﻴﻔﺮﺓ ﺍﻟﱵ ﺗﻘﻮﻡ
ﺑﻌﻤﻞ ﺍﺗﺼﺎﻝ ﻣﻊ ﺍﻟﻌﻤﻠﻴﺔ ،ﻛﻞ ﻫﺬﻩ ﺍﻟﻨﺸﺎﻃﺎﺕ ﺗﺪﺍﺭ ﻣﻦ ﻗﺒﻞ ﺃﺩﻭﺍﺕ ﲡﺰﻱﺀ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ.
>a Kf8 528
ﺇﻥ ﺍﻷﻏﺮﺍﺽ ﺍﻟﱵ ﻳﺘﻢ ﺇﻧﺸﺎﺅﻫﺎ ﺑﻮﺍﺳﻄﺔ ﺍﻟﱪﳎﻴﺔ ﻏﺮﺿﻴﺔ ﺍﻟﺘﻮﺟﻪ ﻣﻼﺋﻤﺔ ﻟﺘﺠﺰﺋﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ،ﻟﺪﻯ
ﺍﳌﱪﳎﲔ ﲢﻜﻢ ﻫﺎﺋﻞ ﲟﺤﺘﻮﻳﺎﺕ ﺍﻟﻐﺮﺽ ﻭﻣﻦ ﺍﻟﺴﻬﻞ ﻓﺼﻞ ﺷﻴﻔﺮﺓ ﻭﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ ﻭﻗﻮﺍﻋﺪ ﺍﻟﻌﻤﻞ
ﻭﺍﻟﺒﻴﺎﻧﺎﺕ ،ﻳﺪﻋﻢ ﻫﺬﺍ ﺍﻟﻔﺼﻞ ﺍﻟﺘﻄﻮﺭ ﺍﻟﺴﺮﻳﻊ ﰲ ﺍﻷﻧﻈﻤﺔ ﺫﺍﺕ nﻃﺒﻘﺔ ،ﺃﺩﻯ ﺍﻟﻀﻐﻂ ﺍﳍﺎﺋﻞ ﺑﺎﲡﺎﻩ
ﺣﻠﻮﻝ ﺍﻹﻧﺘﺮﻧﺖ ﻭﺍﻟﺘﺠﺎﺭﺓ ﺍﻹﻟﻜﺘﺮﻭﻧﻴﺔ ﺇﱃ ﺗﻄﻮﺭ ﻃﺮﻕ ﲡﺰﺋﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺑﺴﺮﻋﺔ ﻭﺑﻄﺮﻕ ﺟﺪﻳﺪﺓ،
ﳚﺐ ﺃﻥ ﺗﻜﻮﻥ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ ﻣﺘﻌﺪﺩﺓ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻭﻣﺠﺰﺃﺓ ،ﺣﻴﺚ ﺃﺎ ﲢﺘﺎﺝ ﺇﱃ ﻣﻜﻮﻧﺎﺕ ﳝﻜﻦ
ﲡﻤﻴﻌﻬﺎ ﺃﺛﻨﺎﺀ ﺍﻟﺘﺸﻐﻴﻞ )ﺃﻱ ﻛﻠﻤﺎ ﰎ ﻃﻠﺒﻬﺎ ﻣﻦ ﻗﺒﻞ ﺍﳌﺘﺼﻔﺢ( ﻭﳚﺐ ﺃﻥ ﺗﻜﻮﻥ ﻫﺬﻩ ﺍﳌﻜﻮﻧﺎﺕ
ﻣﺘﻮﺍﻓﻘﺔ ﻣﻊ ﳐﺘﻠﻒ ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﻭﻭﺍﺟﻬﺎﺕ ﺍﳌﺴﺘﺨﺪﻡ ﻭﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ،ﺃﻥ ﺍﻟﺘﺠﺰﻱﺀ ﺍﻟﻔﻌﺎﻝ
ﻟﻠﺘﻄﺒﻴﻘﺎﺕ ﺿﺮﻭﺭﻱ ﰲ ﺑﻴﺌﺔ ﺍﻟﻮﻳﺐ ﻟﺘﺤﻘﻴﻖ ﺍﻷﺩﺍﺀ ﺍﳌﻄﻠﻮﺏ ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺳﻬﻮﻟﺔ ﺍﻟﺼﻴﺎﻧﺔ ﻭﺗﻜﺎﻣﻞ
ﺍﳌﻌﻄﻴﺎﺕ ﻭﺍﻷﻣﻦ ﰲ ﺑﻴﺌﺔ ﻣﻮﺯﻋﺔ ﻣﺘﻘﻠﺒﺔ.
ﳝﻜﻦ ﺗﻄﻮﻳﺮ ﺷﻴﻔﺮﺓ ﺍﻟﺘﻄﺒﻴﻖ ﻭﺍﺧﺘﺒﺎﺭﻫﺎ ﻋﻠﻰ ﳏﻄﺎﺕ ﻋﻤﻞ ﺍﻟﺰﺑﺎﺋﻦ ﻭﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻘﺮﺍﺭﺍﺕ
ﺍﳌﺘﻌﻠﻘﺔ ﺑﺘﺠﺰﺋﺔ ﻫﺬﻩ ﺍﻟﺸﻴﻔﺮﺓ ﻭﻣﻜﺎﻥ ﻭﺿﻌﻬﺎ ﻻﺣﻘﺎﹰ ،ﻫﺬﻩ ﺍﻹﻣﻜﺎﻧﻴﺔ ﻣﻼﺋﻤﺔ ﻟﺰﻳﺎﺩﺓ ﺇﻧﺘﺎﺟﻴﺔ
ﺍﳌﻄﻮﺭﻳﻦ ،ﳝﻜﻦ ﺃﻥ ﺗﻮﺿﻊ ﺃﺟﺰﺍﺀ ﺍﻟﺘﻄﺒﻴﻖ ﻋﻨﺪ ﺍﻟﺰﺑﺎﺋﻦ ﺃﻭ ﺍﳌﺨﺪﻡ ﻓﻴﻤﺎ ﺑﻌﺪ ﰲ ﻣﺮﺣﻠﺔ ﺍﻟﺘﺼﻤﻴﻢ،
ﻭﻟﻜﻦ ﳚﺐ ﻋﻠﻰ ﺍﳌﻄﻮﺭﻳﻦ ﻓﻬﻢ ﻛﻴﻔﻴﺔ ﻭﻣﻜﺎﻥ ﺗﺸﻐﻴﻞ ﻛﻞ ﻋﻤﻠﻴﺔ ﻟﻜﻲ ﻳﺰﺍﻣﻦ ﺑﺸﻜﻞ ﺻﺤﻴﺢ ﻛﻞ
ﻋﻤﻠﻴﺔ ﺃﻭ ﻣﻨﺎﻗﻠﺔ ﻋﱪ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ،ﺗﻌﺘﻤﺪ ﺍﻟﻘﺮﺍﺭﺍﺕ ﺍﳌﺘﻌﻠﻘﺔ ﺑﻮﺿﻊ ﺍﻟﺸﻴﻔﺮﺓ
ﻼ ﻗﺪ
ﻋﻠﻰ ﳐﺪﻡ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺃﻭ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺇﱃ ﺣﺪ ﻣﺎ ﻋﻠﻰ ﺇﻣﻜﺎﻧﻴﺎﺕ ،DBMSﻓﻤﺜ ﹰ
ﻳﻨﺨﻔﺾ DBMSﺍﻟﺬﻱ ﻳﺪﻋﻢ ٍ SQLﺍﻟﺴﺘﺎﺗﻴﻜﻴﺔ )ﺍﻟﺴﻜﻮﻧﻴﺔ( ﻣﻦ ﺧﻼﻝ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ
ﻭﺍﻟﻘﻮﺍﺩﺡ ﻭﺍﻟﱵ ﺗﻜﻮﻥ ﻣﻮﺿﻮﻋﺔ ﰲ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻣﻦ ﺍﻷﺩﺍﺀ ﰲ ﺣﺎﻝ ﻛﺎﻧﺖ ﻫﻨﺎﻙ ﺷﻴﻔﺮﺓ
SQLﺩﻳﻨﺎﻣﻴﻜﻴﺔ )ﺗﻨﺸﺄ ﺷﻴﻔﺮﺓ SQLﻋﻨﺪ ﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ( ﻣﻮﺿﻮﻋﺔ ﰲ ﳐﺪﻡ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ.
ﺳﺘﻮﻟﺪ ﻛﻞ ﺗﻌﻠﻴﻤﺔ SQLﺩﻳﻨﺎﻣﻴﻜﻴﺔ ﺭﺑﻂ ﺩﻳﻨﺎﻣﻴﻜﻲ )ﺃﻭ ﺍﺗﺼﺎﻝ ﺑﺄﻏﺮﺍﺽ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻋﻨﺪ ﳐﺪﻡ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻋﻨﺪﻣﺎ ﺗﺘﻢ ﻣﻌﺎﳉﺘﻬﺎ.
ﻳﻌﺘﻤﺪ ﺃﺛﺮ ﺍﻷﺩﺍﺀ ﻋﻠﻰ ﻣﺪﻯ ﻛﺜﺎﻓﺔ ﺍﺳﺘﺨﺪﺍﻡ ﺗﻌﻠﻴﻤﺎﺕ ٍ SQLﺍﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ ،ﻳﺘﻢ ﺍﲣﺎﺫ ﻗﺮﺍﺭ ﺗﺮﻛﻴﺰ
ﺍﳌﻌﺎﳉﺔ ﰲ ﳐﺪﻡ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺃﻭ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻣﻦ ﻗﺒﻞ ﺍﳌﻄﻮﺭ ﺍﻟﺬﻱ ﻳﻜﻮﻥ ﻋﻠﻰ ﻣﻌﺮﻓﺔ ﺑﺒﻴﺌﺔ
ﺍﻟﻌﺘﺎﺩ ﺍﻟﺼﻠﺐ ﺍﳌﺘﻮﻓﺮ ﻭﺗﻔﺎﻋﻼﺕ ﺍﻟﻌﺘﺎﺩ ﺍﻟﺼﻠﺐ ﻭﺑﺮﳎﻴﺔ DBMSﻭﻣﺘﻄﻠﺒﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ.
ﺃﻳﻀﹰﺎ ﻣﻦ ﺍﳌﻤﻜﻦ ﺇﺿﺎﻓﺔ ﻣﺮﺍﻗﱯ ﻣﻌﺎﳉﺔ ﻣﻨﺎﻗﻼﺕ ﰲ ﺃﻧﻈﻤﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻟﺘﺤﺴﲔ ﺍﻷﺩﺍﺀ ،ﺣﻴﺜﻤﺎ
ﺗﺘﻮﺍﻓﺮ ﻋﺪﺓ ﳐﺪﻣﺎﺕ ﺗﻄﺒﻴﻘﺎﺕ ﻭﳐﺪﻣﺎﺕ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﻳﺴﺘﻄﻴﻊ ﻣﺮﺍﻗﺐ ﻣﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ﲢﻘﻴﻖ
ﺍﻟﺘﻮﺍﺯﻥ ﰲ ﻛﻤﻴﺔ ﺍﻟﻌﻤﻞ ﺍﻟﻮﺍﺟﺐ ﺇﳒﺎﺯﻩ ﻭﺗﻮﺟﻴﻪ ﺍﳌﻨﺎﻗﻼﺕ ﺇﱃ ﺍﳌﺨﺪﻣﺎﺕ ﻏﲑ ﺍﳌﺸﻐﻮﻟﺔ ،ﻭﺃﻳﻀﹰﺎ
ﻳﻜﻮﻥ ﻣﺮﺍﻗﺐ ﻣﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ﻣﻔﻴﺪﹰﺍ ﰲ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﳌﻮﺯﻋﺔ ﺣﻴﺚ ﳝﻜﻦ ﺃﻥ ﺗﺪﺍﺭ ﺍﳌﻨﺎﻗﻼﺕ ﺍﳌﻮﺯﻋﺔ
ﻣﻦ ﻭﺣﺪﺓ ﻋﻤﻞ ﻣﻔﺮﺩﺓ ﻋﱪ ﺑﻴﺌﺔ ﻣﺘﻐﺎﻳﺮﺓ.
529 ·j¦
¶WáKE:<W
jME9
ϖϴϘΤΘϟ ϚϟΫϭ ϡΪΨϣ ϭ ϥϮΑί ϰϟ· ϖϴΒτΘϟ Γήϔϴη Ϧϣ ˯ΰΟ ΩΎϨγ· ΔϴϠϤϋ ϲϫ :ΕΎϘϴΒτΘϟ ΔΰΠΗ
.(ΔϔϠΘΨϣ ϞϴϐθΗ ΔϤψϧ ϰϠϋ ϞϤόϟ ϰϠϋ ϥϮϜ˵Ϥϟ ΓέΪϗ) ϲϨϴΑ ϞϴϐθΗϭ Ϟπϓ ˯Ω
(Mainframe)g9L K$¥¹£
ﱂ ﻳﻜﻦ ﺩﻭﺭ ﺍﳊﺎﺳﺒﺎﺕ ﺍﻟﻀﺨﻤﺔ ﳏﺪﺩﹰﺍ ﺧﻼﻝ ﺍﻟﻌﻘﺪ ﺍﳌﺎﺿﻲ ﺣﻴﺚ ﺗﻄﻮﺭﺕ ﺍﻟﺒﲎ ﺍﳌﻮﺯﻋﺔ ﻭﺑﲎ
ﳐﺪﻡ/ﺯﺑﻮﻥ ﻭﻗﺪﺭﺍﺕ ﺍﳊﻮﺍﺳﺐ ﺍﻟﺸﺨﺼﻴﺔ ،ﻭﻛﻤﺎ ﺫﻛﺮﻧﺎ ﺳﺎﺑﻘﹰﺎ ﻓﺈﻥ ﺃﻧﻈﻤﺔ ﺍﳌﻬﺎﻡ ﺍﳊﺮﺟﺔ ﺍﻟﱵ
ﻛﺎﻧﺖ ﺗﺘﻮﺍﺟﺪ ﻋﻠﻰ ﺃﻧﻈﻤﺔ ﺍﳊﺎﺳﺐ ﺍﻟﺮﺋﻴﺴﻲ ﻣﻨﺬ ﻋﻘﺪ ﻣﻀﻰ ﲤﻴﻞ ﺇﱃ ﺍﻟﺒﻘﺎﺀ ﰲ ﺃﻧﻈﻤﺔ ﺍﳊﺎﺳﺐ
ﺍﻟﺮﺋﻴﺴﻲ ،ﻟﻘﺪ ﰎ ﺗﻄﻮﻳﺮ ﺃﻧﻈﻤﺔ ﺫﺍﺕ ﻣﻬﺎﻡ ﺣﺮﺟﺔ ﺃﻗﻞ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ ،ﺇﻥ ﺷﻌﺒﻴﺔ ﺑﲎ
ﳐﺪﻡ/ﺯﺑﻮﻥ ﻭﺍﻟﺮﻏﺒﺔ ﺍﻟﻘﻮﻳﺔ ﻟﻠﻤﺆﺳﺴﺎﺕ ﻟﺘﺤﻘﻴﻖ ﻣﻌﺎﳉﺔ ﺃﻛﺜﺮ ﻓﻌﺎﻟﻴﺔ ﺿﻤﻦ ﺍﻟﺒﻴﺌﺎﺕ ﺍﳌﻮﺯﻋﺔ ﺟﻌﻠﺖ
ﻧﻈﺮﺓ ﻫﺬﻩ ﺍﳌﺆﺳﺴﺎﺕ ﺃﻭﺳﻊ ﻭﺃﻛﺜﺮ ﴰﻮﻟﻴﺔ،ﻛﻞ ﻫﺬﺍ ﺃﺩﻯ ﺇﱃ ﺃﻣﻞ ﻫﺬﻩ ﺍﳌﺆﺳﺴﺎﺕ ﺑﺄﻥ ﺗﻨﻘﻞ ﺃﻧﻈﻤﺔ
ﺍﳌﻬﺎﻡ ﺍﳊﺮﺟﺔ ﻣﻦ ﺍﳊﻮﺍﺳﺐ ﺍﻟﺮﺋﻴﺴﻴﺔ ﺇﱃ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ.
ﻭﻟﻜﻦ ﻟﻨﻘﻞ ﺃﻧﻈﻤﺔ ﺍﳌﻬﺎﻡ ﺍﳊﺮﺟﺔ ﻣﻦ ﺃﻧﻈﻤﺔ ﺍﳊﻮﺍﺳﺐ ﺍﻟﻀﺨﻤﺔ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﺇﱃ ﺃﻧﻈﻤﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ
ﳏﺘﻮﻳﺎﺕ ﻛﺜﲑﺓ ،ﻭﻟﻘﺪ ﻭﺟﺪﺕ ﺍﳌﺆﺳﺴﺎﺕ ﺃﻥ ﺇﺩﺍﺭﺓ ﻫﺬﻩ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳊﺮﺟﺔ ﻫﻮ ﺃﻛﺜﺮ ﺗﻌﻘﻴﺪﹰﺍ ﻋﻨﺪﻣﺎ
ﲢﻮﻝ ﺇﱃ ﺃﻧﻈﻤﺔ ﻣﻮﺯﻋﺔ .ﻣﻦ ﺑﲔ ﻣﺸﺎﻛﻞ ﺗﻮﺯﻳﻊ ﺍﻟﱪﳎﻴﺎﺕ ﺍﳌﻮﺟﻮﺩﺓ ﰲ ﺑﻴﺌﺔ ﺍﳌﻌﺎﳉﺔ ﺍﳌﻮﺯﻋﺔ ﺍﻟﺘﺎﱄ:
ﲢﺪﻳﺪ ﺃﻳﺔ ﺷﻴﻔﺮﺓ ﺗﺘﻮﺿﻊ ﻋﻠﻰ ﺃﺣﺪ ﳏﻄﺎﺕ ﺍﻟﻌﻤﻞ ﻭﺃﻱ ﻣﻨﻬﺎ ﺳﻴﻜﻮﻥ ﻣﺘﻮﻓﺮﹰﺍ ﻋﱪ ﺍﳌﺨﺪﻡ. x
ﻳﺘﻨﺒﺄ ﺍﳌﻄﻮﺭﻭﻥ ﲟﺴﺎﺋﻞ ﺍﻟﺘﻮﺳﻌﻴﺔ ﻭﻋﻨﻮﻧﺔ ﻫﺬﻩ ﺍﳌﺴﺎﺋﻞ ﻋﻦ ﺗﻄﻮﻳﺮ ﺍﻟﺸﻴﻔﺮﺓ ﻓﺈﻥ ﻧﻘﻞ ﺗﻄﺒﻴﻘﺎﺕ ﺍﳌﻬﺎﻡ
ﺍﳊﺮﺟﺔ ﺇﱃ ﺑﻴﺌﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻣﻮﺯﻋﺔ ﻳﺘﺴﺒﺐ ﲟﺸﺎﻛﻞ ﺧﻄﲑﺓ ﻋﻨﺪ ﺍﻟﺘﺤﻮﻝ ﻣﻦ ﻃﻮﺭ ﺍﻟﺘﺠﺮﻳﺐ ﺇﱃ
ﺍﻹﻧﺘﺎﺝ ،ﺃﺩﻯ ﻫﺬﺍ ﺍﻷﻣﺮ ﺇﱃ ﺇﺑﻄﺎﺀ ﺗﻄﻮﻳﺮ ﺃﻧﻈﻤﺔ ﺍﳌﻬﺎﻡ ﺍﳊﺮﺟﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ،ﻭﺍﻵﻥ ﻓﺈﻥ ﺗﻄﺒﻴﻘﺎﺕ
ﺍﻹﻧﺘﺮﻧﺖ ﺗﺰﺩﺍﺩ ﺣﺎﺟ ﹰﺔ ﺇﱃ ﺗﻄﺒﻴﻘﺎﺕ ﻗﺎﺩﺭﺓ ﻋﻠﻰ ﺍﻟﻌﻤﻞ ﰲ ﺑﻴﺌﺎﺕ ﳐﺘﻠﻔﺔ ﻭﻗﺎﺩﺭﺓ ﻋﻠﻰ ﺍﻟﺘﺨﺎﻃﺐ ﻣﻊ
ﺑﻌﻀﻬﺎ ،ﻣﻦ ﺍﻟﺼﻌﺐ ﺍﻟﺘﺤﺮﻱ ﻋﻦ ﺍﳋﻠﻞ ﻭﺇﺻﻼﺣﻪ ﰲ ﻣﺜﻞ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻭﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﳌﺆﺳﺴﺎﺕ
ﻟﻴﺴﺖ ﻣﺴﺘﻌﺪﺓ ﻟﺘﻮﱄ ﻫﺬﺍ ﺍﻟﻌﻤﻞ.
ﺇﻥ ﺯﻳﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻡ ﻣﻜﺘﺒﺎﺕ ﺍﳌﻜﻮﻧﺎﺕ )ﻣﻠﻔﺎﺕ ﻣﻦ ﺃﺟﺰﺍﺀ ﺗﻄﺒﻴﻘﺎﺕ ﻣﺸﺘﺮﻛﺔ( ﺗﺰﻳﺪ ﻣﻦ ﺍﳊﺎﺟﺔ
ﻹﺩﺍﺭﺓ ﺍﻻﻋﺘﻤﺎﺩ ﺍﳌﺘﺒﺎﺩﻝ ﺍﻟﺬﻱ ﺳﻴﺘﻄﻮﺭ ﺣﺘﻤﹰﺎ ﻷﻥ ﻫﺬﻩ ﺍﳌﻜﺘﺒﺎﺕ ﺗﺘﺸﺎﺭﻙ ﻋﺐﺀ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ.
>a Kf8 530
ﲤﺜﻞ ﻋﻤﻠﻴﺔ ﺩﻋﻢ ﺍﻷﻧﻈﻤﺔ ﺍﳌﻮﺯﻋﺔ ﻣﻬﻤﺔ ﻣﻌﻘﺪﺓ ﻟﻠﻐﺎﻳﺔ ،ﺣﻴﺚ ﺃﻥ ﻓﻬﻢ ﻧﺸﺎﻁ ﺍﻟﺒﻴﺌﺎﺕ ﺍﳌﺨﺘﻠﻔﺔ ﻭﺧﻠﻖ ﺷﺒﻜﺔ
ﻣﻌﺎﳉﺔ ﻣﻮﺯﻋﺔ ﻣﻌﻘﺪ ﻟﻠﻐﺎﻳﺔ ،ﺩﻓﻌﺖ ﺍﻟﺼﻌﻮﺑﺎﺕ ﺍﻟﱵ ﺗﻌﺘﺮﺽ ﺇﺩﺍﺭﺓ ﺑﻴﺌﺎﺕ ﺍﳌﻌﺎﳉﺔ ﺍﳌﻮﺯﻋﺔ ﻣﺪﻳﺮﻱ ﺗﻘﺎﻧﺔ
ﺍﳌﻌﻠﻮﻣﺎﺕ ﺑﺈﻋﺎﺩﺓ ﺍﻟﻨﻈﺮ ﰲ ﻫﺠﻮﻣﻬﻢ ﻋﻠﻰ ﻧﻘﻞ ﺃﻧﻈﻤﺔ ﺍﳌﻬﺎﻡ ﺍﳊﺮﺟﺔ ﺇﱃ ﺣﻠﻮﻝ ﳐﺪﻡ/ﺯﺑﻮﻥ.
ﺃﺣﺒﻄﺖ ﺍﻟﺼﻌﻮﺑﺎﺕ ﺍﻟﱵ ﺗﻮﺍﺟﻪ ﻧﻘﻞ ﺗﻄﺒﻴﻘﺎﺕ ﺍﳌﻬﺎﻡ ﺍﳊﺮﺟﺔ ﺇﱃ ﺑﻴﺌﺔ ﻣﻮﺯﻋﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﲎ
ﳐﺪﻡ/ﺯﺑﻮﻥ ﺍﻟﻜﺜﲑ ﻣﻦ ﻣﺪﻳﺮﻱ ﺗﻘﺎﻧﺔ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺣﱴ ﺃﻥ ﺍﻟﺒﻌﺾ ﻣﻨﻬﻢ ﺭﻓﺾ ﺍﳌﺒﺎﺩﺭﺓ ﰲ ﺍﻟﺘﺤﻮﻝ ﺇﱃ
ﺑﻨﻴﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ،ﻭﻟﻜﻦ ﻧﻌﺘﻘﺪ ﺃﻥ ﻛﻞ ﻣﺆﺳﺴﺔ ﲢﺘﺎﺝ ﺇﱃ ﲢﻘﻴﻖ ﺗﻮﺍﺯﻥ ﺑﲔ ﻣﻨﺼﺎﺕ ﺍﳊﺎﺳﺐ
ﺍﻟﺮﺋﻴﺴﻴﺔ ﻭﳐﺪﻡ/ﺯﺑﻮﻥ ﻭﺑﲔ ﺍﳊﻠﻮﻝ ﺍﳌﺮﻛﺰﻳﺔ ﻭﺍﳌﻮﺯﻋﺔ ﲟﺎ ﻳﺘﻨﺎﺳﺐ ﻣﻊ ﻃﺒﻘﺔ ﺑﻴﺎﻧﺎﺕ ﺍﳌﺆﺳﺴﺔ ﻭﻣﻮﻗﻊ
ﻣﺴﺘﺨﺪﻣﻲ ﻫﺬﻩ ﺍﻟﺒﻴﺎﻧﺎﺕ ،ﺇﻥ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﱵ ﳛﺘﺎﺝ ﺍﳌﺴﺘﺨﺪﻡ ﺍﻟﻮﻟﻮﺝ ﺇﻟﻴﻬﺎ ﺑﺎﺳﺘﻤﺮﺍﺭ ﻭﺍﳌﺨﻄﻄﺎﺕ
ﺍﳌﻌﻘﺪﺓ ﻭﻭﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ ﳚﺐ ﺃﻥ ﺗﺒﻘﻰ ﻗﺮﻳﺒﺔ ﻣﻦ ﳏﻄﺎﺕ ﻋﻤﻞ ﺍﳌﺴﺘﺨﺪﻣﲔ.
M¦j&L K$kC¶W
ﺇﻥ ﳏﺎﻭﻻﺕ ﺍﳌﺆﺳﺴﺎﺕ ﻟﻨﻘﻞ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺫﺍﺕ ﺍﳌﻬﺎﻡ ﺍﳊﺮﺟﺔ ﺇﱃ ﺑﲎ ﺍﳌﺨﺪﻡ/ﺍﻟﺰﺑﻮﻥ ،ﻳﺴﺘﻠﺰﻡ ﺑﻨﺎﺀ
ﺃﻧﻈﻤﺔ ﺑﺎﺳﺘﻄﺎﻋﺘﻬﺎ ﻣﻌﺎﳉﺔ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺃﻛﺜﺮ ﺑﻜﺜﲑ ﻣﻦ ﻣﺸﺎﺭﻳﻊ ﺍﳌﺨﺪﻡ/ﺍﻟﺰﺑﻮﻥ ﺍﻟﻌﺎﺩﻳﺔ .ﻭﻟﻘﺪ
ﺍﺳﺘﻔﺎﺩﺕ ﺍﳌﺸﺎﺭﻳﻊ ﺍﻟﱵ ﺗﺴﺘﺨﺪﻡ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺿﺨﻤﺔ ﺟﺪﹰﺍ )Very Large Data bases (VLBB
ﻣﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺑﲎ ﺍﳊﺎﺳﺐ ﺍﳌﺘﻮﺍﺯﻳﺔ ،ﻭﺫﻟﻚ ﻷﻥ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺘﻮﺍﺯﻳﺔ ﻟﻘﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺗﻌﻄﻲ ﺳﺮﻋﺔ
ﻣﻘﺒﻮﻟﺔ ﰲ ﺍﻻﺳﺘﺠﺎﺑﺔ .ﻛﻤﺎ ﺍﺳﺘﺨﺪﻣﺖ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺴﺘﻮﺩﻋﻴﺔ ﺍﻵﻟﻴﺎﺕ ﺍﳌﺘﻮﺍﺯﻳﺔ ﻟﺘﺤﻘﻴﻖ ﺍﳌﺰﻳﺪ ﻣﻦ
ﺍﻟﻔﻌﺎﻟﻴﺔ ﰲ ﺍﺳﺘﺨﻼﺹ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺗﻠﺨﻴﺼﻬﺎ ﻭﲢﻮﻳﻠﻬﺎ ﻭﻛﺬﻟﻚ ﲢﻤﻴﻠﻬﺎ ،ﻭﺫﻟﻚ ﻋﻦ ﻃﺮﻳﻖ ﺗﺸﻐﻴﻠﻬﺎ
ﻋﻠﻰ ﻋﺪﺓ ﳐﺪﻣﺎﺕ ﺭﺧﻴﺼﺔ ﺍﻟﺜﻤﻦ ﰲ ﺑﻴﺌﺔ ﻣﺘﻌﺪﺩﺓ ﺍﳌﺴﺎﻟﻚ.
ﺇﻥ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﳌﻨﺎﻗﻼﺕ ﺫﺍﺕ ﺍﳊﺠﻮﻡ ﺍﻟﻜﺒﲑﺓ ،ﻭﻣﻊ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﳌﻌﻘﺪﺓ ،ﻭﻣﻊ ﺃﳕﺎﻁ ﺍﳌﻌﻄﻴﺎﺕ
ﺍﳉﺪﻳﺪﺓ ،ﻗﺪ ﺃﺛﺒﺘﺖ ﻭﺟﻮﺩ ﺇﺷﻜﺎﻻﺕ ﰲ ﺍﻟﺒﻴﺌﺎﺕ ﻭﺣﻴﺪﺓ ﺍﳌﻌﺎﰿ )ﺣﺴﺐ .(DeWitt and Gray, 1992
ﻭﻟﻜﻦ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ،ﻭﻟﻐﺔ SQLﻗﺪ ﺃﺛﺮﺗﺎ ﰲ ﺍﻟﺒﻴﺌﺎﺕ ﺍﻟﺘﻔﺮﻋﻴﺔ ﺑﻄﺮﻳﻘﺘﲔ
)ﺣﺴﺐ :(Ferguson, 1994ﻭﳘﺎ:
ﰲ ﻣﻌﻈﻢ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ،ﲤﺜﻞ SQLﻛﻠﻔﺔ ﻣﻌﺎﳉﺔ ﳎﻤﻮﻋﺔ ﻏﲑ ﺇﺟﺮﺍﺋﻴﺔ ﻭﻟﺬﻟﻚ ﲡﺰﺃ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ -1
ﺇﱃ ﺃﻗﺴﺎﻡ ،ﻳﻌﻤﻞ ﹸﻛﻞﱢ ﻣﻨﻬﺎ ﻋﻠﻰ ﻣﻌﺎﰿ ﺗﻔﺮﻋﻲ ﳐﺘﻠﻒ ﺑﺸﻜﻞ ﻣﺘﺰﺍﻣﻦ ﻣﻊ ﺑﻘﻴﺔ ﺍﻷﻗﺴﺎﻡ.
ﻳﻤﻜﻦ ﺗﺸﻐﻴﻞ ﻋﺪﺓ ﺍﺳﺘﻌﻼﻣﺎﺕ ﺑﺸﻜﻞ ﺗﻔﺮﻋﻲ ﻋﻠﻰ ﻋﺪﺓ ﻣﻌﺎﳉﺎﺕ ﻣﺘﻮﺍ ٍﺯ .ﺍﻧﻈﺮ ﺍﻟﺸﻜﻞ ).(9-5 -2
ﻳﺘﻄﻠﺐ ﺍﻻﺳﺘﺨﺪﺍﻡ ﺍﻟﻔﻌﺎﻝ ﻟﻠﺒﲎ ﺍﳌﺘﻮﺍﺯﻳﺔ ﻟﻠﺤﻮﺍﺳﻴﺐ ،ﺗﻄﻮﻳﺮ ﺇﺩﺭﺍﻙ ﺇﻣﻜﺎﻧﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﺍﻟﱵ ﳝﻜﻦ
ﺍﺳﺘﻐﻼﳍﺎ ﰲ ﺑﻴﺌﺎﺕ ﺍﳌﺨﺪﻣﺎﺕ ﺍﻟﺘﻔﺮﻋﻴﺔ ،ﻭﻟﻴﺲ ﻓﻘﻂ ﳎﺮﺩ ﲢﻮﻳﻞ ﻟﻠﺨﻮﺍﺭﺯﻣﻴﺎﺕ ﺍﻟﺘﺴﻠﺴﻠﻴﺔ ﺇﱃ
531 ·j¦
¶WáKE:<W
jME9
ﺃﺧﺮﻯ ﺗﻔﺮﻋﻴﺔ .ﺳﺘﻘﺪﻡ ﰲ ﻫﺬﻩ ﺍﻟﻔﻘﺮﺓ ﺍﺛﻨﺘﲔ ﻣﻦ ﺍﻟﺒﲎ ﺍﻟﻜﺜﲑﺓ ﻟﻠﺘﺠﻬﻴﺰﺍﺕ ﻣﺘﻌﺪﺩﺓ ﺍﳌﻌﺎﳉﺎﺕ ،ﻛﻞ
ﻣﻨﻬﺎ ﺳﻴﻜﻮﻥ ﺍﻷﻓﻀﻞ ﻟﻨﻮﻉ ﳏﺪﺩ ﻣﻦ ﺍﳌﻌﺎﳉﺔ.
K#K<&£W<ZEDkCí
ﺍﻟﺒﻨﻴﺔ ﺍﻷﻭﱃ ﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﻧﻈﺎﻡ ﻳﺴﺘﺨﺪﻡ ﻋﺪﺓ ﻣﻌﺎﳉﺎﺕ ﻣﺮﺗﺒﻄﺔ ﻣﻊ ﺑﻌﻀﻬﺎ ﺑﺸﺪﺓ ،ﻷﺎ ﲤﺘﻠﻚ
ﺫﺍﻛﺮﺓ ﻣﺸﺘﺮﻛﺔ ﻓﻴﻤﺎ ﺑﻴﻨﻬﺎ ﺍﻟﺸﻜﻞ ) .(9-6ﺗﺪﻋﻰ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ ﺑﺎﳌﻌﺎﳉﺔ )ﺃﻭ ﺃﺣﻴﺎﻧﹰﺎ ﺍﳌﻌﺎﳉﺎﺕ( ﺍﳌﺘﻌﺪﺩﺓ
ﺍﳌﺘﻨﺎﻇﺮﺓ ) ،Symmetric MultiProcessing (SMPﺣﻴﺚ ﲤﺘﻠﻚ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﶈﺎﺳﻦ
)ﺣﺴﺐ .(Ferguson, 1994ﺃﻭﳍﺎ ﺗﻮﺿﻴﻊ ﻧﺴﺨﺔ ﻭﺣﻴﺪﺓ ﻣﻦ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﰲ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ،
ﻭﺑﺎﻟﺘﺎﱄ ﺳﺘﻜﻮﻥ ﻣﺘﺎﺣﺔ ﳉﻤﻴﻊ ﺍﳌﻌﺎﳉﺎﺕ ،ﺣﻴﺚ ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﻣﺸﻐﻞ ﻫﺬﺍ ﺍﻟﻨﻈﺎﻡ ﻣﻜﺘﻮﺏ ﺑﺸﻜﻞ
>a Kf8 532
ﳝﻜﻨﻪ ﻣﻦ ﺍﻟﻌﻤﻞ ﻋﻠﻰ ﻣﺜﻞ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ ﺍﳌﺸﺘﺮﻛﺔ ،ﻟﺬﻟﻚ ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﺑﺈﻣﻜﺎﻧﻪ ﺗﺸﻐﻴﻞ ﺃﺟﺰﺍﺀ ﻣﻨﻪ ﺑﺸﻜﻞ
ﺗﻔﺮﻋﻲ ﻋﻠﻰ ﺃﻱ ﻣﻦ ﺍﳌﻌﺎﳉﺎﺕ ،ﻭﺩﻭﻥ ﺃﻥ ﻳﻘﻮﻡ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺃﺣﺪ ﺍﳌﻌﺎﳉﺎﺕ ﲝﻤﻞ ﺃﻛﺜﺮ ﻣﻦ ﻏﲑﻫﺎ.
ﺍﳌﻌﺎﳉﺔ ﺍﳌﺘﻌﺪﺩﺓ ﺍﳌﺘﻨﺎﻇﺮﺓ ) :(SMPﻫﻲ ﺑﻨﻴﺔ ﺗﻔﺮﻋﻴﺔ ﻟﻠﻤﻌﺎﳉﺔ ،ﲢﺘﻮﻱ ﻋﻠﻰ ﻋﺪﺓ ﻣﻌﺎﳉﺎﺕ ﻣﺮﺗﺒﻄﺔ
ﺳﻮﻳﹰﺎ ﻭﺗﺴﺘﺨﺪﻡ ﺫﺍﻛﺮﺓ ﻭﺍﺣﺪﺓ ﻣﺸﺘﺮﻛﺔ ﺑﻴﻨﻬﺎ.
ﺇﻥ ﺍﳊﺴﻨﺔ ﺍﻟﺜﺎﻧﻴﺔ ﳍﺬﻩ ﺍﻟﺒﻨﻴﺔ ﻫﻲ ﺃﻥ ﺍﻻﺯﺩﺣﺎﻡ ﻋﻨﺪ ﻋﻨﻖ ﺍﻟﺰﺟﺎﺟﺔ bottleneckedﺳﻴﻨﺨﻔﺾ ﻣﻘﺎﺭﻧﺔ
ﺑﺎﻟﻨﻈﻢ ﻭﺣﻴﺪﺓ ﺍﳌﻌﺎﰿ ،ﻭﺫﻟﻚ ﻷﻥ ﲨﻴﻊ ﺍﳌﻌﺎﳉﺎﺕ ﺗﺘﺸﺎﺭﻙ ﺍﳌﻬﺎﻡ ﺑﺸﻜﻞ ﻣﺘﻨﺎﻇﺮ ﰲ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ،
ﻟﻜﻦ ﻭﻣﻊ ﺫﻟﻚ ﻓﺈﻧﻪ ﻣﺎ ﺯﺍﻝ ﻫﻨﺎﻙ ﺍﺯﺩﺣﺎﻡ ﻋﻠﻰ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ ﰲ ﺣﺎﻝ ﰎ ﺇﺭﺳﺎﻝ ﻋﻤﻠﻴﺎﺕ
ﺩﺧﻞ/ﺧﺮﺝ ﺑﻜﺜﺎﻓﺔ ﺇﻟﻴﻬﺎ ،ﻭﻟﻜﻦ ﲡﻬﻴﺰ ﻛﻞ ﻣﻌﺎﰿ ﺑﺬﺍﻛﺮﺓ ﳐﺒﺌﺔ cacheﺧﺎﺻﺔ ﺑﻪ ،ﻣﻦ ﺷﺄﻧﻪ ﺃﻥ
ﻳﻘﻠﻞ ﻣﻦ ﻭﻃﺄﺓ ﻫﺬﻩ ﺍﳌﺸﻜﻠﺔ .ﻭﻣﻦ ﰒ ﳝﻜﻦ ﺗﻘﻠﻴﻞ ﺣﺠﻢ ﺍﻟﻄﻠﺒﺎﺕ ﻋﻠﻰ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ ﻋﻦ
ﻃﺮﻳﻖ ﺇﻋﺎﺩﺓ ﺗﻔﻌﻴﻞ ﺍﻧﺘﻈﺎﺭ ﺍﳌﻨﺎﻗﻼﺕ ﻟﻠﻌﻤﻞ ﻋﻠﻰ ﺍﳌﻌﺎﰿ ،ﻭﺍﻟﱵ ﺳﺒﻖ ﺃﻥ ﺑﺪﺃﺕ ﻣﻌﺎﳉﺘﻬﺎ ،ﻭﻫﺬﺍ
ﺑﺪﻭﺭﻩ ﻳﺆﺩﻱ ﺇﱃ ﺇﻋﺎﺩﺓ ﺗﻔﻌﻴﻞ ﺍﳌﻨﺎﻗﻠﺔ ﺑﺴﺮﻋﺔ ﺃﻛﱪ ،ﻭﺑﺎﺳﺘﺨﺪﺍﻡ ﻋﺪﺩ ﺃﻗﻞ ﻣﻦ ﺍﻟﻄﻠﺒﺎﺕ ﻋﻠﻰ
ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ ،ﻭﻛﺬﻟﻚ ﻣﻦ ﺍﶈﺘﻤﻞ ﺟﻌﻞ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﳋﺎﺻﺔ ﺑﻜﻞ ﻣﻨﺎﻗﻠﺔ ﻣﻔﻌﻠﺔ ﻣﺴﺘﺨﺪﻣﺔ ﰲ
ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺨﺒﺌﻴﺔ ﻟﻠﻤﻌﺎﰿ ﺍﶈﺪﺩ )ﺣﺴﺐ .(Ferguson, 1994
ﺛﺎﻟﺜﹰﺎ ﺇﻥ ﺍﻟﺒﻨﻴﺔ SMPﻣﻔﻴﺪﺓ ﰲ ﺍﳊﺎﻻﺕ ﺍﻟﱵ ﳚﺐ ﺃﻥ ﺗﺒﻘﻰ ﻓﻴﻬﺎ ﺍﳌﻌﻄﻴﺎﺕ ﻣﻮﺟﻮﺩﺓ ﰲ ﺍﻟﺬﺍﻛﺮﺓ
ﺧﻼﻝ ﻋﻤﻠﻴﺔ ﺍﳌﻌﺎﳉﺔ ﺪﻑ ﲢﻘﻴﻖ ﺍﳌﺴﺘﻮﻯ ﺍﳌﻄﻠﻮﺏ ﻭﻛﺬﻟﻚ ﺍﻷﺩﺍﺀ .ﺃﻣﺎ ﻣﺸﺎﻛﻞ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ ﳝﻜﻦ
ﺃﻥ ﺗﺘﻀﻤﻦ ﺍﺣﺘﻤﺎﻝ ﺍﳌﻨﺎﺯﻋﺔ ﻋﻠﻰ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ ،ﻭﻛﺬﻟﻚ ﻭﺟﻮﺏ ﺍﺳﺘﺨﺪﺍﻡ ﺣﺰﻡ ﻋﺮﻳﻀﺔ
ﻟﻠﻤﻌﻄﻴﺎﺕ ﻣﻦ ﺃﺟﻞ ﺍﺳﺘﻌﺎﺩﺎ ﺇﱃ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ ،ﻭﻛﺬﻟﻚ ﺗﻮﺿﻊ ﻛﺎﻣﻞ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ ﰲ
ﻧﻘﻄﺔ ﻭﺍﺣﺪﺓ ﻣﻌﺮﺿﺔ ﻟﻠﻔﺸﻞ.ﻛﻤﺎ ﺇﻥ ﺍﺯﺩﺣﺎﻡ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺪﺧﻞ/ﺍﳋﺮﺝ ﺳﻴﺰﺩﺍﺩ ﻛﻠﻤﺎ ﲤﺖ ﺇﺿﺎﻓﺔ
ﻣﻌﺎﳉﺎﺕ ﺟﺪﻳﺪﺓ ﺇﱃ ﺑﻴﺌﺔ ﺍﻟﺬﺍﻛﺮﺓ ﺍﳌﺸﺘﺮﻛﺔ.
ﻋﻠﻰ ﺧﻼﻑ ﺍﻟﺒﻨﻴﺔ ٍ ،SQLﺗﻮﺟﺪ ﺍﻟﺒﻨﻴﺔ ﺍﳌﺮﺗﺒﻄﺔ ﺑﺸﻜﻞ ﻣﻘﻠﻘﻞ ﺃﻭ ﻏﲑ ﻭﺛﻴﻖ ،ﺍﻧﻈﺮ ﺍﻟﺸﻜﻞ )،(9-7
ﺗﺪﻋﻰ ﺑﻨﻴﺔ ﺍﳌﻌﺎﳉﺔ ﺍﻟﻔﺮﻋﻴﺔ ﺍﻟﻜﺜﻴﻔﺔ ) ،Massively Parallel Processing (MPPﺃﻭ ﺑﻨﻴﺔ ﺍﻟﻼ
ﺗﺸﺎﺭﻙ ،ﺣﻴﺚ ﻳﺘﻢ ﰲ ﻫﺬﻩ ﺍﻟﺒﻴﻨﺔ ﺗﺮﻛﻴﺐ ﻛﻞ ﻣﻌﺎﰿ ﻣﻊ ﺫﺍﻛﺮﺗﻪ ﺍﳋﺎﺻﺔ .ﳝﻜﻦ ﺃﻥ ﺗﻜﻮﻥ ﻛﻞ ﻋﻘﺪﺓ
ﻓﻴﻬﺎ ﺃﺣﺎﺩﻳﺔ ﺍﳌﻌﺎﰿ ،ﺃﻭ ﻣﺘﻌﺪﺩﺓ ﺍﳌﻌﺎﳉﺎﺕ ،ﻓﺈﻥ ﺍﻻﺯﺩﺣﺎﻡ ﺍﻟﺬﻱ ﻛﺎﻥ ﳛﺪﺙ ﰲ ﺑﻨﻴﺔ SMPﻏﲑ ﳏﺘﻤﻞ
ﺍﳊﺪﻭﺙ ﰲ ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ ،ﻭﻣﻦ ﺍﶈﺘﻤﻞ ﺇﺿﺎﻓﺔ ﻋﻘﺪ )ﻣﻌﺎﰿ ﺁﺧﺮ ﻣﻊ ﺫﺍﻛﺮﺗﻪ( ﰲ ﻭﺣﺪﺓ ﻭﺣﻴﺪﺓ ﺇﱃ
ﻫﺬﻩ ﺍﻟﺒﻨﻴﺔ.
ﳝﻜﻦ ﻫﺬﺍ ﺍﻟﺘﺤﺴﻦ ﺍﳋﻄﻲ ﺍﳌﺆﺳﺴﺎﺕ ﻣﻦ ﲢﻘﻴﻖ ﺍﳌﻌﺎﳉﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ ﺑﺘﻜﺎﻟﻴﻒ ﺃﻗﻞ ،ﻣﻀﻴﻔﹰﺎ ﻗﺪﺭﺍﺕ
ﻣﻌﺎﳉﺔ ﺑﺒﻌﺾ ﺍﻟﺰﻳﺎﺩﺍﺕ ﺣﺴﺐ ﺍﳊﺎﺟﺔ .ﺇﻥ ﻫﺬﺍ ﺍﻟﺘﺤﺴﲔ ﳚﻌﻞ ﺍﻟﻨﻈﺎﻡ ﻗﺎﺑﻞ ﻟﻺﺩﺍﺭﺓ ﺑﺸﻜﻞ ﺃﻛﱪ
ﰲ ﺑﻴﺌﺎﺕ ﺍﻟﻌﻤﻞ ﺍﻟﺪﻳﻨﺎﻣﻜﻴﺔ ،ﺣﻴﺚ ﺗﻜﻮﻥ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺴﺘﻮﺩﻋﻴﺔ ﻗﺎﺑﻠﺔ ﻟﻠﻨﻤﻮ ﺑﺸﻜﻞ ﺳﺮﻳﻊ ﻛﻤﺎ
ﳝﻜﻦ ﳍﺬﻩ ﺍﻟﻨﻈﻢ ﻋﻦ ﻃﺮﻳﻖ ﲤﺮﻳﺮ ﺍﻟﺮﺳﺎﺋﻞ ﺑﲔ ﺍﳌﻌﺎﳉﺎﺕ ،ﲡﺰﻱﺀ ﺍﳌﻬﺎﻡ ﺍﻟﻜﺒﲑﺓ ﻭﺗﻮﺯﻳﻊ ﺍﻷﺟﺰﺍﺀ
ﻋﻠﻰ ﻋﺪﺓ ﻣﻌﺎﳉﺎﺕ .ﰲ ﺍﳊﻘﻴﻘﺔ ﺇﻥ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﱵ ﲤﻠﻚ ﻣﻬﺎﻣﹰﺎ ﺿﺨﻤﺔ ﺟﺪﺍﹰ ،ﻣﻦ ﺍﳌﻤﻜﻦ ﲡﺰﻱﺀ
ﻫﺬﻩ ﺍﳌﻬﺎﻡ ﻭﺟﻌﻠﻬﺎ ﺗﻨﻔﱠﺬ ﺑﺸﻜﻞ ﻣﺘﺰﺍﻣﻦ ،ﺳﺘﻜﻮﻥ ﻣﻨﺎﺳﺒﺔ ﻟﻼﺳﺘﻔﺎﺩﺓ ﻣﻦ ﺑﲎ MPPﺃﻛﺜﺮ ﻣﻦ
ﺍﻻﺳﺘﻔﺎﺩﺓ ﻣﻦ .SMPﻭﺍﻵﻥ ﻫﻨﺎﻙ ﻓﻌﺎﻟﻴﺎﺕ ﺗﻄﻮﻳﺮ ﻛﺜﲑﺓ ﻟﺘﻘﻨﻴﺎﺕ ،MPPﻓﻬﻨﺎﻙ ﺍﻟﺸﺮﻛﺎﺕ ،IBM
) DEC ،Oracle ،Intel ،NCRﻭﻫﻲ ﻗﺴﻢ ﻣﻦ ... ،Silicon Graphics ،Encore ،Hp ،(Compaq
ﻭﻏﲑﻫﺎ ،ﻣﻨﺸﻐﻠﺔ ﰲ ﺃﲝﺎﺙ ﺗﻄﻮﻳﺮ ﻫﺬﻩ ﺍﻟﺘﻘﻨﻴﺎﺕ ﻭﺑﺎﻋﺘﺒﺎﺭ ﺃﻥ ﻧﻈﻢ ﺍﳌﻌﺎﳉﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ ﳐﺘﻠﻔﺔ ﻋﻦ ﺍﻟﻨﻈﻢ
ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ،ﻓﺈﻧﻪ ﻣﻦ ﺍﻟﻀﺮﻭﺭﻱ ﻟﻠﺸﺮﻛﺎﺕ ﺍﻟﱵ ﺗﺄﺧﺬ ﺑﻌﲔ ﺍﻻﻋﺘﺒﺎﺭ ﺃﻥ ﺗﻘﻮﻡ ﻫﺬﻩ ﺍﻟﻨﻈﻢ ﺑﺈﻋﺎﺩﺓ ﺗﻌﻤﻴﻢ
ﻭﺑﻨﺎﺀ ﺗﺼﻤﻴﻢ ﻭﺗﻄﺒﻴﻖ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳋﺎﺻﺔ ﻢ ،ﺇﻋﺎﺩﺓ ﲣﻄﻴﻂ ﺍﳌﻘﺪﺭﺓ ﻟﺪﻳﻬﻢ ،ﻭﺇﻋﺎﺩﺓ ﺗﻘﻴﻴﻢ
ﻭﺇﺩﺍﺭﺓ ﺍﻷﺩﺍﺀ ،ﻭﺍﻟﻌﻤﻠﻴﺎﺗﻴﺔ ،ﻭﺇﺟﺮﺍﺋﻴﺎﺕ ﺍﳉﺪﻭﻟﺔ ﻟﺪﻳﻬﻢ.
ﺑﻨﻴﺔ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺘﻮﺍﺯﻳﺔ ﺍﻟﻜﺜﻴﻔﺔ :MPPﻫﻲ ﺑﻨﻴﺔ ﺍﻟﻼ ﺗﺸﺎﺭﻙ ،ﺣﻴﺚ ﻟﻜﻞ ﻣﻌﺎﰿ ﺫﺍﻛﺮﺗﻪ ﺍﳋﺎﺻﺔ.
µKB
TKM:Y&MPP¹SMPkC¶W
ﲤﺘﻠﻚ ﺍﳌﺆﺳﺴﺎﺕ ﳐﺎﺯﻥ ﺿﺨﻤﺔ ﻣﻦ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻤﻠﻴﺎﺗﻴﺔ ﺍﳌﺘﺮﺍﻛﻤﺔ ﺗﺎﺭﳜﻴﺎﹰ ،ﻭﺍﻟﱵ ﺗﺮﻏﺐ ﺑﺎﻻﺳﺘﻔﺎﺩﺓ
ﻣﻨﻬﺎ ،ﻭﺧﺼﻮﺻﺎﹰ ﻣﻦ ﺗﻠﻚ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﻟﻘﻴﻤﺔ ﺍﳋﺎﺻﺔ ﲟﻔﺎﻫﻴﻢ ﺍﻟﻌﻤﻞ ،ﻣﺜﻞ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﺰﺑﺎﺋﻦ ﻭﺍﳌﻨﺘﺠﺎﺕ
>a Kf8 534
ﻭﺍﳌﺒﻴﻌﺎﺕ ﻭﻗﻮﺍﺋﻢ ﺍﳉﺮﺩ .ﺣﱴ ﻭﻗﺖ ﻗﺮﻳﺐ ﻛﺎﻧﺖ ﻫﺬﻩ ﺍﳌﺆﺳﺴﺎﺕ ﻻ ﲤﻠﻚ ﻗﺪﺭﺓ ﻣﻌﺎﳉﺔ ﻛﺎﻓﻴﺔ ﻟﻜﻲ
ﺗﻜﻮﻥ ﻗﺎﺩﺭﺓ ﻋﻠﻰ ﺍﻻﺳﺘﻔﺎﺩﺓ ﻣﻦ ﻫﺬﻩ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺨﺰﻧﺔ )ﺣﺴﺐ .(Rudin, 1995ﺃﻣﺎ ﺍﻵﻥ ﻓﺈﻥ
ﺍﳌﻌﺎﳉﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ ﻗﺪ ﺃﻋﻄﺖ ﻫﺬﻩ ﺍﳌﺆﺳﺴﺎﺕ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﲢﻠﻴﻞ ﺍﻟﻜﻤﻴﺎﺕ ﺍﻟﻀﺨﻤﺔ ﻣﻦ ﺍﳌﻌﻄﻴﺎﺕ
ﺍﳌﺘﺮﺍﻛﻤﺔ ﺗﺎﺭﳜﻴﹰﺎ ﻭﺫﻟﻚ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺗﻘﻨﻴﺎﺕ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺴﺘﻮﺩﻋﻴﺔ ﻭﻣﺎ ﺷﺎﻬﺎ .ﻭﻗﺪ ﺃﻭﺟﺪ ﻇﻬﻮﺭ
ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ ﺍﻟﺒﻨﻴﺔ ﺍﻟﺘﺤﺘﻴﺔ ﻟﻌﻤﻠﻴﺎﺕ ﺗﻄﻮﻳﺮ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺴﺘﻮﺩﻋﻴﺔ ﺍﳌﺰﺩﻭﺟﺔ ،ﻭﺍﻟﺬﻱ
ﺳﻴﻮﺻﻒ ﺑﺎﻟﺘﻔﺼﻴﻞ ﰲ ﺍﻟﻔﺼﻞ ﺍﳊﺎﺩﻱ ﻋﺸﺮ .ﻗﺪ ﺍﺳﺘﺨﺪﻣﺖ ﻣﺆﺳﺴﺎﺕ ﺍﻟﺒﻴﻊ ﺑﺎﻟﺘﺠﺰﺋﺔ ﺍﻟﱵ ﲤﺘﻠﻚ
ﻛﻤﻴﺎﺕ ﺿﺨﻤﺔ ﻣﻦ ﻣﻌﻄﻴﺎﺕ ﺍﳌﺒﻴﻌﺎﺕ ﻭﺍﻟﱵ ﲢﺘﺎﺝ ﺇﱃ ﲢﻠﻴﻞ ،ﻧﻈﻢ ﺍﳌﻌﺎﳉﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ ﰲ ﺳﺒﻴﻞ ﺫﻟﻚ.
ﺗﻮﺟﺪ ﺣﺴﺐ ) (Rudin, 1995ﻋﺪﺓ ﻧﻘﺎﻁ ﳚﺐ ﺃﻥ ﺗﻀﻌﻬﺎ ﺍﳌﺆﺳﺴﺎﺕ ﰲ ﺣﺴﺒﺎﺎ ﻋﻨﺪﻣﺎ ﲢﺎﻭﻝ
ﺍﻻﻧﺘﻘﺎﻝ ﺇﱃ ﻧﻈﻢ SMPﺃﻭ MPPﻭﻫﻲ:
ﻣﺘﻄﻠﺒﺎﺕ ﲢﻠﻴﻞ ﺍﳌﻌﻄﻴﺎﺕ :ﺗﺴﻌﻰ ﺍﻟﻨﻈﻢ ﺍﻟﺘﻔﺮﻋﻴﺔ ﻟﺘﻜﻮﻥ ﺍﻷﻛﺜﺮ ﻓﻌﺎﻟﻴﺔ ﰲ ﺣﻞ ﺍﳌﺴﺎﺋﻞ ﺍﻟﱵ x
ﺗﺘﻄﻠﺐ ﻣﻌﺎﳉﺔ ﻛﻤﻴﺎﺕ ﺿﺨﻤﺔ ﺟﺪﹰﺍ ﻣﻦ ﺍﳌﻌﻄﻴﺎﺕ ) 250 GBﺃﻭ ﺃﻛﺜﺮ( ،ﺃﻭ ﺗﻨﻔﻴﺬ ﺍﺳﺘﻌﻼﻣﺎﺕ
ﻣﻌﻘﺪﺓ ،ﺃﻭ ﻣﻌﺎﳉﺔ ﻣﻌﻄﻴﺎﺕ ﻣﺴﺘﺨﺪﻣﺔ ﻣﻦ ﻗﺒﻞ ﻋﺪﺩ ﻛﺒﲑ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻣﲔ ﺍﳌﺘﺰﺍﻣﻨﲔ .ﻭﻟﻜﻦ
ﺍﳌﺸﻜﻠﺔ ﺗﻈﻬﺮ ﻋﻨﺪﻣﺎ ﺗﻜﻮﻥ ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻣﻬﻤﺔ ﺍﺳﺘﺮﺍﺗﻴﺠﻴﹰﺎ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻤﺆﺳﺴﺔ ،ﺃﻭ ﻋﻨﺪﻣﺎ
ﺗﻜﻮﻥ ﻛﻠﻔﺔ ﺍﻟﺘﺠﻬﻴﺰﺍﺕ ﻭﺍﻟﱪﳎﻴﺎﺕ ،ﻭﻛﻠﻔﺔ ﺇﻋﺎﺩﺓ ﺍﻟﺘﺪﺭﻳﺐ ﻏﲑ ﻣﺴﺎﻭﻳﺔ ﳌﺮﺩﻭﺩ ﻫﺬﺍ ﺍﻻﻧﺘﻘﺎﻝ
ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻤﺆﺳﺴﺔ .ﻭﻣﻦ ﺃﻣﺜﻠﺔ ﻫﺬﻩ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﺒﻴﻊ ﺑﺎﻟﺘﺠﺰﺋﺔ ﺍﻟﱵ ﺗﻌﻄﻲ ﻗﻴﻤﹰﺎ
ﺍﺳﺘﺮﺍﺗﻴﺠﻴﺔ ﻟﻠﺒﺎﻋﺔ ،ﻭﻣﻨﻬﺎ ﻧﻈﺎﻡ ﲢﻠﻴﻞ ﺳﻠﺔ ﺍﻟﺘﺴﻮﻕ ﺍﳋﺎﺹ ﺑـ ،Catalina Marketing
ﻭﺍﻟﺬﻱ ﻻ ﻳﺘﺘﺒﻊ ﺍﳌﻨﺘﺠﺎﺕ ﺍﻟﱵ ﻳﺘﻢ ﺷﺮﺍﺅﻫﺎ ﻓﺤﺴﺐ ،ﻭﺇﳕﺎ ﻳﺘﺘﺒﻊ ﺗﺸﻜﻴﻼﺕ ﺍﳌﻨﺘﺠﺎﺕ ﺍﻟﱵ ﻳﺘﻢ
ﺷﺮﺍﺅﻫﺎ ﰲ ﺍﻟﻮﻗﺖ ﻧﻔﺴﻪ .ﳝﻜﻦ ﻟﻠﺒﺎﻋﺔ ﺍﺳﺘﺨﺪﺍﻡ ﻣﺜﻞ ﻫﺬﻩ ﺍﻟﻨﺘﺎﺋﺞ ﻣﻦ ﺃﺟﻞ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺮﻭﻳﺞ
ﺍﳌﻨﺴﻖ ﻟﻠﻤﻨﺘﺠﺎﺕ ﺍﳌﺮﺗﺒﻄﺔ ﺑﺒﻌﻀﻬﺎ ﺑﻌﻀﺎﹰ ،ﻭﻣﻦ ﺃﺟﻞ ﺍﲣﺎﺫ ﻗﺮﺍﺭﺍﺕ ﲢﺪﻳﺪ ﺍﻷﺳﻌﺎﺭ ﻭﻓﺘﺮﺍﺕ
ﺍﻟﺼﻼﺣﻴﺔ.
ﺗﱪﻳﺮ ﺍﻟﺘﻜﺎﻟﻴﻒ :Cost justificationﺗﺬﻛﺮ ﺃﻥ ﺍﻟﻨﻈﻢ ﺍﻟﺘﻔﺮﻋﻴﺔ ﺳﺘﻜﻮﻥ ﻣﺘﻤﻤﺔ ﻟﻠﻨﻈﻢ x
ﺍﻟﻌﻤﻠﻴﺎﺗﻴﺔ ،ﻭﻟﻴﺲ ﺍﺳﺘﺒﺪﺍ ﹰﻻ ﳍﺎ ،ﻭﺗﺴﺘﺨﺪﻣﻬﺎ ﺍﳌﺆﺳﺴﺎﺕ ﻟﺘﺤﺴﲔ ﺍﻟﻌﺎﺋﺪﺍﺕ ﻭﻟﻴﺲ ﻟﺘﺨﻔﻴﺾ
ﺍﻟﺘﻜﺎﻟﻴﻒ .ﻭﻟﺬﻟﻚ ﻓﺈﻥ ﺇﺟﺮﺍﺋﻴﺎﺕ ﺣﺴﺎﺏ ﺍﻟﻜﻠﻒ ﻭﺗﱪﻳﺮﺍﺎ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﻟﻦ ﺗﻜﻮﻥ ﻣﻨﺎﺳﺒﺔ ﻣﻊ
ﺍﻟﻨﻈﻢ ﺍﻟﺘﻔﺮﻋﻴﺔ .ﻭﺑﺎﻋﺘﺒﺎﺭ ﺃﻥ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺗﺴﻌﻰ ﻟﺘﺤﺴﲔ ﺍﺳﺘﺮﺍﲡﻴﺎﺕ ﺍﻟﺘﺴﻮﻳﻖ
ﺍﳋﺎﺻﺔ ﺑﺎﳌﺆﺳﺴﺔ ،ﻓﺈﻧﻪ ﺳﻴﻜﻮﻥ ﻣﻦ ﺍﳌﻨﺎﺳﺐ ﺍﻋﺘﺒﺎﺭ ﺍﻟﻨﻈﻢ ﺍﻟﺘﻔﺮﻋﻴﺔ ﻛﻌﻤﻠﻴﺎﺕ ﺍﺳﺘﺜﻤﺎﺭ
ﺍﳌﻘﺪﺭﺍﺕ ﺍﻟﺘﺴﻮﻳﻘﻴﺔ.
ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ :ﺇﺫﺍ ﻛﺎﻥ ﺑﺎﻹﻣﻜﺎﻥ ﲢﻘﻴﻖ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﻘﺘﺮﺣﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﺘﻘﻨﻴﺎﺕ x
ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﺍﳌﺘﻮﻓﺮﺓ ﻟﺪﻯ ﺍﳌﺆﺳﺴﺔ ،ﻓﺈﻧﻪ ﻣﻦ ﺍﻷﻓﻀﻞ ﻭﺑﺸﻜﻞ ﳏﺘﻤﻞ ﻣﺘﺎﺑﻌﺔ ﺍﻟﻌﻤﻞ ﺑﺎﺳﺘﺨﺪﺍﻡ
ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ .ﺇﻥ ﻧﻈﻢ MPPﻣﺎﺯﺍﻟﺖ ﺑﻌﻴﺪﺓ ﻋﻦ ﺍﻟﻨﻀﺞ ،ﻭﲢﻘﻴﻘﻬﺎ ﺑﺎﻟﺘﺄﻛﻴﺪ ﻫﻮ ﲢ ٍِﺪ ﻷﻱ
535 ·j¦
¶WáKE:<W
jME9
ﻣﺆﺳﺴﺔ .ﻭﻟﺬﻟﻚ ﺣﱴ ﻭﻟﻮ ﻛﻨﺖ ﻣﺘﺄﻛﺪﹰﺍ ﻣﻦ ﺃﻥ ﺍﳌﻌﺎﳉﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ ﺳﺘﻜﻮﻥ ﺫﺍﺕ ﻣﻌﲎ ﰲ ﺣﻞ
ﺍﳌﺴﺄﻟﺔ ﺍﻟﱵ ﺗﻮﺍﺟﻬﻬﺎ ﺍﳌﺆﺳﺴﺔ -ﻓﺈﻧﻪ ﳚﺐ ﺍﻟﻘﻴﺎﻡ ﺑﺘﺤﻠﻴﻞ ﻣﻌﻘﻮﻝ ﻟﺘﺤﺪﻳﺪ ﻓﻴﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﳝﻜﻦ
ﺍﺳﺘﺨﺪﺍﻡ ﺗﻘﻨﻴﺎﺕ ﺃﻛﺜﺮ ﻧﻀﺠﹰﺎ .ﻛﻤﺎ ﺃﻧﻪ ﻣﻦ ﺍﳌﻌﻘﻮﻝ ﲢﻘﻴﻖ ﺣﻞ ﺍﳌﺴﺄﻟﺔ ﺍﳌﺘﻮﻗﻊ ﺍﺳﺘﻔﺎﺩﺎ ﻣﻦ
ﺍﻟﱪﳎﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ ،ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﻴﺌﺔ ﻭﺣﻴﺪﺓ ﺍﳌﻌﺎﰿ.
ﻭﻟﻜﻦ ﺍﻟﻌﻜﺲ ﻏﲑ ﻣﻘﺒﻮﻝ ،ﺃﻱ ﺃﻧﻪ ﳚﺐ ﺍﺳﺘﺒﻌﺎﺩ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﻗﺒﻞ ﺍﻟﺒﺪﺀ ﺑﺘﺠﻬﻴﺰ ﺍﳊﻞ
ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﳌﻌﺎﳉﺔ ﺍﻟﺘﻔﺮﻋﻴﺔ.
ﺗﻌﺎﰿ ﺗﻄﺒﻴﻘﺎﺕ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺴﺘﻮﺩﻋﻴﺔ ،ﻭﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﺒﺤﺚ ﻋﻦ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﻨﺎﻗﺸﺔ ﺳﺎﺑﻘﹰﺎ
ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﻟﱵ ﺗﻘﻮﻡ ﺑﺎﻟﻮﺻﻮﻝ ﺇﱃ ﻛﻤﻴﺎﺕ ﻛﺒﲑﺓ ﻣﻦ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﺘﻌﺮﻳﻔﻴﺔ ،ﺑﺎﺳﺘﺨﺪﺍﻡ
ﻋﻤﻠﻴﺎﺕ ﺍﻟﺮﺑﻂ joinﻭﺍﻟﺘﺠﻤﻴﻊ .aggregateﺗﺘﻄﻠﺐ ﻫﺬﻩ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﻋﻤﻠﻴﺎﺕ ﺩﺧﻞ/ﺧﺮﺝ
ﻋﺪﻳﺪﺓ ،ﻭﻣﻦ ﺍﶈﺘﻤﻞ ﺃﻥ ﺗﻮﻟﺪ ﳎﻤﻮﻋﺎﺕ ﻣﻦ ﺍﻟﻨﺘﺎﺋﺞ ﺍﻟﻮﺳﻄﻴﺔ ﺫﺍﺕ ﺍﳊﺠﻮﻡ ﺍﻟﻀﺨﻤﺔ )ﺣﺴﺐ
.(Frazer, 1998ﰲ ﺍﻟﻮﻗﺖ ﺍﳊﺎﺿﺮ ﻻ ﺗﻮﺟﺪ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﻋﻼﺋﻘﻴﺔ ﻏﺮﺿﻴﺔ ﺍﻟﺘﻮﺟﻪ O/Rﻛﺒﲑﺓ
ﻑ ﻟﺘﻮﺍﻓﻖ ﺗﻄﺒﻴﻘﺎﺕ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻀﺨﻤﺔ ) VLDBﺍﻧﻈﺮ ﺍﳌﻠﺤﻖ Dﻟﻠﺘﻌﻠﻢ ﻋﻦ ﺑﺸﻜﻞ ﻛﺎ ِ
ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻏﺮﺿﻴﺔ ﺍﻟﺘﻮﺟﻪ .(O/Rﻭﻣﻊ ﺫﻟﻚ ﻓﺈﻥ ﺗﻘﻨﻴﺔ O/Rﺣﺎﳌﺎ ﺗﺼﺒﺢ ﺃﻛﺜﺮ
ﻧﻀﺠﺎﹰ ،ﻓﺈﺎ ﻭﻣﻦ ﺍﳌﺘﻮﻗﻊ ﺃﻥ ﺗﺼﺒﺢ ﻗﺎﺩﺭﺓ ﻋﻠﻰ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺿﺨﻤﺔ ﺣﺠﻤﻬﺎ ﻋﻠﻰ
ﺍﻷﻗﻞ ﻳﺴﺎﻭﻱ ﺣﺠﻢ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﺍﳊﺎﻟﻴﺔ .ﻭﺫﻟﻚ ﻷﻥ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻣﻦ ﺍﻟﻨﻮﻉ
O/Rﺗﻌﺎﰿ ﺃﳕﺎﻁ ﻣﻌﻄﻴﺎﺕ ﺟﺪﻳﺪﺓ ﻭﺍﻟﱵ ﺗﻜﻮﻥ ﻛﺒﲑﺓ ﺟﺪﹰﺍ ﲣﺰﻳﻨﻴﹰﺎ .ﻭﺳﺘﺘﻌﺎﻣﻞ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻣﻦ
ﺍﻟﻨﻮﻉ O/Rﻣﻊ ﻋﻼﻗﺎﺕ ﻣﻌﻘﺪﺓ ﺑﲔ ﻧﺴﺦ ﺃﳕﺎﻁ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳉﺪﻳﺪﺓ ،ﺳﺘﺬﻫﺐ ﻫﺬﻩ ﺍﻟﻌﻼﻗﺎﺕ ﺃﺑﻌﺪ
ﻣﻦ ﺑﻨﻴﺔ ﺳﻄﺮ/ﻋﻤﻮﺩ ﺍﻟﺒﺴﻴﻄﺔ ﺍﳌﺴﺘﺨﺪﻣﺔ ﰲ ﺍﻟﻨﻤﻮﺫﺝ ﺍﻟﻌﻼﺋﻘﻴﺔ .ﻭﻣﻦ ﺍﳌﺘﻮﻗﻊ ﺗﻔﻌﻴﻞ ﻃﺮﺍﺋﻖ ﺍﳌﻌﺎﳉﺔ
ﺍﻟﺘﻔﺮﻋﻴﺔ ﳍﺬﻩ ﺍﻟﺘﻄﻮﺭﺍﺕ ﺍﳉﺪﻳﺪﺓ.
M:E jKEßζW
ﺗﺮﻣﺰ ﺍﻟﱪﳎﻴﺔ ﺍﻟﻮﺳﻴﻄﺔ ﻏﺎﻟﺒﹰﺎ ﺇﱃ ﺍﻟﻐﺮﺍﺀ ﺍﻟﺬﻱ ﻳﺮﺑﻂ ﺗﻄﺒﻴﻘﺎﺕ ﺍﳌﺨﺪﻡ ﻭﺍﻟﺰﺑﻮﻥ ﻣﻌﹰﺎ .ﻭﺗﺴﺘﺨﺪﻡ
ﻣﺼﻄﻠﺢ ﺍﻟﱪﳎﻴﺔ ﺍﻟﻮﺳﻴﻄﺔ ﺑﺸﻜﻞ ﺷﺎﺋﻊ ﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ ﺃﻱ ﻣﻜﻮﻥ ﺑﺮﳎﻲ ﻳﻘﻊ ﺑﲔ ﺍﻟﺰﺑﻮﻥ ﺍﳌﺘﻤﺜﻞ
ﺑﺎﳊﺎﺳﺐ ﺍﻟﺸﺨﺼﻲ ،ﻭﺑﲔ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﰲ ﺍﻟﺒﻨﻴﺔ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ .n-tier
ﻓﺎﻟﱪﳎﻴﺔ ﺍﻟﻮﺳﻄﻴﺔ )ﺣﺴﺐ (Hurwitz, 1998ﻫﻲ ﺃﻱ ﺻﻒ ﻣﻦ ﺻﻔﻮﻑ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﱵ ﺗﺴﻤﺢ
ﻟﺘﻄﺒﻴﻘﻬﺎ ﺑﺎﻟﺘﻮﺍﺻﻞ )ﺍﻟﺘﻜﺎﻣﻞ( ﻣﻊ ﺑﺮﳎﻴﺎﺕ ﺃﺧﺮﻯ ﻭﺩﻭﻥ ﺃﻥ ﻳﺘﻄﻠﺐ ﺫﻟﻚ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻡ ﺃﻥ ﻳﻔﻬﻢ
ﺃﻭ ﻳﻘﻮﻡ ﺑﺘﺸﻔﲑ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻣﻨﺨﻔﻀﺔ ﺍﳌﺴﺘﻮﻯ ﺍﻟﻼﺯﻣﺔ ﻟﺘﺤﻘﻴﻖ ﺍﻟﺘﻮﺍﺻﻞ .ﻟﻘﺪ ﻭﺟﺪﺕ ﺍﻟﱪﳎﻴﺎﺕ
ﺍﻟﻮﺳﻴﻄﺔ ﻣﻨﺬ ﻋﺪﺓ ﻋﻘﻮﺩ ،ﻭﻣﻦ ﺃﻣﺜﻠﺘﻬﺎ ﺗﻠﻚ ﺍﳋﺎﺻﺔ ﲟﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ﻭﺍﻟﱵ ﺃﻧﺘﺠﺘﻬﺎ ﺷﺮﻛﺔ ،IBM
>a Kf8 536
ΐϠτΘϳ ϥ ϥϭΩ ϯήΧ ΕΎϴΠϣήΑ ϊϣ ϞϤόϳ ϥ Ύϣ ϖϴΒτΘϟ ϤδΗ ΔϴΠϣήΑ ϲϫ :ΔϴτγϮϟ ΔϴΠϣήΒϟ
Synchronous ﻫﻨﺎﻙ ﻧﻘﻄﺔ ﺃﺧﺮﻯ ﳚﺐ ﺃﺧﺬﻫﺎ ﺑﻌﲔ ﺍﻻﻋﺘﺒﺎﺭ ،ﻭﻫﻲ ﻓﻴﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻻﺗﺼﺎﻝ ﻣﺘﺰﺍﻣﻨﹰﺎ
ﺃﻭ ﻏﲑ ﻣﺘﺰﺍﻣﻦ .Asynchronousﰲ ﺍﻷﻧﻈﻤﺔ ﺍﳌﺘﺰﺍﻣﻨﺔ ،ﻳﻨﺘﻈﺮ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻄﺎﻟﺐ ﺇﺟﺎﺑﺔ ﻋﻠﻰ ﻃﻠﺒﻪ ﰲ
ﺍﻟﺰﻣﻦ ﺍﳊﻘﻴﻘﻲ ،ﺇﻥ ﺃﺣﺪ ﺍﻷﻣﺜﻠﺔ ﻋﻠﻰ ﺍﻷﻧﻈﻤﺔ ﺍﳌﺘﺰﺍﻣﻨﺔ ﻫﻮ ﺍﻟﻨﻈﺎﻡ ﺍﳌﺼﺮﰲ ﺍﻟﺬﻱ ﻳﻌﻤﻞ ﺑﻮﺿﻌﻴﺔ
ﺍﺗﺼﺎﻝ ،on-lineﺣﻴﺚ ﻳﻘﻮﻡ ﺍﻟﻄﺮﻑ ﺍﻟﻄﺎﻟﺐ ﺑﺘﻔﺤﺺ ﺭﺻﻴﺪ ﺍﳊﺴﺎﺏ ﻗﺒﻞ ﺍﻟﺸﻴﻚ .ﺃﻣﺎ ﺍﻷﻧﻈﻤﺔ
ﺍﻟﻼﻣﺘﺰﺍﻣﻨﺔ ،ﻓﺈﻥ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻼﻣﺘﺰﺍﻣﻦ ﻳﻘﻮﻡ ﺑﺈﺭﺳﺎﻝ ﺍﻟﻄﻠﺐ ﻭﻟﻜﻨﻪ ﻻ ﻳﻨﺘﻈﺮ ﺇﺟﺎﺑﺔ ﻋﻠﻴﻪ ﰲ ﺍﻟﺰﻣﻦ
ﺍﳊﻘﻴﻘﻲ ،ﻭﺇﳕﺎ ﻳﺘﻢ ﻗﺒﻮﻝ ﺍﻹﺟﺎﺑﺔ ﺣﺎﳌﺎ ﻳﺄﰐ ﺩﻭﺭﻫﺎ .ﻳﻌﺘﱪ ﺍﻟﱪﻳﺪ ﺍﻹﻟﻜﺘﺮﻭﱐ ﺃﺣﺪ ﺍﻷﻣﺜﻠﺔ ﻋﻠﻰ
ﺍﻷﻧﻈﻤﺔ ﺍﻟﻼﻣﺘﺰﺍﻣﻨﺔ.
ﺃﻋﻄﻰ Hurwitz, 1998ﻧﻈﺎﻡ ﺗﺼﻨﻴﻒ ﻣﺴﺎﻋﺪ ﳛﺘﻮﻱ ﻋﻠﻰ ﺳﺘﺔ ﻓﺌﺎﺕ ﺗﻨﻈﻢ ﺍﻷﳕﺎﻁ ﺍﻟﻌﺪﻳﺪﺓ ﺍﳌﺘﻮﻓﺮﺓ
ﺣﺎﻟﻴﹰﺎ ﻣﻦ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ .ﻭﻓﻴﻤﺎ ﻳﻠﻲ ﺍﻟﺘﺼﻨﻴﻔﺎﺕ ﻣﻌﺘﻤﺪﺓ ﻋﻠﻰ ﻗﺎﺑﻠﻴﺔ ﺍﻟﺘﻮﺳﻊ ،ﻭﻗﺎﺑﻠﻴﺔ ﺍﻻﺳﺘﻌﺎﺩﺓ:
ﺍﺳﺘﺪﻋﺎﺀ ﺍﻹﺟﺮﺍﺀ ﺍﻟﺒﻌﻴﺪ ﻏﲑ ﺍﳌﺘﺰﺍﻣﻦ :(RRC) :ﻭﻓﻴﻪ ﻳﺮﺳﻞ ﺍﻟﺰﺑﻮﻥ ﻃﻠﺒﹰﺎ ﳋﺪﻣﺎﺕ ﻣﻌﻴﻨﺔ ﻭﻟﻜﻨﻪ x
ﻻ ﻳﻨﺘﻈﺮ ﺍﻻﺳﺘﺠﺎﺑﺔ .ﺳﻴﻘﻮﻡ ﺍﻟﺰﺑﻮﻥ ﺑﺸﻜﻞ ﳕﻮﺫﺟﻲ ﺑﺘﺸﻜﻴﻞ ﺍﺗﺼﺎﻝ ﻣﻦ ﳕﻂ ﻧﻘﻄﺔ ﻟﻨﻘﻄﺔ
) (point-to-pintﻣﻊ ﺍﳌﺨﺪﻡ ﻭﻳﻘﻮﻡ ﺑﺘﻨﻔﻴﺬ ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﺍﻷﺧﺮﻯ ﺧﻼﻝ ﺍﻧﺘﻈﺎﺭﻩ ﻟﻼﺳﺘﺠﺎﺑﺔ.
ﺇﺫﺍ ﻓﺸﻞ ﺍﻻﺗﺼﺎﻝ ﻓﺈﻧﻪ ﻳﺘﻮﺟﺐ ﻋﻠﻰ ﺍﻟﺰﺑﻮﻥ ﺇﻋﺎﺩﺓ ﺍﻻﺗﺼﺎﻝ ﻭﺇﺭﺳﺎﻝ ﺍﻟﻄﻠﺐ ﺛﺎﻧﻴﺔ .ﻫﺬﺍ ﺍﻟﻨﻤﻂ ﻣﻦ
ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ﻗﺎﺑﻞ ﻟﻠﺘﻮﺳﻊ ﺑﺸﻜﻞ ﻋﺎﻝِ ،ﻭﻗﺎﺑﻠﻴﺔ ﺇﺻﻼﺡ ﺍﻷﻋﻄﺎﻝ ﻣﻨﺨﻔﻀﺔ ،ﻭﻗﺪ ﺣﻞ ﳏﻠﻪ
ﺍﻻﺳﺘﺪﻋﺎﺀ ﺍﻟﺒﻌﻴﺪ ﺍﳌﺘﺰﺍﻣﻦ ﻟﻺﺟﺮﺍﺋﻴﺎﺕ Synchronous RRCﰲ ﻋﺎﻡ .1998
ﺍﻻﺳﺘﺪﻋﺎﺀ ﺍﻟﺒﻌﻴﺪ ﺍﳌﺘﺰﺍﻣﻦ ﻟﻺﺟﺮﺍﺋﻴﺎﺕ :Synchronous RPCﲤﻜﻦ ﻫﺬﻩ ﺍﻟﱪﳎﻴﺔ ﺍﻟﻮﺳﻄﻴﺔ x
ﺍﻟﱪﻧﺎﻣﺞ ﺍﳌﻮﺯﻉ ﻣﻦ ﺍﺳﺘﺪﻋﺎﺀ ﺧﺪﻣﺎﺕ ﻋﻠﻰ ﺣﻮﺍﺳﻴﺐ ﳐﺘﻠﻔﺔ ،ﺩﻭﻥ ﺃﻥ ﻳﺘﻄﻠﺐ ﺫﻟﻚ ﻣﻨﻪ
ﻛﺘﺎﺑﺔ ﺷﻴﻔﺮﺓ ﻣﻔﺼﻠﺔ ﻛﺎﻟﱵ ﺗﻄﻠﺐ ﰲ .RPCﻣﻦ ﺍﻷﻣﺜﻠﺔ ﻋﻠﻰ ﻫﺬﻩ ﺍﻟﺘﻘﻨﻴﺔ ﳐﺪﻡ ﻣﻨﺎﻗﻼﺕ
Microsoftﻭ ،IBM.SCILSﺍﳉﺎﻓﺎ ﺍﳌﻜﺎﻓﺌﺔ ﻟـ Rpcﻫﻲ ﺇﺣﺪﻯ ﺍﻟﻄﺮﻕ ﺍﻟﺒﻌﻴﺪﺓ.
537 ·j¦
¶WáKE:<W
jME9
ﺍﳌﺜﺎﻝ ،ﻟﺘﺤﻘﻴﻖ ﻋﻤﻠﻴﺔ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﺗﻘﻮﻡ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﱪﳎﻴﺔ APIﺑﺎﺳﺘﺪﻋﺎﺀ
ﺇﺟﺮﺍﺀﺍﺕ ﻣﻦ ﻣﻜﺘﺒﺔ ﻣﺎ ،ﻭﺍﻟﱵ ﺑﺪﻭﺭﻫﺎ ﺗﻘﻮﻡ ﺑﺈﺭﺳﺎﻝ ﺗﻌﻠﻴﻤﺎﺕ SQLﺑﺸﻜﻞ ﺷﻔﺎﻑ ﺇﱃ ﳐﺪﻡ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ .ﳝﻜﻦ ﻟﻠﻮﺍﺟﻬﺔ ﺍﻟﱪﳎﻴﺔ ﺃﻥ ﺗﻌﻤﻞ ﻣﻊ ﺑﺮﳎﻴﺎﺕ ﺍﻟﻄﺮﻑ ﺍﻷﻣﺎﻣﻲ ،front-endﻣﺜﻞ
ﻟﻐﺎﺕ ﺍﳉﻴﻞ ﺍﻟﺜﺎﻟﺚ ،ﺃﻭ ﻣﻮﻟﺪﺍﺕ ﺍﻟﺘﻘﺎﺭﻳﺮ ﺍﳌﺘﺨﺼﺼﺔ ،ﻭﳝﻜﻦ ﺃﻥ ﺗﺘﻀﻤﻦ ﺗﺴﻬﻴﻼﺕ ﺧﺎﺻﺔ ﺎ ﻣﻦ
ﺃﺟﻞ ﺑﻨﺎﺀ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ .ﻋﻨﺪﻣﺎ ﺗﻜﻮﻥ ﺍﻟﻮﺍﺟﻬﺎﺕ ﺍﻟﱪﳎﻴﺔ ﻣﺘﺎﺣﺔ ﻟﻌﺪﺓ ﺃﺩﻭﺍﺕ ﺗﻄﻮﻳﺮ ﺑﺮﳎﻴﺔ ،ﻓﺈﻧﻪ
ﺳﻴﻜﻮﻥ ﻟﺪﻳﻚ ﺍﺳﺘﻘﻼﻟﻴﺔ ﻣﻌﺘﱪﺓ ﻟﺘﻄﻮﻳﺮ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﺰﺑﻮﻥ ،ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﻴﺌﺔ ﺍﻟﱪﳎﺔ ﺍﻷﻛﺜﺮ ﻣﻼﺀﻣﺔ ﰲ
ﺍﻟﻄﺮﻑ ﺍﻷﻣﺎﻣﻲ ،ﻃﺎﳌﺎ ﺃﺎ ﺗﺴﺘﻄﻴﻊ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻣﻌﻄﻴﺎﺕ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ .ﻣﺜﻞ ﻫﺬﻩ
ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ﲡﻌﻞ ﻣﻦ ﺍﳌﻤﻜﻦ ﻟﻠﻤﻄﻮﺭﻳﻦ ﺃﻥ ﻳﺮﺑﻄﻮﺍ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺑﺴﻬﻮﻟﺔ ﻣﻊ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ
ﺷﺎﺋﻌﺔ.
άϴϔϨΗ ϞΟ Ϧϣ ΔϴϘϴΒτΘϟ ΞϣήΒϟ ΎϬϣΪΨΘδΗ ˬΕ˯ήΟϹ Ϧϣ ΔϋϮϤΠϣ ϲϫ :API ΔϴΠϣήΒϟ ΔϬΟϮϟ
ﺇﻥ ﺗﻘﻨﻴﺔ ODBCﺍﺗﺼﺎﻝ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﻔﺘﻮﺣﺔ ﻣﺸﺎﺔ ﻟﻠﻮﺍﺟﻬﺔ ﺍﻟﱪﳎﻴﺔ ،APIﻭﻟﻜﻨﻬﺎ ﻣﺘﺎﺣﺔ
ﻓﻘﻂ ﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﺨﺪﻡ/ﺍﻟﺰﺑﻮﻥ ﺍﻟﱵ ﺗﻌﻤﻞ ﲢﺖ ﺑﻴﺌﺔ .Windows
ﻭﻫﻲ ﻣﻔﻴﺪﺓ ﻛﺜﲑﹰﺍ ﰲ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ،ﻭﻟﻴﺴﺖ ﻣﻨﺎﺳﺒﺔ ﻟﻠﻮﺻﻮﻝ ﺇﱃ ﺃﳕﺎﻁ
ﺍﳌﻌﻄﻴﺎﺕ ﺍﻷﺧﺮﻯ ﻣﺜﻞ ﻣﻠﻔﺎﺕ .(La Rue, 1997) ISAMﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺃﻥ ﺗﻘﻨﻴﺔ ODBCﺻﻌﺒﺔ
ﺍﻟﱪﳎﺔ ﻭﺍﻟﺘﺤﻘﻴﻖ ،ﻭﻟﻜﻨﻬﺎ ﺣﺎﺯﺕ ﻋﻠﻰ ﻗﺒﻮﻝ ﺟﻴﺪ ،ﻭﺫﻟﻚ ﻷﺎ ﺗﺴﻤﺢ ﻟﻠﻤﱪﳎﲔ ﺑﺎﻻﺗﺼﺎﻝ ﻣﻊ ﺃﻱ
ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺗﺎﺑﻌﺔ ﻷﻱ ﻣﻨﺘﺞ )ﻣﻮﺯﻉ( ﺗﻘﺮﻳﺒﺎﹰ ،ﺩﻭﻥ ﺍﳊﺎﺟﺔ ﳌﻌﺮﻓﺔ ﺍﻟﺸﻴﻔﺮﺓ ﺍﳌﻨﺎﺳﺒﺔ ﺍﳋﺎﺻﺔ
ﺑﻘﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ .ﺍﻧﻈﺮ ﺇﱃ ﺍﻟﻔﺼﻞ ﺍﻟﻌﺎﺷﺮ ﳌﺰﻳﺪ ﻣﻦ ﺍﻟﺘﻔﺼﻴﻞ ﺣﻮﻝ ODBCﻭﻛﻴﻔﻴﺔ ﲢﻘﻴﻖ
ﺍﻻﺗﺼﺎﻝ ﺑﻘﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺍﻹﻧﺘﺮﻧﺖ.
ﻭﻗﺪ ﺃﻋﻄﺖ ﺗﻘﻨﻴﺔ OLE-DBﻣﻦ Microsoftﻗﻴﻤﺔ ﺇﺿﺎﻓﻴﺔ ﳌﻌﻴﺎﺭ ODBCﻋﻦ ﻃﺮﻳﻖ ﺗﺰﻭﻳﺪﻩ ﺑﻨﻘﻄﺔ
ﻭﺍﺣﺪﺓ ﻟﻠﻮﺻﻮﻝ ﺇﱃ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ) .(Linthicum, 1997ﲣﻄﻂ ﺷﺮﻛﺔ Microsoftﳉﻌﻞ ﺗﻘﻨﻴﺔ
OLE-DBﻣﻌﻴﺎﺭﹰﺍ ﻋﻤﻮﻣﻴﹰﺎ ﻟﻠﻮﺻﻮﻝ ﺇﱃ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﻗﺪ ﺃﺿﺎﻓﺖ ﺗﻘﻨﻴﺔ OLE-DBﺇﱃ ﺗﻄﺒﻴﻘﺎﺕ
ﺍﺳﺘﺨﺮﺍﺝ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺗﻄﺒﻴﻘﺎﺕ .OLAPﻛﻤﺎ ﳝﻜﻦ ﲢﻘﻴﻖ ﻋﻤﻠﻴﺎﺕ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻘﺪﳝﺔ
ﰲ ﺗﻄﺒﻴﻘﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﻌﺾ ﺍﳌﻨﺘﺠﺎﺕ ﻣﺜﻞ EDA/SQLﺍﻟﱵ ﲢﺎﻭﻝ ﺩﻋﻢ ﺍﻟﻌﺪﻳﺪ ﻣﻦ
ﺃﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ﺍﳌﺨﺘﻠﻔﺔ ،ﻭﺍﻟﺸﺒﻜﺎﺕ ﻭﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ.
Java ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺻﻔﻮﻑ ) JDBCﺍﺗﺼﺎﻝ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ (Javaﰲ ﻣﺴﺎﻋﺪﺓ ﺑﺮﳎﻴﺎﺕ
ﻟﻠﻮﺻﻮﻝ ﺇﱃ ﻋﺪﺩ ﻣﻦ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺩﻭﻥ ﺍﳊﺎﺟﺔ ﻟﻔﻬﻢ ﺍﳋﺼﺎﺋﺺ ﺍﳋﺎﺻﺔ ﺑﻘﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ.
539 ·j¦
¶WáKE:<W
jME9
ﺗﻌﺮﻑ ﺗﻘﻨﻴﺔ JDBCﻭﺍﺟﻬﺔ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﺍﻻﺳﺘﺪﻋﺎﺀ ) Call-level Inter face (CLIﻣﻦ ﺃﺟﻞ ﻋﻤﻠﻴﺎﺕ
ﺍﻟﺘﻄﻮﻳﺮ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻟﻐﺔ ،Javaﻭﺗﺴﺘﻤﺪ ﻣﻦ ﺗﻘﻨﻴﺔ ODBCﺍﺗﻔﺎﻗﺎﺎ )ﻣﻌﺎﻳﲑﻫﺎ .(conventionsﺇﻥ ﺑﻨﺎﺀ
ﻟﻐﺔ ﻣﺸﺘﺮﻛﺔ ﺗﻘﺪﻡ ﺑﺘﻌﺮﻳﻒ ﻭﺍﺟﻬﺎﺕ ﺑﲔ ﺍﳌﻜﻮﻧﺎﺕ ﻭﺍﻵﻟﻴﺎﺕ ﺍﻟﱵ ﺗﺘﻮﺳﻂ ﺑﻴﻨﻬﺎ ﻣﻦ ﺷﺄﻧﻪ ﺃﻥ ﻳﺴﻬﻞ
ﺗﻄﻮﻳﺮ ﺑﺮﳎﻴﺔ ﻭﺳﻴﻄﺔ ﻋﻤﻮﻣﻴﺔ ) .(keuffel, 1997ﻭﻗﺪ ﻗﺎﻡ ﺍﻻﲢﺎﺩ ) OMGﻭﻫﻮ ﺍﲢﺎﺩ ﺻﻨﺎﻋﻲ ﰎ
ﺗﺄﺳﻴﺴﻪ ﻋﺎﻡ ،1989ﻭﻫﻮ ﺍﺧﺘﺼﺎﺭ ﻟـ (Object Management Groupﺑﺈﻧﺘﺎﺝ ﻣﻌﻴﺎﺭ ﺍﲰﺎﻩ
(Request Broker Common Object) CORBAﺍﻟﺬﻱ ﻭﺿﻊ ﺗﻮﺻﻴﻒ ﺑﺮﳎﻴﺔ ﻋﻤﻮﻣﻴﺔ ﻭﺳﻴﻄﺔ
ﻏﺮﺿﻴﺔ ﺍﻟﺘﻮﺟﻪ .ﻭﻗﺪ ﻗﺎﻣﺖ ﺷﺮﻛﺔ Microsoftﺑﺘﻄﻮﻳﺮ ﳕﻮﺫﺟﺎﹰ ﺍﲰﻪ (Distributed DCOM
) ،Component Object Modelﻭﻟﻜﻦ ﻣﻌﻴﺎﺭ CORBAﺑﻘﻲ ﻫﻮ ﺍﻷﻗﻮﻯ ﻛﺘﻮﺻﻴﻒ ،ﻷﻧﻪ ﻗﺪ ﻃﻮﺭ
ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺃﻧﻈﻤﺔ ﺍﳌﻨﺼﺎﺕ ﺍﳌﺨﺘﻠﻔﺔ .ﺇﻥ ﻣﺜﻞ ﻫﺬﻩ ﺍﳌﻌﺎﻳﲑ ﻣﻬﻤﺔ ﺑﺸﻜﻞ ﺧﺎﺹ ﰲ
ﺷﺒﻜﺔ ﺍﻹﻧﺘﺮﻧﺖ ﺍﻟﻮﺍﺳﻌﺔ ﺍﻟﻌﺎﳌﻴﺔ wwwﻭﺫﻟﻚ ﺑﺴﺒﺐ ﺍﻟﺘﻨﻮﻉ ﺍﻟﻜﺒﲑ ﰲ ﺍﻟﺒﻴﺌﺎﺕ ﺍﳌﺘﺼﻠﺔ ﺎ.
!?·j¦
¶WáK?E:·KdE
ﺃﺩﺕ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻋﻠﻰ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﰲ ﺑﻴﺌﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺇﱃ ﻇﻬﻮﺭ ﺍﻟﺸﺒﻜﺎﺕ ﺍﻟﱵ ﺗﺼﻞ ﻣﻜﻮﻧﺎﺕ
ﻫﺬﻩ ﺍﻟﺒﻴﺌﺔ ﻣﻊ ﺑﻌﻀﻬﺎ .ﺇﻥ ﲢﻘﻴﻖ ﺃﻣﻦ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﰲ ﻣﺜﻞ ﻫﺬﻩ ﺍﻟﺒﻴﺌﺎﺕ ﺍﳌﻮﺯﻋﺔ ﺃﻛﺜﺮ ﺗﻌﻘﻴﺪﹰﺍ
ﻣﻦ ﲢﻘﻴﻘﻪ ﰲ ﺍﻟﺒﻴﺌﺔ ﺍﳌﺮﻛﺰﻳﺔ )ﳌﺰﻳﺪ ﻣﻦ ﺍﻟﺘﻔﺼﻴﻞ ﻋﻦ ﺃﻣﻦ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻧﻈﺮ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﱐ
ﻋﺸﺮ( .ﺇﻥ ﺍﻟﺸﺒﻜﺎﺕ ﺣﺴﺎﺳﺔ )ﺳﺮﻳﻌﺔ ﺍﻟﺘﺄﺛﺮ( ﻟﻼﺧﺘﺮﺍﻗﺎﺕ ﺍﻷﻣﻨﻴﺔ ﻣﻦ ﺧﻼﻝ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﻨﺼﺖ
ﻭﻋﻤﻠﻴﺎﺕ ﺍﻻﺗﺼﺎﻝ ﻏﲑ ﺍﳌﺸﺮﻭﻋﺔ )ﻏﲑ ﺍﳌﺴﻤﻮﺡ ﺎ( ،ﺃﻭ ﺍﻻﺳﺘﺮﺟﺎﻉ ﻏﲑ ﺍﳌﺸﺮﻭﻉ ﳊﺰﻡ )ﻃﺮﻭﺩ(
ﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﻟﱵ ﺗﻨﺘﻘﻞ ﻋﱪ ﺍﻟﺸﺒﻜﺔ .ﻭﺑﺎﻟﺘﺎﱄ ﻓﺈﻥ ﺑﲎ ﺍﳌﺨﺪﻡ/ﺍﻟﺰﺑﻮﻥ ﺃﻛﺜﺮ ﺣﺴﺎﺳﻴﺔ ﻟﻼﺧﺘﺮﺍﻗﺎﺕ
ﺍﻷﻣﻨﻴﺔ ﻣﻦ ﺍﻟﻨﻈﻢ ﺍﳌﺘﻤﺮﻛﺰﺓ.
ﺇﻥ ﻣﻘﺎﻳﻴﺲ ﺍﻷﻣﻦ ﺍﻟﱵ ﳚﺐ ﺍﲣﺎﺫﻫﺎ ﰲ ﺑﻴﺌﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺗﺘﻀﻤﻦ ﺍﳌﻘﺎﻳﻴﺲ ﺍﻷﻣﻨﻴﺔ ﺍﻟﺸﺎﺋﻌﺔ ﻣﻦ ﺃﺟﻞ
ﺃﻣﻦ ﲨﻴﻊ ﺍﻟﻨﻈﻢ ،ﻭﻟﻜﻦ ﳚﺐ ﺃﻥ ﺗﺘﻀﻤﻦ ﻣﻘﺎﻳﻴﺲ ﺇﺿﺎﻓﻴﺔ ﻳﺘﻮﺟﺐ ﺍﲣﺎﺫﻫﺎ ﻣﻦ ﺃﺟﻞ ﻋﻤﻠﻴﺎﺕ ﺃﻣﻦ
ﺧﺎﺻﺔ ﺑﺎﻟﺒﻴﺌﺎﺕ ﺍﳌﻮﺯﻋﺔ ﻟﺒﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻭﺫﻟﻚ ﺣﺴﺐ ) (Bobrowski, 1994ﻭﻫﻲ:
ﺃﻣﻦ ﻛﻠﻤﺔ ﺍﳌﺮﻭﺭ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﺍﻟﻨﻈﺎﻡ ،ﺗﺴﺘﺨﺪﻡ ﻋﺎﺩﺓ ﺃﲰﺎﺀ ﺍﳌﺴﺘﺨﺪﻡ ﻭﻛﻠﻤﺎﺕ ﺍﳌﺮﻭﺭ x
ﺍﳌﻮﺍﻓﻘﺔ ﻟﻜﻞ ﻣﻨﻬﺎ ﻣﻦ ﺃﺟﻞ ﺍﻟﺘﻌﺮﻳﻒ ﺑﺎﳌﺴﺘﺨﺪﻣﲔ ﻭﺻﻼﺣﻴﺎﻢ ﻋﻨﺪﻣﺎ ﻳﺮﻏﺒﻮﻥ ﺑﺎﻻﺗﺼﺎﻝ
ﺑﻨﻈﺎﻡ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻣﺘﻌﺪﺩ ﺍﳌﺴﺘﺨﺪﻣﲔ ،ﻭﳚﺐ ﺃﻥ ﺗﺘﻀﻤﻦ ﻣﻌﺎﻳﲑ ﺍﻷﻣﻦ ﻗﻮﺍﻋﺪ ﲢﺪﺩ ﺃﻃﻮﺍﻝ
ﻛﻠﻤﺎﺕ ﺍﳌﺮﻭﺭ ،ﺍﺗﻔﺎﻗﺎﺕ ﺗﺴﻤﻴﺔ ﻛﻠﻤﺎﺕ ﺍﳌﺮﻭﺭ ،ﻣﻌﺪﻝ ﺗﻐﻴﲑﺍﺕ ﻛﻠﻤﺔ ﺍﳌﺮﻭﺭ ....،ﻭﳚﺐ ﺃﻥ
ﺗﻀﻤﻦ ﺃﺩﻭﺍﺕ ﺇﺩﺍﺭﺓ ﻛﻠﻤﺎﺕ ﺍﳌﺮﻭﺭ ﻛﺠﺰﺀ ﻣﻦ ﺍﻟﺸﺒﻜﺔ.
>a Kf8 540
ﺃﻣﺎﻥ ﻛﻠﻤﺔ ﺍﳌﺮﻭﺭ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ :ﻣﻌﻈﻢ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳋﺎﺻﺔ x
ﺑﺒﻴﺌﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﲤﺘﻠﻚ ﺃﺷﻜﺎﻝ ﲪﺎﻳﺔ ﻛﻠﻤﺎﺕ ﺍﳌﺮﻭﺭ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﺗﺸﺒﻪ
ﻫﺬﻩ ﺍﻷﺷﻜﺎﻝ ﺗﻠﻚ ﺍﻟﱵ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﺍﻟﻨﻈﺎﻡ.
ﻣﻦ ﺍﳌﻤﻜﻦ ﺃﻥ ﺗﺘﻢ ﻋﻤﻠﻴﺔ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺍﳍﻮﻳﺔ ﻣﻦ ﺧﻼﻝ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻭﻣﻦ ﰒ ﲤﺮﻳﺮ ﻣﻌﻠﻮﻣﺎﺕ
ﻫﺬﻩ ﺍﻟﻌﻤﻠﻴﺔ ﺇﱃ ﻫﺬﺍ ﺍﳌﺴﺘﻮﻯ .ﺇﻥ ﻋﻤﻠﻴﺔ ﺍﻹﺩﺍﺭﺓ ﺍﻟﱵ ﺗﺴﺘﻔﻴﺪ ﻣﻦ ﻣﻘﺪﺭﺍﺕ ﺍﻟﻨﻈﺎﻡ ﻟﻠﺤﺼﻮﻝ
ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺍﳍﻮﻳﺔ ﻫﻲ ﻋﻤﻠﻴﺔ ﺳﻬﻠﺔ ،ﺇﻻ ﺃﻥ ﺍﶈﺎﻭﻻﺕ ﺍﳋﺎﺭﺟﻴﺔ ﻟﻠﻮﺻﻮﻝ ﺇﱃ
ﺍﻟﻘﺎﻋﺪﺓ ﺳﺘﻜﻮﻥ ﺳﻬﻠﺔ ﺃﻳﻀﹰﺎ ﻷﻥ ﲤﺮﻳﺮ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺑﲔ ﻫﺬﻩ ﺍﳌﺴﺘﻮﻳﺎﺕ ﺳﻴﻘﻠﻞ ﻣﻦ ﻋﺪﺩ
ﺍﻟﻄﺒﻘﺎﺕ ﺍﻟﱵ ﲢﺎﻓﻆ ﻋﻠﻰ ﺃﻣﻦ ﻛﻠﻤﺔ ﺍﳌﺮﻭﺭ ﻣﻦ ﻃﺒﻘﺘﲔ ﺇﱃ ﻃﺒﻘﺔ ﻭﺍﺣﺪﺓ .ﻭﺑﺎﻟﺘﺎﱄ ﳚﺐ ﻋﺪﻡ
ﺗﺸﺠﻴﻊ ﺍﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺤﻘﻖ ﺍﻟﱵ ﻳﻘﻮﻡ ﺎ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ.
ﺃﻣﻦ ﺍﻻﺗﺼﺎﻻﺕ ﰲ ﻧﻈﻢ ﳐﺪﻡ/ﺯﺑﻮﻥ :ﺇﻥ ﺍﻟﺘﺸﻔﲑ ﺳﻴﺴﺎﻋﺪ ﺃﻣﻦ ﺍﻻﺗﺼﺎﻻﺕ ﰲ ﻫﺬﻩ ﺍﻟﻨﻈﻢ، x
ﺣﻴﺚ ﺍﻟﺘﺸﻔﲑ ﻫﻮ ﻋﻤﻠﻴﺔ ﲢﻮﻳﻞ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﻘﺮﻭﺀﺓ )ﺍﻟﻨﺺ ﺍﻟﺼﺮﻳﺢ( ﺇﱃ ﻣﻌﻄﻴﺎﺕ ﻏﲑ ﻣﻘﺮﻭﺀﺓ
)ﻧﺺ ﻣﺸﻔﺮ( .ﻳﺮﺳﻞ ﻣﻌﻈﻢ ﺍﻟﺰﺑﺎﺋﻦ ﻛﻠﻤﺎﺕ ﺍﳌﺮﻭﺭ ﺍﳋﺎﺻﺔ ﺑﻘﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻛﻨﺺ ﺻﺮﻳﺢ
ﺇﱃ ﳐﺪﻣﺎﺕ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ .ﺗﺴﺘﺨﺪﻡ ﺍﻟﻨﻈﻢ ﺍﻟﻀﺨﻤﺔ ﻹﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻣﺜﻞ
Oracleﻭ Sybaseﻭ Informﻗﺪﺭﺍﺕ ﻧﻘﻞ ﺁﻣﻨﺔ ﻟﻨﻘﻞ ﻛﻠﻤﺎﺕ ﺍﳌﺮﻭﺭ ﻋﱪ ﺍﻟﺸﺒﻜﺔ .ﺇﻥ ﻋﻤﻠﻴﺎﺕ
ﺗﺸﻔﲑ ﲨﻴﻊ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﱵ ﻳﺘﻢ ﲤﺮﻳﺮﻫﺎ ﻋﱪ ﺍﻟﺸﺒﻜﺔ ﺗﻜﻮﻥ ﻣﻄﻠﻮﺑﺔ ﺑﺸﻜﻞ ﻭﺍﺿﺢ ،ﻭﻟﻜﻦ
ﻫﻨﺎﻙ ﻛﻠﻔﺔ ﻛﺒﲑﺓ ﻟﱪﳎﻴﺎﺕ ﺍﻟﺘﺸﻔﲑ ،ﻭﻟﺬﻟﻚ ﻓﺈﻥ ﺍﻟﺘﺸﻔﲑ ﺳﻴﺆﺛﺮ ﻋﻠﻰ ﺍﻷﺩﺍﺀ ﺑﺸﻜﻞ ﺳﻠﱯ
ﺑﺴﺒﺐ ﺍﻟﺰﻣﻦ ﺍﻟﻼﺯﻡ ﻟﺘﺸﻔﲑ ﻭﻓﻚ ﺗﺸﻔﲑ ﺍﳌﻌﻄﻴﺎﺕ.
ﺃﺩﻭﺍﺕ ﺗﻘﻠﻴﺪﻳﺔ ﺧﺎﺻﺔ ﺑﻨﻈﻢ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻣﺜﻞ Visual Basicﻭ ،Power Builderﻭﺑﺎﻟﺘﺎﱄ ﳝﻜﻦ
ﺍﻟﺘﺤﻜﻢ ﺑﻌﻤﻠﻴﺔ ﺇﻧﺸﺎﺋﻬﻢ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻃﺮﺍﺋﻖ ﻗﻴﺎﺳﻴﺔ ﻟﻠﺘﺤﻜﻢ ﺑﺎﻟﻨﻔﺎﺫ ﺇﱃ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﺇﺫﺍ ﻛﺎﻧﺖ
ﺑﻌﺾ ﻣﻠﻔﺎﺕ HTMLﺍﶈﻤﻠﺔ ﻋﻠﻰ ﳐﺪﻡ ﺍﻟﻮﻳﺐ ﺣﺴﺎﺳﺔ ﻓﻴﻤﻜﻦ ﻭﺿﻌﻬﺎ ﰲ ﳎﻠﺪﺍﺕ ﳏﻤﻴﺔ
ﺑﺎﺳﺘﺨﺪﺍﻡ ﺁﻟﻴﺎﺕ ﺍﳊﻤﺎﻳﺔ ﺍﻟﱵ ﻳﻘﺪﻣﻬﺎ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ،ﺃﻭ ﳝﻜﻦ ﺃﻥ ﺗﻜﻮﻥ ﻫﺬﻩ ﺍﳌﻠﻔﺎﺕ ﻗﺎﺑﻠﺔ ﻟﻠﻘﺮﺍﺀﺓ
ﻭﻟﻜﻦ ﻏﲑ ﻣﻨﺸﻮﺭﺓ ﰲ ﺍﻠﺪ .ﻭﻟﺬﻟﻚ ﳚﺐ ﻋﻠﻰ ﺍﳌﺴﺘﺨﺪﻡ ﻣﻌﺮﻓﺔ ﺍﺳﻢ ﺍﳌﻠﻒ ﺑﺸﻜﻞ ﺩﻗﻴﻖ ﻣﻦ
ﺃﺟﻞ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﺻﻔﺤﺔ HTMLﺣﺴﺎﺳﺔ .ﻛﻤﺎ ﺃﻧﻪ ﻣﻦ ﺍﻟﺸﺎﺋﻊ ﺃﻥ ﻳﺘﻢ ﺍﺧﺘﺼﺎﺭ ﳏﺘﻮﻳﺎﺕ ﳐﺪﻡ
ﺍﻟﻮﻳﺐ ﻋﻠﻰ ﺻﻔﺤﺎﺕ ﺍﻟﻮﻳﺐ ﺍﻟﱵ ﻳﻜﻮﻥ ﻣﺴﻤﻮﺣﹰﺎ ﺍﺳﺘﻌﺮﺍﺿﻬﺎ ﺑﺸﻜﻞ ﻋﻤﻮﻣﻲ .ﺃﻣﺎ ﺍﳌﻠﻔﺎﺕ
ﺍﳊﺴﺎﺳﺔ ﻓﻴﻤﻜﻦ ﺣﻔﻈﻬﺎ ﻋﻠﻰ ﳐﺪﻡ ﺁﺧﺮ ﻗﺎﺑﻞ ﻟﻠﻮﺻﻮﻝ ﻣﻦ ﻗﺒﻞ ﺷﺒﻜﺔ ﺍﻹﻧﺘﺮﺍﻧﺖ ﺍﳋﺎﺻﺔ
ﺑﺎﳌﺆﺳﺴﺔ ،ﺇﻥ ﻗﻴﺎﺳﺎﺕ ﺍﳊﻤﺎﻳﺔ )ﻣﺜﻞ ﺗﻠﻚ ﺍﳌﻮﺻﻮﻓﺔ ﺳﺎﺑﻘﹰﺎ( ﺳﺘﻜﻮﻥ ﻣﻄﻠﻮﺑﺔ ﺇﺫﺍ ﻛﺎﻥ ﻫﻨﺎﻙ ﺑﻌﺾ
ﺍﳌﺴﺘﺨﺪﻣﲔ ﻏﲑ ﻣﺴﻤﻮﺡ ﳍﻢ ﺑﺎﻟﻮﺻﻮﻝ ﺇﱃ ﲨﻴﻊ ﺍﳌﻠﻔﺎﺕ ﺍﳌﺨﺰﻧﺔ ﻋﻠﻰ ﺷﺒﻜﺔ ﺍﻹﻧﺘﺮﺍﻧﺖ ﺍﳋﺎﺻﺔ
ﺑﺎﳌﺆﺳﺴﺔ.
ﻭﻫﻨﺎ ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﻼﺣﻴﺎﺕ ﺍﳌﺴﺘﺨﺪﻡ ﻣﻦ ﺃﺟﻞ ﺍﻟﺘﺤﻜﻢ ﺑﻌﻤﻠﻴﺎﺕ
ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﺍﳌﻠﻔﺎﺕ ﺍﳊﺴﺎﺳﺔ.
ﺇﻥ ﻣﻘﺎﻳﻴﺲ ﺍﳊﻤﺎﻳﺔ ﺍﳋﺎﺻﺔ ﺑﺘﻮﻟﻴﺪ ﺻﻔﺤﺎﺕ ﺍﻟﻮﻳﺐ ﺍﻟﺪﻳﻨﺎﻣﻜﻴﺔ ﳐﺘﻠﻔﺔ ﻋﻤﺎ ﺳﺒﻖ .ﺣﻴﺚ ﻳﺘﻢ ﲣﺰﻳﻦ
ﺍﻟﺼﻔﺤﺎﺕ ﺍﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ ﻛﻘﻮﺍﻟﺐ ،ﻭﻣﻦ ﰒ ﻳﺘﻢ ﻧﻘﻞ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳊﺎﻟﻴﺔ ﺍﳌﻨﺎﺳﺒﺔ ﻣﻦ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ
ﻭﺇﻗﺤﺎﻣﻬﺎ ﰲ ﻫﺬﻩ ﺍﻟﻘﻮﺍﻟﺐ ﺣﺎﳌﺎ ﻳﺘﻢ ﺗﺸﻐﻴﻞ ﺍﻻﺳﺘﻌﻼﻡ ﺃﻭ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﳌﺮﺗﺒﻄﺔ ﺬﻩ ﺍﻟﺼﻔﺤﺔ.
ﻭﻫﺬﺍ ﻳﻌﲏ ﺃﻥ ﳐﺪﻡ ﺍﻟﻮﻳﺐ ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﻗﺎﺩﺭﹰﺍ ﻋﻠﻰ ﺍﻟﻮﺻﻮﻝ ﻭﺍﻟﻨﻔﺎﺫ ﺇﱃ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ،
ﻭﻟﻴﻌﻤﻞ ﺍﻻﺗﺼﺎﻝ ﻣﻊ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺑﺸﻜﻞ ﺟﻴﺪ ،ﻓﺈﻧﻪ ﳚﺐ ﺃﻥ ﻳﺴﺘﻄﻴﻊ ﺍﻟﻨﻔﺎﺫ ﺑﺸﻜﻞ ﻛﺎﻣﻞ
ﻟﻘﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ .ﻭﺑﺎﻟﺘﺎﱄ ﻓﺈﻥ ﲢﻘﻴﻖ ﺍﻵﻣﺎﻥ ﺍﳌﻄﻠﻮﺏ ﻟﻠﻤﺨﺪﻡ ﻫﻮ ﻧﻘﻄﺔ ﺣﺮﺟﺔ ﳊﻤﺎﻳﺔ ﺍﳌﻌﻄﻴﺎﺕ.
ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﺍﳌﺨﺪﻡ ﺍﳌﺘﺼﻞ ﺑﻘﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺁﻣﻨﹰﺎ ﻓﻴﺰﻳﺎﺋﻴﺎﹰ ،ﻭﺃﻥ ﻳﻜﻮﻥ ﺑﺎﻹﻣﻜﺎﻥ ﺍﻟﺘﺤﻜﻢ ﺑﺘﻨﻔﻴﺬ
ﺗﻮﺻﻴﻒ CGIﻭﺍﺟﻬﺔ ﺭﺑﻂ ﺑﻮﺍﺑﺔ ﻣﺸﺘﺮﻛﺔ.
ﳝﻜﻦ ﺍﻟﺘﺤﻜﻢ ﺑﻌﻤﻠﻴﺎﺕ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﺍﳌﻌﻄﻴﺎﺕ ﻣﻦ ﺧﻼﻝ ﻃﺒﻘﺔ ﺃﺧﺮﻯ ﻣﻦ ﺍﳊﻤﺎﻳﺔ ،ﻭﻫﻲ ﻃﺒﻘﺔ
ﺍﳊﻤﺎﻳﺔ ﺍﳋﺎﺻﺔ ﺑﺎﻟﺘﺤﻘﻖ ﻣﻦ ﺻﻼﺣﻴﺎﺕ ﺍﳌﺴﺘﺨﺪﻣﲔ .ﻭﺳﻴﺴﻤﺢ ﺍﺳﺘﺨﺪﺍﻡ ﻋﻤﻠﻴﺔ ﺗﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ
) (loginﺑﺎﺳﺘﺨﺪﺍﻡ ﺻﻔﺤﺎﺕ HTMLﳌﺪﻳﺮ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ DBAﺑﺘﻌﺮﻳﻒ ﺻﻼﺣﻴﺎﺕ ﻛﻞ
ﻣﺴﺘﺨﺪﻡ .ﻭﻛﻞ ﺟﻠﺴﺔ ﳝﻜﻦ ﺗﺘﺒﻌﻬﺎ ﻋﻦ ﻃﺮﻳﻖ ﲣﺰﻳﻦ ﺑﻌﺾ ﺍﳌﻌﻠﻮﻣﺎﺕ ،ﻋﻠﻰ ﺁﻟﺔ ﺍﻟﺰﺑﻮﻥ ﻭﻫﺬﻩ
ﺍﳌﻌﻠﻮﻣﺎﺕ ﳝﻜﻦ ﺇﻋﺎﺩﺎ ﺇﱃ ﺍﳌﺨﺪﻡ ﻭﺑﺎﻟﺘﺎﱄ ﺳﺘﺰﻭﺩﻩ ﺑﺎﳌﻌﻠﻮﻣﺎﺕ ﺍﳋﺎﺻﺔ ﲜﻠﺴﺔ ﺍﻟﺪﺧﻮﻝ .ﻛﻤﺎ
ﳚﺐ ﺍﺳﺘﺨﺪﺍﻡ ﺗﻮﺻﻴﻔﺎﺕ CGIﻭﺍﻟﻄﺮﻕ ﺍﻷﺧﺮﻯ ﻣﻦ ﺃﺟﻞ ﻛﺘﺎﺑﺔ ﺍﻹﺟﺮﺍﺋﻴﺎﺕ ﺍﻟﻼﺯﻣﺔ ﻟﻠﺘﺤﻘﻖ ﻣﻦ
ﺍﻟﺼﻼﺣﻴﺎﺕ.
>a Kf8 542
ﻛﻤﺎ ﺃﻧﻪ ﳚﺐ ﲢﻘﻴﻖ ﺃﻣﺎﻥ ﺍﳉﻠﺴﺔ ﻟﻠﺘﺄﻛﺪ ﻣﻦ ﺃﻥ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﺴﺮﻳﺔ ﻟﻦ ﻳﺘﻢ ﺇﻓﺸﺎﺅﻫﺎ ﺧﻼﻝ ﺍﳉﻠﺴﺔ ،ﻭﺫﻟﻚ
ﻷﻥ ﻫﺬﻩ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻳﺘﻢ ﺇﺭﺳﺎﳍﺎ ﻋﱪ ﺍﻟﺸﺒﻜﺔ ﻟﻜﻲ ﺗﺴﺘﻘﺒﻠﻬﺎ ﺁﻟﺔ ﻣﻌﻴﻨﺔ ،ﻭﺑﺎﻟﺘﺎﱄ ﻓﻬﻲ ﻣﻌﺮﺿﺔ ﻟﻠﺘﻨﺼﺖ.
ﻭﻷﻥ ﺍﻟﱪﻭﺗﻮﻛﻮﻝ TCP/IPﻟﻴﺲ ﺁﻣﻦ ﺑﺸﻜﻞ ﺟﻴﺪ ،ﻳﺼﺒﺢ ﺍﺳﺘﺨﺪﺍﻡ ﻧﻈﺎﻡ ﺗﺸﻔﲑ ﻛﺎﳌﻮﺿﺢ ﰲ
ﺍﻟﻔﻘﺮﺓ ﺍﻟﺴﺎﺑﻘﺔ ﺃﺳﺎﺳﻴﹰﺎ .ﺗﺴﺘﺨﺪﻡ ﻣﻌﻈﻢ ﺃﻧﻈﻤﺔ ﺍﻹﻧﺘﺮﻧﺖ ﺍﲢﺎﺩ ﻣﻦ ﺗﻘﻨﻴﺎﺕ ﺗﺸﻔﲑ ﻣﻔﺘﺎﺡ ﻋﺎﻡ
ﻭﻣﻔﺘﺎﺡ ﺳﺮﻱ .ﻗﺪ ﻳﺸﻔﺮ ﻛﻞ ﻣﻦ ﺍﳌﺨﺪﻡ ﻭﺍﻟﺰﺑﻮﻥ ﺍﳌﻔﺘﺎﺡ ﺍﻟﺴﺮﻱ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﻔﺎﺗﻴﺤﻪ ﺍﳋﺎﺻﺔ .ﻳﺘﻢ
ﺇﺭﺳﺎﻝ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺸﻔﺮﺓ ﻣﻊ ﺍﳌﻔﺘﺎﺡ ﺍﻟﻌﺎﻡ ،ﺃﻭ ﳝﻜﻦ ﺣﻔﻆ ﺍﳌﻔﺘﺎﺡ ﺍﻟﻌﺎﻡ ﰲ ﺟﻬﺔ ﺛﺎﻟﺜﺔ ﺗﺴﻤﻰ )(CA
ﺣﺎﻓﻆ ﺍﻟﺸﻬﺎﺩﺓ ﻭﺍﻟﱵ ﺳﺘﻘﻮﻡ ﺑﺘﻘﺪﳝﻪ ﻋﻨﺪ ﺍﳊﺎﺟﺔ .ﺗﺴﺘﺨﺪﻡ ﻃﺮﻳﻘﺔ ﻣﻌﻴﺎﺭﻳﺔ ﻟﻠﺘﺸﻔﲑ ﻭﻫﻲ
) Secure Sockets Layer (SSLﻣﻦ ﻗﺒﻞ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﳌﻄﻮﺭﻳﻦ ﻟﺘﺸﻔﲑ ﲨﻴﻊ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﱵ
ﺗﻨﺘﻘﻞ ﺑﲔ ﺍﻟﺰﺑﻮﻥ ﻭﺍﳌﺨﺪﻡ ﺧﻼﻝ ﺍﳉﻠﺴﺔ.
ﺗﺴﺘﺨﺪﻡ ﺍﻟﻌﻨﺎﻭﻳﻦ ﻭ URLﺍﻟﱵ ﺗﺒﺪﺃ ﺑـ ،https://ﻫﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ) (SSLﻣﻦ ﺃﺟﻞ ﺍﻟﻨﻘﻞ.
ﻫﻨﺎﻙ ﻣﻘﺎﻳﻴﺲ ﺃﻣﻨﻴﺔ ﺳﻴﺘﻢ ﻣﻨﺎﻗﺸﺘﻬﺎ ﰲ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﱐ ﻋﺸﺮ ،ﻣﺜﻞ ﺍﻟﺘﻮﻗﻴﻊ ﺍﻟﺮﻗﻤﻲ ،ﳐﺪﻣﺎﺕ ﺃﻣﻦ
،Kerberosﻭﻣﻘﺎﻳﻴﺲ ﺍﳊﻤﺎﻳﺔ ﺍﳋﺎﺻﺔ ﺑﺒﺎﺋﻊ ﻣﻌﲔ.
·j¦
¶WáKK9
ﻻ ﻳﻮﺟﺪ ﺟﺪﺍﻝ ﰲ ﺃﻥ ﺑﲎ ﺍﳌﺨﺪﻡ/ﺍﻟﺰﺑﻮﻥ ﻗﺪ ﺃﺛﺮﺕ ﰲ ﺑﲎ ﻣﻌﺎﳉﺔ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﻟﻜﻦ ﻏﺎﻟﺒﹰﺎ ﻣﺎ
ﻳﺴﻤﻊ ﺃﺣﺪﻧﺎ ﻋﻦ ﻓﺸﻞ ﲡﻬﻴﺰﺍﺕ ﺑﻴﺌﺔ ﻭﺗﻄﺒﻴﻘﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻭﺑﺸﻜﻞ ﻛﺒﲑ .ﻭﺑﺎﻟﺘﺎﱄ ﻭﻣﻦ ﺃﺟﻞ
ﳒﺎﺡ ﻣﺸﺎﺭﻳﻊ ﳐﺪﻡ/ﺯﺑﻮﻥ ﳚﺐ ﺩﺭﺍﺳﺔ ﺍﳌﺴﺄﻟﺔ ﺍﳋﺎﺻﺔ ﺑﺎﻟﻌﻤﻞ ،ﻣﻊ ﺗﻌﺮﻳﻒ ﺟﻴﺪ ﶈﺪﺩﺍﺕ ﺍﻟﺘﻘﻨﻴﺎﺕ
ﺍﳌﺮﺍﺩ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻭﶈﺪﺩﺍﺕ ﺍﻟﺘﻜﺎﻟﻴﻒ .ﺣﺴﺐ Linthicum, 1996ﻓﺈﻧﻪ ﻫﻨﺎﻙ ﺑﻌﺾ ﺍﻟﻨﻮﺍﺣﻲ ﺍﻟﱵ
ﳚﺐ ﻣﺮﺍﻋﺎﺎ ﻭﲝﺬﺭ ﻣﻦ ﺃﺟﻞ ﲢﺴﲔ ﻓﺮﺻﺔ ﳒﺎﺡ ﺑﻨﺎﺀ ﺗﻄﺒﻴﻘﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺟﻴﺪﺓ.
ﺍﻟﺘﺤﻠﻴﻞ ﺍﻟﺪﻗﻴﻖ ﻟﻠﻤﺴﺄﻟﺔ ﺍﳌﻄﺮﻭﺣﺔ :ﻛﻤﺎ ﰲ ﺗﻄﻮﻳﺮ ﺃﻱ ﻧﻮﻉ ﺁﺧﺮ ﻣﻦ ﺑﲎ ﺍﳌﻌﺎﳉﺔ ،ﺣﻴﺚ ﺗﻌﺘﱪ x
ﻋﻤﻠﻴﺔ ﺣﺮﺟﺔ ﻭﺣﺎﲰﺔ ﰲ ﺑﻨﺎﺀ ﺗﺼﻤﻴﻢ ﺳﻠﻴﻢ ﻭﺑﻨﻴﺔ ﺟﻴﺪﺓ ﻟﻨﻈﻢ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺍﳊﺪﻳﺜﺔ .ﻭﻟﻘﺪ
ﻛﺎﻧﺖ ﻃﺮﻕ ﺍﳌﻄﻮﺭﻳﻦ ﺍﻟﻘﺪﳝﺔ ﺍﳌﺘﻤﺜﻠﺔ ﰲ ﺍﺧﺘﻴﺎﺭ ﺍﻟﺘﻘﻨﻴﺎﺕ ﻭﻣﻦ ﰒ ﺗﻜﻴﻴﻒ ﺍﻟﺘﻄﺒﻴﻖ ﻟﻴﺘﻮﺍﻓﻖ
ﻣﻌﻬﺎ ،ﻣﻦ ﺃﻛﺜﺮ ﺍﻟﻌﻮﺍﻣﻞ ﺩﻓﻌﹰﺎ ﻟﻈﻬﻮﺭ ﺑﻴﺌﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺍﻟﱵ ﻇﻬﺮﺕ ﰲ ﺍﻟﻌﻘﺪ ﺍﻷﺧﲑ .ﻭﻟﻜﻦ
ﺍﻟﻌﻜﺲ ﻫﻮ ﺍﻷﻓﻀﻞ ،ﻓﻤﻦ ﺍﳌﻨﺎﺳﺐ ﺟﺪﹰﺍ ﲢﺪﻳﺪ ﻧﻈﺎﻡ ﺍﳌﺴﺄﻟﺔ ﺑﺸﻜﻞ ﺩﻗﻴﻖ ﻭﲢﺪﻳﺪ ﻣﺘﻄﻠﺒﺎﺎ،
ﻭﻣﻦ ﰒ ﺍﺳﺘﺨﺪﺍﻡ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﺘﺤﻠﻴﻞ ﻫﺬﻩ ﰲ ﺍﺧﺘﺒﺎﺭ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﳌﻄﻠﻮﺑﺔ.
ﲢﻠﻴﻞ ﺑﻨﻴﺎﻥ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ :ﻣﻦ ﺍﳌﻬﻢ ﺃﻳﻀﹰﺎ ﲢﺪﻳﺪ ﺗﻔﺎﺻﻴﻞ ﺑﻨﻴﺔ ﺑﻴﺌﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻭﺫﻟﻚ ﻷﻥ x
ﺗﻄﻮﻳﺮ ﺍﳊﻠﻮﻝ ﺍﳌﻌﺘﻤﺪﺓ ﻋﻠﻰ ﺑﻴﺌﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺗﺴﺘﻠﺰﻡ ﺭﺑﻂ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﳌﻜﻮﻧﺎﺕ ﻣﻌﺎﹰ ،ﻭﺍﻟﱵ
ﳝﻜﻦ ﺃﻥ ﻻ ﺗﻌﻤﻞ ﻣﻊ ﺑﻌﻀﻬﺎ ﺑﺴﻬﻮﻟﺔ ﻭﺑﺸﻜﻞ ﺟﻴﺪ .ﺇﻥ ﺇﺣﺪﻯ ﳏﺎﺳﻦ ﺍﳌﻌﺎﳉﺔ ﺍﳌﻌﺘﻤﺪﺓ ﻋﻠﻰ
543 ·j¦
¶WáKE:<W
jME9
ﳐﺪﻡ/ﺯﺑﻮﻥ ،ﻫﻲ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺍﺳﺘﺨﺪﺍﻡ ﻃﺮﻕ ﺍﻟﻨﻈﻢ ﺍﳌﻔﺘﻮﺣﺔ ،ﻭﻟﻜﻨﻬﺎ ﺗﺸﻜﻞ ﻋﺎﺋﻘﹰﺎ ﻛﺒﲑﹰﺍ ﰲ
ﺣﺎﻝ ﻛﺎﻥ ﻣﻦ ﺍﻟﺼﻌﺐ ﺍﻟﺘﻮﺍﺻﻞ ﺑﲔ ﺍﳌﻜﻮﻧﺎﺕ ﻏﲑ ﺍﳌﺘﺠﺎﻧﺴﺔ .ﳚﺐ ﻋﻠﻰ ﺍﶈﻠﻞ ﲢﺪﻳﺪ
ﳏﻄﺎﺕ ﻋﻤﻞ ﺍﻟﺰﺑﻮﻥ ،ﻭﲢﺪﻳﺪ ﳐﺪﻣﺎﺗﻪ ﻭﻓﻖ ﺍﻟﺸﺒﻜﺔ ﻭﻃﺒﻘﺔ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ﻭﻛﺬﻟﻚ ﺍﻟﺒﻨﻴﺔ
ﺍﻟﺘﺤﺘﻴﺔ ﻟﻠﺸﺒﻜﺔ ﻭﺃﺩﻭﺍﺕ ﺍﻟﺘﻄﻮﻳﺮ ﺍﻟﱪﳎﻲ .ﻭﳚﺐ ﻋﻠﻰ ﺍﶈﻠﻞ ﺍﻟﺘﺄﻛﺪ ﻣﻦ ﺃﻥ ﺍﻻﺗﺼﺎﻝ ﳏﻘﻖ ﰲ
ﻛﻞ ﻧﻘﻄﺔ ﻣﻦ ﻧﻘﺎﻃﻪ ،ﻣﺜﻞ ﺍﻻﺗﺼﺎﻝ ﻣﻊ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻄﻴﺔ ﻭﻣﻊ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻭﻣﻊ
ﺍﻟﺸﺒﻜﺔ.
ﺍﺳﺘﺒﻌﺎﺩ ﺍﻟﺒﲎ ﺍﳌﻘﺎﺩﺓ ﺑﻮﺍﺳﻄﺔ ﺍﻷﺩﻭﺍﺕ :ﻛﻤﺎ ﺫﻛﺮﻧﺎ ﻗﺒﻞ ﻗﻠﻴﻞ ،ﻓﺈﻧﻪ ﳚﺐ ﲢﺪﻳﺪ ﻣﺘﻄﻠﺒﺎﺕ x
ﺍﳌﺸﺮﻭﻉ ﻗﺒﻞ ﺍﺧﺘﻴﺎﺭ ﺃﺩﻭﺍﺕ ﺍﻟﺘﻄﻮﻳﺮ ،ﻭﻟﻴﺲ ﺍﻟﻌﻜﺲ .ﺇﻥ ﺍﺧﺘﻴﺎﺭ ﺍﻷﺩﻭﺍﺕ ﺃﻭ ﹰﻻ ﻭﻣﻦ ﰒ
ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﳊﻞ ﺍﳌﺴﺄﻟﺔ ﺳﻴﺆﺩﻱ ﺇﱃ ﺗﻮﺍﻓﻖ ﻗﻠﻴﻞ ﺑﲔ ﻫﺬﻩ ﺍﻷﺩﻭﺍﺕ ﻭﺍﳌﺴﺄﻟﺔ ،ﺇﻥ ﻣﺜﻞ ﻫﺬﺍ
ﺍﻻﺧﺘﻴﺎﺭ ﻏﺎﻟﺒﹰﺎ ﻳﻜﻮﻥ ﺑﺎﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﺍﻻﻧﻔﻌﺎﻻﺕ ﻭﻟﻴﺲ ﺑﺎﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﺍﻟﻮﻇﻴﻔﻴﺔ
ﺍﳌﻘﺪﻣﺔ ﻣﻦ ﻗﺒﻞ ﻫﺬﻩ ﺍﻷﺩﻭﺍﺕ ﻭﻧﻮﻋﻬﺎ.
ﲢﻘﻴﻖ ﻗﺎﺑﻠﻴﺔ ﺍﻟﺘﻮﺳﻊ ﺍﳌﻨﺎﺳﺒﺔ :ﺇﻥ ﺗﻄﻮﻳﺮ ﻧﻈﻢ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺑﺎﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﺍﻟﺒﲎ ﻣﺘﻌﺪﺩﺓ x
ﺍﻟﻄﺒﻘﺎﺕ ﻣﻦ ﺷﺄﻧﻪ ﺃﻥ ﻳﺴﻤﺢ ﳍﺬﻩ ﺍﻟﻨﻈﻢ ﺃﻥ ﺗﻜﻮﻥ ﻗﺎﺑﻠﺔ ﻟﻠﺘﻮﺳﻊ ﲝﻴﺚ ﺗﻜﻮﻥ ﻗﺎﺩﺭﺓ ﻋﻠﻰ
ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺃﻱ ﻋﺪﺩ ﳑﻜﻦ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻣﲔ ،ﻭﻣﻌﺎﳉﺔ ﺃﲪﺎﻝ ﻣﺘﻨﻮﻋﺔ .ﻭﻟﻜﻦ ﺍﳊﻠﻮﻝ ﺍﳌﻌﺘﻤﺪﺓ
ﻋﻠﻰ ﺍﻟﺒﲎ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ ﻏﺎﻟﺒﹰﺎ ﻣﺎ ﺗﻜﻮﻥ ﻏﺎﻟﻴﺔ ﺍﻟﺜﻤﻦ ﻭﺻﻌﺒﺔ ﺍﻟﺘﻄﻮﻳﺮ ﻭﺍﻟﺒﻨﺎﺀ .ﻭﻛﺬﻟﻚ ﻓﺈﻥ
ﺃﺩﻭﺍﺕ ﺗﻄﻮﻳﺮ ﺍﻟﺒﻴﺌﺎﺕ ﻣﺘﻌﺪﺩﺓ ﺍﳌﺴﺘﺨﺪﻣﲔ ﻣﺎ ﺗﺰﺍﻝ ﳏﺪﻭﺩﺓ ﺃﻳﻀﺎﹰ ،ﻭﻟﺬﻟﻚ ﻓﺈﻧﻪ ﳚﺐ ﻋﻠﻰ
ﻣﺼﻤﻢ ﺍﻟﺒﻨﻴﺔ ﲡﻨﺐ ﺍﻻﻧﺘﻘﺎﻝ ﺇﱃ ﺍﻟﺒﻴﺌﺎﺕ ﻣﺘﻌﺪﺩﺓ ﺍﳌﺴﺘﺨﺪﻣﲔ ﺇﺫﺍ ﱂ ﻳﻜﻦ ﺫﻟﻚ ﻣﻄﻠﻮﺑﹰﺎ .ﻳﻜﻮﻥ
ﻟﻠﺒﻴﺌﺔ ﻣﺘﻌﺪﺩﺓ ﺍﳌﺴﺘﺨﺪﻣﲔ ﻣﻌﲎ ﰲ ﺣﺎﻝ ﻭﺟﻮﺩ ﺃﻛﺜﺮ ﻣﻦ 100ﻣﺴﺘﺨﺪﻡ ﻣﺘﺰﺍﻣﻦ ،ﺃﻭ ﰲ ﻧﻈﻢ
ﻣﻌﺎﳉﺔ ﺍﳌﻨﺎﻗﻼﺕ ﺫﺍﺕ ﺍﳊﺠﻮﻡ ﺍﻟﻀﺨﻤﺔ ،ﺃﻭ ﰲ ﻋﻤﻠﻴﺎﺕ ﻣﻌﺎﳉﺔ ﺍﻟﺰﻣﻦ ﺍﳊﻘﻴﻘﻲ .ﳝﻜﻦ ﺃﻥ
ﺗﻌﻤﻞ ﺍﻟﺒﻴﺌﺎﺕ ﺍﻟﺼﻐﲑﺓ ﺑﻔﻌﺎﻟﻴﺔ ﺃﻛﺜﺮ ﻋﻠﻰ ﺍﻷﻧﻈﻤﺔ ﺛﻨﺎﺋﻴﺔ ﺍﻟﻄﺒﻘﺔ ،ﻭﺧﺼﻮﺻﹰﺎ ﰲ ﺣﺎﻝ ﺍﺳﺘﺨﺪﺍﻡ
ﺍﻟﻘﻮﺍﺩﺡ ﻭﺍﻹﺟﺮﺍﺋﻴﺎﺕ ﻹﺩﺍﺭﺓ ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ.
ﻭﺿﻊ ﺍﳋﺪﻣﺎﺕ ﺑﺸﻜﻞ ﻣﻨﺎﺳﺐ :ﻛﻤﺎ ﺫﻛﺮﻧﺎ ﺳﺎﺑﻘﺎﹰ ،ﻓﺈﻥ ﺍﻟﺘﺤﻠﻴﻞ ﺍﻟﺪﻗﻴﻖ ﻟﻠﻤﺴﺄﻟﺔ ﺍﳌﻄﺮﻭﺣﺔ x
ﻣﻬﻢ ﻣﻦ ﺃﺟﻞ ﺍﲣﺎﺫ ﻗﺮﺍﺭﺍﺕ ﻭﺿﻊ ﺧﺪﻣﺎﺕ ﺍﳌﻌﺎﳉﺔ.ﺣﻴﺚ ﺃﻥ ﺍﻻﻧﺘﻘﺎﻝ ﳓﻮ ﺍﻟﻌﻤﻼﺀ ﺍﳍﺰﻳﻠﲔ
ﻭﺍﳌﺨﺪﻣﺎﺕ ﺍﻟﺜﻘﻴﻠﺔ fat serversﻟﻴﺲ ﻫﻮ ﺍﳊﻞ ﺍﳌﻨﺎﺳﺐ ﺩﻭﻣﹰﺎ .ﺇﻥ ﻧﻘﻞ ﺍﻟﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ ﺑﻜﺎﻣﻠﻬﺎ
ﺇﱃ ﺍﳌﺨﺪﻡ ﻭﺑﺎﻟﺘﺎﱄ ﺇﻧﺸﺎﺀ ﳐﺪﻡ ﺛﻘﻴﻞ ،ﺳﻴﺆﺛﺮ ﻋﻠﻰ ﺍﻟﻄﺎﻗﺔ ﻭﺍﻟﻘﺪﺭﺓ ،ﻭﺫﻟﻚ ﻷﻥ ﲨﻴﻊ
ﺍﳌﺴﺘﺨﺪﻣﲔ ﺳﻴﺤﺎﻭﻟﻮﻥ ﺍﺳﺘﺨﺪﺍﻡ ﻫﺬﺍ ﺍﻟﺘﻄﺒﻴﻖ ﺍﳌﺘﻮﺿﻊ ﺑﻜﺎﻣﻠﻪ ﻋﻠﻰ ﺍﳌﺨﺪﻡ .ﻭﺫﻟﻚ ﻓﺈﻧﻪ ﰲ
ﺑﻌﺾ ﺍﻷﺣﻴﺎﻥ ﻣﻦ ﺍﳌﻤﻜﻦ ﲢﻘﻴﻖ ﺗﻮﺍﺯﻥ ﺃﻓﻀﻞ ﻋﻦ ﻃﺮﻳﻖ ﻧﻘﻞ ﺑﻌﺾ ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﺇﱃ
ﺍﻟﻄﺮﻑ ﺍﻟﻌﻤﻴﻞ .ﺃﻣﺎ ﺍﳌﺨﺪﻣﺎﺕ ﺍﻟﺜﻘﻴﻠﺔ ﻓﺘﺆﺩﻱ ﺇﱃ ﺗﻘﻠﻴﻞ ﺍﳊﻤﻞ ﻋﻠﻰ ﺍﻟﺸﺒﻜﺔ ﻭﺫﻟﻚ ﻷﻥ
ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﲢﺪﺙ ﺑﺎﻟﻘﺮﺏ ﻣﻦ ﺍﳌﻌﻄﻴﺎﺕ ﻭﻛﺬﻟﻚ ﺗﺆﺩﻱ ﺇﱃ ﲣﻔﻴﺾ ﺍﻟﻘﺪﺭﺓ ﺍﻟﱵ ﳚﺐ
>a Kf8 544
ﺃﻥ ﻳﺘﻤﺘﻊ ﺎ ﺍﻟﻌﻤﻴﻞ ،ﺇﻥ ﻓﻬﻢ ﺍﳌﺴﺄﻟﺔ ﺑﺸﻜﻞ ﺟﻴﺪ ﻭﺩﻗﻴﻖ ،ﻣﻦ ﺷﺄﻧﻪ ﺃﻥ ﻳﺴﺎﻋﺪ ﻣﺼﻤﻢ ﺍﻟﺒﻨﻴﺔ
ﻋﻠﻰ ﺍﻟﺘﻮﺯﻳﻊ ﺍﳌﻨﺎﺳﺐ ﻟﻠﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ.
ﲢﻠﻴﻞ ﺍﻟﺸﺒﻜﺔ :ﺇﻥ ﻣﺸﻜﻠﺔ ﺍﻻﺯﺩﺣﺎﻡ ﺍﻟﺸﺎﺋﻌﺔ ﰲ ﺍﻟﻨﻈﻢ ﺍﳌﻮﺯﻋﺔ ﻣﺎﻳﺰﺍﻝ ﺳﺒﺒﻬﺎ ﺍﻟﺸﺒﻜﺔ ﻭﺍﻟﱵ x
ﲤﺜﻞ ﻋﻨﻖ ﺍﻟﺰﺟﺎﺟﺔ .ﻭﻟﺬﻟﻚ ﻓﺈﻧﻪ ﳚﺐ ﻋﻠﻰ ﻣﺼﻤﻢ ﺍﻟﺒﻨﻴﺔ ﻋﺪﻡ ﲡﺎﻫﻞ ﺧﻄﺮ ﻋﺮﺽ ﺣﺰﻣﺔ
ﻣﻌﻄﻴﺎﺕ ﺍﻟﺸﺒﻜﺔ ﺍﻟﱵ ﳚﺐ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻷﻧﻪ ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﺸﺒﻜﺔ ﻏﲑ ﻓﻌﺎﻟﺔ ﰲ ﻣﻌﺎﳉﺔ ﻛﻤﻴﺔ
ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﱵ ﳚﺐ ﻧﻘﻠﻬﺎ ﺑﲔ ﺍﻟﺰﺑﻮﻥ ﻭﺍﳌﺨﺪﻡ ،ﻓﺈﻥ ﺯﻣﻦ ﺍﻻﺳﺘﺠﺎﺑﺔ ﺳﻴﻜﻮﻥ ﺳﻲﺀ ،ﻭﺑﺎﻟﺘﺎﱄ
ﻣﻦ ﺍﶈﺘﻤﻞ ﺃﻥ ﻳﻔﺸﻞ ﺍﻟﻨﻈﺎﻡ.
ﻛﻦ ﺣﺬﺭﹰﺍ ﻭﻣﺪﺭﻛﹰﺎ ﻟﻠﺘﻜﺎﻟﻴﻒ ﺍﳋﻔﻴﺔ :ﺇﻥ ﻣﺸﺎﻛﻞ ﲢﻘﻴﻖ ﻧﻈﻢ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺗﻔﻮﻕ ﻣﺸﺎﻛﻞ x
ﻋﻤﻠﻴﺔ ﺍﻟﺘﺤﻠﻴﻞ ﻭﺍﻟﺘﻄﻮﻳﺮ ،ﻭﻣﺸﺎﻛﻞ ﺍﻟﺒﻨﻴﺔ ﺍﻟﱵ ﰎ ﺫﻛﺮﻫﺎ ﻗﺒﻞ ﻗﻠﻴﻞ )ﺣﺴﺐ .(Atre, 1995
ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ ،ﺳﻴﻌﺎﱐ ﺍﻟﻨﻈﺎﻡ ﺍﻟﺬﻱ ﻳﺴﻌﻰ ﻻﺳﺘﺨﺪﺍﻡ ﺍﻟﺘﺠﻬﻴﺰﺍﺕ ﻭﺍﻟﺸﺒﻜﺎﺕ ﻭﻧﻈﻢ
ﺍﻟﺘﺸﻐﻴﻞ ﻭﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﻮﺟﻮﺩﺓ ﻣﻦ ﺍﻟﺘﻌﻘﻴﺪ ﰲ ﻣﻜﺎﻣﻠﺔ ﻫﺬﻩ ﺍﳌﻜﻮﻧﺎﺕ ﻏﲑ
ﺍﳌﺘﺠﺎﻧﺴﺔ ﻟﺒﻨﺎﺀ ﻧﻈﺎﻡ ﳐﺪﻡ/ﺯﺑﻮﻥ ،ﻛﻤﺎ ﺃﻥ ﺍﻟﺘﺪﺭﻳﺐ ﻟﻪ ﻛﻠﻔﺘﻪ ﺍﻟﻜﺒﲑﺓ ﻭﺍﻟﱵ ﻏﺎﻟﺒﹰﺎ ﻣﺎ ﺗﻜﻮﻥ
ﺩﻭﺭﻳﺔ ،ﻭﺃﻳﻀﹰﺎ ﻏﺎﻟﺒﹰﺎ ﻣﺎ ﻳﺘﻢ ﺇﻏﻔﺎﳍﺎ ﻭﻋﺪﻡ ﺃﺧﺬﻫﺎ ﺑﺎﳊﺴﺒﺎﻥ ،ﻛﻤﺎ ﺃﻥ ﺗﻌﻘﻴﺪﺍﺕ ﺍﻟﻌﻤﻞ ﰲ ﺑﻴﺌﺔ
ﻣﺘﻌﺪﺩﺓ ﺍﳌﺴﺘﺨﺪﻣﲔ ﳝﻜﻦ ﺃﻥ ﺗﻜﻮﻥ ﻣﻜﻠﻔﺔ ﺟﺪﹰﺍ.
ﺇﺫﺍ ﲤﺖ ﻣﻌﺎﳉﺔ ﻫﺬﻩ ﺍﻟﻘﻀﺎﻳﺎ ﺑﺸﻜ ِﻞ ﻣﻨﺎﺳﺐ ،ﻓﺈﻧﻪ ﺳﻴﻜﻮﻥ ﻫﻨﺎﻙ ﳎﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻔﻮﺍﺋﺪ ﺍﻟﱵ ﲤﻜﹼﻦ
ﻣﻦ ﺍﻻﻧﺘﻘﺎﻝ ﺇﱃ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ )ﺣﺴﺐ :(Atre, 1995
ﻳﺼﺒﺢ ﺑﺎﻹﻣﻜﺎﻥ ﺗﺴﻠﻴﻢ ﻭﻇﺎﺋﻒ ﺍﻟﻨﻈﺎﻡ ﻋﻠﻰ ﻣﺮﺍﺣﻞ ،ﻭﻫﻜﺬﺍ ﻳﺘﻢ ﺗﺴﻠﻴﻢ ﺃﻭﻝ ﺟﺰﺀ ﻣﻨﻪ ﻃﺎﳌﺎ x
ﰎ ﺇﺎﺅﻩ ،ﻭﻣﻦ ﰒ ﺍﳉﺰﺀ ﺍﻟﺬﻱ ﻳﻠﻴﻪ ،ﻭﻫﻜﺬﺍ...
ﺗﺸﺠﻊ ﻭﺍﺟﻬﺔ ﺍﻻﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﻴﺎﻧﻴﺔ ﺍﻟﺸﺎﺋﻌﺔ ﰲ ﺑﻴﺌﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ،ﺍﳌﺴﺘﺨﺪﻣﲔ ﻋﻠﻰ ﺍﺳﺘﺨﺪﺍﻡ x
ﺍﻟﻮﻇﺎﺋﻒ ﺍﻟﱵ ﺗﻘﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ.
ﺇﻥ ﺍﳌﺮﻭﻧﺔ ﻭﻗﺎﺑﻠﻴﺔ ﺍﻟﺘﻮﺳﻊ ﺍﻟﱵ ﺗﺘﻤﺘﻊ ﺎ ﺍﳊﻠﻮﻝ ﺍﳌﻌﺘﻤﺪﺓ ﻋﻠﻰ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ ،ﺗﺴﻬﻞ ﻋﻤﻠﻴﺔ x
ﺇﻋﺎﺩﺓ ﻫﻨﺪﺳﺔ ﻣﻌﺎﳉﺔ ﺍﻟﻌﻤﻞ.
ﳝﻜﻦ ﺣﺼﺮ ﺍﳌﺰﻳﺪ ﻣﻦ ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﻟﺘﻨﻔﺬ ﺑﺸﻜﻞ ﻗﺮﻳﺐ ﻣﻦ ﻣﺼﺎﺩﺭ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﱵ ﺗﺘﻢ x
ﻣﻌﺎﳉﺘﻬﺎ ،ﻭﻫﺬﺍ ﻣﺎ ﻳﺆﺩﻱ ﺇﱃ ﲢﺴﲔ ﺯﻣﻦ ﺍﻻﺳﺘﺠﺎﺑﺔ ،ﻭﺍﻟﺘﻘﻠﻴﻞ ﻣﻦ ﺍﻻﺯﺩﺣﺎﻣﺎﺕ ﻋﻠﻰ
ﺍﻟﺸﺒﻜﺔ.
ﺇﻥ ﺑﲎ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺗﺴﻤﺢ ﺑﻌﻤﻠﻴﺎﺕ ﺗﻄﻮﻳﺮ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ ،ﻛﻤﺎ ﺗﺴﻬﻞ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ x
ﺍﻻﺗﺼﺎﻝ ﺍﻟﺪﺍﺧﻠﻲ ﺍﻟﻔﻌﺎﻝ ﰲ ﺍﳌﺆﺳﺴﺎﺕ ،ﻭﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺇﺩﺍﺭﺓ ﺍﻷﻋﻤﺎﻝ ﺍﳋﺎﺭﺟﻴﺔ ﻋﱪ
ﺍﻹﻧﺘﺮﻧﺖ.
545 ·j¦
¶WáKE:<W
jME9
·jZK?E:fhKE:<&W
Kçµjqj
ﻟﻘﺪ ﺭﺃﻳﻨﺎ ﺳﺎﺑﻘﺎﹰ ﰲ ﺍﻟﺸﻜﻞ ) (9-1ﻣﻜﻮﻧﺎﺕ ﺍﻟﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ ﻟﻠﱪﻧﺎﻣﺞ ،ﻭﺍﻟﱵ ﳚﺐ ﺃﻥ ﻳﺘﻢ ﺗﻮﺯﻳﻌﻬﺎ
ﻋﻠﻰ ﺑﻨﻴﺔ ﺗﻄﺒﻴﻖ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺛﻨﺎﺋﻴﺔ ﺃﻭ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ .ﺇﻥ ﺗﻘﺴﻴﻢ ﺍﻟﺒﻴﺌﺔ ﻹﻧﺸﺎﺀ ﺑﻨﻴﺔ ﺛﻨﺎﺋﻴﺔ ﺃﻭ ﺛﻼﺛﻴﺔ
ﺃﻭ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ ) ،(n-tierﻳﻌﲏ ﺃﻧﻪ ﳚﺐ ﺍﲣﺎﺫ ﺍﻟﻘﺮﺍﺭﺍﺕ ﺍﻟﻼﺯﻣﺔ ﻟﻮﺿﻊ ﺍﻟﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ ﻟﻠﻤﻌﺎﳉﺔ.
ﻭﰲ ﻛﻞ ﺣﺎﻟﺔ ،ﻓﺈﻥ ﺍﳌﺨﺪﻡ ﻳﻘﻮﻡ ﲟﻌﺎﳉﺔ ﺍﻟﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ ﻟﻠﺘﺨﺰﻳﻦ )ﳏﺮﻙ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ( ،ﺑﻴﻨﻤﺎ
ﻳﻌﺎﰿ ﺍﻟﺰﺑﻮﻥ ﺍﻟﺒﻨﻴﺔ ﺍﳌﻨﻄﻘﻴﺔ )ﻣﻨﻄﻖ( ﻟﻠﻌﺮﺽ.
ﻳﻈﻬﺮ ﺍﻟﺸﻜﻞ ) (9-8-aﺑﻌﺾ ﺣﺎﻻﺕ ﺍﻟﻨﻈﻢ ﺛﻨﺎﺋﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ،ﳝﻜﻦ ﻭﺿﻊ ﻣﻨﻄﻖ ﺍﳌﻌﺎﳉﺔ ﻟﺪﻯ ﺍﻟﺰﺑﻮﻥ
)ﺇﻧﺸﺎﺀ ﺍﻟﻌﻤﻴﻞ ﺍﻟﻀﺨﻢ( ،ﺃﻭ ﺻﻔﺤﺔ ﻋﻠﻰ ﺍﳌﺨﺪﻡ )ﺇﻧﺸﺎﺀ ﺍﻟﻌﻤﻴﻞ ﺍﳍﺰﻳﻞ( ،ﺃﻭ ﺗﻘﺴﻴﻤﻪ ﺑﲔ ﺍﳌﺨﺪﻡ
ﻭﺍﻟﺰﺑﻮﻥ )ﺍﻟﺒﻴﺌﺔ ﺍﳌﻮﺯﻋﺔ( .ﺇﻥ ﺗﻮﺿﻊ ﻣﻨﻄﻖ ﺍﳌﻌﺎﳉﺔ ﻫﻮ ﻣﺎ ﻳﻤﻴﺰ ﺳﻴﻨﺎﺭﻳﻮ ﻋﻦ ﺁﺧﺮ ﻣﻦ ﺍﻟﺴﻴﻨﺎﺭﻳﻮﻫﺎﺕ
ﺍﻟﺜﻼﺛﻴﺔ .ﰲ ﺍﻟﻌﻤﻴﻞ ﺍﻟﻀﺨﻢ ،ﺗﺘﻢ ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﰲ ﺍﻟﻌﻤﻴﻞ ،ﺃﻣﺎ ﰲ ﺍﻟﻌﻤﻴﻞ ﺍﳍﺰﻳﻞ ﻓﺘﺘﻢ ﻋﻤﻠﻴﺎﺕ
ﺍﳌﻌﺎﳉﺔ ﰲ ﺍﳌﺨﺪﻡ .ﻭﻳﺘﻢ ﺗﻘﺴﻴﻢ ﻋﻤﻠﻴﺎﺕ ﺍﳌﻌﺎﳉﺔ ﺑﲔ ﺍﳌﺨﺪﻡ ﻭﺍﻟﺰﺑﻮﻥ ﰲ ﺍﻟﺒﻴﺌﺔ ﺍﳌﻮﺯﻋﺔ.
ﻳﻈﻬﺮ ﺍﻟﺸﻜﻞ ) (9-8-bﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﻭﺍﻟﺒﻨﻴﺔ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ ﺍﻟﻨﻤﻮﺫﺟﻴﺔ ﺣﻴﺚ ﻛﻤﺎ
ﺃﺳﻠﻔﻨﺎ ،ﳝﻜﻦ ﻭﺿﻊ ﺑﻌﻀﹰﺎ ﻣﻦ ﺃﻗﺴﺎﻡ ﻣﻨﻄﻖ ﺍﳌﻌﺎﳉﺔ ﻋﻠﻰ ﺍﻟﻌﻤﻴﻞ .ﻭﻟﻜﻦ ﺍﻟﺰﺑﻮﻥ ﺍﻟﻨﻤﻮﺫﺟﻲ ﰲ
ﺑﻴﺌﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﺍﳌﻮﺟﻬﺔ ﳓﻮ ﺍﻟﻮﻳﺐ ﻳﻜﻮﻥ ﻣﻦ ﻧﻮﻉ ﺍﻟﻌﻤﻴﻞ ﺍﳍﺰﻳﻞ ﻣﺴﺘﺨﺪﻣﹰﺎ ﺍﳌﺴﺘﻌﺮﺽ ﻣﻦ
ﺃﺟﻞ ﻣﻨﻄﻖ ﺍﻟﻌﺮﺽ .ﺇﻥ ﺍﻟﻄﺒﻘﺎﺕ ﺍﻟﻮﺳﻄﻰ ﺗﺘﻢ ﺑﺮﳎﺘﻬﺎ ﻗﻴﺎﺳﻴﺎﹰ ﺑﺈﺣﺪﻯ ﺍﻟﻠﻐﺎﺕ ﺍﻟﻘﺎﺑﻠﺔ ﻟﻠﻨﻘﻞ ،ﻣﺜﻞ
ﻟﻐﺔ Cﺃﻭ ﻟﻐﺔ .Javaﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺍﻟﺘﻌﻘﻴﺪ ﺍﳌﺘﺰﺍﻳﺪ ﻹﺩﺍﺭﺓ ﻋﻤﻠﻴﺎﺕ ﺍﻻﺗﺼﺎﻝ ﺑﲔ ﺍﻟﻄﺒﻘﺎﺕ ،ﺇﻻ ﺃﻥ
ﻣﺮﻭﻧﺔ ﻭﺳﻬﻮﻟﺔ ﺇﺩﺍﺭﺓ ﺍﳌﻨﻬﺠﻴﺎﺕ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ ﻗﺪ ﺟﻌﻠﻬﺎ ﺷﺎﺋﻌﺔ ﺑﺸﻜﻞ ﻣﺘﺰﺍﻳﺪ ﺃﺩﺕ ﺍﻟﺒﻴﺌﺎﺕ
ﺍﻟﻼ ﻣﺘﺠﺎﻧﺴﺔ ﻭﺍﳌﻮﺯﻋﺔ ﻭﺍﻟﺴﺮﻳﻌﺔ ﻟﻺﻧﺘﺮﻧﺖ ﻭﺍﻟﺘﺠﺎﺭﺓ ﺍﻹﻟﻜﺘﺮﻭﻧﻴﺔ ﺇﱃ ﻋﻤﻠﻴﺎﺕ ﺗﻄﻮﻳﺮ ﺍﻟﻌﺪﻳﺪ ﻣﻦ
ﺍﻟﺒﲎ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ.
Storage Storage
Server Storage
Logic Logic
Server Logic
Server
Processing Processing
Processing
Logic Logic
Logic
Client
Processing Processing Client Processing
Client
Logic Logic Logic
Distributed Storage
Server Logic
App. Services
SQL*Net
Tuxedo
Wed Processing
TCP/IP
Server Logic
Solaris
Client Processing
Logic Processing
Client
Logic
C++
Tuxedo
TCP/IP
Windows 98
ﺇﺫﹰﺍ ﻓﺎﻟﺰﺑﻮﻥ ﻫﻮ ﺍﳌﺴﺆﻭﻝ ﺩﺍﺋﻤﹰﺎ ﻋﻦ ﻣﻨﻄﻖ ﺍﻟﻌﺮﺽ .ﻭﺫﻟﻚ ﻣﻦ ﺧﻼﻝ ﺍﳌﺴﺘﻌﺮﺽ ،ﺃﻭ ﺑﻌﺾ
ﻭﺍﺟﻬﺎﺕ ﺍﻻﺳﺘﺨﺪﺍﻡ ﺍﳋﺎﺻﺔ ﺑﺎﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﺨﺘﻠﻔﺔ .ﻭﺗﻜﻮﻥ ﻣﺜﻞ ﻫﺬﻩ ﺍﻟﻮﺍﺟﻬﺎﺕ ﻋﺒﺎﺭﺓ ﻋﻦ
ﻭﺍﺟﻬﺎﺕ ﺍﺳﺘﺨﺪﺍﻡ ﺑﻴﺎﻧﻴﺔ ) (GVIﰲ ﺍﻟﺪﺭﺟﺔ ﺍﻷﻭﱃ .ﻭﻻ ﲣﺘﻠﻒ ﻋﻨﻬﺎ ﻭﺍﺟﻬﺎﺕ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻗﻮﺍﻋﺪ
ﺍﳌﻌﻄﻴﺎﺕ .ﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺗﻌﻠﻴﻘﺎﺕ ﻟﻐﺔ SQLﻓﺈﺎ ﻣﺎﺯﺍﻟﺖ ﻣﺴﺘﺨﺪﻣﺔ ﻟﻠﻮﺻﻮﻝ ﺇﱃ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ،
ﺇﻻ ﺃﻥ ﻭﺍﺟﻬﺎﺕ ) Query-by-Example (QBEﻗﺪ ﺃﺛﺒﺘﺖ ﺷﻌﺒﻴﺘﻬﺎ ﺃﻳﻀﹰﺎ ﰲ ﺍﻻﺳﺘﻌﻼﻡ ﻣﻦ ﻗﻮﺍﻋﺪ
ﺍﳌﻌﻄﻴﺎﺕ .ﺃﺩﺕ ﺳﻬﻮﻟﺔ ﺍﺳﺘﺨﺪﺍﻡ ﻭﺗﻀﻤﲔ ﺍﳌﻘﺪﺭﺍﺕ ﺍﻟﱪﳎﻴﺔ ﻟﱪﺍﻣﺞ ﺳﻄﺢ ﺍﳌﻜﺘﺐ ﺍﳋﺎﺻﺔ ﺑﻘﻮﺍﻋﺪ
ﺍﳌﻌﻄﻴﺎﺕ ﻣﺜﻞ Microsoft + Accessﺇﱃ ﺟﻌﻞ ﺍﳌﺆﺳﺴﺎﺕ ﺗﺴﺘﺨﺪﻡ ﻣﺜﻞ ﻫﺬﻩ ﺍﳌﻨﺘﺠﺎﺕ ﻛﻮﺣﺪﺍﺕ
ﺍﺗﺼﺎﻝ ﺍﻟﻄﺮﻑ ﺍﻷﻣﺎﻣﻲ ،front-endﻣﻊ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺃﻛﺜﺮ ﻗﻮﺓ ﻣﻮﺟﻮﺩﺓ ﰲ ﺍﻟﻄﺮﻑ ﺍﳋﻠﻔﻲ
back-endﻣﺜﻞ ﺃﻭﺭﺍﻛﻞ ،Oracleﻭ .Informixﳝﻜﻦ ﻻﺳﺘﻌﻼﻣﺎﺕ ﻣﻦ ﺍﻟﻨﻮﻉ pass-throughﻳﺘﻢ
ﺑﻨﺎﺅﻫﺎ ﻭﺗﺸﻜﻴﻠﻬﺎ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﺮﻧﺎﻣﺞ ،Accessﺃﻥ ﺗﺸﻐﻞ ﻋﻠﻰ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ Oracleﻣﻮﺟﻮﺩﺓ ﰲ
ﺍﻟﻄﺮﻑ ﺍﳋﻠﻔﻲ ،ﻭﻋﻦ ﻃﺮﻳﻖ ﻫﺬﻩ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﻳﻤﻜﻦ ﺃﻥ ﲢﻘﻖ ﺍﳌﺆﺳﺴﺎﺕ ﺳﺮﻋﺔ ﰲ ﺯﻣﻦ
547 ·j¦
¶WáKE:<W
jME9
ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﻄﻮﻳﺮ ،ﺑﻴﻨﻤﺎ ﺗﻘﻮﻡ ﺑﺎﻻﺳﺘﻔﺎﺩﺓ ﻣﻦ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻣﻦ ﺃﺟﻞ
ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳊﺴﺎﺳﺔ )ﺫﺍﺕ ﺍﳌﻬﺎﻡ ﺍﳊﺮﺟﺔ( ﺍﳋﺎﺻﺔ ﺎ.
QBEM=¶W
:QBEﻫﻲ ﻟﻐﺔ ﺑﻴﺎﻧﻴﺔ ﺗﺴﺘﺨﺪﻡ ﰲ ﻧﻄﺎﻕ ﻭﺍﺳﻊ ﻣﻦ ﺃﺟﻞ ﺍﻟﺘﻌﺎﻣﻞ ﺍﳌﺒﺎﺷﺮ ﻣﻊ ﺍﺳﺘﻌﻼﻣﺎﺕ ﻗﻮﺍﻋﺪ
ﺍﳌﻌﻄﻴﺎﺕ ،ﺣﻴﺚ ﺗﻘﻮﻡ ﺑﺈﻧﺸﺎﺀ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻃﺮﻕ ﺑﻴﺎﻧﻴﺔ .ﻭﻣﺼﻄﻠﺢ QBEﻫﻮ ﺍﺧﺘﺼﺎﺭ
ﻟﻠﺠﻤﻠﺔ Query-By-Exampleﻋﻠﻰ ﺍﻟﺮﻏﻢ ﻣﻦ ﺃﻥ ﻟﻐﺔ QBEﻟﻴﺴﺖ ﻣﻌﻴﺎﺭﹰﺍ ﻋﺎﻟﻴﹰﺎ ﻣﺜﻞ ﻟﻐﺔ ،SQL
ﺇﻻ ﺃﺎ ﻛﺎﻧﺖ ﻭﺍﺳﻌﺔ ﺍﻻﻧﺘﺸﺎﺭ ﻟﺴﻨﻮﺍﺕ ﻋﺪﺓ ﻭﻣﺎ ﺯﺍﻟﺖ ﻛﺬﻟﻚ ﺣﱴ ﺍﻵﻥ ،ﻭﺧﺼﻮﺻﹰﺎ ﰲ ﺳﻮﻕ
ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺨﺼﺼﺔ ﻟﻠﺤﻮﺍﺳﻴﺐ ﺍﻟﺸﺨﺼﻴﺔ )ﺳﻮﻕ .(PC-RDBMSﳚﺪ ﻏﺎﻟﺐ ﺍﻟﻨﺎﺱ
ﺍﻟﺮﺍﻏﺒﲔ ﰲ ﺍﻻﺳﺘﻔﺴﺎﺭ ﻭﺍﻟﺒﺤﺚ ﰲ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻫﺬﻩ ﺍﻟﻠﻐﺔ ﺳﻬﻠﺔ ﺍﻟﺘﻌﻠﻢ ،ﻭﺳﻬﻮﻟﺘﻬﺎ ﻫﺬﻩ
ﺟﻌﻠﺘﻬﺎ ﻟﻐﺔ ﺷﺎﺋﻌﺔ ﺍﻻﺳﺘﺨﺪﺍﻡ ﰲ ﺗﻄﻮﻳﺮ ﺍﻟﻨﻤﺎﺫﺝ ﺍﻷﻭﻟﻴﺔ ﻭﺑﺎﻋﺘﺒﺎﺭ ﺃﻥ ﺑﻌﺾ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ
ﻣﺜﻞ Microsoft Accessﺗﻘﻮﻡ ﺑﺘﺮﲨﺔ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﳌﻜﺘﻮﺑﺔ ﺑﻠﻐﺔ QBEﺇﱃ ﺍﺳﺘﻌﻼﻣﺎﺕ ﻣﻜﺘﻮﺑﺔ ﺑﻠﻐﺔ
،SQLﻓﺈﻥ ﻟﻐﺔ QBEﳝﻜﻦ ﺃﻥ ﺗﺴﺘﺨﺪﻡ ﻋﻠﻰ ﺍﻷﻗﻞ ﻛﻤﺮﺣﻠﺔ ﺃﻭﱃ ﰲ ﺇﻧﺸﺎﺀ ﺷﻴﻔﺮﺓ .SQLﻛﻤﺎ ﳝﻜﻦ
ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻨﻈﻢ ﺍﳌﻌﺘﻤﺪﺓ ﻋﻠﻰ QBEﻹﻧﺸﺎﺀ ﺷﻴﻔﺮﺓ SQLﰲ ﺑﻨﺎﺀ ﻭﺣﺪﺍﺕ ﻃﺒﻘﺔ ﺍﻟﻌﺮﺽ ﺃﻭ
ﻭﺣﺪﺍﺕ ﺍﻟﺰﺑﻮﻥ ﺍﻟﱵ ﺗﻘﻮﻡ ﺑﺎﻟﻮﺻﻮﻝ ﺇﱃ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺍﳌﺨﺪﻡ.
ϡΪΨΘδΗ ΚϴΣ ˬΕΎϴτόϤϟ ΪϋϮϗ ΕΎϣϼόΘγ ϊϣ ήηΎΒϤϟ ϞϣΎόΘϟ ϞΟ Ϧϣ Δϐϟ ϲϫ :QBE Δϐϟ
ﻭﺳﻨﻘﻮﻡ ﰲ ﻫﺬﻩ ﺍﻟﻔﻘﺮﺓ ﺑﺪﺭﺍﺳﺔ ﶈﺔ ﻋﻦ ﻟﻐﺔ QBEﻭﻋﻦ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﻗﺪﺭﺍﺎ ﰲ ﺑﻨﺎﺀ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ.
QBEM=AMEæ¥KMEBT
ﰎ ﺗﻄﻮﻳﺮ ﻟﻐﺔ QBEﻣﻦ ﻗﺒﻞ Zloofﻋﺎﻡ 1977ﻣﻦ ﺃﺟﻞ ﻋﻤﻠﻴﺎﺕ ﻣﻌﺎﳉﺔ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ
ﺍﳌﺨﺼﺼﺔ ﻟﻠﻌﻤﻞ ﻋﻠﻰ ﳏﻄﺎﺕ ﻋﻤﻞ ﺍﳊﺎﺳﺒﺎﺕ ﺍﻟﻀﺨﻤﺔ ﰲ ﺍﻟﺒﺪﺍﻳﺔ ،ﻭﻟﻜﻦ ﻣﺎ ﻟﺒﺜﺖ ﺃﻥ ﴰﻠﺖ
ﻋﻤﻠﻴﺎﺕ ﻣﻌﺎﳉﺔ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺨﺼﺼﺔ ﻟﻠﻌﻤﻞ ﻋﻠﻰ ﺍﳊﻮﺍﺳﻴﺐ ﺍﻟﺸﺨﺼﻴﺔ ،ﺃﻭ ﰲ ﻧﻈﻢ
ﳐﺪﻡ/ﺯﺑﻮﻥ ﺣﻴﺚ ﻛﺎﻧﺖ ﰲ ﺍﻟﺒﺪﺍﻳﺔ ﻣﺘﺎﺣﺔ ﻟﻠﻌﻤﻞ ﰲ ﻧﻈﺎﻣﻲ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ SQL/DSﻭDB2
ﺍﳌﻮﺟﻮﺩﺓ ﻋﻠﻰ ﺣﻮﺍﺳﻴﺐ ﻣﻦ ﺻﻨﻊ ،IBMﻭﻗﺪ ﻛﺎﻥ paradoxﺃﻭﻝ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ
ﻋﻼﺋﻘﻲ ﻋﻠﻰ ﺣﺎﺳﺐ ﺷﺨﺼﻲ ﻳﻌﺘﻤﺪ ﻛﻠﻴﹰﺎ ﻋﻞ ﻟﻐﺔ ،QBEﻭﻗﺪ ﺃﺩﻯ ﳒﺎﺣﻪ ﺇﱃ ﺗﺸﺠﻴﻊ ﺍﳌﻨﺘﺠﺎﺕ
>a Kf8 548
ﺍﻷﺧﺮﻯ ﻋﻠﻰ ﺗﺒﲏ ﻭﺍﺟﻬﺔ ﻟﻐﺔ QBEﻛﺄﺣﺪ ﺧﻴﺎﺭﺍﺎ .ﻭﺃﺻﺒﺤﺖ ﺍﻵﻥ ﻣﻌﻈﻢ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ
ﻼ ﻟﻠﻐﺔ .QBE
ﺍﳌﻌﻄﻴﺎﺕ ﺍﳊﺎﻟﻴﺔ ﺗﺘﻀﻤﻦ ﺑﺪﺍﺋ ﹰ
ﺗﻌﺘﱪ ﺩﺭﺍﺳﺔ ﻟﻐﺔ QBEﺃﺳﺎﺳﻴﺔ ﻣﻦ ﺃﺟﻞ ﻓﻬﻢ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳊﺪﻳﺜﺔ .ﺣﻴﺚ ﺃﻥ ﻟﻐﺎﺕ
ﺍﻟﱪﳎﺔ ﺍﳌﺮﺋﻴﺔ )ﻣﺜﻞ Visual Basicﻭ Visual Cﻭ (Visual Javaﻗﺪ ﻏﲑﺕ ﺍﻟﻄﺮﻕ ﺍﻟﱵ ﺗﻜﺘﺐ ﻓﻴﻬﺎ
ﺍﻟﱪﺍﻣﺞ ،ﻭﻗﺪ ﺑﻴﻨﺖ ﺩﺭﺍﺳﺎﺕ ﳐﱪﻳﺔ )ﻣﺜﻞ ﺩﺭﺍﺳﺎﺕ (Greenblatt and Waxman, 1978ﻭﺩﺭﺍﺳﺎﺕ
(Thomas and Gould, 1975ﺃﻧﻪ ﺣﱴ ﻣﻊ ﺍﻟﻘﻠﻴﻞ ﻣﻦ ﺍﻟﺘﺪﺭﻳﺐ ،ﻓﺈﻥ ﺍﻟﻄﻼﺏ ﻭﺟﺪﻭﺍ ﺃﻥ ﻟﻐﺔ SQL
ﺃﺳﻬﻞ ﻣﻦ ﻟﻐﺔ ﺍﳉﱪ ﺍﻟﻌﻼﺋﻘﻲ ،ﻭﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺃﻧﻪ ﻣﻀﻰ ﻋﻠﻰ ﻫﺬﻩ ﺍﻟﺪﺭﺍﺳﺎﺕ ﻋﻘﺪﻳﻦ ﻣﻦ ﺍﻟﺰﻣﻦ ،ﺇﻻ
ﺃﻧﻪ ﻻ ﺗﻮﺟﺪ ﻟﻐﺔ ﺍﺳﺘﻌﻼﻣﺎﺕ ﻗﺪ ﰎ ﺗﻄﻮﻳﺮﻫﺎ ﻭﺗﻐﻠﺒﺖ ﻋﻠﻰ ﺍﻟﻠﻐﺔ .QBE
ﺇﻥ ﻟﻐﺔ QBEﻣﻔﻴﺪﺓ ﺑﺸﻜﻞ ﺧﺎﺹ ﻟﻠﻤﺴﺘﺨﺪﻣﲔ ﺍﻟﻨﻬﺎﺋﻴﲔ ﺍﳌﺨﺘﺼﲔ ﺑﱪﳎﺔ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ،
ﻭﺫﻟﻚ ﻷﻥ ﺑﻴﺌﺎﺕ ﺍﻟﱪﳎﺔ ﺍﳌﺮﺋﻴﺔ ﺩﺍﺋﻤﹰﺎ ﺗﻌﻄﻲ ﺍﳌﺴﺘﺨﺪﻣﲔ ﻏﲑ ﺍﳌﱪﳎﲔ )ﻏﲑ ﺍﳌﺨﺘﺼﲔ ﺑﺎﻟﱪﳎﺔ(
ﻧﻈﺮﺓ ﻭﺣﻴﺪﺓ ﻟﻠﻤﻌﻄﻴﺎﺕ ﻣﻬﻤﺎ ﻛﺎﻧﺖ ﺍﳌﻬﻤﺔ ﺍﻟﱵ ﺗﻨﻔﺬ ﰲ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ .ﻭﻛﻤﺎ ﺳﺘﺮﻯ ﻻﺣﻘﹰﺎ
ﻓﺈﻧﻪ ﳝﻜﻦ ﺗﻄﻮﻳﺮ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺑﺸﻜﻞ ﺗﻔﺎﻋﻠﻲ ﻋﻠﻰ ﺷﺎﺷﺎﺕ ﺍﻷﺷﻌﺔ ﺍﳌﻬﺒﻄﻴﺔ CRTﺑﺼﻴﻐﺔ ﺗﻘﻮﻡ
ﺑﺘﺠﻤﻴﻊ ﺍﳋﺮﺝ ﺍﳌﻄﻠﻮﺏ )ﻭﻫﺬﺍ ﻣﺎ ﺭﺃﻳﻨﺎﻩ ﰲ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﱐ( .ﺣﻴﺚ ﺗﻌﺮﺽ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﻭﺍﻟﻨﺘﺎﺋﺞ
ﰲ ﻣﻌﻈﻢ ﺍﻟﱪﺍﻣﺞ ﺑﺎﻟﺼﻴﻐﺔ ﻧﻔﺴﻬﺎ ،ﻭﻏﺎﻟﺒﹰﺎ ﻣﺎ ﺗﻜﻮﻥ ﻫﺬﻩ ﺍﻟﺼﻴﻐﺔ ﻣﻦ ﳕﻂ ﺍﳉﺪﺍﻭﻝ ﺍﻹﻟﻜﺘﺮﻭﻧﻴﺔ.
ﻋﻠﻰ ﺍﻟﺮﻏﻢ ﻣﻦ ﺃﻧﻪ ﳝﻜﻦ ﻛﺘﺎﺑﺔ ﺗﻄﺒﻴﻘﺎﺕ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺑﻮﺳﺎﻃﺔ ﻟﻐﺔ QBEﺑﺸﻜﻞ ﻛﺎﻣﻞ ،ﻭﻟﻜﻦ
ﻣﻦ ﺍﻟﺸﺎﺋﻊ ﺍﺳﺘﺨﺪﺍﻡ ﻟﻐﺔ QBEﻣﻦ ﺃﺟﻞ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﻟﺘﻔﺎﻋﻠﻴﺔ ،ﻭﻋﻤﻠﻴﺎﺕ ﺗﻌﺪﻳﻞ ﻗﻮﺍﻋﺪ
ﺍﳌﻌﻄﻴﺎﺕ .ﻭﻫﺬﺍ ﻳﻌﲏ ﺃﻥ ﻟﻐﺔ QBEﻣﻔﻴﺪﺓ ﺑﺸﻜﻞ ﺧﺎﺹ ﻣﻦ ﺃﺟﻞ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﻌﺸﻮﺍﺋﻴﺔ ﳌﻌﺎﳉﺔ
ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﺑﺎﻟﺘﺎﱄ ﺑﺪ ﹰﻻ ﻣﻦ ﺗﻄﻮﻳﺮ ﺗﻄﺒﻴﻖ ﻛﺎﻣﻞ ﺑﻠﻐﺔ ،QBEﻓﺈﻧﻪ ﻣﻦ ﺍﻟﺸﺎﺋﻊ ﺍﺳﺘﺨﺪﺍﻡ ﻟﻐﺔ
QBEﻣﻦ ﺃﺟﻞ ﺑﻨﺎﺀ ﳕﻮﺫﺝ ﺃﻭﱄ ﻟﻠﺘﻄﺒﻴﻖ ،ﻭﺣﻔﻆ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﻟﱵ ﰎ ﺗﻄﻮﻳﺮﻫﺎ ﻭﺑﻌﺪﺋ ٍﺬ ﻳﺘﻢ
ﲢﺴﲔ ﻫﺬﻩ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﶈﻔﻮﻇﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺃﺩﻭﺍﺕ ﺗﻮﻟﻴﺪ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ،ﻣﺜﻞ ﻣﻮﻟﺪﺍﺕ ﺍﻟﺘﻘﺎﺭﻳﺮ
ﻭﻣﻮﻟﺪﺍﺕ ﺍﻟﻨﻤﺎﺫﺝ ﻭﻣﻮﻟﺪﺍﺕ ﺍﻟﺸﺎﺷﺎﺕ ،ﻭﻋﻦ ﻃﺮﻳﻖ ﺇﺿﺎﻓﺔ ﺃﺟﺰﺍﺀ ﻣﻦ ﺍﻟﺸﻴﻔﺮﺓ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻟﻐﺔ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺮﺗﺒﻄﺔ ﺑﻨﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﻣﻦ ﺃﺟﻞ ﺃﻏﺮﺍﺽ ﲣﺼﻴﺺ ﺍﻟﺴﻠﻮﻙ.
QBEM=KE K
ﻻ ﻳﻮﺟﺪ ﻣﻌﻴﺎﺭ ﺭﲰﻲ ﻟﻠﻐﺔ QBEﻛﺎﻟﺬﻱ ﰎ ﺗﻌﺮﻳﻔﻪ ﻟﻠﻐﺔ ،SQLﻭﳍﺬﺍ ﺍﻟﺴﺒﺐ ﻓﺈﻧﻪ ﻻ ﺗﻮﺟﺪ
ﳎﻤﻮﻋﺔ ﺃﺻﻐﺮﻳﺔ ﻣﻦ ﺍﳌﻤﻴﺰﺍﺕ ﻭﺍﻟﻘﺪﺭﺍﺕ ﺍﻟﱵ ﳚﺐ ﺃﻥ ﺗﺘﻤﺘﻊ ﺎ ﻭﺍﺟﻬﺔ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﻟﻜﻲ ﺗﻌﺘﱪ
ﲢﻘﻴﻘﹰﺎ ﻟﻠﻐﺔ .QBEﻭﻟﻜﻦ ﺑﺎﻋﺘﺒﺎﺭ ﺃﻥ ﻟﻐﺔ QBEﰎ ﺇﻃﻼﻗﻬﺎ ﺑﺎﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﺃﲝﺎﺙ ﲤﺖ ﻋﻠﻰ ﻟﻐﺎﺕ
ﺍﺳﺘﻌﻼﻡ ،ﻭﺑﺎﻋﺘﺒﺎﺭ ﺃﻧﻪ ﰎ ﺟﻌﻞ ﺍﻟﻮﺍﺟﻬﺎﺕ ﺍﻟﺒﻴﺎﻧﻴﺔ ﻟﻮﻳﻨﺪﻭﺯ Windowsﻗﻴﺎﺳﻴﺔ ،ﻭﻛﺬﻟﻚ ﺑﺎﻋﺘﺒﺎﺭ ﺃﻥ
ﻟﻐﺔ QBEﻧﻔﺴﻬﺎ ﻟﻐﺔ ﻣﺮﺋﻴﺔ ،ﻓﺈﻥ ﻛﻞ ﺫﻟﻚ ﺩﻓﻊ ﺍﻟﺒﺎﻋﺔ ﺇﱃ ﺍﻋﺘﻤﺎﺩ ﻃﺮﻗﹰﺎ ﻣﺸﺎﺔ ﻟﻠﻐﺔ .QBE
549 ·j¦
¶WáKE:<W
jME9
ﳝﻜﻦ ﺇﺟﺮﺍﺀ ﻋﻤﻠﻴﺎﺕ ﺍﺳﺘﺮﺟﺎﻉ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺗﻌﺪﻳﻠﻬﺎ ﻋﻦ ﻃﺮﻳﻖ ﺇﺩﺧﺎﻝ ﻛﻠﻤﺎﺕ ﻣﻔﺘﺎﺣﻴﺔ ﺃﻭ ﺛﻮﺍﺑﺖ
ﺃﻭ ﺃﻣﺜﻠﺔ ﻋﻠﻰ ﻣﻌﻄﻴﺎﺕ ﺇﱃ ﺧﻼﻳﺎ ﻭﺍﺟﻬﺔ ﺇﻇﻬﺎﺭ ﺍﳉﺪﻭﻝ .ﻭﺑﺎﻋﺘﺒﺎﺭ ﺃﻥ ﺗﻌﺎﺭﻳﻒ ﺍﳌﻌﻄﻴﺎﺕ ﺗﺨﺰﻥ ﰲ
ﺟﺪﺍﻭﻝ ﺩﺍﺧﻠﻴﺔ ،ﻓﺈﻥ ﻋﻤﻠﻴﺎﺕ ﺗﻌﺮﻳﻒ ﺍﳌﻌﻄﻴﺎﺕ ﺗﺘﻢ ﻋﻦ ﻃﺮﻳﻖ ﻭﺍﺟﻬﺎﺕ ﺇﻇﻬﺎﺭ ﻟﻠﺠﺪﺍﻭﻝ .ﻋﻨﺪ
ﺍﻟﻀﻐﻂ ﻋﻠﻰ ﺯﺭٍ SQLﰲ ) MS Accessﻭﺍﻟﺬﻱ ﻧﺴﺘﺨﺪﻣﻪ ﻣﻊ ﺃﻭﺭﺍﻛﻞ ﻣﻦ ﺃﺟﻞ ﺍﻷﻣﺜﻠﺔ ﺍﻟﺘﻮﺿﻴﺤﻴﺔ
ﰲ ﻫﺬﺍ ﺍﻟﻔﺼﻞ( ﻓﺈﻥ ﺫﻟﻚ ﺳﻮﻑ ﻳﻌﺮﺽ ﺷﻴﻔﺮﺓ SQLﺑﱪﻧﺎﻣﺞ Accessﻭﺍﻟﺬﻱ ﰎ ﺗﻮﻟﻴﺪﻩ ﻛﺸﻴﻔﺮﺓ
SQLﻣﻮﺍﻓﻘﺔ ﻟﻼﺳﺘﻌﻼﻡ ﻣﺒﲏ ﺑﻠﻐﺔ QBEﻳﺒﲔ ﺍﻟﺸﻜﻞ ) (9-9ﻫﺮﻣﻴﺔ ﺍﻻﺳﺘﺨﺪﺍﻡ ﰲ Microsoft Access
ﺣﻴﺚ ﺗﻮﺟﺪ ﰲ ﻗﺎﻋﺪﺓ ﺍﳍﺮﻡ )ﺍﳌﺴﺘﻮﻯ ﺍﻷﻭﻝ( ﺍﻷﻏﺮﺍﺽ ﺍﻟﱵ ﺗﺴﻤﺢ ﺑﺈﻧﺸﺎﺀ ﺍﳉﺪﺍﻭﻝ
ﻭﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﻭﺍﻟﻨﻤﺎﺫﺝ ﻭﺍﻟﺘﻘﺎﺭﻳﺮ ،ﺩﻭﻥ ﺃﻥ ﻳﺘﻄﻠﺐ ﺫﻟﻚ ﻣﻌﺮﻓﺔ ﻣﺴﺒﻘﺔ ﰲ ﺍﻟﱪﳎﺔ .ﺃﻣﺎ ﰲ
ﺍﳌﺴﺘﻮﻯ ﺍﻟﺜﺎﱐ ﻣﻦ ﺍﳍﺮﻡ ﻓﺘﻮﺟﺪ ﺍﻟﺘﻌﺎﺑﲑ ﻭﺍﻟﺘﻮﺍﺑﻊ ﺍﻟﱵ ﺗﺴﺘﺨﺪﻡ ﻹﺟﺮﺍﺀ ﺑﻌﺾ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﺒﺴﻴﻄﺔ
ﻣﺜﻞ ﻋﻤﻠﻴﺎﺕ ﺟﺪﺍﺀ ﺍﳊﻘﻮﻝ ،ﺃﻭ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﻼﺣﻴﺔ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﺣﱴ ﳝﻜﻦ ﺗﻄﺒﻴﻖ ﻗﻮﺍﻋﺪ
ﻋﻤﻞ ﻣﻌﻴﻨﺔ .ﻭﺗﻮﺟﺪ ﰲ ﺍﳌﺴﺘﻮﻯ ﺍﻟﺜﺎﻟﺚ ﻣﻦ ﺍﳍﺮﻡ ﻭﺣﺪﺍﺕ ﺍﳌﺎﻛﺮﻭ ) (macroﺍﳌﺨﺰﻧﺔ ﺑﺸﻜﻞ ﻣﺴﺒﻖ ،ﻭﻫﻲ
ﻭﺣﺪﺍﺕ ﻣﻦ ﺍﻟﺸﻴﻔﺮﺓ ﻣﻜﺘﻮﺑﺔ ﺑﻠﻐﺔ ﻓﻴﺠﻮﺍﻝ ﺑﻴﺴﻚ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ )Visual Basic for Application (VBA
ﻭﺍﻟﱵ ﳝﻜﻦ ﺃﻥ ﻳﺴﺘﻔﻴﺪ ﻣﻨﻬﺎ ﺍﳌﺴﺘﺨﺪﻣﻮﻥ ﰲ ﺃﲤﺘﺔ ﺗﻄﺒﻴﻘﺎﻢ ،ﻭﻻ ﻳﺘﻄﻠﺐ ﺫﻟﻚ ﻣﻌﺮﻓﺔ ﺻﺮﳛﺔ ﺑﻠﻐﺔ
.VBAﳝﻜﻦ ﺃﻥ ﻳﻘﻮﻡ ﺍﳌﱪﳎﻮﻥ ﰲ ﺍﳌﺴﺘﻮﻯ ﺍﻟﺮﺍﺑﻊ ﺑﻜﺘﺎﺑﺔ ﻭﺣﺪﺍﺕ ﺍﳌﺎﻛﺮﻭ ﺍﳋﺎﺻﺔ ﻢ ﺑﺎﺳﺘﺨﺪﺍﻡ
،VBAﻣﻦ ﺃﺟﻞ ﺿﺒﻂ ﻭﲣﺼﻴﺺ ﺗﻄﺒﻴﻘﺎﻢ .ﺃﻣﺎ ﰲ ﻗﻤﺔ ﺍﳊﺰﻡ ﻓﺘﻮﺟﺪ ﺍﺳﺘﺪﻋﺎﺀﺍﺕ ﺗﻮﺍﺑﻊ ﻭﻣﻠﻔﺎﺕ
ﺭﺑﻂ DLLﻣﻦ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﱪﳎﻴﺔ ﻟﻨﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻭﻳﻨﺪﻭﺯ ،Windows APIﻭﺍﻟﱵ ﺗﻜﻮﻥ ﻣﻜﺘﻮﺑﺔ
ﺑﻠﻐﺎﺕ ﺑﺮﳎﺔ ﺃﺧﺮﻯ ﻣﺜﻞ Cﺃﻭ Javaﺃﻭ ،Visual Basicﻭﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻟﻜﺘﺎﺑﺔ ﻭﺍﺟﻬﺎﺕ
ﻟﱪﺍﻣﺞ ﻭﻣﺼﺎﺩﺭ ﻣﻌﻄﻴﺎﺕ ﺃﺧﺮﻯ.
ﺗﺰﻭﺩﻧﺎ ﻟﻐﺔ QBEﺑﻄﺮﻳﻘﺔ ﻣﺮﺋﻴﺔ ﺑﺴﻴﻄﺔ ﻹﻧﺸﺎﺀ ﺍﺳﺘﻌﻼﻣﺎﺕ ﺟﻴﺪﺓ .ﻗﺪ ﻳﺘﻢ ﺍﻗﺘﺼﺎﺩ ﺍﳌﻌﻄﻴﺎﺕ
ﺍﳌﻄﻠﻮﺏ ﻋﺮﺿﻬﺎ ﲟﺠﻤﻮﻋﺔ ﳏﺪﺩﺓ ﻣﻦ ﺍﻷﻋﻤﺪﺓ ﻭﺍﻟﺴﺠﻼﺕ ﺍﻟﱵ ﲤﺘﻠﻚ ﺍﻟﻘﻴﻢ ﺍﳌﻄﻠﻮﺑﺔ ،ﲤﺎﻣﹰﺎ ﻛﻤﺎ
ﰲ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﻣﻦ ﻋﻨﺪﻣﺎ ﺍﺳﺘﺨﺪﻣﻨﺎ ﻟﻐﺔ .SQLﻭﳝﻜﻦ ﺑﻮﺳﺎﻃﺔ ﺍﻟﻀﻐﻂ ﻋﻠﻰ ﺯﺭ SQLﰲ ﻟﻮﺣﺔ
QBEﰲ Accessﺇﻇﻬﺎﺭ ﺷﻴﻔﺮﺓ SQLﺍﳋﺎﺻﺔ ﺑـ Accessﻭﺍﳌﻮﺍﻓﻘﺔ ﻟﻼﺳﺘﻌﻼﻡ ﺑﻠﻐﺔ QBEﰲ
.Access
ﻳﺒﲔ ﺍﻟﺸﻜﻞ ) (9-10ﻟﻮﺣﺔ QBEﰲ ،Accessﺣﻴﺚ ﲤﺘﻠﻚ ﻫﺬﻩ ﺍﻟﻠﻮﺣﺔ ﰲ ﺟﺰﺋﻬﺎ ﺍﻷﻋﻠﻰ ﻣﺴﺎﺣﺔ
ﻋﻤﻞ ﲢﺘﻮﻱ ﻋﻠﻰ ﳕﻮﺫﺝ ﻣﻌﻄﻴﺎﺕ ﺍﳉﺪﺍﻭﻝ ﺍﻟﺪﺍﺧﻠﺔ ﰲ ﺍﻻﺳﺘﻌﻼﻡ ﻗﻴﺪ ﺍﻟﺒﻨﺎﺀ .ﻭﺗﻈﻬﺮ ﺍﻟﻌﻼﻗﺎﺕ
ﺍﳌﻨﺸﺄﺓ ﻣﺴﺒﻘﹰﺎ ﰲ ﻫﺬﺍ ﺍﻟﻨﻤﻮﺫﺝ ﺑﺸﻜﻞ ﺁﱄ ،ﻛﻤﺎ ﺃﻧﻪ ﰲ ﺑﻌﺾ ﺍﻷﺣﻴﺎﻥ ﻗﺪ ﺗﻠﺰﻡ ﻋﻼﻗﺎﺕ ﺃﺧﺮﻯ
ﻻﺳﺘﻌﻼﻡ ﻭﺍﺣﺪ ﳝﻜﻦ ﺇﻧﺸﺎﺅﻫﺎ ﰲ ﻟﻮﺣﺔ QBEﻧﻔﺴﻬﺎ .ﺃﻣﺎ ﺍﳉﺰﺀ ﺍﻟﺴﻔﻠﻲ ﻣﻦ ﻟﻮﺣﺔ QBE
ﻓﻴﺴﻤﻰ ﻟﻮﺣﺔ ﺗﺼﻤﻴﻢ ﺍﻻﺳﺘﻌﻼﻡ ﺃﻭ ﺷﺒﻜﺔ ،QBEﺗﻈﻬﺮ ﻫﺬﻩ ﺍﻟﺸﺒﻜﺔ ﳕﻮﺫﺝ ﻣﻦ ﳕﻂ ﺍﳉﺪﺍﻭﻝ
ﺍﻻﻟﻜﺘﺮﻭﻧﻴﺔ ،ﺗﻮﺿﻊ ﻓﻴﻪ ﺍﳊﻘﻮﻝ ﺍﻟﻼﺯﻣﺔ ﻟﻼﺳﺘﻌﻼﻡ ﺃﻭ ﺷﺒﻜﺔ ،QBEﺗﻈﻬﺮ ﻫﺬﻩ ﺍﻟﺸﺒﻜﺔ ﳕﻮﺫﺝ ﻣﻦ
ﳕﻂ ﺍﳉﺪﺍﻭﻝ ﺍﻹﻟﻜﺘﺮﻭﻧﻴﺔ ،ﺗﻮﺿﻊ ﻓﻴﻪ ﺍﳊﻘﻮﻝ ﺍﻟﻼﺯﻣﺔ ﻟﻼﺳﺘﻌﻼﻡ ،ﺇﺿﺎﻓﺔ ﺇﱃ ﻣﻌﺎﻳﲑ ﻓﻠﺘﺮﺓ ﻭﺗﺼﻨﻴﻒ
ﺍﳌﻌﻄﻴﺎﺕ ﰲ ﺍﻻﺳﺘﻌﻼﻡ .ﳛﺘﻮﻱ ﻛﻞ ﻋﻤﻮﺩ ﰲ ﺷﺒﻜﺔ QBEﻋﻠﻰ ﻣﻌﻠﻮﻣﺎﺕ ﻋﻦ ﺣﻘﻞ ﻣﻌﲔ ﻣﻦ
ﺃﺣﺪ ﺍﳉﺪﺍﻭﻝ ﺍﳌﻮﺟﻮﺩﺓ ﰲ ﺍﻟﻠﻮﺣﺔ ﺍﻟﻌﻠﻴﺎ ،ﺃﻭ ﻣﻦ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﳌﻮﺟﻮﺩﺓ ﰲ ﺍﻟﻠﻮﺣﺔ ﻧﻔﺴﻬﺎ .ﻳﻈﻬﺮ
ﺍﻟﺸﻜﻞ ) (9-10ﻟﻮﺣﺔ QBEﺍﳋﺎﺻﺔ ﺑﺎﺳﺘﻌﻼﻡ ﺍﻻﺧﺘﻴﺎﺭ ﺃﻭ ﺍﻻﺳﺘﺮﺟﺎﻉ ﺍﳌﻄﺒﻖ ﻋﻠﻰ ﺍﳉﺪﻭﻟﲔ
Productﻭ ،Order_Lineﻭﺍﻟﺬﻱ ﻳﻘﻮﻡ ﺑﺎﺳﺘﺮﺟﺎﻉ ﻣﻌﻠﻮﻣﺎﺕ ﺣﻮﻝ ﺍﻟﻄﻠﺒﻴﺎﺕ ﺍﻟﱵ ﲢﺘﻮﻱ ﻛﻞ ﻣﻨﻬﺎ
ﻋﻠﻰ ﺍﳌﻨﺘﺠﺎﺕ ﺍﻟﱵ ﰎ ﻃﻠﺒﻬﺎ .ﺗﺴﻤﻰ ﺍﻟﻨﺘﺎﺋﺞ ﺍﳌﻌﺮﻭﺿﺔ ﰲ ﺍﻟﺸﻜﻞ ) (9-11ﺑﺎﻤﻮﻋﺔ ﺍﻟﺪﻳﻨﺎﻣﻜﻴﺔ،
ﻷﻥ ﻫﺬﻩ ﺍﻟﻨﺘﺎﺋﺞ ﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺃﺎ ﺗﺸﺒﻪ ﺍﳉﺪﻭﻝ ،ﺇﻻ ﺃﺎ ﻟﻴﺴﺖ ﺟﺪﻭﻝ ﺣﻘﻴﻘﻲ ،ﻭﺇﳕﺎ ﻋﺒﺎﺭﺓ ﻋﻦ
ﳎﻤﻮﻋﺔ ﺍﻓﺘﺮﺍﺿﻴﺔ ﻣﻦ ﺍﻟﺴﺠﻼﺕ ﻻ ﻳﺘﻢ ﲣﺰﻳﻨﻬﺎ ﰲ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ .ﻳﻈﻬﺮ ﺍﻟﺸﻜﻞ ) (9-12ﺷﻴﻔﺮﺓ
SQLﰲ Accessﺍﳌﻮﺍﻓﻖ ﳍﺬﺍ ﺍﻻﺳﺘﻌﻼﻡ.
ﺗﺘﻤﺜﻞ ﳏﺎﺳﻦ ﺍﻤﻮﻋﺔ ﺍﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ ﺑﺄﻥ ﻭﺳﻴﻂ ﺍﻟﺘﺨﺰﻳﻦ ﺳﻴﺘﻄﻠﺐ ﺣﺠﻤﹰﺎ ﺃﺻﻐﺮ ،ﻭﺑﺄﻧﻪ ﻋﻨﺪ ﺗﺸﻐﻴﻞ
ﺍﻻﺳﺘﻌﻼﻡ ﰲ ﺃﻱ ﻭﻗﺖ ﺁﺧﺮ ،ﻓﺈﻧﻪ ﺳﻴﺘﻢ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻨﺴﺨﺔ ﺍﳊﺎﻟﻴﺔ ﻣﻦ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﱵ
ﺳﺘﺤﺘﻮﻱ ﺍﻟﺴﺠﻼﺕ ﲟﺎ ﻓﻴﻬﺎ ﺍﳌﻀﺎﻓﺔ ﺃﻭ ﺍﳌﻌﺪﻟﺔ ﻣﻨﺬ ﺁﺧﺮ ﺗﺸﻐﻴﻞ ﻟﻼﺳﺘﻌﻼﻡ ﻧﻔﺴﻪ .ﻭﺑﺎﻟﺘﺎﱄ ﻓﺈﻥ
ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺳﺘﺘﺼﺮﻑ ﻛﺎﳌﻨﺎﻇﺮ ﺍﻟﻌﻼﺋﻘﻴﺔ ﺍﻟﱵ ﲤﺖ ﻣﻨﺎﻗﺸﺘﻬﺎ ﰲ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﻣﻦ .ﻭﺇﺫﺍ ﺭﻏﺒﺖ
ﺑﺘﺨﺰﻳﻦ ﻧﺘﺎﺋﺞ ﺍﻻﺳﺘﻌﻼﻡ ﰲ ﺟﺪﻭﻝ ﺟﺪﻳﺪ ،ﻓﺎﺳﺘﺨﺪﻡ ﺍﻻﺳﺘﻌﻼﻡ .make-table
ﺇﻥ ﻣﺮﺍﺟﻌﺔ ﺳﺮﻳﻌﺔ ﻟﻼﺳﺘﻌﻼﻣﺎﺕ ﻣﺘﻌﺪﺩﺓ ﺍﳉﺪﺍﻭﻝ ﰲ ) SQLﰲ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﻣﻦ( ﻛﻔﻴﻠﺔ ﺑﺘﺬﻛﲑﻙ
ﺑﺎﳌﺘﻄﻠﺒﺎﺕ ﺍﻟﻼﺯﻣﺔ ﻟﺘﺤﺪﻳﺪ ﺍﳉﺪﺍﻭﻝ ﺍﳌﻄﻠﻮﺑﺔ ﰲ ﺍﻻﺳﺘﻌﻼﻡ ،ﻭﻛﺬﻟﻚ ﳎﻤﻮﻋﺔ ﻋﻼﻗﺎﺕ ﺍﳌﺴﺎﻭﺍﺓ ﺑﲔ
ﻫﺬﻩ ﺍﳉﺪﺍﻭﻝ .ﺇﻥ ﻫﺬﻩ ﺍﻟﻮﺻﻼﺕ )ﺍﻻﺭﺗﺒﺎﻃﺎﺕ( ﻗﺪ ﺗﻜﻮﻥ ﻣﺴﺘﻬﻠﻜﺔ ﻟﻠﻮﻗﺖ ﻋﻨﺪ ﻛﺘﺎﺑﺔ ﺷﻴﻔﺮﺓ
.SQLﻳﺘﻢ ﲢﻘﻴﻖ ﻫﺬﻩ ﺍﻻﺭﺗﺒﺎﻃﺎﺕ ﰲ QBEﰲ Access 2000ﻋﻨﺪﻣﺎ ﻳﺘﻢ ﺍﻟﺘﺼﺮﻳﺢ ﻋﻦ ﺍﻟﻌﻼﻗﺎﺕ
551 ·j¦
¶WáKE:<W
jME9
ﰲ ﺷﺎﺷﺔ ﺍﻟﻌﻼﻗﺎﺕ .ﻭﻋﻨﺪ ﻭﺿﻊ ﺍﳉﺪﺍﻭﻝ ﺍﳌﻄﻠﻮﺑﺔ ﰲ ﻟﻮﺣﺔ QBEﻓﺈﻥ ﻫﺬﻩ ﺍﻟﻌﻼﻗﺎﺕ ﻳﺘﻢ
ﺇﺣﻀﺎﺭﻫﺎ ﺇﱃ ﺍﻻﺳﺘﻌﻼﻡ ﺁﻟﻴﺎﹰ ،ﻭﺑﺎﻟﺘﺎﱄ ﺍﻟﺘﺨﻠﺺ ﻣﻦ ﻋﻤﻠﻴﺔ ﻛﺘﺎﺑﺔ ﻛﻞ ﺍﺭﺗﺒﺎﻁ .ﻭﻫﺬﺍ ﻗﺪ ﻳﻮﻓﺮ ﻭﻗﺘﹰﺎ
ﻛﺜﲑﹰﺍ ﻳﻠﺰﻡ ﻟﻜﺘﺎﺑﺔ ﺍﻻﺳﺘﻌﻼﻡ ،ﻛﻤﺎ ﻳﻌﻄﻲ ﺩﻗﺔ ﰲ ﺫﻟﻚ .ﺍﻧﻈﺮ ﺇﱃ ﺍﻟﺸﻜﻞ ) (9-10ﻭﻻﺣﻆ ﺃﻧﻪ ﰎ
ﺇﺿﺎﻓﺔ ﺍﳊﻘﻮﻝ ﺍﳌﻄﻠﻮﺑﺔ ﰲ ﻧﺘﺎﺋﺞ ﺍﻻﺳﺘﻌﻼﻡ ﻭﰎ ﻭﺿﻌﻬﺎ ﰲ ﺷﺒﻜﺔ .QBEﻳﻈﻬﺮ ﺍﻟﺸﻜﻞ )(9-12
ﻛﻤﻴﺔ ﺷﻴﻔﺮﺓ SQLﺍﻟﻜﺒﲑﺓ ﺍﻟﻨﺎﲡﺔ ﻋﻦ ﳎﺮﺩ ﺍﻟﻀﻐﻂ ﻋﻠﻰ ﺍﳉﺪﺍﻭﻝ ﻭﺳﺤﺒﻬﺎ ﺇﱃ ﻟﻮﺣﺔ .QBE
ﻻﺣﻆ ﺃﻳﻀﹰﺎ ﺃﻧﻪ ﺑﺎﻟﺮﻏﻢ ﻣﻦ ﺃﻥ ﺷﺒﻜﺔ QBEﻻ ﲢﺘﻮﻱ ﻋﻠﻰ ﻋﻤﻮﺩ ﺍﳌﻔﺘﺎﺡ ﺍﻷﻭﱄ ﻟﻠﺠﺪﺍﻭﻝ
) PRODUCTﻭﻫﻮ (Product_IDﺍﻟﺬﻱ ﺍﹸﺳﺘﺨﺪﻡ ﻟﺘﺤﻘﻴﻖ ﺍﻻﺭﺗﺒﺎﻁ ﺑﲔ ﺍﳉﺪﻭﻟﲔ ،ﺃﳒﺰ ﺍﻻﺭﺗﺒﺎﻁ
ﺍﻟﺼﺤﻴﺢ ﺑﺸﻜﻞ ﺻﺮﻳﺢ ﰲ ﺷﻴﻔﺮﺓ ،SQLﻭﻻﺣﻆ ﺃﻳﻀﹰﺎ ﺍﻻﺧﺘﻼﻑ ﺍﻟﻜﺒﲑ ﺑﲔ ﻟﻐﺔ SQLﺍﳋﺎﺻﺔ
ﺑـ Accessﻭﻟﻐﺔ Oracle SQ*PLUSﺍﳌﺴﺘﺨﺪﻣﺔ ﰲ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﻣﻦ .ﺇﻥ ﻫﺬﺍ ﺍﻻﺧﺘﻼﻑ ﻳﺒﲔ ﺃﻥ
ﻛﻞ ﺑﺎﺋﻊ ﻟﻪ ﻟﻐﺔ SQLﺍﳋﺎﺻﺔ ﻭﺍﳌﻔﻀﻠﺔ ﻟﺪﻳﻪ.
ϢϴϤμΘϟ ςϤϧ ϲϓ MS Access 2000 ϡΪΨΘγΎΑ ϝϭΪΠϟ ΩΪόΘϣ ϡϼόΘγ (9-10) ϞϜθϟ
>a Kf8 552
MS Access 2000 ϦϤο SQL ΔϬΟϭ ϡΪΨΘγΎΑ (9-10) ϞϜθϟ ϲϓ ΩέϮϟ ϡϼόΘγϻ (9-12) ϞϜθϟ
£Wàu ¥KE
ﻣﺎ ﳛﺪﺙ ﺇﺫﺍ ﻛﻨﺖ ﻣﻬﺘﻤﹰﺎ ﻓﻘﻂ ﻟﺴﺠﻼﺕ ﳏﺪﺩﺓ؟ ﳚﻴﺐ ﻋﻠﻰ ﻫﺬﺍ ﺍﻟﺴﺆﺍﻝ ﺍﻟﺸﻜﻞ) (9-13ﺍﻟﺬﻱ
ﻳﺒﲔ ﺍﻟﻄﺮﻳﻘﺔ ﺍﻷﺳﺎﺳﻴﺔ ﻹﺩﺧﺎﻝ ﺍﳌﻌﺎﻳﲑ ﻭﺍﻟﺸﺮﻭﻁ ﺍﻟﱵ ﳚﺐ ﺃﻥ ﲢﻘﻘﻬﺎ ﺍﻟﺴﺠﻼﺕ ﺍﳌﺴﺘﺮﺟﻌﺔ ﻣﻦ
ﺍﳉﺪﻭﻝ .ﻭﻳﺘﻢ ﲢﺪﻳﺪ ﻫﺬﻩ ﺍﳌﻌﺎﻳﲑ ﻋﻦ ﻃﺮﻳﻖ ﺇﺩﺧﺎﳍﺎ ﲢﺖ ﺍﻷﻋﻤﺪﺓ ﺍﻟﱵ ﺳﺘﻄﺒﻖ ﻋﻠﻴﻬﺎ ﰲ ﺷﺒﻜﺔ
.QBEﻳﻈﻬﺮ ﺍﻟﺸﻜﻞ ) (9-14ﺍﻤﻮﻋﺔ ﺍﻟﺪﻳﻨﺎﻣﻜﻴﺔ ﺍﳌﺴﺘﺮﺟﻌﺔ ﻟﻼﺳﺘﻌﻼﻡ ﺍﻟﺴﺎﺑﻖ .ﻛﻤﺎ ﺗﻼﺣﻆ ﰲ
553 ·j¦
¶WáKE:<W
jME9
ﺍﻟﺸﻜﻞ ) (9-13ﻓﺈﻧﻪ ﻟﻴﺲ ﻣﻦ ﺍﻟﻀﺮﻭﺭﻱ ﺃﻥ ﻳﻜﻮﻥ ﺍﻟﺸﺮﻁ ﻫﻮ ﺷﺮﻁ ﻣﺴﺎﻭﺍﺓ ،ﻓﻘﺪ ﻳﻜﻮﻥ ﻣﺴﺎﻭﺍﺓ،
ﻼ ﳝﻜﻨﻚ ﺇﺩﺧﺎﻝ ﺍﻟﺸﺮﻁ " "Between 350 and 700ﲢﺖ ﺃﻭ ﺍﺧﺘﺒﺎﺭ ﻗﻴﻤﺔ ﺿﻤﻦ ﳎﺎﻝ ﻣﻌﲔ .ﻓﻤﺜ ﹰ
ﺍﻟﻌﻤﻮﺩ standard_priceﰲ ﺍﻟﺸﻜﻞ ) (9-13ﳌﻌﺮﻓﺔ ﺃﻱ ﺍﳌﻨﺘﺠﺎﺕ ﺗﻘﻊ ﺿﻤﻦ ﺍﺎﻝ ﺍﻟﻮﺳﻄﻲ
ﻟﻸﺳﻌﺎﺭ.
ΩΪΤϣ ΞΘϨϣ Ϧϣ ήΜϛ ϭ ΕΎΠΘϨϣ ΔΛϼΜϟ ΔΑϮϠτϤϟ ΕΎΒϠτϟ έΎϴΘΧϻ ϡϼόΘγ (9-13) ϞϜθϟ
ﻛﻤﺎ ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻌﻮﺍﻣﻞ ،ﻭﺍﻟﺘﻮﺍﺑﻊ ﻭﺍﻟﺘﻌﺎﺑﲑ ﰲ ﺇﻧﺸﺎﺀ ﺍﻟﺸﺮﻭﻁ ﰲ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ .ﻓﻴﻤﻜﻦ
ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻌﻮﺍﻣﻞ ﺍﳊﺴﺎﺑﻴﺔ ﻣﺜﻞ ﺍﻟﻀﺮﺏ ﻭﺍﻟﻘﺴﻤﺔ ﻣﻊ ﺍﳊﻘﻮﻝ ﺍﻟﺮﻗﻤﻴﺔ ،ﻛﻤﺎ ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ
ﺍﻟﻌﻮﺍﻣﻞ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻣﺜﻞ ﺍﳌﺴﺎﻭﺍﺓ ،ﺍﻟﻼ ﻣﺴﺎﻭﺍﺓ ،ﺃﺻﻐﺮ ﻣﻦ ،ﺃﻛﱪ ﻣﻦ ،ﻣﻊ ﺍﳊﻘﻮﻝ ﺍﻟﺮﻗﻤﻴﺔ ﻭﺣﻘﻮﻝ
ﺍﻟﺘﺎﺭﻳﺦ ،ﻭﺍﳊﻘﻮﻝ ﺍﻟﻨﺼﻴﺔ ،ﻭﺃﺧﲑﹰﺍ ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻌﻮﺍﻣﻞ ﺍﳌﻨﻄﻘﻴﺔ ﻣﻦ ﺃﺟﻞ ﺇﻋﺪﺍﺩ ﺍﻟﺸﺮﻭﻁ ﺿﻤﻦ
ﺍﻟﺘﻌﺎﺑﲑ .ﺃﻣﺎ ﺍﻟﺘﻮﺍﺑﻊ ﻓﻬﻲ ﻭﺣﺪﺍﺕ ﻣﻦ ﺍﻟﺸﻴﻔﺮﺓ ﺗﻌﻴﺪ ﺩﺍﺋﻤﹰﺎ ﻗﻴﻤﺔ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺣﺴﺎﺑﺎﺕ ﺃﻭ ﻣﻘﺎﺭﻧﺎﺕ
ﻳﺘﻢ ﺇﺟﺮﺍﺅﻫﺎ ﺿﻤﻨﻬﺎ .ﻭﻳﺘﻢ ﲢﺪﻳﺪ ﳕﻂ ﺍﻟﻘﻴﻤﺔ ﺍﳌﻌﺎﺩﺓ ﺣﺴﺐ ﻃﺒﻴﻌﺔ ﺍﻟﺘﺎﺑﻊ ،ﻛﺄﻥ ﺗﻜﻮﻥ ﻣﻦ ﳕﻂ
ﺍﻟﺴﻼﺳﻞ ﺍﶈﺮﻓﻴﺔ ،ﺃﻭ ﻣﻨﻄﻘﻴﺔ ،ﺃﻭ ﺭﻗﻤﻴﺔ .ﻭﳝﺘﻠﻚ Microsoft Accessﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺘﻮﺍﺑﻊ ﺍﻟﺸﺎﺋﻌﺔ
ﻣﺴﺒﻘﺔ ﺍﻟﺘﻌﺮﻳﻒ ﺍﻟﱵ ﺗﻜﻮﻥ ﳐﺰﻧﺔ ﺿﻤﻨﻪ ﻣﻦ ﺃﺟﻞ ﺍﻻﺳﺘﺨﺪﺍﻡ ،ﻣﺜﻞ ﺗﺎﺑﻊ ﺍﳉﻤﻊ ﻭﺗﺎﺑﻊ ﺍﻟﻮﺳﻄﻲ،
>a Kf8 554
ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺑﻌﺾ ﺍﻟﺘﻮﺍﺑﻊ ﺍﳋﺎﺻﺔ ﺍﻟﱵ ﻗﺪ ﺗﻜﻮﻥ ﻣﻜﺘﻮﺑﺔ ﺑﻮﺳﺎﻃﺔ .VBAﻭﺃﺧﲑﺍﹰ ،ﺍﻟﺘﻌﺎﺑﲑ ﻫﻲ
ﻋﺒﺎﺭﺓ ﻋﻦ ﺣﺪ ﺃﻭ ﺳﻠﺴﻠﺔ ﻣﻦ ﺍﳊﺪﻭﺩ ﺍﻟﱵ ﻳﺘﻢ ﺭﺑﻄﻬﺎ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﻌﻮﺍﻣﻞ .ﳛﺎﻭﻝ Accessﺍﳌﺴﺎﻋﺪﺓ
ﻗﺪﺭ ﺍﻹﻣﻜﺎﻥ ﻋﻞ ﻛﺘﺎﺑﺔ ﺍﻟﺸﻴﻔﺮﺓ ﺍﳌﻌﱪﺓ ﻋﻦ ﺍﻟﺘﻌﺎﺑﲑ ﻋﻦ ﻃﺮﻳﻖ ﺇﲤﺎﻡ ﺍﶈﺎﺭﻑ ﺍﳌﻄﻠﻮﺑﺔ -ﻣﺜﻞ
ﺇﺷﺎﺭﺍﺕ ﺍﻻﻗﺘﺒﺎﺱ -quotesﺇﺫﺍ ﰎ ﺇﻏﻔﺎﳍﺎ.
lXPW
ﻫﻨﺎﻙ ﺑﻌﺾ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﻟﱵ ﺗﻜﻮﻥ ﻋﻤﻠﻴﺔ ﺑﻨﺎﺅﻫﺎ ﺳﻬﻠﺔ ﺟﺪﹰﺍ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻭﺍﺟﻬﺎﺕ ،QBEﻷﻥ
ﲤﺜﻴﻠﻬﺎ ﺍﳌﺮﺋﻲ ﺃﻛﺜﺮ ﻭﺿﻮﺣﹰﺎ ﻭﺳﻬﻮﻟﺔ ﻣﻦ ﺍﻻﻟﺘﺰﺍﻡ ﺑﺎﻟﻘﻮﺍﻋﺪ ﺍﻟﻨﺤﻮﻳﺔ ﺍﳌﻌﻘﺪﺓ ﻟﻠﻐﺔ .ﻭﻛﻤﺜﺎﻝ ﻋﻠﻰ ﻫﺬﻩ
ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺍﺳﺘﻌﻼﻡ ﻳﺘﻄﻠﺐ ﺃﻥ ﻳﺪﻣﺞ )ﻳﺮﺑﻂ( ﺍﳉﺪﻭﻝ ﻣﻊ ﻧﻔﺴﻪ .ﻳﺪﻋﻰ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻦ
ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﺑﺎﻟﺪﻣﺞ ﺍﻟﺬﺍﰐ ﺃﻭ ﺍﻟﺪﻣﺞ ﺍﻟﻌﻮﺩﻱ .ﻟﻨﻔﺘﺮﺽ ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ ﺃﻧﻚ ﺗﺮﻏﺐ ﲟﻌﺮﻓﺔ
ﺍﻟﻄﻠﺒﻴﺎﺕ ﺍﻟﱵ ﲢﺘﻮﻱ ﻋﻠﻰ ﺍﳌﻨﺘﺠﺎﺕ ﻧﻔﺴﻬﺎ ﺍﳌﻮﺟﻮﺩﺓ ﰲ ﺍﻟﻄﻠﺒﻴﺔ ﺫﺍﺕ ﺍﻟﺮﻗﻢ ،1004ﻗﺪ ﻳﻠﺰﻡ ﻣﺜﻞ
ﻼ ﺍﻟﺘﻐﻠﻴﻒ( ﰲ ﻃﻠﺒﻴﺔ ﻣﻌﻴﻨﺔ ،ﻭﺭﻏﺒﻨﺎﻫﺬﺍ ﺍﻻﺳﺘﻌﻼﻡ ﰲ ﺣﺎﻟﺔ ﻣﺜﻞ ﺇﺫﺍ ﺍﻛﺘﺸﻔﻨﺎ ﻣﺸﻜﻠﺔ ﻋﻤﻠﻴﺔ )ﻣﺜ ﹰ
ﲟﻌﺮﻓﺔ ﺇﻥ ﻛﺎﻥ ﻫﻨﺎﻙ ﻃﻠﺒﻴﺎﺕ ﺃﺧﺮﻯ ﺗﻌﺎﱐ ﻣﻦ ﺍﳌﺸﻜﻠﺔ ﻧﻔﺴﻬﺎ .ﻳﺒﲔ ﺍﻟﺸﻜﻞ ) (9-15-aﺍﻻﺳﺘﻌﻼﻡ
ﺍﳌﻨﺸﺄ ﺑﻮﺍﺳﻄﺔ QBEﰲ Access 2000ﻭﺍﻟﺬﻱ ﻳﺠﻴﺐ ﻋﻦ ﻫﺬﺍ ﺍﻟﺘﺴﺎﺅﻝ .ﳝﻜﻦ ﺇﺟﺮﺍﺀ ﺍﻟﺪﻣﺞ ﺍﻟﺬﺍﰐ
ﻋﻦ ﻃﺮﻳﻖ ﻭﺿﻊ ﻧﺴﺨﺘﲔ ﻣﻦ ﺍﳉﺪﻭﻝ Order_Line_tﰲ ﻟﻮﺣﺔ ،QBEﻭﻣﻦ ﰒ ﻭﺿﻊ ﺍﻟﻌﻼﻗﺎﺕ
ﺑﲔ ﻣﻌﺮﻓﺎﺕ ﺍﳌﻨﺘﺠﺎﺕ ) IDsﺍﻧﻈﺮ ﺇﱃ ﺧﻂ ﺍﻟﻌﻼﻗﺔ ﺍﻟﱵ ﺗﺮﺑﻂ ﺣﻘﻞ Product_IDﰲ ﻛﻼ
ﺍﳉﺪﻭﻟﲔ( ،ﻭﺑﻌﺪ ﺫﻟﻚ ﻭﺿﻊ ﺍﻟﺸﺮﻁ 1004ﰲ ﺃﺣﺪ ﺍﳉﺪﻭﻟﲔ ﻭ NOT 1004ﰲ ﺍﳉﺪﻭﻝ ﺍﻵﺧﺮ
ﺍﻟﺬﻱ ﺳﻴﻌﻴﺪ ﻗﻴﻢ ﻣﻌﺮﻓﺎﺕ IDﻭﻛﻤﻴﺎﺕ ﺍﳌﻨﺘﺠﺎﺕ .ﺑﲔ ﺍﻟﺸﻜﻞ ) (9-15-bﺃﻥ ﺍﳌﻨﺘﺞ ﺫﻭ ﺍﻟﺮﻗﻢ 8ﻗﺪ
ﰎ ﻃﻠﺒﻪ ﰲ ﺍﻟﻄﻠﺒﻴﺎﺕ ﺍﻷﺧﺮﻯ.
555 ·j¦
¶WáKE:<W
jME9
ϲϓ ΔΑϮϠτϤϟ ΕΎΠΘϨϤϟ βϔϧ ΐϠτΗ ϲΘϟ ΕΎΒϠτϟ ϲϫ Ύϣ :ϲΗάϟ ςΑήϟ Ϧϋ ϝΎΜϣ (9-15-a) ϞϜθϟ
ˮ1004 Ϣϗέ ΐϠτϟ
Access ˰ϟ SQL ΔϬΟϭ ϲϓ (9-15-a) ϞϜθϟ ϲϓ οϮϤϟ ϡϼόΘγϻ Δϐϴλ (9-15-c) ϞϜθϟ
>a Kf8 556
ﻫﻨﺎﻙ ﺛﻼﺛﺔ ﻣﻦ ﻫﺬﺍ ﺍﳌﻨﺘﺞ ﻗﺪ ﰎ ﻃﻠﺒﻬﺎ ﰲ ﺍﻟﻄﻠﺒﻴﺔ ﺫﺍﺕ ﺍﻟﺮﻗﻢ ،1008ﻭﻋﺸﺮﺓ ﻣﻨﻪ ﰎ ﻃﻠﺒﻬﺎ ﰲ
ﺍﻟﻄﻠﺒﻴﺔ ﺭﻗﻢ .1010ﻳﻈﻬﺮ ﺍﻟﺸﻜﻞ ) (9-15cﺷﻴﻔﺮﺓ SQLﺍﳌﻮﺍﻓﻘﺔ )ﻭﺍﻟﱵ ﳝﻜﻦ ﺗﺸﻐﻴﻠﻬﺎ ﻋﻠﻰ ﻗﺎﻋﺪﺓ
ﻣﻌﻄﻴﺎﺕ ﳏﻠﻴﺔ ﺃﻭ ﻣﻮﺟﻮﺩﺓ ﻋﻠﻰ ﺍﳌﺨﺪﻡ(.
ϲϓ οϮϣ ήΧ ϡϼόΘγ ϲϓ ϪϣΪΨΘγ ϢΘϴϟ MS Access ϲϓ ϡϼόΘγ βϴγ΄Η (9-16-a) ϞϜθϟ
(9-16-c) ϞϜθϟ
pass-Through_BChKu< t¶W
ﺇﻥ ﺃﺣﺪ ﺍﻷﺳﺒﺎﺏ ﺍﻟﱵ ﺟﻌﻠﺖ MS Accessﺷﺎﺋﻌﺎﹰ ﻛﻮﺍﺟﻬﺔ ﻟﻠﺰﺑﻮﻥ ﰲ ﺗﻄﺒﻴﻘﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻫﻮ
ﺳﻬﻮﻟﺔ ﺇﺭﺳﺎﻝ ﺍﻷﻭﺍﻣﺮ ﺇﱃ ﺃﻱ ﳐﺪﻡ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﻳﺪﻋﻢ ﻣﻌﻴﺎﺭ ODBCﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ ﺑﺎﺳﺘﺨﺪﺍﻡ
559 ·j¦
¶WáKE:<W
jME9
ﺍﺳﺘﻌﻼﻣﺎﺕ pass_throughﺍﻟﱵ ﺗﻜﻮﻥ ﺑﻠﻐﺔ SQLﺍﳋﺎﺻﺔ ﲟﺨﺪﻡ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﺪﺍﻋﻢ ﳌﻌﻴﺎﺭ
ODBCﺑﺪ ﹰﻻ ﻣﻦ SQLﺍﳋﺎﺻﺔ ﺑـ ،Accessﻭﳝﻜﻨﻚ ﺍﻟﻌﻤﻞ ﻣﺒﺎﺷﺮﺓ ﻣﻊ ﺍﳉﺪﺍﻭﻝ ﺍﳌﻮﺟﻮﺩﺓ ﻋﻠﻰ
ﺍﳌﺨﺪﻡ ﺑﺪ ﹰﻻ ﻣﻦ ﺍﻻﺭﺗﺒﺎﻁ ﻣﻌﻬﺎ.
ﺇﻥ ﲨﻴﻊ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺤﻘﻖ ﺍﻟﻘﻮﺍﻋﺪﻱ ﻻﺳﺘﻌﻼﻣﺎﺕ SQLﻭﺗﻔﺴﲑﻫﺎ ﻭﺗﺮﲨﺘﻬﺎ ﺗﺘﻢ ﻋﻠﻰ ﻗﺎﻋﺪﺓ
ﺍﳌﻌﻄﻴﺎﺕ ﻋﻠﻰ ﺍﳌﺨﺪﻡ .ﺳﺘﻨﺨﻔﺾ ﻋﻤﻠﻴﺎﺕ ﺍﻻﺯﺩﺣﺎﻡ ﻋﻠﻰ ﺍﻟﺸﺒﻜﺔ ﻷﻧﻪ ﻓﻘﻂ ﺍﺳﺘﻌﻼﻡ SQL
ﺍﻟﺒﺪﺍﺋﻲ ﺳﻴﺘﻢ ﺗﺒﺎﺩﻟﻪ ﺑﲔ ﺍﳌﺨﺪﻡ ﻭﺍﻟﺰﺑﻮﻥ ﻣﻊ ﳎﻤﻮﻋﺔ ﺍﻟﺴﺠﻼﺕ ﺍﳌﻌﺎﺩﺓ ﻛﻨﺘﻴﺠﺔ ﻟﻪ.
ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺍﺳﺘﻌﻼﻣﺎﺕ pass_throughﰲ Access 5ﻻﺳﺘﻌﺎﺩﺓ ﺍﻟﺴﺠﻼﺕ ﺃﻭ ﺗﻐﻴﲑ ﺍﳌﻌﻄﻴﺎﺕ،
ﺃﻭ ﺗﻨﻔﻴﺬ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﳌﺨﺰﻧﺔ ﺃﻭ ﺍﻟﻘﻮﺍﺩﺡ ﺍﳌﻮﺟﻮﺩﺓ ﻋﻠﻰ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﺃﻭ ﺣﱴ ﺇﻧﺸﺎﺀ
ﺟﺪﺍﻭﻝ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺍﳌﺨﺪﻡ .ﻭﻟﻜﻦ ﳚﺐ ﺃﻥ ﺗﻜﻮﻥ ﺣﺬﺭﹰﺍ ﻛﻲ ﻻ ﺗﻘﻮﻡ ﺑﺈﺟﺮﺍﺀ ﻋﻤﻠﻴﺎﺕ ﻗﺪ
ﺗﺆﺛﺮ ﻋﻠﻰ ﺣﺎﻟﺔ ﺍﻻﺗﺼﺎﻝ ﳑﺎ ﻳﻌﻄﻲ ﻧﺘﺎﺋﺞ ﻏﲑ ﻣﺘﻮﻗﻌﺔ.
ﲤﻜﻨﻚ ﻫﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ﻣﻦ ﺭﺑﻂ ﺟﺪﺍﻭﻝ ﻣﻦ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﻋﻠﻰ ODBCﻣﻊ .MS ACCESSﻫﺬﺍ
ﻳﻌﲏ ﺃﻧﻚ ﻻ ﺗﺴﺘﻄﻴﻊ ﺇﻧﺸﺎﺀ ﳎﻤﻮﻋﺔ ﺳﺠﻼﺕ ﻗﺎﺑﻠﺔ ﻟﻠﺘﻌﺪﻳﻞ ﺑﺎﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﻫﺬﻩ ﺍﳉﺪﺍﻭﻝ ،ﻭﻋﻠﻰ
ﺍﳌﺴﺘﺨﺪﻡ ﺃﻥ ﻳﻜﻮﻥ ﻣﺘﺂﻟﻔﹰﺎ ﻣﻊ ﻟﻐﺔ SQLﺍﳌﺴﺘﺨﺪﻣﺔ ﻣﻊ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ .ODBCﻭﺑﺎﻟﺘﺎﱄ ﺑﻴﻨﻤﺎ
ﺳﻴﻜﻮﻥ ﺍﻷﺩﺍﺀ ﺍﻟﺬﻱ ﺳﺘﺤﺼﻞ ﻋﻠﻴﻪ ﺟﻴﺪﹰﺍ ﻭﺳﺘﺴﺘﻔﻴﺪ ﻣﻦ ﳏﺎﺳﻦ ﻗﻮﺓ ﳐﺪﻡ ﺿﺨﻢ ﻟﻘﺎﻋﺪﺓ
ﻣﻌﻄﻴﺎﺕ ،ﻓﺈﻥ ﺍﳌﺴﺘﺨﺪﻡ ﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﻟﺪﻳﻪ ﻣﻌﺮﻓﺔ ﺑﻠﻐﺔ SQLﺍﶈﻠﻴﺔ ﺍﳌﺴﺘﺨﺪﻣﺔ ﰲ ﺍﳌﺨﺪﻡ،
ﻭﳚﺐ ﺃﻥ ﳛﻀﺮ ﻭﻳﺄﺧﺬ ﻋﻠﻰ ﻋﺎﺗﻘﻪ ﺍﻟﻜﺜﲑ ﻣﻦ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﻴﺪﻭﻳﺔ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﻛﺎﻣﻞ ﺍﳌﻬﺎﻡ.
ﻳﺘﻄﻠﺐ ﺇﻧﺸﺎﺀ ﺍﺳﺘﻌﻼﻡ pass_throughﰲ MS Accessﺇﻋﺪﺍﺩ ﺳﻠﺴﻠﺔ )ﺍﺗﺼﺎﻝ( ﺍﺭﺗﺒﺎﻁ
) ،(connection stringﺇﻣﺎ ﻛﺈﺣﺪﻯ ﺧﺼﺎﺋﺺ ﻫﺬﺍ ﺍﻻﺳﺘﻌﻼﻡ ،ﺃﻭ ﻋﻨﺪﻣﺎ ﻳﺘﻢ ﺗﺸﻐﻴﻞ ﻫﺬﺍ
ﺍﻻﺳﺘﻌﻼﻡ .ﻳﺒﲔ ﺍﻟﺸﻜﻞ ) (9-17ﺷﻜﻞ ﺗﻌﻠﻴﻤﺎﺕ SQLﰲ oracleﻭﻧﺎﻓﺬﺓ ﺧﺼﺎﺋﺺ ﺍﺳﺘﻌﻼﻡ
pass_throughﰲ MS Access 2000ﺍﻟﱵ ﲢﺘﻮﻱ ﺗﻌﻠﻴﻤﺔ SQLﺍﳋﺎﺻﺔ ﺑﺄﻭﺭﺍﻛﻞ ،ﻣﻦ ﺍﳌﻬﻢ ﺃﻥ
ﺗﻼﺣﻆ ﺃﻥ ﻛﻞ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﻋﻼﺋﻘﻲ ،ﻣﺜﻞ Oracleﺃﻭ ،Informixﺃﻭ SQL Server
ﺳﻴﻤﺘﻠﻚ ﻗﺎﻋﺪﺓ ﺧﺎﺻﺔ ﻟﺴﻠﺴﻠﺔ ﺍﻻﺗﺼﺎﻝ ،ODBCﻭﺍﻟﱵ ﳚﺐ ﺇﺿﺎﻓﺘﻬﺎ ﺇﱃ ﻧﺎﻓﺬﺓ ﺍﳋﺼﺎﺋﺺ ،ﺃﻭ
ﲤﺮﻳﺮﻫﺎ ﻋﻨﺪﻣﺎ ﻳﺘﻢ ﺗﺸﻐﻴﻞ ﺍﻻﺳﺘﻌﻼﻡ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ.
ﺇﻥ ﺷﻜﻞ ﺳﻠﺴﻠﺔ ﺍﻻﺗﺼﺎﻝ ﺑﺄﻭﺭﺍﻛﻞ Oracleﻫﻮ ﺍﻟﺘﺎﱄ:
ODBC;DSN=ODBC Connection Name;UID=User;PWD=Password;SERVER
;=Connection Alias from TnsNames.ora
>a Kf8 560
ME¥K%µ¹W#_YODBCMEC?¶W
ﻣﻌﻴﺎﺭ :ODBCﻫﻮ ﻭﺍﺟﻬﺔ ﺑﺮﳎﻴﺔ ﺗﻘﺪﻡ ﻟﻐﺔ ﻣﺸﺘﺮﻛﺔ ﻟﻠﱪﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ ،ﻣﻦ ﺃﺟﻞ ﻣﻌﺎﳉﺔ ﻗﻮﺍﻋﺪ
ﻣﻌﻄﻴﺎﺕ SQLﻭﺍﻟﻮﺻﻮﻝ ﺇﻟﻴﻬﺎ ﺑﺸﻜﻞ ﻣﺴﺘﻘﻞ ﻋﻦ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﺬﻱ ﰎ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻴﻪ.
ﻳﺴﻤﺢ ﺗﻮﺻﻴﻒ ODBCﻟﻠﻤﺸﻐﻼﺕ ) (driversﺑﺎﻟﻌﻤﻞ ﲟﻮﺟﺐ ﻣﺴﺘﻮﻳﺎﺕ ﻣﺘﻨﻮﻋﺔ ﻣﻦ ﺍﻟﺘﻮﺻﻴﻒ،
ﻭﻫﺬﺍ ﻣﺎ ﻳﺆﺛﺮ ﻋﻠﻰ ﺍﳌﺴﺘﻮﻯ ﺍﻟﻮﻇﻴﻔﻲ ﻟﻜﻞ ﻣﺸﻐﻞ .ﻛﻤﺎ ﻳﺆﺛﺮ ﺍﻻﺧﺘﻼﻑ ﰲ ﺍﻟﻄﺮﻕ ﺍﻟﱵ ﲤﺖ ﻛﺘﺎﺑﺔ
ﺍﳌﺸﻐﻼﺕ ﺎ ﻋﻠﻰ ﺍﻷﺩﺍﺀ ﺍﳌﻄﻠﻮﺏ ﲢﻘﻴﻘﻪ.
ﳚﺐ ﺃﻥ ﻳﻘﻮﻡ ﻛﻞ ﺑﺎﺋﻊ )ﻣﻨﺘﺞ( ﻳﺮﻏﺐ ﺑﺄﻥ ﳝﻠﻚ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﻣﺘﻮﺍﻓﻘﺔ ﻣﻊ ﻣﻌﻴﺎﺭ ،ODBC
ﺑﺘﻘﺪﱘ ﻣﺸﻐﻞ ﻣﺘﻮﺍﻓﻖ ﻣﻊ ODBCﻳﻤﻜﻦ ﺗﺮﻛﻴﺒﻪ ﻋﻠﻰ ﺣﻮﺍﺳﺐ ،Windowsﳑﺎ ﻳﺴﻤﺢ ﻷﻱ ﺗﻄﺒﻴﻖ
ﻳﻌﻤﻞ ﻋﻠﻰ ﺑﻴﺌﺔ Windowsﺃﻥ ﻳﺘﺼﻞ ﻋﱪ ﺍﳌﺸﻐﻞ ﳌﻨﺎﺳﺐ ﻣﻊ ﺍﻟﻨﺴﺨﺔ ﺍﳌﻄﻠﻮﺑﺔ ﳌﺨﺪﻡ ﻗﺎﻋﺪﺓ
ﻼ ﻳﻤﻜﻦ ﻟﺘﻄﺒﻴﻖ MS Accessﺃﻥ ﻳﻘﻮﻡ ﺑﺎﻻﺗﺼﺎﻝ ﻟﻴﻌﻤﻞ ﻣﻊ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺍﳌﻌﻄﻴﺎﺕ .ﻓﻤﺜ ﹰ
،Oracleﻓﺠﺪﺍﻭﻝ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺗﺮﺗﺒﻂ ﻣﻊ ﺗﻄﺒﻴﻖ MS Accessﻋﱪ ﻭﺻﻠﺔ ODBCﻭﺗﺒﻘﻰ ﰲ
ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ،Oracleﻭﻻ ﻳﺘﻢ ﺗﻘﻠﻬﺎ ﺇﱃ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ .MS Accessﻗﺪ ﺗﺘﻢ ﺍﻹﺷﺎﺭﺓ ﳌﺨﺪﻡ
ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ Oracleﲟﺨﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﻛﻤﺎ ﻳﻤﻜﻦ ﺃﻥ ﻳﺪﻋﻰ ﺃﻳﻀﹰﺎ ﺑﺎﳌﺨﺪﻡ ﺍﻟﺒﻌﻴﺪ ﺃﻭ
ﳝﻜﻦ ﺃﻥ ﻳﺪﻋﻰ ﳐﺪﻡ ﺧﻠﻔﻲ ،ﺃﻭ ﳐﺪﻡ ،SQLﻛﻤﺎ ﻳﺪﻋﻰ ﺍﳌﺨﺪﻡ Microsoftﺍﳋﻠﻔﻲ ﲟﺨﺪﻡ ،SQL
ﻗﺪ ﺗﻌﲏ ﺍﻹﺷﺎﺭﺓ ﺇﱃ ﳐﺪﻡ SQLﺇﺷﺎﺭﺓ ﺇﱃ ﳐﺪﻡ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺧﺎﺹ ﺑﺒﺎﺋﻊ ﻣﻌﲔ ﻭﻫﺬﺍ ﻣﺎ ﻗﺪ
ﻳﺸﻜﻞ ﻣﺼﺪﺭﹰﺍ ﻟﻼﻟﺘﺒﺎﺱ.
ﻫﻨﺎﻙ ﲬﺴﺔ ﳏﺪﺩﺍﺕ ،ﳚﺐ ﲢﺪﻳﺪ ﻗﻴﻤﻬﺎ )ﺗﻌﺮﻳﻔﻬﺎ( ﻟﺘﺤﻘﻴﻖ ﺍﻻﺗﺼﺎﻝ ﻣﻦ ﳕﻂ :ODBC
ﲢﺪﻳﺪ ﻣﺸﻐﻞ ODBCﺍﳌﻄﻠﻮﺏ. x
ﳝﻜﻦ ﲢﺪﻳﺪ ﻫﺬﻩ ﺍﶈﺪﺩﺍﺕ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺃﻛﺜﺮ ﻣﻦ ﻃﺮﻳﻘﺔ ،ﻛﺄﻥ ﻳﺘﻢ ﺗﻀﻤﻴﻨﻬﺎ ﰲ ﺍﻟﱪﻧﺎﻣﺞ ﻧﻔﺴﻪ ،ﺃﻭ
ﲤﺮﻳﺮﻫﺎ ﻋﱪ ﻣﺼﺪﺭ ﺍﳌﻌﻄﻴﺎﺕ ) ،(DSNﻭﻗﺪ ﳝﺮﺭﻫﺎ ﺍﳌﺴﺘﺨﺪﻡ ﻋﻨﺪﻣﺎ ﻳﻄﻠﺐ ﻣﻨﻪ ﺫﻟﻚ ،ﺗﺴﻤﺢ
ﻋﻤﻠﻴﺔ ﺗﻀﻤﲔ ﻛﻞ ﺍﶈﺪﺩﺍﺕ ﰲ ﺍﻟﱪﻧﺎﻣﺞ ﺑﺄﻥ ﻳﻜﻮﻥ ﻣﻦ ﺍﳌﻤﻜﻦ ﻟﻠﱪﻧﺎﻣﺞ ﺃﻥ ﻳﺘﺼﻞ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ
ﻣﻊ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺩﻭﻥ ﺍﳊﺎﺟﺔ ﺇﱃ ﺃﻳﺔ ﻋﻤﻠﻴﺎﺕ ﺍﺗﺼﺎﻝ ﺇﺿﺎﻓﻴﺔ .ﻭﺑﺎﻟﻄﺒﻊ ﻓﺈﻥ ﺫﻟﻚ ﺳﻴﺘﻄﻠﺐ
ﺗﻌﺪﻳﻞ ﺍﻟﱪﻧﺎﻣﺞ ﰲ ﺣﺎﻝ ﺭﻏﺒﻨﺎ ﺑﺘﻐﻴﲑ ﻗﻴﻢ ﺍﶈﺪﺩﺍﺕ ﳉﻌﻞ ﺍﻟﱪﻧﺎﻣﺞ ﻳﺘﺼﻞ ﻣﻊ ﳐﺪﻡ ﺃﻭ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ
ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﺁﺧﺮ.
ﻳﺘﻴﺢ ﺗﻀﻤﲔ ﻣﺼﺪﺭ ﺍﳌﻌﻄﻴﺎﺕ )ﺍﻟﺬﻱ ﳛﺘﻮﻱ ﻋﻠﻰ ﺑﻌﺾ ﻗﻴﻢ ﺍﶈﺪﺩﺍﺕ( ﰲ ﺍﻟﱪﻧﺎﻣﺞ ،ﳌﺪﻳﺮ ﺍﻟﻨﻈﺎﻡ
ﺃﻥ ﻳﺤﺪﺩ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻭﻧﻈﺎﻡ ﺇﺩﺍﺭﺎ ﺍﻟﻌﻼﺋﻘﻴﺔ .ﺃﻣﺎ ﺍﺳﻢ ﺍﳌﺴﺘﺨﺪﻡ ﻭﻛﻠﻤﺔ ﺍﻟﺴﺮ ﻓﻴﻤﻜﻦ
ﻟﻠﻤﺴﺘﺨﺪﻡ ﺇﺩﺧﺎﳍﻤﺎ ﻋﻨﺪﻣﺎ ﳛﺎﻭﻝ ﺍﻟﻮﻟﻮﺝ ﺇﱃ ﺍﻟﺘﻄﺒﻴﻖ ﻭﺍﺳﺘﺨﺪﺍﻣﻪ .ﻳﺒﲔ ﺍﻟﺸﻜﻞ ) (9-18ﳐﻄﻄﹰﺎ
ﻟﺒﻨﻴﺔ ODBCﺍﻟﻨﻤﻮﺫﺟﻴﺔ .ﻳﻘﻮﻡ ﺗﻄﺒﻴﻖ ﺍﻟﺰﺑﻮﻥ ﺑﺈﺭﺳﺎﻝ ﻃﻠﺐ ﺍﺗﺼﺎﻝ ﻣﻊ ﻣﺼﺪﺭ ﺍﳌﻌﻄﻴﺎﺕ ،ﰒ ﻳﻘﻮﻡ
ﻣﺪﻳﺮ ﻣﺸﻐﻞ Microsoftﲟﻌﺎﳉﺔ ﻫﺬﺍ ﺍﻟﻄﻠﺐ ،ﻭﻣﻦ ﰒ ﻳﻘﻮﻡ ﺑﺘﺤﺪﻳﺪ ﻣﺸﻐﻞ ODBCﺍﳌﻨﺎﺳﺐ
ﻟﻼﺳﺘﺨﺪﺍﻡ .ﻭﳚﺐ ﺃﻻ ﺗﻨﺴﻰ ﺃﻥ ﺍﻟﺒﺎﺋﻌﲔ )ﺍﳌﻨﺘﺠﲔ( ﻣﻦ ﻳﻘﻮﻡ ﺑﺘﻘﺪﱘ ﻫﺬﻩ ﺍﳌﺸﻐﻼﺕ ،ﻓﻴﻤﻜﻦ ﺃﻥ
ﻳﻜﻮﻥ ﺍﳌﺸﻐﻞ ﻫﻮ ﻣﺸﻐﻞ ﳐﺪﻡ ،SQLﺃﻭ ﻣﺸﻐﻞ ،Oracleﺃﻭ ﻣﺸﻐﻞ Informixﺃﻭ...ﻭﻣﻦ ﻣﻬﺎﻡ
ﻣﺪﻳﺮ ﺍﳌﺸﻐﻼﺕ ﺃﻳﻀﹰﺎ ﻴﺌﺔ ﺍﻟﻄﻠﺒﺎﺕ ﻭﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﻼﺣﻴﺔ ﺍﻟﺘﻨﺴﻴﻖ ،ﻭﺇﺩﺍﺭﺓ ﻃﻠﺒﺎﺕ .ODBCﻳﻘﻮﻡ
ﺍﳌﺸﻐﻞ ﺍﻟﺬﻱ ﰎ ﺍﺧﺘﻴﺎﺭﻩ ﲟﻌﺎﳉﺔ ﺍﻟﻄﻠﺒﺎﺕ ﺍﻟﱵ ﻳﺴﺘﻘﺒﻠﻬﺎ ﻣﻦ ﺍﻟﺰﺑﻮﻥ ،ﻭﻣﻦ ﰒ ﻳﺮﺳﻞ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ
ﺇﱃ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﹸﺤﺪﺩ ،ﻭﺍﻟﺬﻱ ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﺷﻜﻞ ﻣﻌﲔ ﻟﻠﻐﺔ ،SQLﺧﺎﺹ ﺑﻪ.
ﺗﻌﺘﻤﺪ ﻛﻤﻴﺔ ﺍﳌﻌﺎﳉﺔ ﺍﳌﻄﻠﻮﺑﺔ ﻹﻧﺸﺎﺀ ﺍﻻﺳﺘﻌﻼﻡ ﻋﻠﻰ ﻣﻘﺪﺭﺍﺕ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ
ﺍﻟﻌﻼﺋﻘﻴﺔ ﺍﻟﺬﻱ ﻳﺘﻢ ﺍﻻﺗﺼﺎﻝ ﻣﻌﻪ.
ﻳﺘﻢ ﲢﺪﻳﺪ ﻣﺴﺘﻮﻯ ﺍﻟﺘﻮﺍﻓﻖ ﻣﻊ ODBCﺣﺴﺐ ﺍﳌﻘﺪﺭﺍﺕ ﺍﻟﱵ ﻳﻀﻌﻬﺎ ﺍﻟﺒﺎﺋﻊ )ﺍﳌﻨﺘﺞ( ﰲ ﺍﳌﺸﻐﻞ
ﺍﳋﺎﺹ ﺑﻪ ،ﺣﻴﺚ ﺃﻥ ﻫﻨﺎﻙ ﺛﻼﺛﺔ ﻣﺴﺘﻮﻳﺎﺕ ﻣﻦ ﺍﻟﺘﻮﺍﻓﻖ ﻣﻌﺮﻓﺔ ﻭﻫﻲ :ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺗﻄﺒﻴﻘﺎﺕ
ﺍﻟﺮﺋﻴﺴﻴﺔ ) ،(Core APIﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻣﻦ ﺍﳌﺴﺘﻮﻯ ﺍﻷﻭﻝ ) ،(Level-1 APIﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ
ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻣﻦ ﺍﳌﺴﺘﻮﻯ ﺍﻟﺜﺎﱐ ) .(Level-2 APIﻭﻗﺪ ﰎ ﺗﻌﺮﻳﻒ ﻫﺬﻩ ﺍﳌﺴﺘﻮﻳﺎﺕ ﺍﻟﺜﻼﺛﺔ ﻣﻦ ﻗﺒﻞ
ﲨﻌﻴﱵ ﺍﳌﻌﺎﻳﲑ ﺍﻟﻠﺘﲔ ﰎ ﺫﻛﺮﳘﺎ ﻗﺒﻞ ﻗﻠﻴﻞ ﰲ ﻫﺬﻩ ﺍﻟﻔﻘﺮﺓ .ﺗﻘﺪﻡ ﻣﻌﻈﻢ ﺍﳌﺸﻐﻼﺕ ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ
ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺮﺋﻴﺴﻴﺔ ﻭﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻣﻦ ﺍﳌﺴﺘﻮﻯ ﺍﻷﻭﻝ ،ﻭﺍﻟﱵ ﺗﺘﻀﻤﻦ:
ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺍﻻﺗﺼﺎﻝ ﻣﻊ ﻣﺼﺎﺩﺭ ﺍﳌﻌﻄﻴﺎﺕ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﻌﻠﻮﻣﺎﺕ ﺧﺎﺻﺔ ﺑﺎﳌﺸﻐﻞ. x
ﻫﻨﺎﻙ ﳑﻴﺰﺍﺕ ﲤﻴﺰ ﻣﻘﺪﺭﺍﺕ ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻣﻦ ﺍﳌﺴﺘﻮﻯ ﺍﻟﺜﺎﱐ ﺗﺘﻀﻤﻦ:
ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺍﺳﺘﻌﺮﺍﺽ ﻣﺼﺎﺩﺭ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺍﻻﺗﺼﺎﻻﺕ ﺍﶈﺘﻤﻠﺔ. x
ﺗﺤﺪﺩ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﺴﺘﻮﻯ ﺍﻟﺬﻱ ﺗﺪﻋﻤﻪ ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﺘﺎﺣﺔ ،ﻋﻨﺪﻣﺎ ﺗﻘﻮﻡ ﺑﺎﺳﺘﺪﻋﺎﺀ
ﺍﳌﺸﻐﻞ ﺇﺫﺍ ﻛﺎﻥ ﺍﳌﺴﺘﻮﻯ ﺍﳌﻄﻠﻮﺏ ﻫﻮ ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ APIﻣﻦ ﺍﳌﺴﺘﻮﻯ ﺍﻟﺜﺎﱐ ،ﻭﻛﺎﻥ
ﺍﻟﺘﻄﺒﻴﻖ ﻳﺪﻋﻢ ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ APIﻣﻦ ﺍﳌﺴﺘﻮﻯ ﺍﻷﻭﻝ ﻓﻘﻂ ،ﻋﻨﺪﺋ ِﺬ ﻓﺈﻥ ﺍﻟﺘﻨﻔﻴﺬ ﺳﻴﺘﻮﻗﻒ
ﺑﺄﺳﻠﻮﺏ ﻣﻀﺒﻮﻁ ﻭﻟﺬﻟﻚ ﻓﺈﻧﻪ ﻟﻦ ﳛﺪﺙ ﲣﺮﻳﺐ ﻟﻠﻤﻌﻄﻴﺎﺕ .ﺗﻜﺘﺐ ﺑﻌﺾ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻟﺘﻌﻤﻞ ﺇﻣﺎ
ﰲ ﺍﳌﺴﺘﻮﻯ ﺍﻷﻭﻝ ﺃﻭ ﺍﳌﺴﺘﻮﻯ ﺍﻟﺜﺎﱐ ،ﻭﺫﻟﻚ ﺣﺴﺐ ﻣﻘﺪﺭﺍﺕ ﺍﳌﺸﻐﻞ ﺍﻟﺘﺎﺑﻊ ﻟﻨﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ
ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺴﺘﺨﺪﻡ.
>a Kf8 564
MZ&ME¥K%µ¹W#_YJDBC¶W
KE:<&W
K¶WákA
SQL ﺑﺘﻨﻔﻴﺬ ﺗﻌﻠﻴﻤﺎﺕ Java ﻟﱪﺍﻣﺞ Java ﺗﺴﻤﺢ ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺗﻄﺒﻴﻘﺎﺕ ﺍﺗﺼﺎﻝ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ
ﻭﺍﻻﺗﺼﺎﻝ ﻣﻊ ﳐﺪﻣﺎﺕ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ.
ﺇﻥ ﺗﻘﻨﻴﺔ JDBCﺗﺸﺒﻪ ﻛﺜﲑﹰﺍ ﺗﻘﻨﻴﺔ ODBCﺇﻻ ﺃﺎ ﺻﻤﻤﺖ ﻟﺘﻌﻤﻞ ﺑﺸﻜﻞ ﺧﺎﺹ ﻣﻊ ﺗﻄﺒﻴﻘﺎﺕ
Javaﻓﻘﻂ .ﺇﻥ ﺗﻘﻨﻴﺔ ODBCﻣﺴﺘﻘﻠﺔ ﻋﻦ ﻟﻐﺔ ﺍﻟﱪﳎﺔ ﺍﳌﺴﺘﺨﺪﻣﺔ.
ﺗﻌﺘﱪ Javaﺟﻴﺪ ﹰﺓ ﻣﻦ ﺃﺟﻞ ﺗﻄﺒﻴﻘﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻷﺎ ﺷﺒﻜﻴﺔ ﺍﻟﺘﻮﺟﻪ ،ﻭﻗﻮﻳﺔ ﻣﻦ ﺣﻴﺚ ﺁﻟﻴﺎﺕ
ﺍﻷﻣﻦ .ﻟﻘﺪ ﺍﺭﺗﺒﻂ ﺃﻭﺭﺍﻛﻞ ﺑﻠﻐﺔ Javaﺣﱴ ﰎ ﺍﻻﻋﺘﻘﺎﺩ ﺃﻥ ﻟﻐﺔ Javaﺳﺘﺄﺧﺬ ﻣﻜﺎﻥ PL/SQL
ﺍﳋﺎﺻﺔ ﺑﺄﻭﺭﺍﻛﻞ ﻣﻦ ﺃﺟﻞ ﺇﺿﺎﻓﺔ ﺑﻌﺾ ﺍﳋﺪﻣﺎﺕ ﺍﻟﱪﳎﻴﺔ ﺍﻹﺿﺎﻓﻴﺔ ﺇﱃ SQLﺪﻑ ﺑﻨﺎﺀ ﺗﻄﺒﻴﻘﺎﺕ
ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ.
ﺇﻥ ﻣﻌﻴﺎﺭ ) JDBCﻣﺸﺎﺑﻪ ﺑﺎﳌﻔﻬﻮﻡ( ﳌﻌﻴﺎﺭ ODBCﺍﳋﺎﺹ ﺑﺸﺮﻛﺔ ،Microsoftﺍﻋﺘﻤﺎﺩﹰﺍ ﻋﻠﻰ
ﻭﺍﺟﻬﺔ ﻣﺴﺘﻮﻯ ﺍﻻﺳﺘﺪﻋﺎﺀﺍﺕ ﺍﳋﺎﺻﺔ ﺑـ ،X/Open SQLﻓﺈﻥ ﺗﻘﻨﻴﺔ JDBCﺗﺘﺄﻟﻒ ﻣﻦ ﻃﺒﻘﺘﲔ
ﺭﺋﻴﺴﻴﺘﲔ ﺍﻟﻄﺒﻘﺔ ﺍﻷﻭﱃ ﻫﻲ JDBC APIﺗﺪﻋﻢ ﻋﻤﻠﻴﺎﺕ ﺍﻻﺗﺼﺎﻝ ﺗﻄﺒﻴﻘﺎﺕ Javaﻭﻣﺪﻳﺮ JDBC
ﻟﻠﻤﺸﻐﻼﺕ .ﺃﻣﺎ ﺍﻟﻄﺒﻘﺔ ﺍﻟﺜﺎﻧﻴﺔ ﻓﻬﻲ ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﺸﻐﻼﺕ JDBCﻭﺗﺪﻋﻢ ﺍﻻﺗﺼﺎﻝ ﻣﻊ
ﻣﺸﻐﻼﺕ JDBCﻭﻣﺸﻐﻼﺕ ﺍﻟﺸﺒﻜﺔ ﻭﻣﺸﻐﻼﺕ .ODBC
ﻳﺘﻀﻤﻦ ﺍﻟﺸﻜﻞ ) (9-19ﻣﺜﺎ ﹰﻻ ﺑﺴﻴﻄﹰﺎ ﻟﻠﺸﻴﻔﺮﺓ ﺍﻟﻼﺯﻣﺔ ﻻﺳﺘﺨﺪﺍﻡ JDBCﻣﻦ ﺃﺟﻞ ﲢﻘﻴﻖ ﺍﻻﺗﺼﺎﻝ
ﻭﻋﻤﻠﻴﺎﺕ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺘﻮﺍﻓﻘﺔ ﻣﻊ ،JDBCﻻﺣﻆ ﺃﻥ ﺍﻟﺸﻴﻔﺮﺓ ﻗﺪ ﻭﺯﻋﺖ ﻋﻠﻰ
ﺃﺭﺑﻌﺔ ﺻﻨﺎﺩﻳﻖ ﻟﻠﺘﺄﻛﻴﺪ ﻋﻠﻰ ﺍﳌﻬﺎﻡ ﺍﳌﺨﺘﻠﻔﺔ ﺍﻟﱵ ﻳﺘﻢ ﺗﻨﻔﻴﺬﻫﺎ.
ﺃﻭ ﹰﻻ ﻳﺘﻢ ﺍﺳﺘﺮﺩﺍﺩ ﺗﺴﻌﺔ ﺣﺰﻡ ﻣﺴﺒﻘﺔ ﺍﻟﺘﻌﺮﻳﻒ ﰲ .Javaﳚﺐ ﺃﻥ ﻳﻘﺪﻡ ﻛﻞ ﻣﺸﻐﻞ ﺻﻨﻔﹰﺎ ﳛﻘﻖ ﺍﻟﺼﻔﻮﻑ
ﺍﻻﻓﺘﺮﺍﺿﻴﺔ )ﺍﻟﻮﳘﻴﺔ( ﻣﺜﻞ java.sql.PreparedStatement ،java.sql.Statement ،java.sql.Connection
ﻭ .java.sql.CallableStatementﺗﻮﺻﻒ ﻫﺬﻩ ﺍﻟﺼﻔﻮﻑ ﺍﻟﻮﳘﻴﺔ ﻭﺍﺟﻬﺔ ﺑﺮﳎﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ،ﻟﻜﻦ ﳚﺐ
ﺃﻥ ﺗﻜﻮﻥ ﳏﺪﺩﺓ ﻟﻜﻞ ﳏﺮﻙ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﰎ ﺍﺗﺼﺎﻟﻪ.
ﻳﻘﻮﻡ ﺍﳌﺜﺎﻝ ﺍﳌﻮﺿﺢ ﰲ ﺍﻟﺸﻜﻞ ) (9-19ﺍﻻﺗﺼﺎﻝ ﺑﻘﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ،Oracleﺣﻴﺚ ﳛﺘﻮﻱ ﺻﻨﺪﻭﻕ
ﺍﻟﺸﻴﻔﺮﺓ ﺍﻟﺘﺎﱄ ﻣﻌﻠﻮﻣﺎﺕ ﻋﻦ ﺑﻨﻴﺔ ﺑﺴﻴﻄﺔ ﺟﺪﹰﺍ ﻟﻠﺠﺪﻭﻝ ﺍﳌﺴﺘﺨﺪﻡ ﰲ ﺍﳌﺜﺎﻝ ،ﻭﻋﻦ ﺗﺴﻠﺴﻞ
) (Sequenceﺍﳌﻔﺘﺎﺡ ﺍﻷﺳﺎﺳﻲ ،ﻭﺍﻟﻘﻮﺍﺩﺡ ﺍﻟﱵ ﳝﻜﻦ ﺃﻥ ﺗﺴﺘﺨﺪﻡ ﻹﺩﺧﺎﻝ ﺍﻟﻘﻴﻤﺔ ﺍﻟﺘﺎﻟﻴﺔ ﻟﻠﻤﻔﺘﺎﺡ
ﺍﻷﺳﺎﺳﻲ .ﻟﻴﺲ ﻣﻦ ﺍﻟﻀﺮﻭﺭﻱ ﺃﻥ ﺗﻔﻬﻢ ﺍﻟﺸﻴﻔﺮﺓ ﺍﳋﺎﺻﺔ ﺑﺎﳌﺸﻐﻞ ﻭﳕﻂ ﻫﺬﺍ ﺍﳌﺸﻐﻞ ﻭﺳﻠﺴﺔ
565 ·j¦
¶WáKE:<W
jME9
ﺃﻣﺎ ﺃﻛﱪ ﺻﻨﺪﻭﻕ ﻓﻴﺤﺘﻮﻱ ﻋﻠﻰ ﺍﻟﺸﻴﻔﺮﺓ ﺍﻟﱵ ﺗﻌﺮﺽ ﻛﻴﻔﻴﺔ ﲢﻘﻴﻖ ﺍﻻﺗﺼﺎﻝ.(ﺍﻻﺗﺼﺎﻝ )ﺍﻻﺭﺗﺒﺎﻁ
)ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﻄﺮﻳﻘﺔ.(temp_demo) ﻭﺇﺩﺧﺎﻝ ﺍﻟﻘﻴﻢ ﺍﳌﻤﺮﺭﺓ ﺇﱃ ﺍﳉﺪﻭﻝ، ﻣﻊ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ
.((buildConnection) ﺍﳌﹸﺴﻤﺎﺓ
//package.corn.iteamsolutions.eis.tools.sql.sample; Predefined Java packages
importjava.sql.CallableStatement;
importjava.sql.Connection;
importjava.sql.Driver;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjava.sql.SQLException;
importjava.sql.Types;
/**
*This class is intended as a simple demonstration of how to use JDBC
*to access a JDBC compliant Database.
Oracle table structure and primary key sequence and trigger
*The database structure listed below will be used for all examples: <br>
*<pre>
*
TABLE temp_demo
*Name Null? Type
*
*ID NOT NULL NUMBER
*NAME VARCHAR2(20)
*
*Sequence used to populate the primary key
*SEQUENCE temp_demo_seq
*
*—Trigger used to populate the primary key
*
*CREATE OR REPLACE TRIGGER temp_demo_trig_
*BEFORE INSERT ON temp_demo
*FOR EACHROW
*BEGIN
*-This will allow the key to be autopopulated
*-could be retrieved using the RETURNING
*-clause of the INSERT statement
*-IF(:NEW.id IS NULL)
*THEN
* SELECT temp_demo_seq.nextval
* INTO :NEW.id
* FROM dual;
*END IF;
*END;
*</pre>
*<br>
a Kf8> 566
Initialization
public class OracleSqlTest
{
/**constant used for retrieving the id column of the temp_demo table*/
public static final String ID="id";
/**constant used for retrieving the name column of the temp_demo table*/
public static final String NAME="name";
/**name of the database account*/
private String NAME = "use/name";
/**the password for the user*/
private String m_password="userpassword",
/**the Driver class to use for connecting to the database*/
private String m_driver="oracle.jdbc.driver.OracleDriver";
/**the type of driver to use*/
private String m_drivertype="jdbc:oracle:thin:@";
/**the database to connect to*/
private String m_database="se/vema/7?e:1521:databasename";
/**insert a new record into the temp_demo*/
private String m_insert="INSERT INTO temp_demo (id, name) values (?,?)"
/**insert a new record into the temp_demo*/
private String m_insertReturning="BEGIN\n"+
"INSERT INTO temp_demo(name) values (?)\n"+
"RETURNING id INTO ?;\n"+
"END;";
/**the connection being used by this class to do all work*/
private Connection m_conn=null;
/**
Default constructor-could be modified to supply the above values
*or to pull them from a properties file.
*
*@throws Exception-any failure is a terminal condition
*/
public OracleSqlTest()
throws Exception
{
m_conn=buildConnection();
}
/**
*inserts the passed values into the temp_demo table
*
*@param id-number to be used as the primary key in the record
*@param name-Name to be stored in the name column
*/
public void insert(int id, String name)
throws SCSI-Exception
{
PreparedStatement stmt=null;
Try
{
//build a preparedStatement-this will allow values to
//be substituted for the "?" in the String passed
stmt=m_conn.prepareStatement(m_insert);
//bind the value to the argument (?)
//the first argument is the position of the? to replace.
//The position count begins from 1
567 ·j¦
¶WáKE:<W
jME9
stmt.setlnt(1,id);
stmt.setString(2,name);
//exec the statement
stmt.execute();
}
catch (SQLException e)
{
throw e;
}
finally
{
//make sure that all resources are released
//if this is not done then eventually an exception
//will be thrown by the database because too many
//cursors are open
if(stmt!=null)
stmt,close();
}
}
ﳛﺘﻮﻱ ﺍﻟﺼﻨﺪﻭﻕ ﺍﻷﺧﲑ ﻋﻠﻰ ﺍﻟﺸﻴﻔﺮﺓ ﺍﻟﻼﺯﻣﺔ ﻟﺒﻨﺎﺀ ﻏﺮﺽ ﺍﻻﺗﺼﺎﻝ ،ﺪﻑ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻗﺎﻋﺪﺓ
ﻣﻌﻄﻴﺎﺕ ،Oracleﲟﺎ ﰲ ﺫﻟﻚ ﺭﺳﺎﺋﻞ ﺍﳋﻄﺄ ﺍﻟﱵ ﺗﻌﺮﺽ ﺇﺫﺍ ﻓﺸﻞ ﺍﻻﺗﺼﺎﻝ ﻟﺴﺒﺐ ﺃﻭ ﻵﺧﺮ .ﻫﺬﺍ
ﺍﳌﺜﺎﻝ ﻣﻮﺟﻮﺩ ﺑﺸﻜﻞ ﻛﺎﻣﻞ ﻋﻠﻰ ﺍﳌﻮﻗﻊ ﺍﻹﻟﻜﺘﺮﻭﱐ ﳍﺬﺍ ﺍﻟﻜﺘﺎﺏ .ﻭﳛﺘﻮﻱ ﺍﳌﻮﻗﻊ ﺃﻳﻀﹰﺎ ﻋﻠﻰ ﻃﺮﻳﻘﺔ
ﺃﺧﺮﻯ ﻣﻦ ﺃﺟﻞ ﺇﺿﺎﻓﺔ ﻗﻴﻤﺔ ﺍﳌﻔﺘﺎﺡ ﺍﻷﺳﺎﺳﻲ ،ﻭﻻ ﻳﺘﻀﻤﻦ ﺷﻴﻔﺮﺓ ﺇﻧﺸﺎﺀ ﺍﻟﺴﺠﻞ ﺍﳉﺪﻳﺪ ﻓﺤﺴﺐ،
ﻭﺇﳕﺎ ﻳﺘﻀﻤﻦ ﺷﻴﻔﺮﺓ ﻣﻦ ﺃﺟﻞ ﺗﻌﺪﻳﻞ ﻭﺣﺬﻑ ﺍﻟﺴﺠﻼﺕ.
(VBA)ME?E:eEµjEM=¶W
·jZK?E:ë
ﻳﺴﻤﺢ Access 2000ﻟﻠﻤﺴﺘﺨﺪﻡ ﺍﳌﺒﺘﺪﺉ ﺑﺈﻧﺸﺎﺀ ﳕﺎﺫﺝ ﺃﻭﻟﻴﺔ ﻟﻠﺘﻄﺒﻴﻘﺎﺕ ،ﲟﺎ ﻓﻴﻬﺎ ﺗﺼﻤﻴﻢ ﻗﻮﺍﻋﺪ
ﺍﳌﻌﻄﻴﺎﺕ ،ﺗﺼﻤﻴﻢ ﺍﻟﻘﻮﺍﺋﻢ ،ﺗﺼﻤﻴﻢ ﺍﻟﻨﻤﺎﺫﺝ ،ﺗﺼﻤﻴﻢ ﺍﻟﺘﻘﺎﺭﻳﺮ ،ﻭﺫﻟﻚ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻭﺣﺪﺍﺕ ﻣﺎﻛﺮﻭ
ﻣﺴﺒﻘﺔ ﺍﻟﺘﻌﺮﻳﻒ ﰲ ،Access 2000ﻭﻟﻜﻦ ﻳﻮﺟﺪ ﺣﺪ ﳌﺎ ﳝﻜﻦ ﲢﻘﻴﻘﻪ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻫﺬﻩ ﺍﻟﻮﺣﺪﺍﺕ
ﺍﳌﺎﻛﺮﻭﻳﺔ ،ﻭﳚﺪ ﺍﳌﻄﻮﺭﻭﻥ ﺻﻌﻮﺑﺔ ﻋﻨﺪﻣﺎ ﳛﺎﻭﻟﻮﻥ ﲢﻘﻴﻖ ﲨﻴﻊ ﺍﳌﻬﺎﻡ ﻭﺍﻟﻘﺪﺭﺍﺕ ﺍﳌﻄﻠﻮﺑﺔ .ﲢﺘﺎﺝ
ﺑﻴﻨﻤﺎ ﺑﻌﺾ ﺍﻟﻘﺪﺭﺍﺕ ﺇﱃ ﺍﻟﻮﺣﺪﺍﺕ ﺍﳌﺎﻛﺮﻭﻳﺔ ﻭﻻ ﳝﻜﻦ ﲢﻘﻴﻘﻬﺎ ﻣﻦ ﺧﻼﻝ ﻓﻴﺠﻮﺍﻝ ﺑﻴﺴﻚ
ﺍﻟﺘﻄﺒﻴﻘﻴﺔ ) ،(VBAﻓﺈﻧﻪ ﻣﺎﺯﺍﻝ ﻫﻨﺎﻙ ﺍﻟﻜﺜﲑ ﻣﻦ ﺍﻟﻘﺪﺭﺍﺕ ﺍﻟﱵ ﳝﻜﻦ ﲢﻘﻴﻘﻬﺎ ﺃﻭ ﲢﺴﻴﻨﻬﺎ ﺑﺎﺳﺘﺨﺪﺍﻡ
VBAﺑﺎﻟﺘﻌﺎﻭﻥ ﻣﻊ .Access 2000ﻭﻓﻴﻤﺎ ﻳﻠﻲ ﺑﻌﺾ ﺍﻷﺳﺒﺎﺏ ﺍﻟﱵ ﺗﺪﻓﻊ ﻣﺴﺘﺨﺪﻡ Access 2000ﻟﺘﻌﻠﻢ
VBAﺑﻌﺪ ﺃﻥ ﻳﻜﻮﻥ ﻗﺪ ﺃﺻﺒﺢ ﻣﺘﺂﻟﻔﹰﺎ ﻣﻊ Access 2000ﺣﺴﺐ :Smith and Sussman 1997
ﻻ ﳝﻜﻦ ﲢﻘﻴﻖ ﺑﻌﺾ ﺍﳌﻬﺎﻡ ﺍﳌﻌﻘﺪﺓ ﺇﻻ ﺑﺎﺳﺘﺨﺪﺍﻡ ،VBAﻣﺜﻞ ﺇﻇﻬﺎﺭ ﺭﺳﺎﺋﻞ ﺍﳋﻄﺄ ﺍﳋﺎﺻﺔ x
ﺑﻚ ،ﺟﻌﻞ ﺍﻷﺯﺭﺍﺭ ﻏﲑ ﻣﻔﻌﻠﺔ ﻋﻨﺪﻣﺎ ﻻ ﻳﺘﻮﺟﺐ ﺍﻟﻀﻐﻂ ﻋﻠﻴﻬﺎ ،....ﻣﺜﻞ ﻫﺬﻩ ﺍﳌﻬﺎﻡ ﲢﺘﺎﺝ
ﺇﱃ ﺷﻴﻔﺮﺓ .VBA
ﻻ ﳝﻜﻦ ﲢﻘﻴﻖ ﻋﻤﻠﻴﺎﺕ ﻣﻌﺎﳉﺔ ﺍﻷﺧﻄﺎﺀ ﺇﻻ ﺑﺎﺳﺘﺨﺪﺍﻡ ،VBAﺇﻥ ﺍﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﻭﺣﺪﺍﺕ ﺍﳌﺎﻛﺮﻭ x
ﰲ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﻨﻬﺎﺋﻲ ﺧﻄﺮ ﻷﻧﻪ ﻻ ﺗﻮﺟﺪ ﻃﺮﻳﻘﺔ ﻟﻺﺻﻼﺡ ﺇﺫﺍ ﺗﻌﻄﻠﺖ ﻫﺬﻩ ﺍﻟﻮﺣﺪﺍﺕ ﻟﺴﺒﺐ ﻣﺎ.
ﳝﻜﻦ ﲢﻘﻴﻖ ﺳﺮﻋﺔ ﺍﻟﺘﻨﻔﻴﺬ ﻋﻨﺪ ﺍﺳﺘﺨﺪﺍﻡ ﻭﺣﺪﺍﺕ VBAﺑﺪ ﹰﻻ ﻣﻦ ﻭﺣﺪﺍﺕ ﺍﳌﺎﻛﺮﻭ .ﺇﻥ ﺗﻨﻔﻴﺬ x
ﺍﻟﺸﻴﻔﺮﺓ ﺃﺳﺮﻉ ﻣﻦ ﺗﻨﻔﻴﺬ ﺍﳌﺎﻛﺮﻭ ،ﻭﻫﺬﻩ ﺍﻟﻔﺎﺋﺪﺓ ﺳﺘﻜﻮﻥ ﺃﻛﺜﺮ ﻇﻬﻮﺭﹰﺍ ﻛﻠﻤﺎ ﻛﱪ ﻭﺗﻌﻘﺪ ﺍﻟﺘﻄﺒﻴﻖ.
ﺗﺼﺒﺢ ﻋﻤﻠﻴﺔ ﺍﻟﺼﻴﺎﻧﺔ ﺃﻛﺜﺮ ﺳﻬﻮﻟﺔ ،ﻷﻥ ﻭﺣﺪﺍﺕ VBAﺗﺨﺰﻥ ﻣﻊ ﺍﻟﻨﻤﺎﺫﺝ ﻭﺍﻟﺘﻘﺎﺭﻳﺮ ،ﺃﻣﺎ x
ﻭﺣﺪﺍﺕ ﺍﳌﺎﻛﺮﻭ ﻓﻴﺘﻢ ﲣﺰﻳﻨﻬﺎ ﺑﺸﻜﻞ ﻣﻨﻔﺼﻞ ﻋﻦ ﺍﻟﻨﻤﺎﺫﺝ ﻭﺍﻟﺘﻘﺎﺭﻳﺮ ﺍﳌﺮﺗﺒﻄﺔ ﺎ .ﻛﻤﺎ ﺃﻥ
ﻧﻘﻞ ﺍﻟﺘﻄﺒﻴﻖ ﺇﱃ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺃﹸﺧﺮﻯ ﺳﻴﻜﻮﻥ ﺃﺳﻬﻞ ﻷﻥ ﻭﺣﺪﺍﺕ VBAﺳﺘﻨﻘﻞ ﻣﻊ
ﺍﻟﻨﻤﺎﺫﺝ ﻭﺍﻟﺘﻘﺎﺭﻳﺮ ﺍﳌﺮﺗﺒﻄﺔ ﺎ ﻭﺫﻟﻚ ﻷﺎ ﳐﺰﻧﺔ ﻣﻊ ﻭﺣﺪﺍﺎ.
569 ·j¦
¶WáKE:<W
jME9
ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﻋﻤﻠﻴﺎﺕ ﺇﺩﺍﺭﺓ ﺭﺑﻂ ﻭﺗﻀﻤﲔ ﺍﻟﻜﺎﺋﻨﺎﺕ ) (OLEﺑﺸﻜﻞ ﺃﻛﺜﺮ ﺍﻛﺘﻤﺎ ﹰﻻ. x
ﻗﺪﺭﺓ ﺃﻛﱪ ﻋﻠﻰ ﺍﻟﺘﺤﻜﻢ ﺍﻟﱪﳎﻲ ﺑﺎﺳﺘﺨﺪﺍﻡ .VBAﻷﻧﻪ ﻻ ﳝﻜﻦ ﻟﻠﻤﺎﻛﺮﻭ ﺃﻥ ﻳﻌﺘﱪ ﺍﳌﺘﻐﲑﺍﺕ x
ﻛﺒﺎﺭﻣﺘﺮﺍﺕ ﳌﺘﺤﻮﻝ ﺁﺧﺮ ،ﻭﻻ ﳝﻜﻦ ﺍﻟﺘﺤﻜﻢ ﺑﺴﻬﻮﻟﺔ ﺑﺘﺴﻠﺴﻞ ﺍﻷﺣﺪﺍﺙ.
ﻗﺮﺍﺀﺓ ﺷﻴﻔﺮﺓ VBAﺃﺳﻬﻞ ﻣﻦ ﻗﺮﺍﺀﺓ ﻭﺣﺪﺍﺕ ﺍﳌﺎﻛﺮﻭ ،ﻷﻧﻪ ﳝﻜﻨﻚ ﺭﺅﻳﺔ ﺍﻟﻮﺣﺪﺓ ﻛﺎﻣﻠﺔ x
ﻭﺗﻜﻮﻥ ﺍﻟﺸﻴﻔﺮﺓ ﺍﻟﻨﺼﻴﺔ ﻣﻠﻮﻧﺔ.
ﳚﺐ ﺇﻧﺸﺎﺀ ﻭﺣﺪﺓ ﻣﺎﻛﺮﻭ ﺗﻠﻘﺎﺋﻴﺔ ﺍﻟﺘﻨﻔﻴﺬ ﻣﻦ ﺃﺟﻞ ﻓﺘﺢ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﳚﺐ ﺍﺳﺘﺨﺪﺍﻡ ﳎﻤﻮﻋﺔ
ﻭﺣﺪﺍﺕ ﻣﺎﻛﺮﻭ ﻣﻦ ﺃﺟﻞ ﺍﻟﺘﻘﺎﻁ ﻋﻤﻠﻴﺎﺕ ﺍﻟﻨﻘﺮ ﻋﻠﻰ ﺍﳌﻔﺎﺗﻴﺢ ﰲ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ .ﻭﺍﻷﻫﻢ ﻣﻦ ﺫﻟﻚ،
ﳚﺐ ﲢﻮﻳﻞ ﺍﻟﻨﻤﻮﺫﺝ ﺍﻷﻭﱄ ﻟﻠﺘﻄﺒﻴﻖ ﺍﳌﻨﺸﺄ ﺑﻮﺍﺳﻄﺔ ﻭﺣﺪﺍﺕ ﺍﳌﺎﻛﺮﻭ ﺇﱃ ﻭﺣﺪﺍﺕ VBAﻟﺘﺼﺒﺢ
ﺍﻟﻨﺴﺨﺔ ﺍﳌﻮﺯﻋﺔ ﻟﻠﺘﻄﺒﻴﻖ ﲝﺎﻟﺔ ﻳﻜﻮﻥ ﻓﻴﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ ﻗﻮﻱ ﻭﻣﺴﺘﻘﺮ ﻣﻊ ﺍﳌﺰﻳﺪ ﻣﻦ ﺍﳌﻘﺪﺭﺍﺕ.
ﺇﻥ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ Windowsﻭﻛﺎﻣﻞ ﺗﻄﺒﻴﻘﺎﺗﻪ ﻣﻘﻮﺩﺓ ﺑﺎﻷﺣﺪﺍﺙ .ﻓﻜﻞ ﺷﻲﺀ ﳛﺪﺙ ﰲ ﺗﻄﺒﻴﻖ
Access 2000ﻫﻮ ﻋﺒﺎﺭﺓ ﻋﻦ ﺍﺳﺘﺠﺎﺑﺔ ﳊﺪﺙ ﻣﺎ ﻣﺜﻞ ﺣﺪﺙ ﺍﻟﻀﻐﻂ ﻋﻠﻰ ﺍﻟﻔﺄﺭﺓ ﺍﻟﺬﻱ ﳝﻜﻦ ﺃﻥ
ﻳﻠﺘﻘﻄﻪ .Access 2000ﺃﻭ ﹰﻻ ﳛﺪﺙ ﺣﺪﺙ ﻣﺎ ،ﰒ ﻳﺘﻢ ﺍﻟﺘﻘﺎﻃﻪ ﰒ ﺗﻮﻟﻴﺪ ﺍﻻﺳﺘﺠﺎﺑﺔ ﺍﳌﻨﺎﺳﺒﺔ ﳍﺬﺍ
ﺍﳊﺪﺙ .ﻭﺑﺎﻟﺘﺎﱄ ﻓﺈﻥ Access 2000ﻟﻴﺲ ﺇﺟﺮﺍﺋﻲ .ﳝﻜﻦ ﺃﻥ ﻳﺄﰐ ﺍﳊﺪﺙ ﺍﻟﺘﺎﱄ ﻣﻦ ﺃﻱ ﻣﻜﺎﻥ ﻋﻠﻰ
ﻭﺍﺟﻬﺔ ﺍﻟﱪﻧﺎﻣﺞ ﺃﻭ ﻣﻦ ﺃﻱ ﻣﻔﺘﺎﺡ ﰲ ﻟﻮﺣﺔ ﺍﳌﻔﺎﺗﻴﺢ .ﺗﺘﺄﻟﻒ ﻋﻤﻠﻴﺔ ﺍﻟﱪﳎﺔ ﰲ ﺍﻟﺒﻴﺌﺔ ﺍﳌﻘﻮﺩﺓ
ﺑﺎﻷﺣﺪﺍﺙ ﻣﻦ ﺇﻧﺸﺎﺀ ﺃﻏﺮﺍﺽ ﻭﻣﻦ ﰒ ﺗﻐﻴﲑ ﺧﺼﺎﺋﺼﻬﺎ ﻟﻜﻲ ﺗﺘﺼﺮﻑ ﺑﺎﻟﻄﺮﻳﻘﺔ ﺍﻟﱵ ﻳﺮﻏﺐ ﺎ
ﺍﳌﱪﻣﺞ ﲡﺎﻩ ﺃﻱ ﺣﺪﺙ ﻳﺆﺛﺮ ﻋﻠﻰ ﺍﻟﻐﺮﺽ.
ﻳﻈﻬﺮ ﺍﻟﺸﻜﻞ ) (9-20ﺷﻴﻔﺮﺓ VBAﺍﻟﱵ ﺗﻌﻄﻞ ﺍﻟﺰﺭ ﺍﻟﺘﺎﱄ ﰲ ﳕﻮﺫﺝ productEntryﻋﻨﺪﻣﺎ ﻳﻌﺮﺽ
ﺳﺠﻞ ﺟﺪﻳﺪ .ﺇﻥ ﺳﺠﻼﺕ ﻫﺬﺍ ﺍﻟﻨﻤﻮﺫﺝ ﺗﺄﰐ ﻣﻦ ﺍﳉﺪﻭﻝ Product_tﻳﻤﺜﻞ ﺍﳊﻘﻞ Product_ID
ﺍﳌﻔﺘﺎﺡ ﺍﻷﺳﺎﺳﻲ ﻟﻠﺠﺪﻭﻝ ،ﻭﲢﺪﺩ ﻗﻴﻤﺔ ﺍﳊﻘﻞ Product_IDﻟﻠﺴﺠﻞ ﺍﳊﺎﱄ ﺑﺎﺳﺘﺨﺪﺍﻡ
.Me.Product_IDﺇﺫﺍ ﻛﺎﻥ ﻻ ﻳﻮﺟﺪ ﻗﻴﻤﺔ ﻟﻠﻤﻔﺘﺎﺡ ﺍﻷﺳﺎﺳﻲ ﻟﻠﺴﺠﻞ ﺍﳊﺎﱄ ،ﻓﺈﻧﻪ ﻻ ﺑﺪ ﺃﻥ
ﻳﻜﻮﻥ ﺟﺪﻳﺪﺍﹰ ،ﻭﺑﺎﻟﺘﺎﱄ ﻓﺎﻟﺰﺭ ﺍﳌﹸﺴﻤﻰ NEXTﳚﺐ ﺃﻥ ﻳﻜﻮﻥ ﻏﲑ ﻣﻔﻌﻞ .ﲟﺎ ﺃﻥ ﻋﻤﻠﻴﺔ ﻋﺪﻡ ﺗﻔﻌﻴﻞ
ﺍﻟﺰﺭ ﻗﺪ ﺗﺆﺩﻱ ﺇﱃ ﺧﻄﺄ ﰲ ﺯﻣﻦ ﺍﻟﺘﻨﻔﻴﺬ ،ﻓﺈﻥ ﻋﻤﻠﻴﺔ ﲢﺪﻳﺪ ﺍﻟﺰﺭ ﳚﺐ ﺃﻥ ﻳﺰﺍﺡ ﺇﱃ ﻣﻜﻮﻥ ﺁﺧﺮ،
ﻭﻫﻨﺎ ﻳﺘﻢ ﺗﻐﻴﲑ ﺍﻟﺘﺮﻛﻴﺰ ﺃﻭ ﺍﻟﺘﺤﺪﻳﺪ ﺇﱃ ﺍﻟﺰﺭ ﺍﻟﺴﺎﺑﻖ ﻭﻣﻦ ﰒ ﻳﺘﻢ ﻳﻌﻄﻞ ﺍﻟﺰﺭ ) ،(nextﺇﺫﺍ ﻛﺎﻥ
ﻼ.ﻼ ﺟﺪﻳﺪﺍﹰ ،ﻋﻨﺪﺋﺬ ﻓﺎﻟﺰﺭ ﺍﳌﹸﺴﻤﻰ NEXTﻳﺒﻘﻰ ﻣﻔﻌ ﹰ
ﺍﻟﺴﺠﻞ ﺍﳊﺎﱄ ﻟﻴﺲ ﺳﺠ ﹰ
>a Kf8 570
Mqu%
ﺗﻘﺪﻡ ﺑﲎ ﳐﺪﻡ/ﻋﻤﻴﻞ ﻓﺮﺹ ﻋﻤﻞ ﺃﻛﺜﺮ ﻣﻼﺀﻣﺔ ﻟﻸﻧﻈﻤﺔ ﺍﳊﺎﺳﻮﺑﻴﺔ ﺍﻟﱵ ﲢﺘﺎﺟﻬﺎ ﺍﻷﻋﻤﺎﻝ.
ﻣﻮﺿـﻮﻉ ﺍﳌﻨﺎﻗـﺸﺔ ﻫﻮ ﺗﺄﺳﻴﺲ ﺣﺴﺎﺏ ﻣﻨﺎﺳﺐ ﺑﲔ ﳐﺪﻡ/ﻋﻤﻴﻞ ﺃﻧﻈﻤﺔ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ
ﺍﳋﺎﺻﺔ ﺑﺎﳊﺎﺳﺒﺎﺕ ﺍﻟﻀﺨﻤﺔ .ﺗﱪﺯ ﺑﲎ ﳐﺪﻡ/ﻋﻤﻴﻞ ﰲ ﺗﺰﻭﻳﺪ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻹﻧﺘﺮﻧﺖ ،ﻣﺘﻀﻤﻨﺔ ﺍﻟﻮﺻﻮﻝ
ﺇﱃ ﺍﳌﻌﻄـﻴﺎﺕ ﺍﻟﺪﻳﻨﺎﻣﻴﻜـﻴﺔ .ﰎ ﻣﻨﺎﻗﺸﺔ ﻋﺪﺓ ﺑﲎ ﳐﺪﻡ/ﻋﻤﻴﻞ ﰲ ﻫﺬﺍ ﺍﻟﻔﺼﻞ ،ﻭﻛﺬﻟﻚ ﺑﲎ ﳐﺪﻡ
ﺍﳌﻠـﻒ ﺣﻴﺚ ﻳﺪﻳﺮ ﳐﺪﻡ ﺍﳌﻠﻒ ﻋﻤﻠﻴﺎﺕ ﺍﳌﻠﻒ ﻭﻳﺘﻢ ﻣﺸﺎﺭﻛﺘﻬﺎ ﻟﻜﻞ ﺣﺎﺳﺐ ﺷﺨﺼﻲ ﻋﻤﻴﻞ ﻳﺘﺒﻊ
ﻟﺸﺒﻜﺘﻪ .ﲣﻠﻖ ﳐﺪﻣﺎﺕ ﺍﳌﻠﻒ ﲪﻞ ﺷﺒﻜﺔ ﻛﺒﲑ ،ﻳﺘﻄﻠﺐ ﻧﺴﺨﺔ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﻣﻌﻄﻴﺎﺕ ﻛﺎﻣﻠﺔ
ﻋﻠـﻰ ﻛﻞ ﺣﺎﺳﺐ ﻋﻤﻴﻞ ،ﻛﻤﺎ ﻳﺘﻄﻠﺐ ﺑﺮﳎﺔ ﻣﻌﻘﺪﺓ ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺇﺩﺍﺭﺓ ﺗﻜﺎﻣﻞ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ
ﺍﳌﺸﺘﺮﻛﺔ.
ﻛﻤـﺎ ﲡﻌﻞ ﺑﻨﻴﺔ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﺰﺑﻮﻥ ﻗﺎﺩﺭﹰﺍ ﻋﻠﻰ ﺇﺩﺍﺭﺓ ﻭﺍﺟﻬﺔ ﺍﳌﺴﺘﺨﺪﻡ ﺑﻴﻨﻤﺎ ﻳﺪﻳﺮ ﳐﺪﻡ
ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻭﲣﺰﻳﻨﻬﺎ.
ﺗﻘﻠـﻞ ﻫﺬﻩ ﺍﻟﺒﲎ ﺍﺯﺩﺣﺎﻡ ﺍﻟﺸﺒﻜﺔ ،ﻳﻘﻠﻞ ﺍﻟﻄﺎﻗﺔ ﺍﳌﻄﻠﻮﺑﺔ ﻣﻦ ﻛﻞ ﻋﻤﻴﻞ ،ﻳﺮﻛﺰ ﺗﺮﺧﻴﺺ ﺍﳌﺴﺘﺨﺪﻡ،
ﻓﺤـﺺ ﺍﻟـﺘﻜﺎﻣﻞ ،ﺻـﻴﺎﻧﺔ ﺩﻟـﻴﻞ ﺍﳌﻌﻄﻴﺎﺕ ،ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺤﺪﻳﺚ ﻭﺍﻻﺳﺘﻌﻼﻡ ﻋﻠﻰ ﳐﺪﻡ ﻗﺎﻋﺪﺓ
ﺍﳌﻌﻄﻴﺎﺕ.
ﺗـﺴﻤﺢ ﺍﻟـﺒﲎ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ،ﺍﻟﱵ ﺗﺘﻀﻤﻦ ﳐﺪﻣﺎﺕ ﺃﺧﺮﻯ ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺍﻟﻌﻤﻴﻞ ﻭﻃﺒﻘﺎﺕ ﳐﺪﻡ
ﻗﺎﻋـﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﻟﺸﻴﻔﺮﺓ ﺍﻟﺘﻄﺒﻴﻖ ﺃﻥ ﲣﺰﻥ ﻋﻠﻰ ﳐﺪﻡ ﺇﺿﺎﰲ .ﺗﺴﻤﺢ ﻫﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ﳌﻌﺎﳉﺔ ﺍﻟﻌﻤﻞ
ﺃﻥ ﺗﻨﺠﺰ ﻋﻠﻰ ﳐﺪﻡ ﺇﺿﺎﰲ ،ﻣﻨﺸﺄﺓ ﰲ ﻋﻤﻴﻞ ﻫﺰﻳﻞ.
ﺗﺘـﻀﻤﻦ ﻓـﻮﺍﺋﺪ ﺍﻟﺒﻨـﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ :ﻗﺎﺑﻠﻴﺔ ﺍﻟﺘﻤﺪﺩ ،ﻣﺮﻭﻧﺔ ﺗﻜﻨﻮﻟﻮﺟﻴﺔ ،ﺗﻜﻠﻔﺔ ﺯﻣﻨﻴﺔ ﻃﻮﻳﻠﺔ
ﻣﻨﺨﻔﻀﺔ ،ﻣﻼﺀﻣﺔ ﺃﻓﻀﻞ ﻻﺣﺘﻴﺎﺟﺎﺕ ﺍﻟﻌﻤﻞ ،ﺧﺪﻣﺔ ﺯﺑﻮﻥ ﳏﺴﻨﺔ ،ﺃﺧﻄﺎﺭ ﻗﻠﻴﻠﺔ .ﻟﻜﻦ ،ﺃﻋﻠﻰ ﻓﺘﺮﺓ
ﺯﻣﻨﻴﺔ ﻗﺼﲑﺓ ،ﺗﺪﺭﻳﺐ ﻭﺃﺩﻭﺍﺕ ﻣﺘﻘﺪﻣﺔ ،ﻧﻘﺺ ﰲ ﺍﳌﺴﺘﺨﺪﻣﲔ ﺍﺮﺑﲔ ،ﻣﻌﺎﻳﲑ ﻣﺘﻨﺎﻓﺮﺓ ،ﻭﻧﻘﺺ ﰲ
ﺃﺩﻭﺍﺕ ﺍﳌـﺴﺘﺨﺪﻡ ﺍﻟﻄﺮﰲ ﻭﻫﻲ ﲟﺠﻤﻮﻋﻬﺎ ﺗﺸﻜﻞ ﻣﺸﺎﻛﻞ ﰲ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ﺃﻭ
ﺫﺍﺕ nﻃﺒﻘﺔ.
ﳛـﺪﺩ ﺗﻘﺴﻴﻢ ﺍﻟﺘﻄﺒﻴﻖ ﺃﺟﺰﺍﺀ ﻣﻦ ﺷﻴﻔﺮﺓ ﺍﻟﺘﻄﺒﻴﻖ ﻷﺟﺰﺍﺀ ﳐﺪﻡ ﺃﻭ ﻋﻤﻴﻞ ﺑﻌﺪ ﻛﺘﺎﺑﺘﻬﺎ ،ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ
ﲢﻘـﻴﻖ ﺃﻓﻀﻞ ﺃﺩﺍﺀ .ﻳﺘﻮﻗﻊ ﺃﻥ ﺗﺰﺩﺍﺩ ﺇﻧﺘﺎﺟﻴﺔ ﻣﻄﻮﺭﻱ ﺍﻟﺘﻄﺒﻴﻖ ﻛﻨﺘﻴﺠﺔ ﻻﺳﺘﺨﺪﺍﻡ ﲡﺰﻱﺀ ﺍﻟﺘﻄﺒﻴﻖ،
ﻟﻜﻦ ﳚﺐ ﺃﻥ ﻳﻔﻬﻢ ﺍﳌﻄﻮﺭ ﻛﻞ ﻋﻤﻠﻴﺔ ﰲ ﺣﻴﻨﻬﺎ ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﻭﺿﻌﻬﺎ ﰲ ﻣﻜﺎﺎ ﺍﻟﺼﺤﻴﺢ.
ﺃﺩﻯ ﺍﻹﻓـﺮﺍﻁ ﺍﳌـﺮﺗﺒﻂ ﻣﻊ ﺍﻟﺘﺒﲏ ﺍﻟﻮﺍﺳﻊ ﻟﺒﲎ ﳐﺪﻡ/ﻋﻤﻴﻞ ﺇﱃ ﺍﻟﺘﻨﺒﺆ ﺑﺰﻭﺍﻝ ﺍﳊﺎﺳﺒﺎﺕ ﺍﻟﻀﺨﻤﺔ،
ﺗﻮﺟﻬﺖ ﺗﻄﺒﻴﻘﺎﺕ ﺧﻄﲑﺓ ﻭﻣﻬﻤﺔ ﻟﻺﺑﻘﺎﺀ ﻋﻠﻰ ﺍﳊﺎﺳﺒﺎﺕ ﺍﻟﻀﺨﻤﺔ.
571 ·j¦
¶WáKE:<W
jME9
ﻟـﻦ ﻳﻜﻮﻥ ﻣﻦ ﺍﻟﺴﻬﻞ ﲢﻮﻳﻞ ﻫﺬﻩ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﻌﻘﺪﺓ ﺇﱃ ﺑﻴﺌﺎﺕ ﳐﺪﻡ/ﻋﻤﻴﻞ ﻣﻮﺯﻋﺔ .ﲡﻌﻞ ﺣﻠﻮﻝ
ﺇﻣﻜﺎﻧﻴﺔ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺘﻮﺍﺯﻳﺔ ﻣﻦ ﺍﳉﺬﺍﺏ ﻭﺍﳌﺜﲑ ﺍﻹﺑﻘﺎﺀ ﺍﳌﺮﻛﺰ ﻋﻠﻰ ﺗﻄﺒﻴﻖ ﺃﻭ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ .ﲟﺎ
ﺃﻥ SQLﻫﻲ ﻟﻐﺔ ﻣﻌﺎﳉﺔ ﳎﻤﻮﻋﺔ ﻏﲑ ﺇﺟﺮﺍﺋﻴﺔ ،ﻓﺈﺎ ﻣﱪﻫﻨﺔ ﺑﺴﻬﻮﻟﺔ ﻟﻼﺳﺘﺨﺪﺍﻡ ﰲ ﺑﻴﺌﺎﺕ ﺍﳌﻌﺎﳉﺔ
ﺍﳌـﺘﻮﺍﺯﻳﺔ .ﰎ ﻣﻨﺎﻗـﺸﺔ ﻧﻮﻋﲔ ﻣﻦ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺘﻮﺍﺯﻳﺔ ) .(SMPﺗﻌﺘﱪ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺘﻌﺪﺩﺓ ﺍﳌﺘﺸﺎﺔ ﻧﻈﺎﻡ
ﻣﻌﺎﳉﺎﺕ ﻣﺘﻌﺪﺩﺓ ﻣﺰﺩﻭﺟﺔ ﺑﺸﻜﻞ ﳏﻜﻢ ﻣﻊ ﺫﺍﻛﺮﺓ ﻣﺸﺘﺮﻛﺔ ﺑﲔ ﲨﻴﻊ ﺍﳌﻌﺎﳉﺎﺕ.
ﺇﻥ ﺃﻧﻈﻤـﺔ SMPﻫـﻲ ﻣﻮﺿﻮﻉ ﻟﺘﻄﻮﻳﺮ ﻣﺸﺎﻛﻞ ﺍﺯﺩﺣﺎﻡ I/Oﻋﻨﺪﻣﺎ ﻳﺘﻮﺍﺟﺪ ﺍﺯﺩﺣﺎﻡ ﰲ ﻃﻠﺒﺎﺕ
ﺍﻟﺬﺍﻛـﺮﺓ ﺍﳌـﺸﺘﺮﻛﺔ .ﺑﻴﻨﻤﺎ ﺗﺼﻨﻊ ﺍﻟﺒﲎ ﺍﳌﺰﺩﻭﺟﺔ ﻛﻞ ﻭﺣﺪﺓ ﻣﻌﺎﳉﺔ ﻣﺮﻛﺰﻳﺔ ﻣﻊ ﺫﺍﻛﺮﺎ ﺍﶈﺪﺩﺓ
ﺍﳋﺎﺻﺔ .ﻳﺸﺎﺭ ﺇﱃ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻦ ﺍﻟﺒﲎ ﻋﻠﻰ ﺃﻧﻪ ﺑﻨﻴﺔ ﻟﻴﺲ ﻓﻴﻬﺎ ﺷﻲﺀ ﻣﺸﺎﺭﻙ.
ﲟـﺎ ﺃﻧـﻪ ﻳﻮﺟﺪ ﺍﻟﻘﻠﻴﻞ ﻣﻦ ﺍﳌﺼﺎﺩﺭ ﺗﺘﺸﺎﺭﻙ ﺑﲔ ﻣﻌﺎﳉﺎﺕ ،MPPﻓﺈﻥ ﻣﺸﺎﻛﻞ ﻧﺰﺍﻉ ﺍﻟﺬﺍﻛﺮﺓ ﺍﻟﱵ
ﲢﺪﺙ ﰲ ﺃﻧﻈﻤﺔ SMPﺗﻜﻮﻥ ﻣﺴﺘﺒﻌﺪﺓ ،ﻭﻣﻦ ﺍﶈﺘﻤﻞ ﺃﻥ ﺗﻀﻴﻒ ﻋﻘﺪ ﰲ ﻭﺣﺪﺍﺕ ﻣﻔﺮﺩﺓ ،ﺟﺎﻋﻠﺔ
ﺑﲎ MPPﻗﺎﺑﻠﺔ ﻟﻠﺘﻤﺪﺩ ﺑﺸﻜﻞ ﻛﺒﲑ.
ﺍﻟـﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ﻫﻲ ﺻﻨﻒ ﻣﻦ ﺻﻨﻮﻑ ﺍﻟﱪﳎﻴﺎﺕ ﺍﳌﺘﻌﺪﺩﺓ ﺍﻟﱵ ﺗﺴﻤﺢ ﻟﺘﻄﺒﻴﻖ ﻣﺎ ﺃﻥ ﻳﺘﻨﺎﺳﺐ
ﻣـﻊ ﺑﺮﳎﻴﺎﺕ ﺃﺧﺮﻯ ﻣﻦ ﺩﻭﻥ ﺃﻥ ﻳﻄﻠﺐ ﻣﻦ ﺍﳌﺴﺘﺨﺪﻡ ﻓﻬﻢ ﻭﺗﺸﻔﲑ ﻋﻤﻠﻴﺎﺕ ﺍﳌﺴﺘﻮﻯ ﺍﳌﻨﺨﻔﺾ
ﺍﳌﻄﻠﻮﺑﺔ ﻟﺘﺤﻘﻴﻖ ﺍﻟﺘﻨﺎﺳﺐ ﻭﺍﻟﺘﻼﺅﻡ.
ﰎ ﻣﻨﺎﻗـﺸﺔ ﺳـﺖ ﻓﺌﺎﺕ ﻣﻦ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ﺍﳌﻌﺘﻤﺪﺓ ﻋﻠﻰ ﺍﻟﺘﻤﺪﺩ ﻭﻗﺎﺑﻠﻴﺔ ﺍﻻﺳﺘﺮﺟﺎﻉ .ﻫﺬﻩ
ﺍﻷﻧﻮﺍﻉ ﻣﻦ ﺍﻟﱪﳎﻴﺎﺕ ﲤﺜﻞ ﺇﺟﺮﺍﺀ ﺑﻌﻴﺪ ﻣﺘﺰﺍﻣﻦ ﻳﺪﻋﻰ ) ،(RPCﺍﺷﺘﺮﺍﻙ/ﺇﻋﻼﻥ ،ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ
ﺍﳌـﻮﺟﻬﺔ ﺑﺎﻟﺮﺳـﺎﺋﻞ ) ،(MOMﻭﺳﻴﻂ ﻃﻠﺐ ﺍﻟﻐﺮﺽ ) ،(ORBﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ﻟﻠﻮﺻﻮﻝ ﺇﱃ
ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﻮﺟﻬﺔ ﺑﺎﻟﻠﻐﺔ RPC ،SQLﺍﳌﺘﺰﺍﻣﻦ .ﺗﺘﻀﻤﻦ ﺍﻟﺘﻄﻮﻳﺮﺍﺕ ﺍﳊﺎﻟﻴﺔ ﰲ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ
ﺍﳌـﻮﺟﻬﺔ ﺇﱃ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﺗﺼﺎﻝ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﻔﺘﻮﺡ ) ،(ODBCﺍﺗﺼﺎﻝ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ
ﺟﺎﻓﺎ ) ،(JDBCﻭ OLE-OBﺍﻟﺘﺎﺑﻌﺔ ﳌﺎﻳﻜﺮﻭﺳﻮﻓﺖ.
ﻳﻠﻘـﻰ ﺍﺗﺼﺎﻝ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﻣﻊ ﺍﻟﻮﻳﺐ ،ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻣﻌﻠﻮﻣﺎﺕ ﺩﻗﻴﻘﺔ ﻣﻌﺪﻟﺔ ﻭﻏﲑﻫﺎ ﺍﻻﻫﺘﻤﺎﻡ.
ﻼ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ ﺇﱃ ﳐﺪﻣﺎﺕ ﺃﻛﺜﺮ ﺗﻘﻴﻴﺴﺎﹰ ،ﻛﺎﺳﺘﺨﺪﺍﻡ
ﻳﻐـﲑ ﺍﻟﻮﻳﺐ ﳕﺎﺫﺝ ﺗﻮﺯﻳﻊ ﺍﳌﻌﻄﻴﺎﺕ ،ﻧﺎﻗ ﹰ
ﻭﺍﺟﻬﺎﺕ ﺍﳌﺴﺘﻌﺮﺿﺎﺕ.
ﲢﻘﻴﻖ ﺍﻷﻣﻦ ﺃﻛﺜﺮ ﺗﻌﻘﻴﺪﹰﺍ ﰲ ﺑﻴﺌﺔ ﳐﺪﻡ/ﻋﻤﻴﻞ ﻣﻦ ﲢﻘﻴﻘﻪ ﰲ ﺑﻴﺌﺔ ﻣﻘﻴﺴﺔ ،ﻷﻧﻪ ﳚﺐ ﺗﺄﻣﲔ ﺍﻟﺸﺒﻜﺎﺕ
ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﳎﻤﻮﻋﺎﺕ ﻋﻤﻞ ﺍﻟﺰﺑﺎﺋﻦ ﻭﺍﳌﺨﺪﻣﺎﺕ.
ﺗﺘـﻀﻤﻦ ﻣﻘﺎﻳﻴﺲ ﺍﻷﻣﻦ ﺍﳌﻀﻤﻨﺔ ﰲ ﺑﻴﺌﺔ ﳐﺪﻡ/ﻋﻤﻴﻞ ﺃﻣﺎﻥ ﻛﻠﻤﺔ ﺍﳌﺮﻭﺭ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﺍﻟﻨﻈﺎﻡ ،ﺃﻣﺎﻥ
ﻭﺳﻼﻣﺔ ﻛﻠﻤﺔ ﺍﳌﺮﻭﺭ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﻳﺼﻮﻥ ﺍﺗﺼﺎﻻﺕ ﳐﺪﻡ/ﻋﻤﻴﻞ.
>a Kf8 572
ﺗﺘـﻀﻤﻦ ﻣـﺴﺎﺋﻞ ﻭﻗـﻀﺎﻳﺎ ﳐﺪﻡ/ﻋﻤﻴﻞ ﺍﻟﻮﺍﺟﺐ ﻣﺮﺍﻋﺎﺎ ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﲢﺴﲔ ﻓﺮﺹ ﺑﻨﺎﺀ ﺗﻄﺒﻴﻖ
ﳐـﺪﻡ/ﻣـﻴﻞ ﻧـﺎﺟﺢ :ﺿﺒﻂ ﲢﻠﻴﻞ ﻣﺸﻜﻠﺔ ﺍﻟﻌﻤﻞ ﻭﺩﻗﺘﻪ ،ﲢﻠﻴﻞ ﺑﻨﻴﺔ ﻣﻔﺼﻠﺔ ،ﲡﻨﺐ ﺍﻟﺒﲎ ﺍﳌﻘﺎﺩﺓ
ﺑﺎﻷﺩﻭﺍﺕ ،ﲢﻘﻴﻖ ﺇﻣﻜﺎﻧﻴﺔ ﺗﻮﺳﻊ ﻣﻨﺎﺳﺒﺔ ،ﺗﻮﺿﻊ ﻣﻨﺎﺳﺐ ﻟﻠﻤﺨﺪﻣﺎﺕ ،ﲢﻠﻴﻞ ﺷﺒﻜﺔ ﻣﻼﺋﻢ ﻭﻛﺎﻑ،
ﻭﺇﺩﺭﺍﻙ ﺍﻟﻘﻴﻢ ﺍﳋﻔﻴﺔ ﺍﻟﻜﺎﻓﻴﺔ.
ﺗﺘﻀﻤﻦ ﺍﻟﻔﻮﺍﺋﺪ ﺍﻟﱵ ﺗﻜﺘﺴﺐ ﺑﺎﻻﻧﺘﻘﺎﻝ ﺇﱃ ﺑﻴﺌﺔ ﳐﺪﻡ/ﻋﻤﻴﻞ ﺍﻟﺬﻛﺎﺀ ﺍﻟﻮﻇﻴﻔﻲ ﰲ ﺍﳌﻨﺼﺎﺕ ،ﺍﳌﺮﻭﻧﺔ،
ﻗﺎﺑﻠﻴﺔ ﺍﻟﺘﻮﺳﻊ ،ﺍﺯﺩﺣﺎﻡ ﺣﺮﻛﺔ ﺷﺒﻜﺔ ﻗﻠﻴﻞ ،ﺗﻄﻮﻳﺮ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﻔﻌﻠﺔ ﻟﻠﻮﻳﺐ.
ﺗـﺴﺘﺨﺪﻡ ﳐﺪﻣﺎﺕ ﺍﻟﻌﺮﺽ ﰲ ﻣﻌﻈﻢ ﺑﲎ ﳐﺪﻡ/ﻋﻤﻴﻞ ﻭﺍﺟﻬﺎﺕ ﺍﻻﺳﺘﻌﻼﻡ ﺑﺎﻷﻣﺜﻠﺔ ) .(QBEﺗﻘﺪﻡ
QBEﺑﻴـﺌﺔ ﺑﺮﳎﺔ ﻣﺮﺋﻴﺔ ﻣﺴﺘﺨﺪﻣﺔ ﺑﺸﻜﻞ ﺷﺎﺋﻊ ﰲ ﻋﻤﻠﻴﺔ ﺗﻄﻮﻳﺮ ﺍﻻﺳﺘﻌﻼﻣﺎﺕ .ﻻ ﻳﻮﺟﺪ ﻣﻌﻴﺎﺭ
ﺧـﺎﺹ ﺑــ ،QBEﻟﺬﻟﻚ ﲣﺘﻠﻒ ﺍﻟﻮﺍﺟﻬﺎﺕ ﺑﲔ ﺍﳌﻨﺘﺠﺎﺕ ،ﻟﻜﻦ ﻣﻌﻈﻤﻬﺎ ﻳﺴﺘﺨﺪﻡ ﻃﺮﻳﻘﺔ
ﳕـﻮﺫﺝ ﻣﻌﻄـﻴﺎﺕ ﻣﺪﻣﺞ ﻣﻊ ﲣﻄﻴﻂ ﺟﺪﻭﻝ ﺷﺎﻣﻞ ﻟﻠﻨﺘﺎﺋﺞ .ﺗﺴﺘﺨﺪﻡ ﻭﺍﺟﻬﺔ QBEﺍﳋﺎﺻﺔ
ﺑـ Microsoft Access 2oooﻫﺬﺍ ﺍﻟﺘﺨﻄﻴﻂ ﺑﺸﻜﻞ ﻣﻮﺳﻊ ،ﻣﻀﻤﻨﺔ ﺗﻌﺮﻳﻒ ﺍﳉﺪﻭﻝ ﻭﺍﻻﺳﺘﻌﻼﻡ
ﻟﺘﺄﺳﻴﺲ ﻋﻼﻗﺎﺕ ﺍﳌﻌﻄﻴﺎﺕ.
ﻟﻘـﺪ ﻛـﺴﺒﺖ ﺣﺰﻡ ﻗﻮﺍﻋﺪ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﺍﻟﻘﻮﻳﺔ ﺍﻧﺘﺸﺎﺭﹰﺍ ﻭﺍﺳﻌﹰﺎ ﺑﺴﺒﺐ ﻭﺍﺟﻬﺎﺎ ﺍﻟﺮﺳﻮﻣﻴﺔ
) ،(GUIﻭﻭﺍﺟﻬﺎﺕ ﺍﻻﺳﺘﻌﻼﻡ ﺑﺎﻷﻣﺜﻠﺔ ).(QBE
ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ :ﻳﺴﺘﺨﺪﻡ Ms Access 2000ﺍﻻﺳﺘﻌﻼﻣﺎﺕ ﻹﺭﺳﺎﻝ ﺍﻷﻭﺍﻣﺮ ﺇﱃ ﺃﻱ ﺍﺗﺼﺎﻝ ﻗﺎﻋﺪﺓ
ﻣﻌﻄـﻴﺎﺕ ﻣﻔـﺘﻮﺡ ) (ODBCﺧﺎﺿﻊ ﳌﺨﺪﻡ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ .ﺃﻭ ﳝﻜﻦ ﺃﻥ ﻧﺮﺑﻂ
ﺟﺪﺍﻭﻝ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺇﱃ ﻭﺍﺟﻬﺔ ﺗﻄﺒﻴﻘﺎﺕ Ms Access 2000ﰲ ﺣﺎﻝ ﻛﺎﻧﺖ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ
ﺧﺎﺿـﻌﺔ ﻻﺗﺼﺎﻝ ﻣﻔﺘﻮﺡ ﺃﻭ ﺍﺗﺼﺎﻝ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺟﺎﻓﺎ ) .(JDBCﳚﺐ ﲢﺪﻳﺪ ﻋﺪﺓ ﺑﺎﺭﺍﻣﺘﺮﺍﺕ
ﺑﺎﻹﺿـﺎﻓﺔ ﺇﱃ ﺗﺄﺳﻴﺲ ﺍﺗﺼﺎﻝ ) (JDBCﺃﻭ ) .(ODBCﻳﺘﻀﻤﻦ ﻫﺬﺍ ﺍﺣﺘﻴﺎﺟﺎﺕ ﻗﻴﺎﺩﺓ JDBCﺃﻭ
،ODBCﺍﺳـﻢ ﳐﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳋﻠﻔﻲ ،ﺍﺳﻢ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ،ﻭﻣﻌﺮﻑ ) (Idﻭﻛﻠﻤﺔ ﻣﺮﻭﺭ
ﻣـﺴﺘﺨﺪﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ .ﻫﻨﺎﻙ ﻣﺴﺘﻮﻳﺎﺕ ﳐﺘﻠﻔﺔ ﻟﻠﻤﻄﺎﺑﻘﺔ ﻣﻊ ﻣﻌﻴﺎﺭ ) (ODBCﺍﻟﺬﻱ ﻳﺴﻤﺢ
ﳌﻌﻈﻢ ﺑﺮﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺘﺤﻘﻴﻖ ﺑﻌﺾ ﺍﻻﺗﺼﺎﻻﺕ ﻋﻠﻰ ﺍﻷﻗﻞ ﺇﱃ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﳌﺮﻏﻮﺑﺔ.
ﺇﻥ ﻟﻐﺎﺕ ﺍﻟﱪﳎﺔ ﺍﳌﺮﺗﺒﻄﺔ ﻣﻊ Access 2000ﻫﻲ ﻓﻴﺠﻮﺍﻝ ﺑﻴﺴﻚ ﻣﻦ ﺃﺟﻞ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ) .(VBAﻳﻌﻤﻞ
ﺍﺳـﺘﺨﺪﺍﻡ ﻣﺎﻛﺮﻭ ،Access 2000ﺍﻟﺬﻱ ﳝﺜﻞ ﻭﺣﺪﺍﺕ ﳐﺰﻧﺔ ﻣﻦ ﺷﻴﻔﺮﺓ ،VBAﺑﺸﻜﻞ ﺟﻴﺪ ﻣﻦ
ﺃﺟـﻞ ﺍﻟﻨﻤﺬﺟﺔ ﺍﻷﻭﻟﻴﺔ ،ﻟﻜﻦ ﻳﺘﻄﻠﺐ ﺑﻨﺎﺀ ﺗﻄﺒﻴﻖ ﻗﻮﻱ ﲢﻮﻳﻞ ﻫﺬﻩ ﺍﻟﻮﺣﺪﺍﺕ ﺍﳌﺨﺰﻧﺔ )ﻣﺎﻛﺮﻭ( ﺇﱃ
ﻭﺣﺪﺍﺕ ) .(VBAﻣﻦ ﺍﳌﻤﻜﻦ ﺩﺍﺋﻤﹰﺎ ﺍﺳﺘﺨﺪﺍﻡ VBAﻹﳒﺎﺯ ﻭﻇﺎﺋﻒ ﺃﻛﺜﺮ ﺗﻌﻘﻴﺪﺍﹰ ،ﻣﻌﺎﳉﺔ ﺍﻷﺧﻄﺎﺀ،
ﲢﻘﻴﻖ ﺗﻨﻔﻴﺬ ﺃﺳﺮﻉ ،ﻋﻤﻠﻴﺔ ﺻﻴﺎﻧﺔ ﺃﺳﻬﻞ ،ﺃﻛﺜﺮ ﺇﺩﺍﺭﺓ ﻟـ ،OLGﻭﲢﻜﻢ ﺗﺼﻮﻳﺮﻱ ﺃﻛﺜﺮ.
573 ·j¦
¶WáKE:<W
jME9
&M<Y
!
&MEK>&KA:8
ﲡـﺰﻱﺀ ﺍﻟﺘﻄﺒـﻴﻖ ،ﺑﺮﻧﺎﻣﺞ ﺍﻟﺘﻄﺒﻴﻖ ،ﻭﺍﺟﻬﺔ ،APIﺑﻨﻴﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ،ﺯﺑﻮﻥ ﻫﺰﻳﻞ ،ﳐﺪﻡ ﻣﻠﻔﺎﺕ،
ﺍﻟﱪﳎﻴﺔ ﺍﻟﻮﺳﻴﻄﺔ ،ﺍﻹﺟﺮﺍﺋﻴﺔ ﺍﳌﺨﺰﻧﺔ ،ﺑﻨﻴﺔ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ ،ﻣﻘﺎﺩ ﺑﺎﳊﺪﺙ،GDBC ،VBA ،QBE ،
ﺑﻨـﻴﺔ ﻋـﺪﻡ ﺍﻟﺘﺸﺎﺭﻙ ،ﺍﻟﱪﳎﻴﺔ ﺍﻟﱵ ﺗﺴﻬﻞ ﺍﻻﺗﺼﺎﻝ ﺑﲔ ﺑﺮﺍﻣﺞ ﺍﻟﻄﺮﻑ ﺍﻷﻣﺎﻣﻲ ﻭﳐﺪﻣﺎﺕ ﻗﺎﻋﺪﺓ
ﻣﻌﻄـﻴﺎﺕ ﺍﻟﻄـﺮﻑ ﺍﳋﻠﻔـﻲ ،ﺍﺳـﺘﻌﻼﻡ ﻳﺴﺘﺨﺪﻡ ﻗﺎﻋﺪﺓ RDBMSﻟﻠﻄﺮﻑ ﺍﳋﻠﻔﻲ ،ﺇﻋﺪﺍﺩﺍﺕ
ﳐﺪﻡ/ﺯﺑﻮﻥ ﺛﻼﺛﻲ ﺍﻟﻄﺒﻘﺎﺕ.
M<YBAMA
ﻼ ﻣﻦ ﺍﳌﺼﻄﻠﺤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ:
ﻋﺮﻑ ﻛ ﹰ -1
.QBE .j
.VBA .k
.JDBC .l
a Kf8> 574
ﺻﻒ ﻣﻴﺰﺍﺕ ﻭﺳﻴﺌﺎﺕ ﺍﻟﺒﲎ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻄﺒﻘﺎﺕ ) ،(nﻭﺍﻟﺒﲎ ﺛﻼﺛﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ. -6
ﻛﻴﻒ ﳝﻜﻦ ﺃﻥ ﻳﺴﺎﻋﺪ ﲡﺰﻱﺀ ﺍﻟﺘﻄﺒﻴﻖ ﺍﳌﻄﻮﺭﻳﻦ ﻋﻠﻰ ﲢﻮﻳﻞ ﺗﻄﺒﻴﻖ ﺇﱃ ﺣﺎﻟﺔ ﻋﻤﻞ ﺧﺎﺻﺔ. -8
ﻣﺎ ﻫﻲ ﻗﻀﺎﻳﺎ ﺍﻷﻣﻦ ﺍﻟﱵ ﺗﻈﻬﺮ ﻋﻨﺪ ﺑﻨﺎﺀ ﺗﻄﺒﻴﻖ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﻣﻔﻌﻠﺔ ﻟﻠﻮﻳﺐ؟ -13
h¥K1¹foK
ﻳﻄﻠـﺐ ﻣﻨﻚ ﲢﻀﲑ ﺗﻘﺮﻳﺮ ﻳﻘﻴﻢ ﺣﻠﻮﻝ ﳐﺪﻡ/ﻋﻤﻴﻞ ﺍﶈﺘﻤﻠﺔ ﳌﻌﺎﳉﺔ ﻧﻈﺎﻡ ﺗﻄﺒﻴﻖ ﺯﺑﻮﻥ ﺟﺪﻳﺪ -1
ﻣـﻦ ﺃﺟﻞ ﻛﻞ ﻣﻜﺎﺗﺐ ﺍﻟﻔﺮﻉ .ﻣﺎ ﻫﻲ ﻣﻴﺰﺍﺕ ﺍﻟﻌﻤﻞ ﺍﻟﱵ ﺳﺘﻘﻴﻤﻬﺎ ،ﻭﻣﺎ ﻫﻲ ﻣﻴﺰﺍﺕ ﺍﻟﺘﻘﻨﻴﺔ
ﺍﻟﱵ ﺳﺘﻘﻮﻡ ﺑﺘﻘﺪﻳﺮﻫﺎ؟ ﳌﺎﺫﺍ؟
ﻣﺎ ﻫﻲ ﺍﻟﻘﻀﺎﻳﺎ ﺍﻹﺩﺍﺭﻳﺔ ﺍﻟﱵ ﺳﺘﻌﺘﱪﻫﺎ ﻣﻬﻤﺔ ﻋﻨﺪ ﺗﻘﺪﳝﻚ ﻟﺒﺤﺚ ﻋﻦ ﺑﻨﻴﺔ ﳐﺪﻡ/ﻋﻤﻴﻞ ﺟﺪﻳﺪ؟ -2
ﻧﺎﻗﺶ ﻣﺴﺘﻮﻳﺎﺕ ﺍﻷﻣﻦ ﺍﳌﺨﺘﻠﻔﺔ ﺍﻟﱵ ﻳﺘﻮﺟﺐ ﺗﺄﺳﻴﺴﻬﺎ ﰲ ﻧﻈﺎﻡ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﳐﺪﻡ/ﻋﻤﻴﻞ. -3
ﺑـﺸﻜﻞ ﺗﺎﺭﳜـﻲ ،ﻣـﺎ ﻫـﻲ ﺃﻧـﻮﺍﻉ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﳌﻨﻘﻮﻟﺔ ﺑﺴﺮﻋﺔ ﺇﱃ ﻧﻈﻢ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ -6
ﳐـﺪﻡ/ﻋﻤﻴﻞ؟ ﻣﺎ ﻫﻲ ﺍﻷﻧﻮﺍﻉ ﺍﳌﻨﻘﻮﻟﺔ ﺍﻷﻛﺜﺮ ﺑﻄﺌﹰﺎ ﻭﳌﺎﺫﺍ؟ ﻣﺎ ﺗﻈﻦ ﺃﻧﻪ ﺳﻴﺤﺪﺙ ﰲ ﺍﳌﺴﺘﻘﺒﻞ
ﻟﺘﺤﻘﻴﻖ ﺗﻮﺍﺯﻥ ﺃﻧﻈﻤﺔ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻭﻧﻈﻢ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺍﳊﺎﺳﺒﺎﺕ ﺍﻟﻜﺒﲑﺓ؟
ﻣـﺎ ﻫـﻲ ﻣﻴـﺰﺍﺕ ﻭﻣﺸﺎﻛﻞ ﺍﻟﱪﳎﻴﺎﺕ ﺍﻟﻮﺳﻴﻄﺔ ﺍﻟﱵ ﺗﺴﺘﺨﺪﻡ ﰲ ﺍﻻﺗﺼﺎﻝ ﻣﻊ ﻧﻈﻢ ﻗﺎﻋﺪﺓ -7
ﺍﳌﻌﻄﻴﺎﺕ؟
>a Kf8 576
ﺗﻌﺘﻤﺪ ﺍﻟﺘﻤﺎﺭﻳﻦ ﺍﻟﺘﺎﻟﻴﺔ ﻋﻠﻰ ﻣﺜﺎﻝ ﺷﺮﻛﺔ ﺍﻷﺛﺎﺙ ﺍﻟﺴﺎﺑﻖ .ﺣﻴﺚ ﻧﺘﻮﺟﻪ ﻟﺘﻄﺒﻴﻖ ﻭﺍﺟﻬﺔ .QBE
ﺃﻇﻬﺮ ﺭﻗﻢ ﺍﻟﻄﻠﺐ ،ﺭﻗﻢ ﺍﻟﺰﺑﻮﻥ ،ﺭﻗﻢ ﺍﳌﻨﺘﺞ ،ﺗﺎﺭﻳﺦ ﺍﻟﻄﻠﺐ ،ﻭﻛﻤﻴﺔ ﺍﻟﻄﻠﺒﻴﺔ ﻟﻜﻞ ﺍﻟﻄﻠﺒﺎﺕ ﺍﻟﱵ -8
ﺗﺰﻳﺪ ﻋﻦ ﺃﺭﺑﻌﺔ ﻭﺣﺪﺍﺕ ﻣﻦ ﺍﳌﻨﺘﺞ ) (3ﺃﻭ ﺍﳌﻨﺘﺞ ﺫﻭ ﺍﻟﺮﻗﻢ ).(8
ﻗﻢ ﺑﻌﺮﺽ ﺭﻗﻢ ﺍﻟﺰﺑﻮﻥ ،ﺍﲰﻪ ،ﺃﺭﻗﺎﻡ ﺍﻟﻄﻠﺒﻴﺎﺕ ﻟﻜﺎﻓﺔ ﺍﻟﺰﺑﺎﺋﻦ ،ﻣﻀﻤﻨﹰﺎ ﰲ ﻫﺬﻩ ﺍﻟﻘﺎﺋﻤﺔ ﺍﻟﺰﺑﺎﺋﻦ -9
ﺍﻟﺬﻳﻦ ﻻ ﳝﻠﻜﻮﻥ ﺃﻱ ﻃﻠﺒﻴﺔ ﰲ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ.
ﺃﻛﺘﺐ ﺍﺳﺘﻌﻼﻣﹰﺎ ﻳﺒﲔ ﻛﻞ ﻣﻨﺘﺞ ،ﻭﺍﻟﻜﻤﻴﺔ ﺍﻟﻜﻠﻴﺔ ﺍﳌﻄﻠﻮﺑﺔ ﻣﻨﻪ ،ﻣﻀﻤﻨﹰﺎ ﺍﳌﻨﺘﺠﺎﺕ ﺍﻟﱵ ﱂ ﻳﺘﻢ ﻃﻠﺒﻬﺎ. -10
ﺍﻋﺮﺽ ﻗﺎﺋﻤﺔ ﺑﻜﻞ ﺍﳌﻨﺘﺠﺎﺕ ﺍﻟﱵ ﰎ ﻃﻠﺒﻬﺎ ﻭﻋﺪﺩ ﻣﺮﺍﺕ ﻃﻠﺒﻬﺎ. -11
ﺍﻋـﺮﺽ ﺭﻗـﻢ ﺍﻟﻄﻠﺐ ،ﺭﻗﻢ ﺍﳌﻨﺘﺞ ،ﻭﻛﻤﻴﺔ ﺍﻟﻄﻠﺒﺎﺕ ﻟﻜﻞ ﻃﻠﺒﺎﺕ ﺍﻟﺰﺑﻮﻥ ﲝﻴﺚ ﺗﻜﻮﻥ ﻫﺬﻩ -12
ﺍﻟﻜﻤﻴﺔ ﺃﻋﻈﻢ ﻣﻦ ﺍﳌﺘﻮﺳﻂ ﺍﳊﺴﺎﰊ ﻟﻜﻤﻴﺔ ﻃﻠﺐ ﺫﻟﻚ ﺍﳌﻨﺘﺞ.
MEAB
K¥W
ﺍﲝﺚ ﰲ ﺑﲎ ﺍﳌﻌﺎﳉﺔ ﺍﳌﺴﺘﺨﺪﻣﺔ ﰲ ﺟﺎﻣﻌﺘﻚ ،ﻗﻢ ﺑﺘﻌﻘﺐ ﺗﺎﺭﻳﺦ ﺍﳌﻌﺎﳉﺔ ﰲ ﺟﺎﻣﻌﺘﻚ ﻭﺣﺪﺩ -1
ﺍﻟﻄﺮﻳﻖ ﺍﻟﺬﻱ ﺍﺗﺒﻌﺘﻪ ﺍﳉﺎﻣﻌﺔ ﺣﱴ ﻭﺻﻠﺖ ﺇﱃ ﻫﻴﺌﺘﻬﺎ ﺍﳊﺎﻟﻴﺔ.
ﺑـﺪﺃﺕ ﺑﻌـﺾ ﺍﳉﺎﻣﻌـﺎﺕ ﺑﺸﻜﻞ ﻣﺒﻜﺮ ﻣﻊ ﺑﻴﺌﺎﺕ ﺍﳊﺎﺳﺒﺎﺕ ﺍﻟﻜﺒﲑﺓ -ﻏﲑﻫﺎ ﺑﺪﺃﺕ ﻣﻊ
ﺍﳊﺎﺳﺒﺎﺕ ﺍﻟﺸﺨﺼﻴﺔ .ﻫﻞ ﺑﺈﻣﻜﺎﻧﻚ ﺇﺧﺒﺎﺭﻧﺎ ﻛﻴﻒ ﺗﻘﻠﺪﺕ ﺑﻴﺌﺔ ﺍﳌﻌﺎﳉﺔ ﺍﻷﻭﻟﻴﺔ ﳉﺎﻣﻌﺘﻚ ﺑﻴﺌﺔ
ﺍﳌﻌﺎﳉﺔ ﺍﳊﺎﻟﻴﺔ؟
ﺍﲝﺚ ﰲ ﺑﻨﻴﺔ ﺍﳌﻌﺎﳉﺔ ﰲ ﺃﺣﺪ ﺍﻷﻗﺴﺎﻡ ﺍﳌﻮﺟﻮﺩﺓ ﰲ ﺟﺎﻣﻌﺘﻚ .ﺣﺎﻭﻝ ﺃﻥ ﺗﻜﺘﺸﻒ ﻛﻴﻒ ﻟﺒﻰ -2
ﺍﻟﻨﻈﺎﻡ ﺍﳊﺎﱄ ﺍﺣﺘﻴﺎﺟﺎﺕ ﻣﻌﺎﳉﺔ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﻘﺴﻢ.
ﻗـﻢ ﲟﻘﺎﺑﻠﺔ ﺧﺒﲑ ﺃﻧﻈﻤﺔ ﰲ ﺗﻨﻈﻴﻢ ﳎﺎﻭﺭ ﻟﻚ ﺗﻌﺮﻓﻪ ﲝﻴﺚ ﳝﻠﻚ ﻣﻜﺎﺗﺐ ﰲ ﺗﻨﻈﻴﻤﺎﺕ ﺃﺧﺮﻯ. -3
ﺣـﺪﺩ ﺑﻨـﻴﺔ ﺍﳌﻌﺎﳉﺔ ﰲ ﺫﻟﻚ ﺍﻟﺘﻨﻈﻴﻢ ﻭﺍﻛﺘﺸﻒ ﻛﻴﻒ ﻳﻠﱯ ﺍﻟﻨﻈﺎﻡ ﺍﳊﺎﱄ ﺍﺣﺘﻴﺎﺟﺎﺕ ﻣﻌﺎﳉﺔ
ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﻘﺴﻢ.
ﺟﺪ ﺛﻼﺛﺔ ﻣﻮﺍﻗﻊ ﻋﻠﻰ ﺍﻟﻮﻳﺐ ﺍﻟﱵ ﲤﺘﻠﻚ ﺃﻧﻈﻤﺔ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺗﻔﺎﻋﻠﻴﺔ ﻣﺘﺼﻠﺔ ﻣﻊ ﺍﳌﻮﻗﻊ .ﻗﻴﻢ -4
ﻭﻇﺎﺋﻔـﻴﺔ ﺍﳌﻮﻗﻊ ﻭﻧﺎﻗﺶ ﻛﻴﻒ ﻳﺆﺛﺮ ﻧﻈﺎﻡ ﻗﺎﻋﺪﺓ ﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﺘﻔﺎﻋﻠﻲ ﻋﻠﻰ ﻫﺬﻩ ﺍﻟﻮﻇﺎﺋﻔﻴﺔ .ﰲ
ﺣﺎﻝ ﱂ ﺗﻜﻦ ﻣﺘﺄﻛﺪﹰﺍ ﻣﻦ ﺃﻳﻦ ﺳﺘﺒﺪﺃ ،ﺟﺮﺏ ﺍﳌﻮﻗﻊ .http://www.amazon.com
577 ·j¦
¶WáKE:<W
jME9
ﺟﺪ ﻋﻤﻠﲔ ﺻﻐﲑﻳﻦ ﻣﺘﺸﺎﲔ ﰲ ﻣﻨﻄﻘﺘﻚ ،ﻳﺴﺘﺨﺪﻣﺎﻥ ﺃﻧﻈﻤﺔ ﻣﻌﺎﳉﺔ ﳐﺘﻠﻔﺔ ﳊﻔﻆ ﺳﺠﻼﺎ. -5
ﻗﺎﺭﻥ ﺑﲔ ﻭﻇﺎﺋﻔﻴﺔ ﻭﺳﻬﻮﻟﺔ ﺍﺳﺘﺨﺪﺍﻡ ﻛﻞ ﻣﻦ ﻫﺬﻳﻦ ﺍﻟﻨﻈﺎﻣﲔ.
ﺍﺗـﺼﻞ ﻣـﻊ ﳏﻠﻞ ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺃﻭ ﻣﻄﻮﺭ ﺃﻧﻈﻤﺔ ﰲ ﺗﻨﻈﻴﻢ ﻣﺎ .ﺍﲝﺚ ﰲ ﺍﺳﺘﺨﺪﺍﻡ ﺃﻧﻈﻤﺔ -6
ﻗﺎﻋﺪﺓ ﻣﻌﻄﻴﺎﺕ ﺍﳌﺨﺪﻡ ﻭﺍﳊﺎﺳﺐ ﺍﻟﺸﺨﺼﻲ .ﻣﺎ ﻫﻲ ﺍﻟﻌﻮﺍﻣﻞ ﺍﳌﻌﺘﱪﺓ ﰲ ﺍﺧﺘﻴﺎﺭ ﻣﻨﺼﺔ ﻗﺎﻋﺪﺓ
ﻣﻌﻄﻴﺎﺕ ﻣﺎ؟
ﻫﻞ ﻳﺴﺘﺨﺪﻡ ﺍﻟﺘﻨﻈﻴﻢ ﻣﻨﺼﺔ ﳐﺘﻠﻄﺔ؟ ﰲ ﺃﻱ ﻭﺣﺪﺍﺕ ﺗﻄﺒﻴﻖ ﻣﻌﺘﻤﺪﺓ ﻋﻠﻰ ﺍﻟﺰﺑﻮﻥ ﺗﻜﺘﺐ ﺑﻠﻐﺔ
ﻼ(؟ ﳌﺎﺫﺍ؟
ﻼ( ﻭﺗﻜﺘﺐ ﻭﺣﺪﺍﺕ ﺗﻄﺒﻴﻖ ﺍﳌﺨﺪﻡ ﰲ ﺃﺧﺮﻯ ) ،SQLﻣﺜ ﹰ
ﻭﺍﺣﺪﺓ ) ،QBEﻣﺜ ﹰ
>a Kf8 578
ljB<MOUNTAIN VIEWk>7
¹Y7&cq
ﺗﻌﻠﻤﺖ ﰲ ﺎﻳﺔ ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﱐ ﺩﺭﺍﺳﺔ ﺧﺎﺻﺔ ﻟﻠﻤﺸﻔﻰ ﻣﻦ ﻓﺮﻳﻖ ﺍﳌﺸﻔﻰ ﺍﻟﺬﻱ ﻳﻄﻮﺭ ﺧﻄﺔ ﻋﻤﻞ ﳌﺪﺓ
ﻃـﻮﻳﻠﺔ .ﻟﻘـﺪ ﺃﺧﺬ ﺃﻋﻀﺎﺀ ﺍﻟﻔﺮﻳﻖ ) ،Dr.Jefferson ،Mr.Lopez ،Mr.Hellerﻭﺍﳌﺴﺘﺸﺎﺭ( ﺑﻌﲔ
ﺍﻻﻋﺘﺒﺎﺭ ﺍﺣﺘﻴﺎﺟﺎﺕ ﺍﳌﺸﻔﻰ ﺍﻟﺘﻘﻨﻴﺔ ﺍﳌﺴﺘﻘﺒﻠﻴﺔ .ﰲ ﺍﻟﻮﻗﺖ ﺍﳊﺎﱄ ،ﳚﺐ ﻋﻠﻰ ﺍﳌﺮﺿﻰ ﺍﻟﺘﻔﺎﻭﺽ ﻋﻠﻰ
ﻣﺘﺎﻫﺔ ﺧﻄﻂ ﺍﻟﺼﺤﺔ ،ﺍﳌﺸﺮﻓﲔ ،ﺍﻟﻌﻴﺎﺩﺍﺕ ﺍﻟﻄﺒﻴﺔ ،ﺑﺸﻜﻞ ﻣﺸﺎﺑﻪ ﻟﻠﻤﺘﺎﻫﺔ ﺍﳌﻮﺿﺤﺔ ﰲ ﺍﻟﺸﻜﻞ )(1
ﺳـﲑﻏﺒﻮﻥ ﺑﺈﳚﺎﺩ ﻧﻈﺎﻡ ﻟﻠﻤﺸﻔﻰ ﻳﺪﻣﺞ ﻛﻞ ﻫﺬﻩ ﺍﳌﻌﻄﻴﺎﺕ ،ﻣﻌﻄﻴﺎﺕ ﻣﻦ ﺧﻄﻂ ﺍﻟﺼﺤﺔ ،ﺍﻷﻃﺒﺎﺀ،
ﻭﺃﻧﻈﻤﺔ ﺍﳌﺸﻔﻰ ،ﻟﺬﻟﻚ ﺳﺘﻔﻌﻞ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﻮﻗﺖ ﺍﳊﻘﻴﻘﻲ ﺍﻟﺼﺤﻴﺤﺔ.
ﲰـﺢ ﺃﻋـﻀﺎﺀ ﺍﻟﻔﺮﻳﻖ ﺃﻥ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﳌﺸﺎﰲ ﺑﺪﺃ ﺑﺘﺤﻮﻳﻞ ﺃﻧﻈﻤﺔ ﺍﳊﺎﺳﺒﺎﺕ ﺍﻟﻜﺒﲑﺓ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﺇﱃ
ﺃﻧﻈﻤﺔ ﳐﺪﻡ/ﻋﻤﻴﻞ ﺟﺪﻳﺪﺓ .ﻭﻗﺪ ﲰﻌﻮﺍ ﺃﺎ ﺗﻘﺪﻡ ﻣﺮﻭﻧﺔ ﻣﺘﺰﺍﻳﺪﺓ ،ﺗﻜﺎﻣﻠﻴﺔ ،ﻭﻭﻇﺎﺋﻔﻴﺔ.
ﺗـﺴﺎﺀﻟﻮﺍ ﻓـﻴﻤﺎ ﺇﺫﺍ ﳝﻜﻨﻬﻢ ﺇﻧﺸﺎﺀ ﻣﻌﺎﳉﺔ ﻣﺸﺎﺔ ﰲ ﻫﺬﺍ ﺍﳌﺸﻔﻰ ﻟﺘﺤﺴﲔ ﺍﻟﻨﺠﺎﺡ ﻭﺩﻋﻢ ﺃﻧﻈﻤﺔ
ﺍﳌﺸﻔﻰ ﺍﶈﺴﻨﺔ .ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﰲ ﺍﻟﺸﻜﻞ ) .(2ﻹﳒﺎﺯ ﺍﻻﻧﺘﻘﺎﻝ ﺇﱃ ﳐﺪﻡ/ﻋﻤﻴﻞ ،ﺍﻓﺘﺮﺽ ﺍﻟﻔﺮﻳﻖ
ﺛﻼﺛﺔ ﺍﺳﺘﺮﺍﺗﻴﺠﻴﺎﺕ ﳐﺘﻠﻔﺔ ﻣﻮﺻﻔﺔ ﰲ ﺍﻟﻔﻘﺮﺍﺕ ﺍﻟﺘﺎﻟﻴﺔ:
ﺍﻻﻓﺘـﺮﺍﺽ ﺍﻷﻭﻝ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﺣﺰﻡ ﺗﻄﺒﻴﻖ ﳐﺪﻡ/ﻋﻤﻴﻞ ﻣﻮﺟﻮﺩﺓ ﻭﺗﻜﻴﻴﻔﻬﺎ ﻟﺘﻨﺎﺳﺐ ﺍﳌﺸﻔﻰ .ﺇﻥ
ﺇﺗﺒﺎﻉ ﻫﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ﺗﺴﻤﺢ ﳍﻴﺌﺔ MISﻟﺘﻜﻮﻥ ﻣﺸﺎﺔ ﻟﻠﺠﺰﺀ ﺍﻟﻔﺎﺻﻞ ﻣﻦ ﺑﻴﺌﺔ ﳐﺪﻡ/ﺯﺑﻮﻥ ﻣﺜﻞ ﺇﺩﺍﺭﺓ
579 ·j¦
¶WáKE:<W
jME9
ﺍﻟـﺸﺒﻜﺔ ،ﺇﺩﺍﺭﺓ ﺗـﺸﻜﻴﻠﺔ ،PCﻭﺇﺩﺍﺭﺓ ﺍﻷﻧﻈﻤﺔ ﺍﳌﻮﺯﻋﺔ ،ﺑﺪﻭﻥ ﺍﳊﺎﺟﺔ ﺇﱃ ﺇﺩﺍﺭﺓ ﻣﻮﺿﻮﻉ ﺗﻄﻮﻳﺮ
ﺃﻧﻈﻤﺔ ﺍﺎﻝ ﺍﻟﻜﺒﲑ ،ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺃﻋﻤﺎﳍﻢ ﺍﳊﺎﻟﻴﺔ .ﰎ ﻓﺤﺺ ﻣﻌﻈﻢ ﺍﳊﺰﻡ .ﻋﻠﻰ ﺃﻳﺔ ﺣﺎﻝ ،ﻳﺘﻄﻠﺐ
ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﱪﺍﻣﺞ ﺍﻟﻮﺳﻴﻄﺔ ﻟﺘﺤﻘﻴﻖ ﺍﺗﺼﺎﻻﺕ ﳐﺪﻡ/ﻋﻤﻴﻞ ،ﻳﺘﻮﻗﻊ ﺍﳌﺸﻔﻰ ﺗﻮﺟﺐ ﺍﻻﺗﺼﺎﻝ ﺍﳌﺴﺘﻤﺮ
ﻣﻊ ﺍﻷﻧﻈﻤﺔ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﺍﻟﺴﺎﺑﻘﺔ ﻣﻦ ﺧﻼﻝ ﳐﺪﻣﺎﺕ ﻣﻮﻇﻔﺔ ﻟﺬﻟﻚ ،ﻓﺮﻳﻖ ﺍﻟﻌﻤﻞ ﻏﲑ ﻣﺘﺄﻛﺪ ﻣﻦ ﻋﺪﺩ
ﺍﻟﱪﺍﻣﺞ ﺍﳌﻤﻜﻨﺔ ﺍﻟﱵ ﺳﺘﺴﻤﺢ ﳍﻢ ﺑﺎﻻﻧﺘﻘﺎﻝ ﺍﳌﻄﻠﻮﺏ.
ﺍﻻﺣﺘﻤﺎﻝ ﺍﻵﺧﺮ ﻫﻮ ﺍﻓﺘﺮﺍﺽ ﻓﺮﻳﻖ ﺍﻟﺘﺨﻄﻴﻂ ﺗﻄﻮﻳﺮ ﺗﻘﻠﻴﺪﻱ .ﺗﻌﻬﺪﺕ ﺑﻌﺾ ﺍﳌﺸﺎﰲ ﺗﻄﻮﻳﺮ ﺗﻘﻠﻴﺪﻱ
ﻷﻧﻈﻤـﺔ ﳐﺪﻡ/ﻋﻤﻴﻞ ﻟﺪﻳﻬﺎ ،ﺁﺧﺬﻳﻦ ﺑﻌﲔ ﺍﻻﻋﺘﺒﺎﺭ ﺍﻷﺧﻄﺎﺭ ﺍﳊﺎﺻﻠﺔ ﻟﻜﻦ ﺗﺮﺍﻋﻲ ﺍﳌﺸﺎﰲ ﺍﻷﻛﱪ
ﻫﺬﻩ ﺍﻷﺧﻄﺎﺭ ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﺍﳌﻌﻄﻴﺎﺕ ﻭﺍﳌﻌﻠﻮﻣﺎﺕ ﻋﻨﺪﻣﺎ ﲢﺘﺎﺟﻬﺎ.
ﺍﻻﺣﺘﻤﺎﻝ ﺍﻷﺧﲑ ﻳﻌﺘﱪ ﻃﺒﻘﺔ ﺗﻄﺒﻴﻘﺎﺕ ﳐﺪﻡ/ﻋﻤﻴﻞ ﰲ ﻗﻤﺔ ﺍﻷﻧﻈﻤﺔ ﺍﳌﻮﺟﻮﺩﺓ .ﺳﺘﺴﺘﺨﺪﻡ ﺗﻄﺒﻴﻘﺎﺕ
ﳎـﺮﻯ ﺍﻟﻌﻤـﻞ ﻟﺘﺴﻬﻴﻞ ﺗﺄﺳﻴﺲ ﻭﺍﺟﻬﺔ ﺍﻟﻄﺮﻑ ﺍﻷﻣﺎﻣﻲ ،ﺳﺘﻜﻮﻥ ﺍﳊﺎﺟﺔ ﺇﱃ ﺍﻻﺗﺼﺎﻝ ﲟﺴﺘﻮﺩﻉ
ﺍﳌﻌﻄـﻴﺎﺕ ﻇﺎﻫﺮﺓ ﻛﻌﻤﻞ ﺍﻟﻔﺮﻳﻖ ﰲ ﺍﳋﻄﺔ ﺫﺍﺕ ﺍﳌﺪﻯ ﺍﻟﻄﻮﻳﻞ ،ﻭﻳﺮﻳﺪ ﺍﻟﻔﺮﻳﻖ ﲣﻄﻴﻂ ﺍﻟﺒﻨﻴﺔ ﺍﻵﻥ،
ﻟﺬﻟﻚ ﺳﻴﻜﻮﻥ ﺗﺄﺳﻴﺲ ﻣﺴﺘﻮﺩﻉ ﻣﻌﻄﻴﺎﺕ ﺳﻬﻞ ﻭﳑﻜﻨﹰﺎ.
ﻃـﺒﻌﹰﺎ ﺳـﻴﺘﺨﺬ ﺍﳌﺸﻔﻰ ﻧﻈﺎﻡ ﻣﻌﺘﻤﺪ ﻋﻠﻰ ﺍﻟﻮﻳﺐ .ﻳﻮﺳﻊ ﺍﲢﺎﺩ ﺭﻋﺎﻳﺔ ﺍﻟﺼﺤﺔ ﺃﻋﻀﺎﺀﻩ ﻭﺧﺪﻣﺎﺕ
ﺍﳌﺮﺿـﻰ ﺇﱃ ﻣﺎ ﺑﻌﺪ ﺍﳊﺪﻭﺩ ﺍﻟﺘﻨﻈﻴﻤﻴﺔ ،ﻷﻣﺎﻛﻦ ﺍﻟﻌﻤﻞ ،ﺍﳌﺪﺍﺭﺱ ،ﻭﺍﳌﻨﺎﺯﻝ .ﻳﺴﺘﻄﻴﻊ ﺃﻋﻀﺎﺀ ﺧﻄﺔ
ﺍﻟﺼﺤﺔ ﻓﺤﺺ ﺣﺎﻻﺕ ﻃﺎﻟﺒﻴﻬﺎ.
>a Kf8 580
ﺍﻷﻋـﻀﺎﺀ ﻏـﲑ ﻭﺍﺛﻘـﻮﻥ ﻣﻦ ﺗﺄﺛﲑ ﻫﺬﻩ ﺍﳋﺪﻣﺎﺕ ﺍﳉﺪﻳﺪﺓ .ﻟﻜﻨﻬﻢ ﻳﺘﻮﻗﻌﻮﻥ ﺃﻧﻪ ﺳﺘﻜﻮﻥ ﺍﳌﺸﺎﰲ
ﺍﻷﺧـﺮﻯ ﺳـﺮﻳﻌﺔ ﻻﲣﺎﺫ ﻭﲢﺴﲔ ﻫﺬﻩ ﺍﳌﻴﺰﺍﺕ .ﻳﻘﻮﻡ ﺍﻷﻋﻀﺎﺀ ﺍﻵﻥ ﺑﺘﻘﻴﻴﻢ ﻫﺬﻩ ﺍﳋﻴﺎﺭﺍﺕ ﻟﻜﻦ
ﺍﻟﺒﺤﺚ ﻻ ﻳﺰﺍﻝ ﻣﺴﺘﻤﺮﹰﺍ ﺣﱴ ﺎﻳﺔ ﺍﻟﻔﺼﻞ ﺍﻟﻌﺎﺷﺮ.
¹Y7&MA
ﳌﺎﺫﺍ ﺗﻈﻦ ﺃﻥ ﺃﻋﻀﺎﺀ ﻓﺮﻳﻖ ﺍﳌﺸﻔﻰ ﻳﺸﻌﺮﻭﻥ ﺑﻮﺟﻮﺩ ﺧﻄﺮ ﰲ ﺑﻨﺎﺀ ﺗﻄﺒﻴﻘﺎﺕ ﳐﺪﻡ/ﻋﻤﻴﻞ؟ -1
ﻣـﺎ ﻫﻲ ﺍﺣﺘﻤﺎﻻﺕ ﻣﻌﺎﳉﺔ ﻭﺗﻘﺪﱘ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﻟﱵ ﺳﺘﻈﻬﺮ ﰲ ﺍﳌﺸﻔﻰ ﺣﱴ ﻳﺘﻢ ﻧﻘﻠﻪ ﺇﱃ ﺑﻴﺌﺔ -2
ﳐﺪﻡ/ﻋﻤﻴﻞ؟
ﻣـﺎ ﻫـﻲ ﺍﻟﻨـﺸﺎﻃﺎﺕ ﺍﻟـﱵ ﳚﺐ ﲣﻄﻴﻄﻬﺎ ﰲ ﺣﺎﻝ ﻗﺮﺭ ﺍﳌﺸﻔﻰ ﺍﲣﺎﺫ ﻭﺗﻄﺒﻴﻖ ﺗﻄﺒﻴﻘﺎﺕ -3
ﳐﺪﻡ/ﻋﻤﻴﻞ؟ ﺍﺧﺘﺮ ﺃﺣﺪﻫﺎ ،ﻣﺜﻞ ﻧﻈﺎﻡ ﻓﻮﺗﺮﺓ ﺍﳌﺮﺿﻰ ،ﻭﻓﻜﺮ ﺣﻮﻝ ﻣﺎ ﳚﺐ ﺗﻀﻤﻨﻪ ﰲ ﺍﺧﺘﻴﺎﺭ،
ﺗﺄﺳﻴﺲ ،ﻭﺍﺳﺘﺨﺪﺍﻡ ﻣﺜﻞ ﻫﺬﺍ ﺍﻟﻨﻈﺎﻡ.
ﻣـﺎ ﻫـﻲ ﺍﳌﻴـﺰﺍﺕ ﻭﺍﻟـﺴﻴﺌﺎﺕ ﺍﻟﱵ ﳝﻜﻦ ﺃﻥ ﲡﺪﻫﺎ ﰲ ﺍﻟﻄﺮﻳﻘﺔ ﺍﻟﺜﺎﻟﺜﺔ ،ﺑﻔﺼﻞ ﺗﻄﺒﻴﻘﺎﺕ -4
ﳐﺪﻡ/ﻋﻤﻴﻞ ﻭﻭﺿﻌﻬﺎ ﰲ ﻗﻤﺔ ﺍﻷﻧﻈﻤﺔ ﺍﳌﻮﺟﻮﺩﺓ؟
ﻣﺎ ﻫﻲ ﺍﳌﻴﺰﺍﺕ ﻭﺍﻟﺴﻴﺌﺎﺕ ﺍﻟﱵ ﳝﻜﻦ ﺃﻥ ﲡﺪﻫﺎ ﻣﻦ ﺇﺑﻘﺎﺀ ﺍﳌﺸﻔﻰ ﺑﺄﻧﻈﻤﺘﻬﺎ ﺍﳊﺎﻟﻴﺔ ﺣﱴ ﺍﻟﺴﻨﺘﲔ -5
ﺍﻟﻘﺎﺩﻣﺘﲔ؟
¹Y7&K¥W
ﻣﺎﺫﺍ ﺗﺮﻯ ﻣﻦ ﺃﺟﻞ ﺍﻻﻧﺘﻘﺎﻝ ﺇﱃ ﺑﻴﺌﺎﺕ ﳐﺪﻡ/ﻋﻤﻴﻞ )ﺍﻟﻄﺮﻕ ﺍﻷﺭﺑﻌﺔ(: -1
ﺗﻘﻠـﻴﺪ ﺍﻷﻧﻈﻤﺔ ﺍﳌﻬﻤﻠﺔ ) ،(COTsﺗﻘﻠﻴﺪ ﺗﻄﻮﻳﺮ ﻧﻈﺎﻡ ،ﺍﻹﺣﺎﻃﺔ ﻭﺍﻟﺘﻘﺴﻴﻢ ﺇﱃ ﻃﺒﻘﺎﺕ ،ﻭﻋﺪﻡ
ﺍﻟﻘﻴﺎﻡ ﺑﺄﻱ ﺷﻲﺀ ﳌﺪﺓ ﻗﺼﲑﺓ.
ﺍﻵﻥ ،ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﻘﻮﺍﺋﻢ ﺍﳌﻄﻮﺭﺓ ﰲ ﲤﺮﻳﻦ ﺍﳌﺸﺮﻭﻉ ﺍﻷﻭﻝ ،ﺣﺪﺩ ﺃﻱ ﺣﻞ ﺗﺸﻌﺮ ﺑﺄﻥ ﺍﳌﺸﻔﻰ -2
ﺳـﻴﻘﻮﻡ ﺑﺘﺠـﺮﻳﺒﻪ ،ﻋﻠـﻞ ﺟﻮﺍﺑﻚ .ﺣﺪﺩ ﺍﳌﻌﻠﻮﻣﺎﺕ ﺍﻹﺿﺎﻓﻴﺔ ﺍﻟﱵ ﺗﺮﻏﺐ ﺑﺎﳊﺼﻮﻝ ﻋﻠﻴﻬﺎ
ﳌﺴﺎﻋﺪﺗﻚ ﰲ ﺍﻹﺟﺎﺑﺔ.
ﺣﺎﻭﻝ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﺑﻌﺾ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻋﻦ ﺃﻧﻈﻤﺔ ﻣﺸﻔﻰ ﳐﺪﻡ/ﻋﻤﻴﻞ ﻣﺜﻞ .symphonia by orion -3
ﻋﺪﺩ ﺍﻟﺘﻨﺼﻴﺒﺎﺕ ،ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﺍﻟﻌﻤﻴﻞ ﺍﳌﺴﺘﺨﺪﻡ ،ﻭﻫﻜﺬﺍ .ﺣﺪﺩ ﺃﻱ ﻣﻦ ﺍﻷﻧﻈﻤﺔ ﻗﺪ ﻭﺟﺪﺗﻪ
ﻭﺗﻌﻠﻤﺘﻪ ﻭﻗﺪ ﻳﻬﻢ ﺍﳌﺸﻔﻰ.