On Mon, May 28, 2018 at 6:10 PM, Lakmal Warusawithana <[email protected]>
wrote:

>
> On Mon, May 28, 2018 at 5:57 PM Rajith Roshan <[email protected]> wrote:
>
>> I think we have to decide whether we are going to allow users to edit
>> generated bal files. If so then they can write some custom logic and
>> generate the balx files. If we are not allowing them to edit bal files then
>> micro gw will be only pass through with some filters.
>>
>
> I thought we already in agreement of shipping  only proxy capability in
> this release.
>
Yes, lets keep this simple for this release and improve it in future.

>
>
>> On Mon, May 28, 2018 at 5:30 PM Isuru Haththotuwa <[email protected]>
>> wrote:
>>
>>>
>>>
>>> On Mon, May 28, 2018 at 5:03 PM, Sanjeewa Malalgoda <[email protected]>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Mon, May 28, 2018 at 3:23 PM, Harsha Kumara <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> We are working on releasing a ballerina based micro gateway with APIM
>>>>> 2.5.0. We are providing are Cli Tool which allow users to generate
>>>>> ballerina executables and runtime archives based on provided 
>>>>> configurations.
>>>>>
>>>>> High Level Architecture
>>>>> [image: image.png]
>>>>>
>>>>> *Micro gateway distribution structure*
>>>>>
>>>>> micro-gw
>>>>>     ├── bin
>>>>>     │   ├── micro-gw.bat
>>>>>     │   └── micro-gw.sh
>>>>>     ├── lib
>>>>>     │   └── ballerina-0.970.0
>>>>>     ├── temp
>>>>>     │   └── path.txt
>>>>>     └── templates
>>>>>         ├── api.mustache
>>>>>         ├── config.mustache
>>>>>         └── gateway_config.mustache
>>>>>         └── policy_template.mustache
>>>>>
>>>>>
>>>>> *Core Cli Commands*
>>>>>
>>>>>    - *micro-gw setup/init (with inputs username, label name and
>>>>>    password(*optional
>>>>> *)) *
>>>>>       - This command will create basic project structure. Initially
>>>>>       consumer key and secret will be generated by taking user inputs and
>>>>>       retrieve the api definitions of given label type in the argument. 
>>>>> If user
>>>>>       provides new label, there will be new directory structure for that 
>>>>> label
>>>>>       will be created under projects directory.
>>>>>       - *projects* directory contains directories for each label and
>>>>>       ballerina source file will be created for each API under particular 
>>>>> label
>>>>>       - *config.yaml* contains configurations related to publisher,
>>>>>       key manager connections, consumer key and secret which are common 
>>>>> across
>>>>>       all labels
>>>>>       - *gateway_config.yaml* contains configurations specific to
>>>>>       labels such as docker/kubernetes
>>>>>
>>>>> Shouldn't we provide  publisher URL along with this command? If
>>>> publisher is hosted server and micro gateway runs within local machine then
>>>> we may need to point to that publisher(something similar to current micro
>>>> gateway scenario).
>>>>
>>> The init/setup command will only create the project structure.
>>> Communicating with the Publisher, pulling the API definition and building
>>> the corresponding .balx file & the runnable distribution happens with the
>>> build command.
>>>
>>>>
>>>>>
>>>>> *           Generated Project Structure*
>>>>>
>>>>> micro-gw-resources
>>>>>
>>>>>     ├── conf
>>>>>
>>>>>     │   └── config.yaml
>>>>>
>>>>>     └── projects (folder name is same as label name)
>>>>>
>>>>>         ├── accounts
>>>>>
>>>>>         │   ├── src
>>>>>
>>>>>         │   │   ├── companyAccounts_v1.0.0.bal
>>>>>
>>>>>         │   │   └── salesforce_v1.0.0.bal
>>>>>
>>>>>         │   └── target
>>>>>
>>>>>         │       ├── accounts.balx
>>>>>
>>>>>         │       └── accounts.zip
>>>>>
>>>>>         ├── finance
>>>>>
>>>>>         │   ├── src
>>>>>
>>>>>         │   │   ├── invoices_v2.0.0.bal
>>>>>
>>>>>         │   │   └── payments_v2.1.0.bal
>>>>>
>>>>>         │   └── target
>>>>>
>>>>>         │       ├── finance.balx
>>>>>
>>>>>         │       └── finance.zip
>>>>>
>>>>>         ├── gateway-config
>>>>>
>>>>>         │   └── gateway-config.yaml
>>>>>
>>>>>         └── sales
>>>>>
>>>>>             ├── src
>>>>>
>>>>>             │   ├── customers_v3.0.0.bal
>>>>>
>>>>>             │   └── leads_v4.0.0.bal
>>>>>
>>>>>             └── target
>>>>>
>>>>>                 ├── sales.balx
>>>>>
>>>>>                 └── sales.zip
>>>>>
>>>>> I think we can directly point this directory to composer and implement
>>>> some custom mediation logic there. In case synapse API have its own
>>>> mediation sequence which we cannot directly translate to ballerina.
>>>>
>>> This would be a limitation. Running any custom mediation sequences in
>>> the micro gw will not be supported.
>>>
>>>>
>>>>>    - *micro-gw build (with inputs label name)*
>>>>>       - This command build single balx out of all APIs belongs to
>>>>>       given label. If docker/kubernetes configurations specified,
>>>>>       then archive will be generated. This archive will embeds bre, 
>>>>> generated
>>>>>       balx which someone can take and run without configuring anything.
>>>>>       - This command also outputs APIs which have updated and
>>>>>       commands which are available to run in target folder
>>>>>    - *micro-gw run (with label name)*
>>>>>       - This command will use to run the balx generated for given
>>>>>       label.
>>>>>
>>>>> Please share your suggestions and improvements.
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Harsha
>>>>> --
>>>>> Harsha Kumara
>>>>> Associate Technical Lead, WSO2 Inc.
>>>>> Mobile: +94775505618
>>>>> Blog:harshcreationz.blogspot.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Sanjeewa Malalgoda*
>>>> WSO2 Inc.
>>>> Mobile : +94 712933253
>>>>
>>>> <http://sanjeewamalalgoda.blogspot.com/>blog :http://sanjeewamalalgoda.
>>>> blogspot.com/ <http://sanjeewamalalgoda.blogspot.com/>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks and Regards,
>>>
>>> Isuru H.
>>> +94 716 358 048* <http://wso2.com/>*
>>>
>>>
>>>
>>
>> --
>> Rajith Roshan
>> Senior Software Engineer, WSO2 Inc.
>> Mobile: +94-717-064-214
>>
> --
> Sent from Gmail Mobile
>



-- 
*Sanjeewa Malalgoda*
WSO2 Inc.
Mobile : +94 712933253

<http://sanjeewamalalgoda.blogspot.com/>blog
:http://sanjeewamalalgoda.blogspot.com/
<http://sanjeewamalalgoda.blogspot.com/>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to