บทที่ 1 สถาปัตยกรรมเว็บเซอรว์ิส 1.pdf ·...

Preview:

Citation preview

1

ดร.ธระยทธ ทองเครอภาควชาวทยาการคอมพวเตอร คณะวทยาศาสตร

มหาวทยาลยขอนแกน

บทท 1สถาปตยกรรมเวบเซอรวส

ระบบสารสนเทศระบบสารสนเทศระบบสารสนเทศ (Information System) คอ ระบบประมวลผลขอมลเพอสราง

สารสนเทศ และสงผลลพธหรอสารสนเทศทไดใหผใช

สารสนเทศทไดจะสนบสนนการทางาน การตดสนใจ การวางแผน การบรหาร การควบคม การวเคราะหและตดตามผลการดาเนนงานขององคกร

2

การออกแบบระบบสารสนเทศการออกแบบระบบสารสนเทศการแบงระดบชน (Layer หรอ Tier)

การออกแบบจากบนลงลาง (Top down design)

การออกแบบจากลางขนบน (Bottom up design)

3

ระดบชน หรอ Tierระดบชน หรอ TierTier คอ การมอง Software ออกเปน "ชน" ซงเปนนามธรรม ซงในความเปนจรง

Software ทสรางขนไมจาเปนตองแยกสวนกนกได

การแบง Tier ชวยใหมองเหนภาพรวมของสถาปตยกรรมระบบสารสนเทศ ทาใหเขาใจระบบงายขน

มกจะใชคาวา Tier กบ Software ทาง Business Solution ทมเครอขาย ฐานขอมล และระบบทเกยวของ หลากหลายสวน

4

การแบงระดบชนของระบบสารสนเทศการแบงระดบชนของระบบสารสนเทศClient คอ ผใชหรอโปรแกรมทตองการดาเนนการกบ

ระบบ โดย Client จะตดตอกบระบบผาน Presentation Layer

Application Logic Layer ชนททางานตามคารองของ Client โดยประมวลผลขอมลแบบเบองหลงและสงผลลพธตอบกลบไปยง Client โดยทางานตาม BusinessRules และ Business Processes ทกาหนด

Resource Manager Layer ชนจดการขอมลขององคกร ทสนบสนนการทางานของชน Application Logic โดยทวไปจะหมายถงฐานขอมล แตสามารถเปนไฟลขอความ หรอระบบจดการขอมลอนๆกได

5

Client

Application Logic

Layer

Resource Manager

Layer

PresentationLayer

Info

rmat

ion

Syst

em

Business ProcessBusiness ProcessBusiness Process คอ กระบวนการประมวลผลเพอบรรลเปาหมายการทางานหนงๆ

เชน บรการถอนเงนจากตเอทเอมประกอบดวย Business process ดงน ตรวจสอบรหสผาน ตรวจสอบยอดเงนคงเหลอ ตรวจสอบยอดเงนจากดในการถอน ปรบปรงยอดเงนในบญช

6

การออกแบบระบบสารสนเทศการออกแบบระบบสารสนเทศการออกแบบจากบนลงลาง (Top-down Design)

การออกแบบจากลางขนบน (Bottom-up Design)

7

การออกแบบจากบนลงลางการออกแบบจากบนลงลาง1. กาหนดชองทางในการเขาถง และ

Client Platforms

2. กาหนดรปแบบการแสดงผลและ Protocol สาหรบ Client

3. กาหนดฟงกชนการทางานทจาเปนในการประมวลผลตามความตองการของ Presentation Layer

4. กาหนดแหลงขอมล และวธการจดการขอมลทจะตองใชในชน Application Logic Layer

8

Client

Application Logic

Layer

Resource Manager

Layer

PresentationLayer

Info

rmat

ion

Syst

em

การออกแบบจากลางขนบนการออกแบบจากลางขนบนการออกแบบจากลางขนบนมกใชกบ

องคกรทมสวนประกอบพนฐานครบแลว เชน ระบบ stand alone ทตองการ integrate กบระบบใหม

สวนประกอบนนไมตองการหยดการทางาน โดยจะใหระบบเดมทางานตอไปพรอมกบระบบใหม

วธนจงมหลากหลายระบบในองคกร เพราะระบบทมอยแลวยากตอการแทนท

งานสวนใหญในการออกแบบชนดนจงเกยวของกบ Middleware ซงเปนตวเชอมโยงระหวางสวนตางๆของระบบ

9

Legacy Systems

NewApplication

Legacy Application

การออกแบบจากลางขนบนการออกแบบจากลางขนบน1. กาหนดชองทางในการเขาถง และ

Client Platforms

2. ตรวจสอบแหลงขอมลทมอย และฟงกชนทใหบรการอย

3. รวบรวมแหลงขอมลและ integrate ฟงกชนตางๆเขาเปน Interface

4. ปรบปรงผลลพธของชน Application Logic เพอใหสามารถใชกบการเขาถงจาก Client ได

