Talking about enterprise UI and facade services, especially, business services, here are some ideas about their integration: http://soa.sys-con.com/node/730632
- Michael ________________________________ From: Steve Jones <[EMAIL PROTECTED]> To: [email protected] Sent: Sunday, November 2, 2008 8:36:33 PM Subject: Re: [service-orientated-architecture] Re: Design options in SOA The answer is of course that you create a virtual service (or a facade) which presents a view to the customer but in itself doesn't actually deliver the RWE but acts as a proxy to the RWE. Virtual services are the enterprise UI for integration. Steve 2008/11/2 htshozawa <[EMAIL PROTECTED] com>: > Thanks for the detailed internal business processes. > The question now is, if you were a customer ordering some parts from > a company, do you want to contact sales, inventory, and shipping > separately and keep track of transaction between these contacts or do > you just to contact sales to just place an order? That is, have > sales "fascade service" act as a fascade to internal business > services. > > H.Ozawa > > --- In service-orientated- architecture@ yahoogroups. com, "Udi Dahan" > > <thesoftwaresimplis [EMAIL PROTECTED]> wrote: >> >> If we were to view this example in light of business services, > maybe we'd >> get a different perspective. >> >> >> >> Here's my 2c: >> >> >> >> Three business services, Sales, Inventory, and Shipping. >> >> >> >> In Sales, many applications and people may operate, including the > person and >> the application he used to submit the order. >> >> >> >> When the order is submitted and goes through all the internal > validation >> stuff, Sales raises an OrderTentativelyAcc epted event. >> >> >> >> Inventory, which is subscribed to this event, checks if it has > everything in >> stock for the order. >> >> >> >> For every item in the order on stock, it allocates that stock to > the order >> and publishes the InventoryAllocatedT oOrder event for it. >> >> >> >> For items/quantities not in stock, it starts a long running process > which >> watches for inventory changes. >> >> >> >> When an InventoryChanged event occurs, it matches that against > orders >> requiring allocation - if it finds one that requires stock, based > on some >> logic to choose which order gets precedence, it publishes the >> InventoryAllocatedT oOrder event. >> >> >> >> Sales, which is subscribed to the InventoryAllocatedT oOrder event, > upon >> receiving all events pertaining to the order tentatively accepted, > will >> publish an OrderAccepted event. >> >> >> >> When Inventory receives the OrderAccepted event, it generates the > pick list >> to bring all the stock from the warehouses to the loading docks, > finally >> publishing the PickListGenerated event containing target docks. >> >> >> >> When Shipping receives the PickListGenerated event, it starts the > yard >> management necessary to bring the needed kinds of trucks to the > docks. >> >> >> >> ** >> >> >> >> I could go on, talking about things like the maximum amount of time > stock of >> various kinds can wait to be loaded on trucks, subscribing to > earlier events >> to employ all kinds of optimization and prediction algorithms, > having a >> Customer Care service notifying the customer about what's going on > with >> their order (probably different for different kinds of customers and >> preferred communication definitions) . >> >> >> >> It turns out that many business domains map very well to this join > of SOA >> and EDA. >> >> >> >> At least, that's been my experience. >> >> >> >> Hope that helps, >> >> >> >> -- >> >> Udi Dahan - The Software Simplist >> >> >> >> From: service-orientated- architecture@ yahoogroups. com >> [mailto:service-orientated- architecture@ yahoogroups. com] On Behalf > Of Dennis >> Djenfer >> Sent: 30 October 2008 16:20 >> To: service-orientated- architecture@ yahoogroups. com >> Subject: [service-orientated -architecture] Design options in SOA >> >> >> >> There are different design choices in a SOA, even when you already > have >> identified the services. I have a simple example that I would like > to share: >> >> Imagine a ordet-to-cash process. One part of that process is to > register >> an order. Suppose we have two services, Order Service and Inventory >> Service. The task is to register the order and make a corresponding >> reservation of the stock level. I would be pleased to have the > groups >> view on the following 3 design options (A, B, C): >> >> A. >> 1. The "process/applicatio n" sends a message (sync or async) to >> "registerOrder" on the Order Service. >> 2. The "process/applicatio n" sends another message (sync or async) > to >> "reserveStock" on the the Inventory Service. >> >> B. >> 1. The "process/applicatio n" sends a message (sync or async) to >> "registerOrder" on the Order Service. >> 2. The Order Service sends a message (sync or async) > to "reserveStock" >> on the the Inventory Service. >> >> C. >> 1. The "process/applicatio n" sends a message (sync or async) to >> "registerOrder" on the Order Service. >> 2. The Order Service publishes an "orderReceived" event. >> 3. The Inventory Service subscribes to the "orderReceived" event . >> >> // Dennis Djenfer >> >> >> >> No virus found in this incoming message. >> Checked by AVG - http://www.avg. com >> Version: 8.0.175 / Virus Database: 270.8.5/1756 - Release Date: > 30/10/2008 >> 07:59 >> > >
