Upload
aquila-hicks
View
86
Download
9
Embed Size (px)
DESCRIPTION
طراحي و ساخت سيستمهاي تجارت الکترونيک. ساخت سيستمهاي تجارت الکترونيک ECSE. معرفي سرويس هاي تحت وب. لايه هاي سيستم هاي سازماني. Client هر کاربر يا برنامه اي است که مي خواهد عملي را از سيستم درخواست کند. Application Logic عملکرد واقعي سيستم را مشخص مي کند. - PowerPoint PPT Presentation
Citation preview
طراحي و ساخت سيستم هاي تجارت
الکترونيکساخت سيستم هاي تجارت
ECSEالکترونيک
2
معرفي سرويس هاي تح ت وب
3
اليه هاي سيستم هاي سازمانيClient
Application Logic
Resource Manager
Presentation layer
Business rules
Business objects
Client
Server
Database
Client
Business processes
Persistent storage
Client هر کاربر يا برنامه اي مي خواهد عملي را از است که
سيستم درخواست کند.
Application Logic عملکرد واقعي سيستم را مشخص مي
کند.
Resource Manager داده هاي الزم براي حمايت از اجراي برنامه ها را تامين مي کند.
4
تعامل بين اليه ها
هيچ مسئله اي در طراحي سيستم ها نيست که با اضافه کردن يک سطح ارتباط غير
مستقيم حل نشود.
هيچ مسئله اي از لحاظ performance نيست که با کاهش
يک سطح ارتباط غير مستقيم حل نشود.
تقسيم کردن برنامه ها بهماژول هاي مختلف امکان توزيع
شدگي سيستم را فراهم مي آورد.
ماجوالريتي بيشتر سببپيچيدگي بيشتر برنامه ها و سختي کنترل آن مي شود.
ماجوالريتي باال سبب پايين سيستم مي Performanceآمدن شود.
بايد دنبال راهي براي ايجاد تعادل بين ماجوالريتي و
performance .سيستم بود
5
Top Downطراحي
در اين نوع نگرش معماري سخت افزارها غالبا همنوع و
مشابه بوده و سيستم از آغاز با توجه به توزيع شدگي طراحي
شده است.
top-down design
PL-A PL-BPL-C
AL-AAL-B
AL-DAL-C
RM-1 RM-2
6
Bottom UPطراحي
اجزاي اصلي سيستم از قبلآماده هستند و نياز به يکپارچگي
دارند.
برنامه هاي قديمي همزمان بايد اجرا شوند.
غالب کار در اين معماري براي Middlewareفراهم آوردن مشترک Interfaceفراهم آوردن
بين برنامه ها و ارتباط دادن آنها با هم و از بين بردن
Heterogeneity.است Legacy systems
Newapplication
Legacy applicati
on
7
Bottomمراحل طراحي سيستم up
presentation layer
resource management
layer
application logic layer
client
info
rmat
ion
syst
em
مشخص کردن کانال هاي .1ارتباطي و سيستم کاربر
مشاهده سيستم هاي .2فعلي و ثبت کارايي اين سيستم ها
پوشش دادن سيستم ها و .3منابع قديمي و يکپارچه کردن آنها در قالب يک سيستم واحد
تبديل خروجي به فرمت .4مناسب براي سيستم کاربر
bottom-up design
8
: کامال One tierسيستم هاي متمرکز
اين سيستم ها از آغاز بصورت نوشته Monolithicيکپارچه يا
شده اند.
ارتباط کاربران از طريقترمينال هاي نمايش صورت مي
گيرد.
طراحي غالبMainframeها
مزايا عدم نياز بهcontext switchکنترل راحت تر منابعتا حد امکان بهينه
1-tier architecture
Server
9
:Two Tierسيستم هاي Client/server
با قدرتمندPC ها اليه Presentation به سمت کاربر
منتقل شد.
:در اين حالت کاربران مستقل از هم کار
مي کنند . ذخيره منابعServer معرفي مفهومAPI مدير منابع فقط با اليه
Application logic ارتباط دارند که سبب افزايش
performance سيستم مي شود.
2-tier architecture
Server
10
جنبه هاي مختلف معماري Client/Server
:مزايا بهره مندي از قابليت هاي
سيستم کاربر کارهاي سرور در يک محل
اتفاق مي افتد. طراحي سرور با حذف اليه
نمايش از مراحل طراحي, ساده تر مي شود.
اين سيستم ها, کنترل One tierهمانند سيستم هاي
راحت مي باشد.
:معايب سرور مجبور به تعامل با
ممکن مي Clientحداکثر باشد.
کاربران مجبور هستند ازInterface هاي مشخص جهت
کار با هر سرور استفاده کنند.
در هنگام خرابي هيچ کسنمي تواند از سيستم
استفاده کند.
Load کاربران بر روي هم تاثير مي گذارد.
11
محدوديت هاي اصلي معماري Client/Server
اگر کاربر بخواهد همزمان با دوسرور کار بکند, آنها هيچ اطالع و
ارتباطي با هم ندارند. کاربر نقطه اتصال بين دو
سرور است. مسئوليت برخورد با تفاوت
هاي دو سرور بر عهده کاربر است.
هيچ منطق تجاري براي اينکار وجود ندارد.
کاربر مسئول حفظ Consistency.مي باشد
اين راهبرد با توجه به منابعمحدود کاربر ناکارآمد مي باشد.
Server A Server B
12
Three tire و Middlewareها
هر سه اليه کامال از هم جداهستند.
بهره مندي از خاصيتماجوالريتي و توزيع شدگي کامل
3معماريtier فقط در قبال 2tierحل محدوديت هاي معماري
معنا پيدا مي کند.
3-tier architecture
13
Middleware
Middleware تنها يک سطح ارتباط غير مستقيم بين کاربر و
سرور است.Middleware جهت پياده سازي
منطق تجاري بوجود آمده است. مزايايMiddleware:
راحت تر کردن طراحي کاهش تعدادInterfaceها فراهم آوردن راهي براي
ارتباط غير شفاف با منابع زيرين
مسئوليت فراهم کردنمنابع , دسترسي به آنها و
جمع آوري اطالعات آنها
Middleware or global application logic
clients
Local resource managers
Local application logic
Server A Server B
middleware
14
Middlewareجنبه هاي فني
مزايا : کاهش تعداد ارتباطات
کاربران و سرورها تنها با Middleware در ارتباط
هستند. قابليت کنترل متمرکز
سيستم ها. قابليت پياده سازي قابليت
هاي جديد يک قدم به جلو جهت رفع
مشکل ناسازگاري نرم افزارها
: معايبيک سطح ارتباطي جديد پيچيده بودن از لحاظ نرم
افزاري فقط يک محيط توسعه و
نه يک سيستم جامع
External clients
connecting logic
control
user logic
internal clients
2 tie
r sys
tem
s
Resource managers
wrappers
mid
dlew
are
syst
em
15
: ارتباط با وبN-tierمعماري
N-tire معماری ارتباط دادن به هم مي 3tierچندين سيستم
باشند.
خود اليه وب يک اليه اضافياست که امروزه در اليه نمايش
ادغام شده است.
client
resource management
layer
application logic layer
information system
N-tier architecture
middleware
presentationlayer
Web server
Web browser
HTML filter
16
Blocking or synchronousارتباطات
سيستم هاي سنتي معموال از استفاده مي Blockingارتباطات
کنند.:معايب
نياز بهonline بودن طرفين ارتباط
سربارگذاري بر ارتباطات نگهدريSession براي
هر ارتباط پرهزينه بودن نگهداري
Sessionها اختصاص يکThread به
Sessionهر امکان خرابيمشکل در تشخيص خرابي
CallReceive
ResponseAnswer
idle time
client server
17
synchronousمشکالت ارتباطات
با خرابي هر يک از سيستم هاارتباط به طور کامل از دست
مي رود.
چه کسي مسئول کشف خرابي است؟
مشکل در پيدا کردن اينکهخرابي در کدام مرحله اتفاق
افتاده است.
request()
do with answer
receiveprocessreturn
12
34
request()
do with answertimeouttry again
do with answer
receiveprocessreturn
12
3
receiveprocessreturn
2’
3’
18
راه حل هاي ممکن
:حمايت از ارتباطاتTransactional :
در اين حالت ارتباطات در انجام مي شود. ACIDقالب
تنها اجراي کامل فرايند تضمين شده و انجام کامل
آن تضمين نمي شود.
Server Replication ولي : مشکل همچنان در طرف
کاربر باقي مي ماند.
ارتباطاتasynchronous :پياده سازي از طريق
فراخوانيnon-Blockingاستفاده از صف
مناسب براي طراحيتوزيع شده
راه مناسب برايطراحي سيستم هاي
پيچيده راه طبيعي پياده سازي
ارتباطات پيچيده بين سيستم هاي ناسازگار
do with answer
request()
receiveprocessreturn
queue
queue
19
Remote Procedure Call
20
راه هاي ارتباط دادن نرم افزار هاي توزيع شده
استفاده ازsocket programming
استفاده ازRPC (Remote Procedure Call)
مخفي کردن جزئياتارتباط
ارتباط دادن سيستم هايناسازگار
RPC يک مکانيسم براي ارتباط بين سيستم هاي
توزيع شده است.
IPTCP, UDP
SOCKETS
RPC
Machine A(client)
Machine B(server)
Execution Thread
Service request
Service response
21
مسائل موجود براي ارتباط دو سيستم با هم
چگونه داده ها باData type و Data Structure هاي مختلف را
منتقل کنيم؟marshalling/un-
marshallingserializing/de-serializing
چگونه ارتباطات را بخشينامحسوس از زبان برنامه
نويسي کنيم ؟
چگونه سرويس مورد نظر خودرا در بين انبوه سرويس ها پيدا
کنيم؟
با خرابي ها چگونه برخوردکنيم؟
6A l o ns o4E T H Z2 0 0 1
String length
String length
cardinal
22
Binding
يک سرويس در يک سرور با يکIP خاص قرار گرفته و به Port
خاصي گوش مي کند.
Binding فرايند نگاشت نام خاص Port و IPسرويس به يک
مي باشد. راه هاي ممکن برايBinding:
محلي : کاربر آدرسسرويس را در اختيار دارد.
توزيع شده : سرور ديگريمسئوليت نگاشت را به عهده
دارد. در اين حالت نياز به
مکانيسمي براي ثبت , جستجو و فراخواني يک
سرويس مي باشد.
23
RPCوظايف اصلي
فراهم آوردن يکInterface يکسان براي فراخواني سرويس
(IDL)ها
توليد کد هاي اضافي برايارتباطات تحت شبکه براي
فراخواني سرويس
فراهم کردنBinder براي فراخواني سرويس
CLIENTcall to remote procedure
CLIENT stub procedure Bind Marshalling Send Communication
module
Client process
Communication module
Dispatcher(selectstub)
SERVER stub procedure Unmarshalling Return
SERVERremote procedure Server process
24
نحوه ارتباط با جزئيات بيشتر
Clientcode
Clientstub
Comm.Module
RPC
Binder Comm.module
Serverstub
Servercode
Register service requestACKbind
Look up requestLook up response
send RPC request
call
RPC responsereturn
return
25
IDL (Interface Definition Language)
توصيف سرويس به نحويانتزاعي جدا از خواص زبان
برنامه نويسي
فراهم آوردن محيطي برايتوصيف سرويس بر اساس نام ,
ورودي و خروجي هاي آن
فراهم آوردن يک کامپايلر براي براي طرفينstubتوليد
اضافه کردنstub کاربر ( براي h*.بصورت يک فايل )مثال
Interfaceاستفاده از
فراهم آوردن سطوح مختلفپيچيدگي و توصيف اليه هاي
RPCتوسط مختلف,
اليه هاي اضافي فرصت تعريفو binding و کنترل بيشتر بررا مهيا مي پرتکل های انتقال
سازد.
Bottom LevelExpert Level
Intermediate LevelTop Level
Simplified Interface
26
يک مثال عملي
SALES POINT CLIENTIF no_customer_#THEN New_customerELSE Lookup_customerCheck_inventoryIF enough_suppliesTHEN Place_orderELSE ...
Customerdatabase
INVENTORY CONTROLCLIENTLookup_productCheck_inventoryIF supplies_lowTHEN Place_order Update_inventory...
DBM
S
ProductsdatabaseDB
MS
Inventoryand orderdatabaseDB
MS
New_customerLookup_customerDelete_customerUpdate_customer
New_productLookup_productDelete_productUpdate_product
Place_orderCancel_order
Update_inventoryCheck_inventory
Server 1
Server 3
Server 2
27
RPCمزايا و معايت
:مزايا فراهم آوردن يک مکانيسم
براي پياده سازي برنامه هاي توزيع شده
حمايت شده توسط اغلبزبان هاي برنامه نويسي
بوجود آوردن قابليتطراحي ماجوالر و طراحي
سلسله مراتبي
معايب وجود تفاوت در پياده
سازي و نسخه هاي مختلف , با قابليت هاي مختلف و
ناسازگار عدم حل مسائل سطح باال
و فقط توجه به فراخواني سرويس ها
فراخواني مانندسرويس هاي محلي
بدون توجه به محلسرويس دهنده
وجود يکBinder مرکزي
طراحي شده و پوششدهنده تنها براي سيستم هاي
Client/Server کند بودن نسبت به
فراوخواني محلي
28
DCE
Distributed Computing Environment
شامل RPCپياده سازي استاندارد يک ماجول هاي الزم براي هر سيستم توزيع شده اي مي باشد که شامل
اجزائ زير مي باشد : RPCName and Directory Servicesecure and authenticationsharing of filessupport threads
DCE تنها معماري و توصيفات ( بلکه شامل CORBAنيست)مانند
پياده سازي نيز مي باشد.Transport Service/ OS
Cell DirectoryService
Thread Service
RPC
DistributedFile Service
SecurityService
Distributed Applications
TimeService
DCE
29
DCE architecture
DCE runtime environment
RPCprotocols
securityservice
cellservice
distributed file service
threadservice
IDLsources
interfaceheaders
IDL compiler
IDLclientcode
client stub
RPC run timeservice library
language specificcall interface
RPC API
servercode
server stub
RPC run timeservice library
language specificcall interface
RPC API
client process server processDCE development environment