session1: introduction to soachate/2110634/8-soa.pdfservice-oriented architecture introduction to...

Post on 27-Apr-2020

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Session1: Introduction to SOA

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

หวขอนาเสนอ

• การพฒนาระบบซอฟตแวรแบบองครวม• Service เบองตน• Architecture เบองตน• SOA เบองตน• สรป

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

ลองคนคาวา “SOA”

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

ขอสงสยเกยวกบ SOA

• SOA คออะไร?• ทาไมตองใช SOA?• ใช SOA เมอไร?• พฒนา SOA อยางไร?• ไมใช SOA ไดไหม?• เรมตนตอนน ชาไปหรอไม?• จะเปลยนอกไหมน?• จะหาขอมลเกยวกบ SOA ไดทไหน?

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

ประโยชนของ SOA

• SOA ไดรบการกลาวถงวา – สามารถทาใหการพฒนาระบบเปนไปแบบองครวม (Integration) ดวยคาใชจายทคมทน

– สามารถทาใหระบบซอฟตแวรเดมทมใหบรการแกระบบซอฟตแวรอนๆ ได (Reusability)

– สามารถปรบเปลยน Implementation ของบรการไดโดยไมกระทบกบผใชบรการอนๆ

– สามารถทาใหระบบซอฟตแวรเดมแบบ Legacy นากลบมาใชรวมกนแบบองครวมได เกดความคมคาในการลงทน

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

การพฒนาระบบซอฟตแวรแบบองครวม

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

ววฒนาการของการพฒนาระบบซอฟตแวร

• Structural • Object Oriented• Component Based• Service Oriented

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

ความสาเรจในการพฒนาระบบซอฟตแวร

• Build the proven assets (Components/Services) • Reuse the proven assets• Integrate the proven assets to obtain new solution

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

การรวมระบบซอฟตแวรแบบองครวม

• การรวมแบบ Data-Level Integration• การรวมแบบ Application-Level Integration

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

การรวมระบบซอฟตแวรแบบ Data-Level Integration

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

การรวมระบบซอฟตแวรแบบ Application-Level Integration

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service เบองตน

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service คออะไร

• “A Service is a thing that fulfills a purpose. A Service is a worker employed to achieve a specific end goal for a requester”

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service Granularity

• ขนาดของ Service กาหนดดวย Level of Granularity– Small in Scope (to retrieve information)– Large in Scope (to perform business process)

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service

• A Service is an abstract resource that has– Name– Job (a single distinct business function/process)– Job Tasks– Contact Information– Policy on security– Etc. ServiceName

-Job (Distinct function)-Contact Information

-Policy on Security,… etc.

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service Collaboration• Service ทมอยจะทางานแบบ Collaboration ดงน

– Orchestration คอม Primary Service เปนผนาเรยกใช Simple Services อนๆตามลาดบ อยางลงตว (Sequence of actions ฝงอยในPrimary Service)

– Business Interactionคอม Coordination Mechanism ททาหนาทจดการ Sequence of actions ของ Long-lived Services โดยไมตองฝงไวในService ใด (Coordination Mechanism อาจจะเปน Business Process Execution Engine, Work Flow Engine, หรอ ESB)

– Interceptionคอม Intermediary Services กลางทคอยชวยรบ/สงระหวางทางจนไปถงผรบปลายทาง (Service ปลายทาง) โดยทผสงตวจรง (Requesting Entity) และผรบปลายทางไมทราบวามIntermediary Services เหลาน

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service ทาหนาทแบบใดบาง• Request/Reply

– เรยกใชและตอบกลบทนท• Worker

– ทางาน Function ทมการเปลยนสถานะของขอมลจรง (Changing State of the thing)

• Monitor – ทาหนาท Observe และรายงานผลตามกฎทไดรบ ไมทาอะไรเกนกวานน

• Agent – ทาหนาท Observe และเมอทราบผลกมการกระทาตอเนองจากผลทไดรบเลย

