choreography of web-services

Post on 24-Apr-2015

368 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Хореографиявеб-сервисов

В чем проблема?

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Саша Кусакин akusakin@ebay.com

top related