29
ارت ج ت مهاي ت س سي ت خ و سا ي ح را ط ک ي ن رو کت ل ا # ک ي ن رو کت ل ا ارت ج ت مهاي ت س سي ت خ ساECSE

طراحي و ساخت سيستمهاي تجارت الکترونيک

Embed Size (px)

DESCRIPTION

طراحي و ساخت سيستم‌هاي تجارت الکترونيک. ساخت سيستم‌هاي تجارت الکترونيک ECSE. معرفي سرويس هاي تحت وب. لايه هاي سيستم هاي سازماني. Client هر کاربر يا برنامه اي است که مي خواهد عملي را از سيستم درخواست کند. Application Logic عملکرد واقعي سيستم را مشخص مي کند. - PowerPoint PPT Presentation

Citation preview

Page 1: طراحي و ساخت سيستمهاي تجارت الکترونيک

طراحي و ساخت سيستم هاي تجارت

الکترونيکساخت سيستم هاي تجارت

ECSEالکترونيک

Page 2: طراحي و ساخت سيستمهاي تجارت الکترونيک

2

معرفي سرويس هاي تح ت وب

Page 3: طراحي و ساخت سيستمهاي تجارت الکترونيک

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 داده هاي الزم براي حمايت از اجراي برنامه ها را تامين مي کند.

Page 4: طراحي و ساخت سيستمهاي تجارت الکترونيک

4

تعامل بين اليه ها

هيچ مسئله اي در طراحي سيستم ها نيست که با اضافه کردن يک سطح ارتباط غير

مستقيم حل نشود.

هيچ مسئله اي از لحاظ performance نيست که با کاهش

يک سطح ارتباط غير مستقيم حل نشود.

تقسيم کردن برنامه ها بهماژول هاي مختلف امکان توزيع

شدگي سيستم را فراهم مي آورد.

ماجوالريتي بيشتر سببپيچيدگي بيشتر برنامه ها و سختي کنترل آن مي شود.

ماجوالريتي باال سبب پايين سيستم مي Performanceآمدن شود.

بايد دنبال راهي براي ايجاد تعادل بين ماجوالريتي و

performance .سيستم بود

Page 5: طراحي و ساخت سيستمهاي تجارت الکترونيک

5

Top Downطراحي

در اين نوع نگرش معماري سخت افزارها غالبا همنوع و

مشابه بوده و سيستم از آغاز با توجه به توزيع شدگي طراحي

شده است.

top-down design

PL-A PL-BPL-C

AL-AAL-B

AL-DAL-C

RM-1 RM-2

Page 6: طراحي و ساخت سيستمهاي تجارت الکترونيک

6

Bottom UPطراحي

اجزاي اصلي سيستم از قبلآماده هستند و نياز به يکپارچگي

دارند.

برنامه هاي قديمي همزمان بايد اجرا شوند.

غالب کار در اين معماري براي Middlewareفراهم آوردن مشترک Interfaceفراهم آوردن

بين برنامه ها و ارتباط دادن آنها با هم و از بين بردن

Heterogeneity.است Legacy systems

Newapplication

Legacy applicati

on

Page 7: طراحي و ساخت سيستمهاي تجارت الکترونيک

7

Bottomمراحل طراحي سيستم up

presentation layer

resource management

layer

application logic layer

client

info

rmat

ion

syst

em

مشخص کردن کانال هاي .1ارتباطي و سيستم کاربر

مشاهده سيستم هاي .2فعلي و ثبت کارايي اين سيستم ها

پوشش دادن سيستم ها و .3منابع قديمي و يکپارچه کردن آنها در قالب يک سيستم واحد

تبديل خروجي به فرمت .4مناسب براي سيستم کاربر

bottom-up design

Page 8: طراحي و ساخت سيستمهاي تجارت الکترونيک

8

: کامال One tierسيستم هاي متمرکز

اين سيستم ها از آغاز بصورت نوشته Monolithicيکپارچه يا

شده اند.

ارتباط کاربران از طريقترمينال هاي نمايش صورت مي

گيرد.

طراحي غالبMainframeها

مزايا عدم نياز بهcontext switchکنترل راحت تر منابعتا حد امکان بهينه

1-tier architecture

Server

Page 9: طراحي و ساخت سيستمهاي تجارت الکترونيک