• Intermediary – ทาหนาทรบ/สง ขอความไปมา โดยทาหนาทสาคญระหวางทางแบบ Value-added เชน Translation การตรวจสอบความปลอดภย เปนตน

• Aggregator – รวบรวมผลลพธจาก Services ตางๆ เพอทาหนาทประสานระหวางกลม Services ทมอยมากมาย

• Process – เปน Long-running Service ทาหนาทตดตอกบ Services ทจาเปนในการทางานของ

Business Process หนงๆ ใหสาเรจอยางแทจรง

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

ตวอยาง Service

• Services are reusable components that represent business tasks– Customer lookup– Account lookup– Credit card validation– Credit check– Hotel reservatio– Interest calculation

• Services can be– Globally distributed across organizations– Reconfigured into new business processes

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Monolithic Service (Runtime)

Decomposed into smaller logics + relationships

CustomerRelation Service

CustomerRelationService

(Monolithic Service)

UpgradeStatus

CheckCredit

CheckMember Register

Member

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service and Its Environment

Environment (Outside World)

CustomerRelation Service

UpgradeStatus

CheckCredit

CheckMember Register

Member

Consumer1

Consumer2

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service is Reusable

CustomerRelation Service

UpgradeStatus

CheckCredit

CheckMember Register

Member

Consumer1

Place Order

Approve Order

Order Processing Service

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

How Service Encapsulate Logics

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

How Service Relates

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

How Services Communicate

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

How Services are designed

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Architecture เบองตน

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Architecture คออะไร• IEEE 1471-2000

“Software architecture is the fundamentalorganization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution”

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

SOA เบองตน

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

SOA คออะไร

• Service-oriented architecture is a way of designing systems that enables– Cost-efficiency– Agility– Adaptability– Leverage of legacy investments

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

สวนประกอบของ SOA

• SOA เปนสถาปตยกรรมระบบทประกอบดวย– Loosely Coupled Services– Described by platform-agnostic interfaces– that can be discovered and invoked dynamically

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

A Loosely Coupled Service

ServiceInterface

ServiceImplementation

A Service

• Loosely Coupled หมายถง Service Implementation แยกออกจาก Service Interface

New Implementation

สามารถเปลยนเปน New Implementation โดยไมกระทบ Service Interface

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Platform-Agnostic Interface

• Client ทม Platform ทตางกนสามารถมาใชบรการ Service ไดโดยผานทาง Interface ชนดน

Service Consumer

.NET Platform

A Service

Java Platform

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Service can be Discovered

• Service Consumer ไมตองรจก Service Provider มากอนเหมอนกบ Client-Server ทวไป

ServiceBroker

ServiceConsumer

ServiceProvider

SOAP

Find Register

Bind

ServiceContract by WSDL

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

SOA ประสานการทางานกบ Legacy System

Service Consumer

Interface Proxy

ServiceInterface

ServiceImplementation

New Service

WrappedLegacy

CompositeService

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

Abstract SOANew CRM

Application

GLLegacy System

InventoryLegacy System

Post GL ReverseGL

Check Out

GetProduct

Info

PartnerApplication

Discovery Security StandardsDev Tools

SOA Infrastructure

Service

ExternalSystem

Internet

โครงการการวศวกรรมซอฟตแวรแผนใหมสาหรบวสาหกจโดยสถาปตยกรรมเชงบรการ

ภาควชาวศวกรรมคอมพวเตอร คณะวศวกรรมศาสตร จฬาลงกรณมหาวทยาลย

Service-Oriented ArchitectureIntroduction to SOA

สรป

• Service Oriented Architecture เปนสถาปตยกรรมของการออกแบบระบบประเภทหนงทรจกกนมาระยะหนงแลว

• SOA เนนการรวมระบบซอฟตแวรเขาแบบองครวม โดยใหมการกาหนด Service และCollaborate ระหวางกนและกนเทานนในระดบ Application-Level

• มเทคโนโลยในการพฒนา SOA หลากหลายแบบทควรเลอกให เหมาะสม

top related