Upload
magento-dev
View
361
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Хореографиявеб-сервисов
В чем проблема?
SOAP
REST
POST
web
-ser
vice
s
web
-ser
vice
s
В чем проблема?
SOAP
REST
POST
11
22
web
-ser
vice
s
web
-ser
vice
s
Service-oriented architecture (SOA)
ProviderProviderConsumerConsumer
RegistryRegistry
findpublish
interact
Enterprise service bus (ESB)
SOAP
REST
POST
ESB
serv
ices
serv
ices
X.commerce Fabric
FabricXOCL
capa
bilit
ies
tenants
topic
schema server
capa
bilit
ies
Orchestration
Choreography
X.commerce Open Commerce Language
Контракт приложения
package com.x.cartwithmarketingprovider.v1 0.2 workingdraft{
packagetitle "Cart with Marketing Provider Bundles"
import com.x.inventorycontracts.v1.*import com.x.customercontract.v1.*import com.x.ordermanagementcontracts.v1.*
bundle CartWithMarketingProvider{description "A bundle including PIM, inventory, Customer, Order and Webstore metadata"bindings{
CustomerConsumer*InventoryConsumer*WebStoreOfferConsumer*OrderObserver*
}}
}
Контракт приложения
package com.x.ordermanagementcontracts.v1 0.3 workingdraft{
packagetitle "Order Management Contracts"
import com.x.ordermanagement.v3.*contract InternalOrderProcessor {
description "An OrderProcessor for internally created orders"roles {
ProcessNonSalesChannelOrder.OrderProcessorOrderCancelled.OrderProcessorOrderPartiallyReturned.OrderProcessorOrderPartiallyShipped.OrderProcessorObserveOrderShipped.OrderProcessorOrderCreated.OrderProcessorOrderReturned.OrderProcessorOrderAdjusted.OrderProcessor OrderSearch.OrderManager<NonSensitive>
} }
}
Что такое Workflow
WorkflowWorkflow
ALLALL
ANYANY
DODO
sub-workflowsub-workflow
IFIF
ELSEELSE
transactiontransaction
transactiontransaction
transactiontransaction
transactiontransaction
Workflow – дерево нод, в котором кажадая нода
может принимать разные состояния (active,
succeeded, failed и т.п) в зависимости от состояний
дочерних нод.
Workflow – дерево нод, в котором кажадая нода
может принимать разные состояния (active,
succeeded, failed и т.п) в зависимости от состояний
дочерних нод.
Транзакции являются листьями дерева и только через них осуществляется
отправка сообщений.
Транзакции являются листьями дерева и только через них осуществляется
отправка сообщений.
Типов нод достаточно для описанию логики
выполнения любого бизнеc процесса.
Типов нод достаточно для описанию логики
выполнения любого бизнеc процесса.
Типы нод
AnyAny
AllAll
DoDo
If ElseIf Else
NoopNoop
BooleanBoolean
TransactionTransaction
Sub-workflowSub-workflow
Workflow на XOCL
workflow {transaction ProcessOrder {
roles(SalesChannel, OrderProcessor)}any {
workflow CustomerUpsert {roles(OrderProcessor, null)
}}workflow OrderCreated {
roles(OrderProcessor, OrderObserver)}do (!order[Order.Complete]) {
any {workflow OrderReturned {
roles(OrderProcessor, OrderObserver)}workflow OrderPartiallyShipped {
roles(OrderProcessor, OrderObserver)}workflow OrderPartiallyCancelled {
roles(OrderProcessor, OrderObserver)}
transaction PaymentUpdate {roles(SalesChannel, OrderProcessor)
}transaction CompleteOrder {
roles(OrderProcessor, OrderObserver)}one {
do {transaction CancelOrder {
roles(SalesChannel, OrderProcessor)}workflow OrderCancelled {
roles(OrderProcessor, OrderObserver)}
}workflow OrderCancelled {
roles(OrderProcessor, OrderObserver)}
} } }}
page 1 page 2
Transactions
One way Inform NotifyTwo way Query Response
transaction ProcessOrder response {
sender {message ProcessOrder {
timeouts(response=30s)retries=3
}}
receiver {success ProcessOrderSucceededfailure ProcessOrderFailed
}}
Workflow Engine на PHP
workflowworkflow
ALLALL
ANYANY
DODO
sub-workflowsub-workflow
IFIF
ELSEELSE
Fabric
messagemessage
messagemessage
messagemessage
messagemessage
transactiontransaction
transactiontransaction
transactiontransaction
transactiontransaction
topics
Workflow EngineBu
sine
ss L
ogic
callback handlers
Ресурсы
x.com информационный портал по всем технологиям x.commercex.com/developers/x.commerce – больше про Fabric
github.com/xcommerce XOCL репозиторий с описанием всего что есть в языке
mageconf.com видео докладов на различные темы в разделе Материалы
Q&AСаша Кусакин [email protected]