9

:Two Tierسيستم هاي Client/server

با قدرتمندPC ها اليه Presentation به سمت کاربر

منتقل شد.

:در اين حالت کاربران مستقل از هم کار

مي کنند . ذخيره منابعServer معرفي مفهومAPI مدير منابع فقط با اليه

Application logic ارتباط دارند که سبب افزايش

performance سيستم مي شود.

2-tier architecture

Server

Page 10: طراحي و ساخت سيستمهاي تجارت الکترونيک

10

جنبه هاي مختلف معماري Client/Server

:مزايا بهره مندي از قابليت هاي

سيستم کاربر کارهاي سرور در يک محل

اتفاق مي افتد. طراحي سرور با حذف اليه

نمايش از مراحل طراحي, ساده تر مي شود.

اين سيستم ها, کنترل One tierهمانند سيستم هاي

راحت مي باشد.

:معايب سرور مجبور به تعامل با

ممکن مي Clientحداکثر باشد.

کاربران مجبور هستند ازInterface هاي مشخص جهت

کار با هر سرور استفاده کنند.

در هنگام خرابي هيچ کسنمي تواند از سيستم

استفاده کند.

Load کاربران بر روي هم تاثير مي گذارد.

Page 11: طراحي و ساخت سيستمهاي تجارت الکترونيک

11

محدوديت هاي اصلي معماري Client/Server

اگر کاربر بخواهد همزمان با دوسرور کار بکند, آنها هيچ اطالع و

ارتباطي با هم ندارند. کاربر نقطه اتصال بين دو

سرور است. مسئوليت برخورد با تفاوت

هاي دو سرور بر عهده کاربر است.

هيچ منطق تجاري براي اينکار وجود ندارد.

کاربر مسئول حفظ Consistency.مي باشد

اين راهبرد با توجه به منابعمحدود کاربر ناکارآمد مي باشد.

Server A Server B

Page 12: طراحي و ساخت سيستمهاي تجارت الکترونيک

12

Three tire و Middlewareها

هر سه اليه کامال از هم جداهستند.

بهره مندي از خاصيتماجوالريتي و توزيع شدگي کامل

3معماريtier فقط در قبال 2tierحل محدوديت هاي معماري

معنا پيدا مي کند.

3-tier architecture

Page 13: طراحي و ساخت سيستمهاي تجارت الکترونيک

13

Middleware

Middleware تنها يک سطح ارتباط غير مستقيم بين کاربر و

سرور است.Middleware جهت پياده سازي

منطق تجاري بوجود آمده است. مزايايMiddleware:

راحت تر کردن طراحي کاهش تعدادInterfaceها فراهم آوردن راهي براي

ارتباط غير شفاف با منابع زيرين

مسئوليت فراهم کردنمنابع , دسترسي به آنها و

جمع آوري اطالعات آنها

Middleware or global application logic

clients

Local resource managers

Local application logic

Server A Server B

middleware

Page 14: طراحي و ساخت سيستمهاي تجارت الکترونيک

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

Page 15: طراحي و ساخت سيستمهاي تجارت الکترونيک

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

Page 16: طراحي و ساخت سيستمهاي تجارت الکترونيک

16

Blocking or synchronousارتباطات

سيستم هاي سنتي معموال از استفاده مي Blockingارتباطات

کنند.:معايب

نياز بهonline بودن طرفين ارتباط

سربارگذاري بر ارتباطات نگهدريSession براي

هر ارتباط پرهزينه بودن نگهداري

Sessionها اختصاص يکThread به

Sessionهر امکان خرابيمشکل در تشخيص خرابي

CallReceive

ResponseAnswer

idle time

client server

Page 17: طراحي و ساخت سيستمهاي تجارت الکترونيک

17

synchronousمشکالت ارتباطات

با خرابي هر يک از سيستم هاارتباط به طور کامل از دست

مي رود.

چه کسي مسئول کشف خرابي است؟

مشکل در پيدا کردن اينکهخرابي در کدام مرحله اتفاق

افتاده است.

request()

do with answer

receiveprocessreturn

12

34

request()

do with answertimeouttry again

do with answer

receiveprocessreturn

12

3

receiveprocessreturn

2’

3’

Page 18: طراحي و ساخت سيستمهاي تجارت الکترونيک

18

