List of fields planned to be added as of now; kindly let me know if any
field is missing.

*API*
name
context
version
apiDefinition
responseCaching
isDefaultVersion
type - (http vs ws)
transport - (http/https)
endpointConfig
endpointSecurity
corsConfiguration
authorizationHeader


*SubscriptionThrottlePolicy*
policyName
defaultLimit (throttling limits)
stopOnQuotaReach

*ApplicationThrottlePolicy*
policyName
defaultLimit (throttling limits)


Thanks!
Malintha

On Tue, Jun 19, 2018 at 12:00 PM, Harsha Kumara <hars...@wso2.com> wrote:

>
>
> On Tue, Jun 19, 2018 at 11:45 AM Malintha Amarasinghe <malint...@wso2.com>
> wrote:
>
>> Hi,
>>
>> Micro gateway CLI works completely separately to API manager; whenever a
>> new API is added for a label, whenever there is a change happens to an
>> existing label there won't be any events published etc like previously. The
>> CLI needs to regenerate the source build it and push the artifacts to the
>> deployment and the full process needs to complete. In most occasions, the
>> CLI can be configured to run periodically to generate sources and do above
>> job.
>>
>> But in this case, most of the time, the CLI will be uselessly generating
>> sources building it and pushing the artifacts to deployment. Comparatively,
>> building and pushing artifacts to deployment have a huge overhead compared
>> to generating sources.
>>
>> This effort is to avoid that as much as possible by change-detection;
>> i.e.
>>
>> 1. The CLI will check if any of the required resources has changed vs the
>> previous build and notify the user after a successful "setup" (source
>> generate) command using the command line output and the exit code of the
>> command.
>> 2. Using the exit code, a user can write a shell script etc to decide
>> whether he should proceed with "build" or not.
>>
>>
>> *Proposed implementation:*
>>
>> API Publisher APIs does not have ETag feature. Even if it is there, the
>> ETag will be generated for the whole resource. For code generation, we will
>> be only using few attributes of the resource, hence using a global ETag for
>> a resource may lead to unnecessary changes for the ETag. Hence the proposed
>> implementation will be using a CLI-side hash generation for *used
>> attributes *of the resource (API/Policies) only.
>>
>> To mark the attributes which are used for generating the code, a newly
>> introduced annotation "@Hash" can be used.
>>
>> Ex:
>>
>> public class APIDetailedDTO extends APIInfoDTO {
>>
>>     /**
>>      * Swagger definition of the APIDetailedDTO which contains details about 
>> URI templates and scopes\n
>>      **/
>>     *@Hash*
>>     @JsonProperty("apiDefinition")
>>     public String getApiDefinition() {
>>         return apiDefinition;
>>     }
>>
>>     public void setApiDefinition(String apiDefinition) {
>>         this.apiDefinition = apiDefinition;
>>     }
>>
>>
>>     /**
>>      * WSDL URL if the APIDetailedDTO is based on a WSDL endpoint\n
>>      **/
>>     @JsonProperty("wsdlUri")
>>     public String getWsdlUri() {
>>         return wsdlUri;
>>     }
>>
>>     public void setWsdlUri(String wsdlUri) {
>>         this.wsdlUri = wsdlUri;
>>     }
>>
>>     *@Hash*
>>     @JsonProperty("responseCaching")
>>     public String getResponseCaching() {
>>         return responseCaching;
>>     }
>>
>>
>>
>> The methods marked with *@Hash* will be automatically extracted from the
>> code and will be used to generate the hashes for each resource.
>>
>> The generated hashes will be stored inside the CLI's temp folder against
>> each resources' UUID, which will be used to compare the hash changes
>> between next runs.
>>
> What are the fields which we have added to the hash?
>
>>
>>
>> Highly appreciate your ideas on this.
>>
>> Thanks!
>> Malintha
>>
>>
>> --
>> Malintha Amarasinghe
>> *WSO2, Inc. - lean | enterprise | middleware*
>> http://wso2.com/
>>
>> Mobile : +94 712383306
>>
>
>
> --
> Harsha Kumara
> Associate Technical Lead, WSO2 Inc.
> Mobile: +94775505618
> Blog:harshcreationz.blogspot.com
>



-- 
Malintha Amarasinghe
*WSO2, Inc. - lean | enterprise | middleware*
http://wso2.com/

Mobile : +94 712383306
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to