Hi,

We been working on the initial design of the type-aware mediator concept
for ESB. The main objective of this is to have an input and output type for
the mediators so that transformation mediators(such as DataMapper mediator)
can decide its input and output type dynamically.

- One of the common use case of this is that data mapping between two
connectors operations .

<twitter.search>.. input and output : json
<dm> ---> Deduce the input and output message type by inspecting
the successor and the predecessor mediators.
<sf.query> .. input and output : soap


- In scenarios such as PayloadFactory the user provides the input type and
the output type

e.g : <pf> .. input - JSON, output - XML etc.


- Some mediators won't have an input or output type and they are non-type
aware : eg: send, property etc.

- All connectors should have the supported message/media type as an
attribute and that should be the same as the original API. (If the backend
API is JSON then the connector's input and output types will be JSON). The
supported message type or media-type will be an attribute of a given
connector and we can specific that in component.xml(in connector archive)
of a specific connector.

Taks list:

Mediation Engine :
- Introduce inputType and outputType at abstract mediator level.
- Message flow verification based on input and output types. This includes
verification of connector invocations (call-templates for connectors).
- Review/refactor mediators such as Payload factory to incorporate type
aware concept.

Connectors :
- Introduce type concept in to connectors (new versions of existing
connectors)
- Connector invocation (call-template) deployment should verify input and
output types during the deployment time.

We have started working on a poc on type-aware mediation concept and please
share your thoughts too.

Thanks.
-- 
Kasun Indrasiri
Software Architect
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: +94 77 556 5206
Blog : http://kasunpanorama.blogspot.com/
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to