Back to basics: Simple database web services without the need for SOA
SOA Basics
description
Transcript of SOA Basics
![Page 1: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/1.jpg)
SOA Basics
SSE USTC
Qing Ding
![Page 2: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/2.jpg)
Topics
Quick introduction to SOA Composite applications Services and SOA
![Page 3: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/3.jpg)
Quick Introduction to SOA
![Page 4: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/4.jpg)
Pre-SOA Scenario
CustomerData
Back-End
System
PartnerCreditData
PartnerCreditData
Back-End
SystemCustomer
Data
![Page 5: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/5.jpg)
SOA-Enabled Scenario
Partner Credit Data
Back-End System
Back-End System
CustomerData
![Page 6: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/6.jpg)
SOA Layers
Shared Network-based Layered Services
![Page 7: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/7.jpg)
Benefits of SOA
Flexible (Agile) IT– Adaptable to changing business needs
Faster time to market– Reuse existing code, minimize new development
Business and process-driven– New business opportunities
Greater ROI– Leverage existing IT asset
![Page 8: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/8.jpg)
Service Oriented Architecture (SOA)
An architectural principle for structuring systems into coarse-grained services
Technology-neutral best practice Emphasizes the loose coupling of services New services are created from existing ones
in a synergistic fashion Strong service definitions are critical Services can be re-composed when business
requirements change
![Page 9: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/9.jpg)
Composite Applications
![Page 10: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/10.jpg)
Applications
Developers need to build end-to-end applications– Front-end user interfaces– Middle-tier business logic– Back-end resources
With the right approach, developers can...– Reuse existing parts– Build new parts– Glue old and new parts together
With the wrong approach, developers must...
![Page 11: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/11.jpg)
Applications
Real-world applications are...– ...not Web applications– ...not Java EE applications– ...not Swing forms– ...not Web services– ...not BPEL processes– ...not SOA– ...not JBI– ...not RDBMSs– ...not (your favorite technology)
Real-world applications use many or all of these
![Page 12: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/12.jpg)
Traditional Application Development
Point technologies, products, and APIs– For example: EJB, Spring, Hibernate, JSF, Servle
ts, Struts, etc. Lots of glue written by developers
– Requires a great deal of expertise & time– Inflexible
![Page 13: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/13.jpg)
Composite Applications
A way to compose applications from reusable parts
Composite applications employ SOA principles– Features exposed as Web services– Standards-based interaction between services– Are themselves composable
![Page 14: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/14.jpg)
Services and SOA
![Page 15: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/15.jpg)
What Are Services?
Black-box components with well-defined interfaces– Performs some arbitrary function– Can be implemented in myriad ways
Accessed using XML message exchanges– Using well-known message exchange patterns (M
EPs) Metadata in the form of WSDL describes...
– Abstract interfaces– Concrete endpoints
![Page 16: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/16.jpg)
What Can Services Do?
Perform business logic Transform data Route messages Query databases Apply business policy Handle business exceptions Prepare information for use by a user interface Orchestrate conversations between multiple services
![Page 17: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/17.jpg)
How Are Services Implemented?
Enterprise JavaBeans™ (EJB™) technology BPEL XSLT SQL Business rules Mainframe transaction EDI transform Humans (yes, really!) …
![Page 18: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/18.jpg)
Example: Purchase Service
![Page 19: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/19.jpg)
Purchase Service Functions
![Page 20: SOA Basics](https://reader036.fdocuments.net/reader036/viewer/2022062816/56813a87550346895da28485/html5/thumbnails/20.jpg)
Purchase Service Functions