[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-assembly] Misadventures exploring "@coupledTo" for proposedresolution of ASSEMBLY-227
To compare the syntax of the prosumer v. groupID, I made up an example below that provides the same end result with different sytax. Note, I didn't use the @mustConnectTo/@coupledTo, as I do not like the idea of producers stating which consumers they are connected to in the component type (or vice versa). Since groupID is confusing, I used the attribute name 'label'. If you don't like these names use 'bananas' and 'apples' ;-) 1) Prosumer syntax: BPEL process 'P1' has an introspected component type that contains consumer 'consumer1', producer 'producer1' and a prosumer 'prosumer1'. Composite 'composite1' uses P1 as a component. consumer1 and producer1 are connected via channel 'channel1'. prosumer1 is connected to channel 'channel2'. consumer1 is promoted as consumer2; producer1 is promoted as producer2; and consumer1, producer1, prosumer1 are promoted as prosumer2. a) component type of BPEL process P1 <componentType ...> <consumer name="consumer1" /> <producer name="producer1" /> <prosumer name="prosumer1"/> </componentType> b) composite1 <composite name="composite1" ...> <consumer name=consumer2" promotes="component1/consumer1"/> <producer name=producer2" promotes="component1/producer1"/> <prosumer name="prosumer2" promotesConsumers="component1/consumer1" promotesProducers="component1/producer1" promotesProsumers="component1/prosumer1"/> <component name="component1"> <implementation.bpel process="ns1:P1" /> <consumer name="consumer1" source="channel1"/> <producer name="producer1" target="channel1" /> <prosumer name="prosumer1" target="channel2" /> </component> <channel name="channel1" /> <channel name="channel2" /> </composite> c) component type of composite1 <componentType ...> <consumer name="consumer2" /> <producer name="producer2" /> <prosumer name="prosumer2"/> </componentType> 2) Label syntax BPEL process 'P1' has an introspected component type that contains consumer 'consumer1', producer 'producer1'. It also contains a consumer 'prosumer-c1' and a producer 'prosumer-p1' both of them have the same label 'label1' => they have to be connected together via a channel. Composite 'composite1' uses P1 as a component. consumer1 and producer1 are connected via channel 'channel1'. prosumer1-c1 and prosumer-p1 are connected via channel 'channel2'. consumer1 is promoted as consumer2; producer1 is promoted as producer2. consumer1, prosumer-c1 are promoted as prosumer-c2 with a label 'label2'. Similarly producer1, prosumer1-p1 are promoted as prosumer-p2 with a 'label2'. a) component type of BPEL process P1 <componentType ...> <consumer name="consumer1" /> <producer name="producer1" /> <consumer name="prosumer-c1" label="label1"/> <producer name="prosumer-p1" label="label1"/> </componentType> <composite name="composite1" ...> <consumer name=consumer2" promotes="component1/consumer1"/> <producer name=producer2" promotes="component1/producer1"/> <consumer name=prosumer-c2" promotes="component1/consumer1 component1/prosumer-c1" label="label2"/> <producer name=prosumer-p2" promotes="component1/producer1" component1/prosumer1-p1" label="label2"/> <component name="component1"> <implementation.bpel process="ns1:P1" /> <consumer name="consumer1" source="channel1"/> <producer name="producer1" target="channel1" /> <consumer name="prosumer-c1 source="channel2" <producer name="prosumer-p1" target="channel2" /> </component> <channel name="channel1" /> <channel name="channel2" /> </composite> <componentType ...> <consumer name="consumer2" /> <producer name="producer2" /> <consumer name="prosumer-c2" label="label2"/> <producer name="prosumer-p2" label="label2"/> </componentType>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]