10

Client

Application Logic

Layer

Resource Manager

Layer

PresentationLayer

Info

rmat

ion

Syst

em

สถาปตยกรรมระบบสารสนเทศสถาปตยกรรมระบบสารสนเทศ1-tier: fully centralized2-tier: client/server3-tier: middlewareN-tierSOA

11

ววฒนาการของระบบสารสนเทศววฒนาการของระบบสารสนเทศ

ชวงเวลา สถาปตยกรรม ภาษาโปรแกรม แรงผลกดน1960 – 1980 1-tier Procedural (COBOL) ธรกจแบบอตโนมต1980 – 1990 2-tier Database (SQL) และ Fat

Client (VB, PowerBuilder)กระจายการประมวลผลไปทฝง Client

1990 – 2000 3-tier Object-Oriented (Java, PHP, COM)

Internet

2000 – ปจจบน N-tier, SOA Message Oriented (XML,JSON)

ความรวดเรวในการทาธรกจ

12

1-tier: fully centralized1-tier: fully centralized

ชน Presentation Layer, Application Logic และ Resource Manager จะอยบน Server ทงหมด

ผใชจะเขาถงระบบดวยหนาจอ Terminal การประมวลผลและแสดงขอมลถกควบคมโดย Server เทานน

โดยทวไปสถาปตยกรรมแบบนมกจะม Server เปน mainframes

13

Server

2-tier: client/server2-tier: client/server เรยกอกชอหนงวา สถาปตยกรรมไคลเอนต-

เซรฟเวอรยาย Presentation Layer ไปอยท Clientชน Application Logic และชน Resource

Manager Layer รวมอยในชนเดยวกน และประมวลผลบนเครอง Server

ชน Presentation Layer จะถกประมวลผลทเครอง Client ทาใหชวยลดการทางานในฝง Server

ระบบในปจจบนมกจะเปน Web Application

14

Server

สถาปตยกรรมของ Web Applicationสถาปตยกรรมของ Web Application

15

Web Server

DBMS

Web Browser

Database

Clie

ntSe

rver

2-tier: client/server2-tier: client/serverขอด Server ประมวลผลทง Application Logic และ Resource ในตว ทาใหงายตอการเขยนโคด และการจดการระบบ การออกแบบสวน Server สามารถปรบปรง และเพมประสทธภาพไดงาย โดยไมกระทบตอสวนแสดงผล

ขอเสย Server จะตองประมวลผลกบ Client ทงหมดทตดตอเขามา จานวนของ Client สงสดทรบไดจงขนกบความสามารถของ Server ถา Server ลม ทกๆ Client จะไมสามารถทางานได

16

3-tier: middleware3-tier: middlewareชน Presentation Layer, Application Logic และ

Resource Manager แยกสวนการทางานอยางชดเจน การออกแบบระบบจะแบงออกเปนโมดล และจะอย

บน Server เดยวกน หรอคนละ Server กได (แบบ 2-tier จะใช Server เดยวเปนศนยกลางทกอยาง)

ชน Application Logic จะถกเรยกวา Middleware ทาหนาทเปนตวกลางในการรบและสงขอมลจาก Client กบชน Resource Manager

ตวอยาง Middleware เชน JDBC, ODBC

17

N-tierN-tier

18

N-tier คอ ระบบทอยในรปแบบ 3-tier แตชนของ Resource Manager จะอาจจะเปนระบบอนกได เชน ขอมลอาจไมจาเปนตองไดจาก Database แตอาจเปนระบบอนทเปน 2-tier หรอ 3-tier

คณสมบตหลกของ N-tier สนบสนนการบรณาการระหวางระบบ สามารถเชอมโยงกบระบบอนๆไดงาย

Application Logic

Resource Manager

2-tier system

Client

ตวอยางระบบสนเชอธนาคารตวอยางระบบสนเชอธนาคาร

19

Loan Processing

Client

Customer

Credit Bureau Processing

Credit Bureau

Exte

rnal

Sys

tem

DBMS

DBMS

Clients

Application Logic

Resource Managers

SOA: สถาปตยกรรมเชงบรการSOA: สถาปตยกรรมเชงบรการSOA (Service-Oriented Architecture) คอ หลกการออกแบบระบบทมงเนนการ

แบงปน (Shared), การนากลบมาใช (Reusable) และการกระจายบรการ (Distributed services)

คณสมบตของ SOA มสวนของ Service Interface ซงแยกสวนออกมาจากระบบ สงเสรมการนากลบมาใช ดวยความสามารถในการคนหาได และมสวนอธบาย

การใหบรการในตวเอง Service ทสรางขนจะมมาตรฐานในการแลกเปลยนขอมล ผใช Service สามารถประกอบ Service เปนสวนหนงของแอปพลเคชนไดงาย

20

Service คออะไรService คออะไรService หรอบรการ มความคลายคลงกบฟงกชน หรอเมธอด ททาหนาทประมวลผล

