so a basics
TRANSCRIPT
-
8/2/2019 So a Basics
1/21
SOA BasicsSOA Basics
-
8/2/2019 So a Basics
2/21
2
Topics
Quick introduction to SOA
Composite applications
Services and SOA
-
8/2/2019 So a Basics
3/21
Quick IntroductionQuick Introductionto SOAto SOA
-
8/2/2019 So a Basics
4/21
4
Pre-SOA Scenario
CustomerData
CustomerData
Balance
Check
CreditCheck
FraudDetection
PartnerCredit
PartnerCreditData
Balance
Check
CreditCheck
InterestCalc
Credit Card Mortgage
Back-End
Back-End
-
8/2/2019 So a Basics
5/21
5
SOA-Enabled Scenario
Reusable Services
Credit Card Mortgage
Partner Credit Data
CustomerData Service
AccessService
CreditCheck
FraudDetection
Customer Data
PaymentManagement
Service
TradeExecution
Service
Internet
Bill PayAuto
Loans StocksMutualFunds
IncreasedAgility
Interest
Calc
BalanceCheck
Back-End System Back-End System
UnifiedRole-Based
ViewReusableBusiness
Components
-
8/2/2019 So a Basics
6/21
6
SOA Layers
Shared Network-based LayeredServices
Process (Orchestration) Layer
Access Layer
Service Layer
Resource Layer
-
8/2/2019 So a Basics
7/217
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
-
8/2/2019 So a Basics
8/218
Service Oriented Architecture (SOA)
An architectural principle for structuringsystems into coarse-grained services
Technology-neutral best practice
Emphasizes the loose coupling of services
New services are created from existingones
in a synergistic fashion
Strong service definitions are critical
Services can be re-composed when business
requirements change
-
8/2/2019 So a Basics
9/21
Composite ApplicationsComposite Applications
-
8/2/2019 So a Basics
10/2110
Applications
Developers need to build end-to-endapplications
> 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, developersmust...
-
8/2/2019 So a Basics
11/2111
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
-
8/2/2019 So a Basics
12/2112
Traditional Application Development
Point technologies, products, and APIs> For example: EJB, Spring, Hibernate, JSF, Servlets,
Struts, etc.
Lots of glue written by developers> Requires a great deal of expertise & time
> Inflexible
-
8/2/2019 So a Basics
13/2113
Composite Applications
A way to compose applications fromreusable parts
Composite applications employ SOA
principles> Features exposed as Web services
> Standards-based interaction between services
> Are themselves composable
-
8/2/2019 So a Basics
14/21
Services and SOAServices and SOA
-
8/2/2019 So a Basics
15/2115
What Are Services?
Black-box components with well-definedinterfaces
> Performs some arbitrary function
> Can be implemented in myriad ways
Accessed using XML message exchanges
> Using well-known message exchange patterns
(MEPs) Metadata in the form of WSDL describes...
> Abstract interfaces
> Concrete endpoints
-
8/2/2019 So a Basics
16/2116
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
-
8/2/2019 So a Basics
17/2117
How Are Services Implemented?
Enterprise JavaBeans (EJB) technology
BPEL
XSLT
SQL
Business rules
Mainframe transaction EDI transform
Humans (yes, really!)
-
8/2/2019 So a Basics
18/2118
Example: Purchase Service
BidRequest
BidRequest
Bid
Supplier
LowestBid
Accept/
Reject
ShipNotice
Buyer PurchaseService
Accept/
Reject
ShipNotice
-
8/2/2019 So a Basics
19/2119
Purchase Service Functions
BuyerEndpoint
SupplierEndpoint
BuyerConversation SupplierConversation
Transaction Fees
SupplierSelection
Buyer Credit
Supplier Routing
ProductConversion
-
8/2/2019 So a Basics
20/2120
Purchase Service Functions
BuyerEndpoint
SupplierEndpoint
BuyerConversation SupplierConversation
Transaction Fees
SupplierSelection
Buyer Credit
Supplier Routing
ProductConversion
WSDL/Soap
XQuery
EJB
BPELBPEL
WSDL/Soap
Rule
RoutingTable
XSLT
-
8/2/2019 So a Basics
21/21
SOA BasicsSOA Basics