What would user experience be like? Surely, users will not be editing XML
files, I presume.

Azeez


On Tue, Mar 4, 2014 at 10:55 AM, Kasun Indrasiri <[email protected]> wrote:

> Hi all,
>
> We had a detailed discussion on the architecture and the design of the new
> 'Recipe' concepts for ESB. This is a summary of what we have discussed.
>
> *Recipe* : The concept behind Recipe is about providing high level
> abstraction for  connectors interactions.  The well known and commonly used
> integration scenarios between any publicly available services/cloud apis
> such as Salesforce->Google Spreadsheet will  be provide as recipes.
>
> The deliverable of a Recipe is a Recipe archive (residing in a Recipe
> store) which comprises of some descriptor files and available recipes as
> templates.
>
> For instance, the recipe for integrating Salesforce->Google Spread Sheet
> will have the following structure. There can be multiple operations
> associated with that recipe such as syncContacts, syncLeads etc.
>
> Recipe Archive (SalesforceToGoogleSpreadSheet.zip)
>
> - recipe.xml (contains recipe name, available operations etc)
>
> - components
>
>  - component.xml
>
> - syncContacts.xml [Templates]
>
> - syncLeads.xml  [Templates]
>
> ...
>
> - repository
>
> - salesforce-connector-1.0.0.zip
>
> - googlespreadsheet-connector-1.0.0.zip
>
> - icon
>
> eg: *syncContacts.xml* will have the following structure. All the
> required parameters are externalized so that the Recipe invocation can pass
> them dynamically.
>
>
> <salesforce.init>
>
> <username>{sfdc:username}</username>
>
> <password>{sfdc:password}</password>
>
> </salesforce.init>
>
> <salesforce.query>...
>
> <datamapper/> | <xslt/> | <payloadfactory/>...
>
> <googlespreadsheet.init>
>
> <oauth2Credentials>{googlespreadsheet:oauth_key}</oauth2Credentials>
>
> </googlespreadsheet.init>
>
> <googlespreadsheet.importCSV>
>
> <spreadsheetName>{googlespreadsheet:spreadsheetName}</spreadsheetName>
>
> <worksheetName>{googlespreadsheet:worksheetName}</worksheetName>
>
> </googlespreadsheet.importCSV>
>
>
>
> Recipe Executor
>
> A given Recipe can be executed with the use of a recipe executor(might
> need better naming). This is a deployable archive which is similar to a
> sequence, proxy service or rest api. The recipe executor can be triggered
> from an external agent such as Task Server. (When we deploy a Recipe
> executor, it will create a task in the task server.
>
> Recipe executor is the artifact where a given user will get directly
> interact  with. For instance when a user wants to periodically sync his
> Salesforce contacts with a Google Spread Sheet, he should be able to create
> the following recipe executor from the developer studio and deploy that in
> to ESB.
>
> <recipe name="SalesforceToGoogleSpreadSheet" operation="syncContacts">
>
>    <interval>10</interval> | <cron>0 0 12 * * ?</cron>
>
>    <sfdc:username>user123</sfdc:username>
>
>    <sfdc:password>vault-lookup('kasun_sfdc')</sfdc:password>
>
>    <googlespreadsheet:oauth_key>DF9d99dFD</googlespreadsheet:oauth_key>
>
>
>    <googlespreadsheet:spreadsheetName>SFDC</googlespreadsheet:spreadsheetName>
>
>
>    
> <googlespreadsheet:worksheetName>My_Contacts</googlespreadsheet:worksheetName>
>
> </recipe>
>
> As we did with the connectors, we will concentrate on end to end story for
> recipes (ie: implementation, deployment, storing and tooling aspects).
>
> We are planning to do a poc around the above mentioned design and then we
> can do a review.
>
> Please correct me if I miss any thing related to this topic and please
> share your thoughts on this too.
>
> --
> Kasun Indrasiri
> Software Architect
> WSO2, Inc.; http://wso2.com
> lean.enterprise.middleware
>
> cell: +94 77 556 5206
> Blog : http://kasunpanorama.blogspot.com/
>



-- 
*Afkham Azeez*
Director of Architecture; WSO2, Inc.; http://wso2.com
Member; Apache Software Foundation; http://www.apache.org/
* <http://www.apache.org/>*
*email: **[email protected]* <[email protected]>
* cell: +94 77 3320919 blog: **http://blog.afkham.org*<http://blog.afkham.org>
*twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
* linked-in: **http://lk.linkedin.com/in/afkhamazeez
<http://lk.linkedin.com/in/afkhamazeez>*

*Lean . Enterprise . Middleware*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to