และสงผลลพธกลบ เชน Service แปลงคาสกลเงน Service แปลภาษา Service ใหขอมลตาง เชน อากาศ, ราคานามน

มมมองในทางการเขยนโปรแกรม การเรยกใช Service จะเปรยบเสมอนการเรยกใชฟงกชนหนง ทไมไดเรยกใชจากภายในโปรแกรม แตเรยกใชจากโปรแกรมอน เชน ธนาคาร A ม Service การฝาก ธนาคาร B และ C สามารถเขยนโปรแกรมมา

เรยกใช Service การฝากของธนาคาร A ได

21

ชนของ SOAชนของ SOA

ชนของบรการหรอ Service Layer จะอยเหนอ Application Logic Layer

Client ของ Service ไมใชมนษย แตจะเปนระบบงานอนๆหรอแอปพลเคชนทวไป

มนษยไมไดใช Service โดยตรง แตจะใชผานระบบหรอแอปพลเคชน

ผลลพธทไดจากการเรยก Service จะอยในรปแบบทเครองสามารถนาไปประมวลผลตอไปได

22

Application Logic

Client

Service

Resource Manager

2-tier system

System

ตวอยางระบบสนเชอธนาคารตวอยางระบบสนเชอธนาคาร

23

Loan Processing

Client

Credit Check ServiceCustomer

Credit Bureau Processing

Credit BureauEx

tern

al S

yste

m

DBMS

ประโยชนของ SOAประโยชนของ SOAลดเวลา – Service ทใหบรการอยบน server หรอบน cloud เชน Amazon, Microsoft

Azure หรอ Salesforce สามารถ reuse ได ชวยลดเวลาในการพฒนา

ลดคาใชจาย – เปนผลจากการ reuse

ปรบปรงคณภาพของซอฟทแวร – สถาปตยกรรมเชงบรการมการนยามมาตรฐานและทกษะการทางานเอาไว ซงจะชวยบอกวาตองสรางบรการอยางไร ซงจะนาไปสคณภาพของซอฟทแวรทมากขน

24

เทคโนโลยทใชสรางระบบแบบ SOAเทคโนโลยทใชสรางระบบแบบ SOA เทคโนโลยดงเดม CORBA (Common Object Request Broker Architecture) – Java, C++ RMI (Remote Method Invocation) – Java DCOM (Distributed Component Object Model) - Microsoft

ปญหาของเทคโนโลยดงเดม คอ ความขนตรงกบแพลตฟอรมและภาษาโปรแกรม ผ ทจะใช Service จะตองใชภาษาโปรแกรมทตรงกนเทานนจงจะเรยกใชได

จงเกดเวบเซอรวส (Web Services) เพอแกปญหาเทคโนโลยดงกลาว

25

เวบเซอรวส (Web Services)เวบเซอรวส (Web Services) เวบเซอรวส คอ เวบแอปพลเคชนชนดหนง ทใหบรการบนโพรโทคอล HTTP

(Hypertext Transport Protocol) หรอ HTTPS (HTTP Secure) ทสรางตามแนวคดของ SOA

คณสมบตสาคญของ Web Services (นอกเหนอจากท SOA ระบ) คอ ความสามารถในการทางานรวมกน (Interoperability) ทางานรวมกนไดกบทกแฟลตฟอรม (Platform Independent) เชน OS ตางกน ทางานรวมกนไดกบทกภาษาโปรแกรม เชน สามารถเขยนโปรแกรมดวยภาษา

จาวาเรยกใช เวบเซอรวสทสรางจาก Microsoft .NET ได

26

ตวอยางเวบตวแทนการทองเทยวตวอยางเวบตวแทนการทองเทยว

27

Travel Management

Client

Booking ServiceCustomer

Hotel Management

Flightระบบ

โรงแรม

DBMS

Booking Service

Flight Management

Flightระบบ

สายการบ

Withdraw Service

Bank Transaction

Flight

ระบบ

ธนาคาร

HTTP/HTTPS HTTP/HTTPS HTTP/HTTPS

ตวอยางระบบทมทงเวบและเวบเซอรวสตวอยางระบบทมทงเวบและเวบเซอรวส

28

ชนดของเวบเซอรวสในปจจบนชนดของเวบเซอรวสในปจจบนSOAP-Based Web Services (WS-* standards) การอธบาย และแลกเปลยนขอมลอยในรปแบบภาษา XML ทงหมด การรองขอ Service และตอบกลบจาก Service ใชรปแบบ SOAP (Simple

Object Access Protocol) การอธบาย Service ใชภาษา WSDL (Web Service Description Language)

RESTful Web Services การอธบาย และแลกเปลยนขอมลอยมรปแบบใดกได เชน JSON การรองขอ Service เรยกผาน URI การอธบาย Service ใชภาษา WADL (Web Application Description Language)

29

Recommended