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