Hi all,

I have refactored the API to include a search endpoint and on endpoint
naming. Please find the refactored REST API[1].

For the implementation, I am using Apache CXF framework. Therefore for the
HTTP GET operations, endpoints are enabled with Feed Item Query
Language(FIQL) based search query support in Apache CXF[2]. This will be
used to support complex query based search with the endpoints.

[1]
https://app.swaggerhub.com/apis-docs/WSO8/wso-2_identity_server_configuration_management_rest_api/1.0.0#/
[2]
https://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS+Search#JAX-RSSearch-FeedItemQueryLanguage

Thanks,
Tharindu.

On Wed, Dec 5, 2018 at 4:44 PM Tharindu Bandara <[email protected]> wrote:

> Hi all,
>
> The database schema for the $subject is prepared and refactored with the
> review meeting[1] suggestions. Please find the corresponding DB schema
> architecture from the architecture mail thread[2].
>
> Based on the database schema, configuration store REST API is changed to
> include the required changes.
>
> Please find the refactored REST API[3].
>
> HTTP GET method for the “resource” and the “resource/{name}” endpoints
> support searching based on query parameter filters. These search filter
> parameters used in the GET method accept multiple values. For an example
> let’s look at the tenant query parameter. This parameter can be a list,
> containing multiple tenant domain values. This list parameter is used in
> the URL in the following manner.
>
> Ex:
>
> Parameter value would be, tenant=[adc.com, wso2.com]. In the HTTP GET
> request URL, this parameter will be passed as a repeating tenant parameter
> with multiple values.
>
>
> https://localhost:9443/api/identity/config-mgt/v1.0/configuration/email?tenant=wso2.com&tenant=abc.com.
> From the JAX-RS service, this repeating parameter will be collected into a
> List.
>
> Please add your valuable suggestions on this.
>
> [1] [1] "Invitation: [IAM][Review]JDBC Based Configuration Store @ Mon Dec
> 3, 2018 1pm - 2pm (IST) (WSO2 Engineering Group)"
>
> [2] [Architecture][IAM][JDBC based Configuration Store] Database Schema
>
> [3]
> https://app.swaggerhub.com/apis-docs/WSO8/wso-2_identity_server_configuration_management_rest_api/1.0.0
>
> Thanks,
>
> Tharindu.
>
> On Wed, Dec 5, 2018 at 1:53 PM Isura Karunaratne <[email protected]> wrote:
>
>> Hi Chamila,
>>
>> On Tue, Dec 4, 2018 at 10:38 AM Chamila De Alwis <[email protected]>
>> wrote:
>>
>>> Hi Tharindu, IS team,
>>>
>>> A quick clarification. Is this related to storing product configuration
>>> in a DBMS or are these only the configurations created at runtime? If it is
>>> the former, is this going to (gradually?) replace the XML config files?
>>>
>>> This is not a replacement for xml config files. Main objective is to
>> store tenant wise configurations at runtime.
>>
>> Cheers,
>> Isura.
>>
>>>
>>> *Chamila de Alwis* | Associate Technical Lead | WSO2 Inc.
>>> (m) +94 77 220 7163 | (e) [email protected]
>>> [image: Get Integration Agile] <https://wso2.com/signature>
>>>
>>>
>>>
>>> On Wed, Oct 17, 2018 at 12:11 PM Tharindu Bandara <[email protected]>
>>> wrote:
>>>
>>>> Hi Farasath,
>>>>
>>>> The current plan is to manage email configurations per tenant.
>>>>
>>>> In the future, we can move similar tenant wise configurations to here.
>>>> A few examples would be email templates, challenge questions, issuer
>>>> details.
>>>>
>>>> Thanks,
>>>> Tharindu.
>>>>
>>>> On Wed, Oct 17, 2018 at 11:53 AM Farasath Ahamed <[email protected]>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, Oct 17, 2018 at 10:36 AM Tharindu Bandara <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> I have been working on the $subject as WSO2 IS need a common place to
>>>>>> store configurations.
>>>>>>
>>>>>
>>>>> Can you give some examples for the types of configurations we plan to
>>>>> manage with this endpoint?
>>>>>
>>>>>
>>>>>>
>>>>>> Above diagramme is a high-level, modularized view of $subject
>>>>>> approach.
>>>>>>
>>>>>> I am working on the Configuration Management Endpoint. Below include
>>>>>> the REST API for this.
>>>>>>
>>>>>> Name : WSO2 Identity Server Configuration Management Rest API
>>>>>>
>>>>>> Base URL : {tenant-domain}/api/identity/config-mgt/v1.0
>>>>>>
>>>>>> URL
>>>>>>
>>>>>> Method
>>>>>>
>>>>>> Body
>>>>>>
>>>>>> Description
>>>>>>
>>>>>> /configuration
>>>>>>
>>>>>> POST
>>>>>>
>>>>>> Tenant Configurations object
>>>>>>
>>>>>> Add configurations
>>>>>>
>>>>>> PUT
>>>>>>
>>>>>> Tenant Configurations object
>>>>>>
>>>>>> Add or Replace configurations
>>>>>>
>>>>>> PATCH
>>>>>>
>>>>>> Tenant Configurations object
>>>>>>
>>>>>> Update existing configurations
>>>>>>
>>>>>> GET
>>>>>>
>>>>>> -
>>>>>>
>>>>>> Retrieve configurations
>>>>>>
>>>>>> DELETE
>>>>>>
>>>>>> -
>>>>>>
>>>>>> Revoke configurations
>>>>>>
>>>>>> /configuration/{key}
>>>>>>
>>>>>> POST
>>>>>>
>>>>>> Configuration object
>>>>>>
>>>>>> Add the configuration
>>>>>>
>>>>>> PUT
>>>>>>
>>>>>> Configuration object
>>>>>>
>>>>>> Add or Replace the configuration
>>>>>>
>>>>>> PATCH
>>>>>>
>>>>>> Configuration object
>>>>>>
>>>>>> Update existing configuration
>>>>>>
>>>>>> GET
>>>>>>
>>>>>> -
>>>>>>
>>>>>> Retrieve the configuration
>>>>>>
>>>>>> DELETE
>>>>>>
>>>>>> -
>>>>>>
>>>>>> Revoke the configuration
>>>>>>
>>>>>> A path parameter named ‘key’ is used to identify a configuration.
>>>>>>
>>>>>> Path Parameter
>>>>>>
>>>>>> Description
>>>>>>
>>>>>> {key}
>>>>>>
>>>>>> Key of the configuration
>>>>>>
>>>>>> Two types of data objects are used for above REST API calls.
>>>>>>
>>>>>> Data object
>>>>>>
>>>>>> Model
>>>>>>
>>>>>> Tenant Configurations object
>>>>>>
>>>>>> Configuration object
>>>>>>
>>>>>>
>>>>>> Let’s have a look at an example POST request to add the “email
>>>>>> configuration” using WSO2 Identity Server Configuration Management Rest 
>>>>>> API.
>>>>>>
>>>>>> Method
>>>>>>
>>>>>> POST
>>>>>>
>>>>>> URL
>>>>>>
>>>>>> /api/identity/config-mgt/v1.0/configuration/email
>>>>>>
>>>>>> Body
>>>>>>
>>>>>>
>>>>>> Please refer to the detailed REST API documentation for in-depth
>>>>>> information[1]
>>>>>> <https://app.swaggerhub.com/apis-docs/WSO8/wso-2_identity_server_configuration_management_rest_api/1.0.0>
>>>>>> .
>>>>>>
>>>>>> Please note that naming in the API is not finalized yet.
>>>>>>
>>>>>> Your valuable comments and suggestions are highly appreciated.
>>>>>>
>>>>>>
>>>>>> [1]
>>>>>> https://app.swaggerhub.com/apis-docs/WSO8/wso-2_identity_server_configuration_management_rest_api/1.0.0
>>>>>> <https://app.swaggerhub.com/apis-docs/WSO8/wso-2_identity_server_configuration_management_rest_api/1.0.0#/>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Tharindu.
>>>>>> --
>>>>>> *Tharindu Bandara*
>>>>>> Software Engineer | WSO2
>>>>>>
>>>>>> Email : [email protected]
>>>>>> Mobile : +94 714221776
>>>>>> web : http://wso2.com
>>>>>> <https://www.google.com/url?q=http://wso2.com&sa=D&ust=1517653383990000&usg=AFQjCNFggB4bSJTKmdqKcBV0VY9xx1ABKg>
>>>>>>
>>>>>> https://wso2.com/signature
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Farasath Ahamed
>>>>> Senior Software Engineer, WSO2 Inc.; http://wso2.com
>>>>> Mobile: +94777603866
>>>>> Blog: blog.farazath.com
>>>>> Twitter: @farazath619 <https://twitter.com/farazath619>
>>>>> <http://wso2.com/signature>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> *Tharindu Bandara*
>>>> Software Engineer | WSO2
>>>>
>>>> Email : [email protected]
>>>> Mobile : +94 714221776
>>>> web : http://wso2.com
>>>> <https://www.google.com/url?q=http://wso2.com&sa=D&ust=1517653383990000&usg=AFQjCNFggB4bSJTKmdqKcBV0VY9xx1ABKg>
>>>>
>>>> https://wso2.com/signature
>>>>
>>>
>>
>> --
>>
>> *Isura Dilhara Karunaratne*
>> Associate Technical Lead | WSO2 <http://wso2.com/>
>> *lean.enterprise.middleware*
>> Email: [email protected]
>> Mob : +94 772 254 810
>> Blog : http://isurad.blogspot.com/
>>
>>
>>
>>
>
> --
> *Tharindu Bandara*
> Software Engineer | WSO2
>
> Email : [email protected]
> Mobile : +94 714221776
> web : http://wso2.com
> <https://www.google.com/url?q=http://wso2.com&sa=D&ust=1517653383990000&usg=AFQjCNFggB4bSJTKmdqKcBV0VY9xx1ABKg>
>
> https://wso2.com/signature
>


-- 
*Tharindu Bandara*
Software Engineer | WSO2

Email : [email protected]
Mobile : +94 714221776
web : http://wso2.com
<https://www.google.com/url?q=http://wso2.com&sa=D&ust=1517653383990000&usg=AFQjCNFggB4bSJTKmdqKcBV0VY9xx1ABKg>

https://wso2.com/signature
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to