راه حل هاي ممکن

:حمايت از ارتباطاتTransactional :

در اين حالت ارتباطات در انجام مي شود. ACIDقالب

تنها اجراي کامل فرايند تضمين شده و انجام کامل

آن تضمين نمي شود.

Server Replication ولي : مشکل همچنان در طرف

کاربر باقي مي ماند.

ارتباطاتasynchronous :پياده سازي از طريق

فراخوانيnon-Blockingاستفاده از صف

مناسب براي طراحيتوزيع شده

راه مناسب برايطراحي سيستم هاي

پيچيده راه طبيعي پياده سازي

ارتباطات پيچيده بين سيستم هاي ناسازگار

do with answer

request()

receiveprocessreturn

queue

queue

Page 19: طراحي و ساخت سيستمهاي تجارت الکترونيک

19

Remote Procedure Call

Page 20: طراحي و ساخت سيستمهاي تجارت الکترونيک

20

راه هاي ارتباط دادن نرم افزار هاي توزيع شده

استفاده ازsocket programming

استفاده ازRPC (Remote Procedure Call)

مخفي کردن جزئياتارتباط

ارتباط دادن سيستم هايناسازگار

RPC يک مکانيسم براي ارتباط بين سيستم هاي

توزيع شده است.

IPTCP, UDP

SOCKETS

RPC

Machine A(client)

Machine B(server)

Execution Thread

Service request

Service response

Page 21: طراحي و ساخت سيستمهاي تجارت الکترونيک

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

Page 22: طراحي و ساخت سيستمهاي تجارت الکترونيک

22

Binding

يک سرويس در يک سرور با يکIP خاص قرار گرفته و به Port

خاصي گوش مي کند.

Binding فرايند نگاشت نام خاص Port و IPسرويس به يک

مي باشد. راه هاي ممکن برايBinding:

محلي : کاربر آدرسسرويس را در اختيار دارد.

توزيع شده : سرور ديگريمسئوليت نگاشت را به عهده

دارد. در اين حالت نياز به

مکانيسمي براي ثبت , جستجو و فراخواني يک

سرويس مي باشد.

Page 23: طراحي و ساخت سيستمهاي تجارت الکترونيک

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

Page 24: طراحي و ساخت سيستمهاي تجارت الکترونيک

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

Page 25: طراحي و ساخت سيستمهاي تجارت الکترونيک

25

IDL (Interface Definition Language)

توصيف سرويس به نحويانتزاعي جدا از خواص زبان

برنامه نويسي

فراهم آوردن محيطي برايتوصيف سرويس بر اساس نام ,

ورودي و خروجي هاي آن

فراهم آوردن يک کامپايلر براي براي طرفينstubتوليد

اضافه کردنstub کاربر ( براي h*.بصورت يک فايل )مثال

Interfaceاستفاده از

فراهم آوردن سطوح مختلفپيچيدگي و توصيف اليه هاي

RPCتوسط مختلف,

اليه هاي اضافي فرصت تعريفو binding و کنترل بيشتر بررا مهيا مي پرتکل های انتقال

سازد.

Bottom LevelExpert Level

Intermediate LevelTop Level

Simplified Interface

Page 26: طراحي و ساخت سيستمهاي تجارت الکترونيک

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

Page 27: طراحي و ساخت سيستمهاي تجارت الکترونيک

27

RPCمزايا و معايت

:مزايا فراهم آوردن يک مکانيسم

براي پياده سازي برنامه هاي توزيع شده

حمايت شده توسط اغلبزبان هاي برنامه نويسي

بوجود آوردن قابليتطراحي ماجوالر و طراحي

سلسله مراتبي

معايب وجود تفاوت در پياده

سازي و نسخه هاي مختلف , با قابليت هاي مختلف و

ناسازگار عدم حل مسائل سطح باال

و فقط توجه به فراخواني سرويس ها

فراخواني مانندسرويس هاي محلي

بدون توجه به محلسرويس دهنده

وجود يکBinder مرکزي

طراحي شده و پوششدهنده تنها براي سيستم هاي

Client/Server کند بودن نسبت به

فراوخواني محلي

Page 28: طراحي و ساخت سيستمهاي تجارت الکترونيک

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

Page 29: طراحي و ساخت سيستمهاي تجارت الکترونيک

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