Hi Vijitha,

On Sun, Jul 14, 2013 at 11:13 AM, Vijitha Kumara <[email protected]> wrote:

> Hi All,
>
> What's the status of this now? Do we have a working use case to be
> reviewed? We might need to finalize & test within next few days.
>
We have committed changes to trunk and have completed basic testing.  You
can use trunk GReg pack for testing..

Regards,
Dinusha.

>
>
>
> Regards,
> Vijitha.
>
>
>
> On Thu, Jun 20, 2013 at 11:20 AM, Dinusha Senanayaka <[email protected]>wrote:
>
>> Hi Ragu,
>>
>> On Thu, Jun 20, 2013 at 10:52 AM, Sriragu Arudsothy <[email protected]>wrote:
>>
>>> Hi Lakmali and Dinusha,
>>>
>>>
>>>        As you have been completed the tomcat valve, shall I use the
>>> tomcat valve ( kind of interceptor) to test the Registry REST API with the
>>> externally running API Manager instance ?
>>>
>>
>> We are still working on supporting externally running API Manager
>> instance. Will try to finish this by EOT.. But you can use inbuilt api-mgt
>> support to test registry REST API.
>> We have some concerns regarding the registry REST API;
>> 1. We need to have versioning support there. In the current API does not
>> have the versions support..
>> 2. We need to pass both userName and tenantId as query params, if some
>> user need to use the registry REST API. Having the user name is fine, but
>> tenantId is something external users don't know. So having to pass tenantId
>> to invoke rest API is not correct as we see.
>> eg :
>> http://localhost:9763/resource/comments?path=/_system/governance/apimgt/apiconf.xml&;
>> *username=admin&tenantid=-1234 *
>>
>> Regards,
>> Dinusha.
>>
>>>
>>>  Thanks,
>>>  Ragu
>>>
>>>
>>>
>>> On Tue, Jun 18, 2013 at 1:20 PM, Dinusha Senanayaka <[email protected]>wrote:
>>>
>>>>
>>>>
>>>> On Tue, Jun 18, 2013 at 12:59 PM, Sriragu Arudsothy 
>>>> <[email protected]>wrote:
>>>>
>>>>> Hai Dinusha,
>>>>>
>>>>>                   At the later part of your answer, you mentioned the
>>>>> how to send the request. Do we have a use case where "without API 
>>>>> manager".
>>>>> AFAIR, It has been clearly said during the final discussion , request will
>>>>> be given inbuilt or external APIM. But you mention about without APIM.
>>>>>
>>>>
>>>> But, when it comes to services like DSS, AS etc, we need to have this
>>>> capability. Services, should be able to invoke with api management or
>>>> without api management. yes, for the GRreg (in built apis), manageAPIs will
>>>> be always true.
>>>>
>>>> Regards,
>>>> Dinusha.
>>>>
>>>>>
>>>>> Thanks!
>>>>> Ragu
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Jun 18, 2013 at 12:31 PM, Dinusha Senanayaka <[email protected]
>>>>> > wrote:
>>>>>
>>>>>> Hi Ragu,
>>>>>>
>>>>>> We have wrote a Tomcat Valve which will be act as interceptor for all
>>>>>> incoming requests. There was a need of using
>>>>>> Axis2ConfigurationContextObserver to get the throttling related 
>>>>>> properties,
>>>>>> which cannot be done through the CXF hander in GREG REST API. This tomcat
>>>>>> valve can be used not only by the GReg, also from any other product like
>>>>>> AS, DSS when it comes to manage APIs.
>>>>>>
>>>>>> Also we have been working on, getting publisher and store jaggery
>>>>>> apps into Greg. It was not straight forward because just putting these 
>>>>>> apps
>>>>>> into GReg wont work. We had do some code changes in apimgt side to avoid
>>>>>> synapse dependencies. As an example, api-store and publisher need to have
>>>>>> apimgt-impl component been activated and while this module getting
>>>>>> activated we are creating the tenant artifacts by coping  synapse.xml 
>>>>>> files
>>>>>> into synapse deployment directories of tenants. We had to customize 
>>>>>> apimgt
>>>>>> code that it can identify the where api management is doing and avoid 
>>>>>> these
>>>>>> synapse related tasks.
>>>>>>
>>>>>>
>>>>>> On Tue, Jun 18, 2013 at 9:43 AM, Sriragu Arudsothy 
>>>>>> <[email protected]>wrote:
>>>>>>
>>>>>>> Hai Dinusha and Lakmali,
>>>>>>>
>>>>>>>                                     Please update this mail thread
>>>>>>> that what have you done so far  regarding the "Lightweight API manager
>>>>>>> component".
>>>>>>>
>>>>>>> 1) Please let me know the strategy that you are using when integrate
>>>>>>> the external API manager instance.
>>>>>>>
>>>>>>> 2) when an API manager instance  externally running,  Do we need to
>>>>>>> call the API published at the API gateway? or Does the user call the
>>>>>>> Registry REST API and re-directing the URL to API gateway URL?
>>>>>>>
>>>>>>> 3) If it is a lightweight APIM component which resides within G-Reg,
>>>>>>> Will the request be given to Registry REST API ?
>>>>>>>
>>>>>> Answering to the Q 1, 2, 3:
>>>>>>  Always user request will be to the G-Reg API. If the <ManageAPIs> is
>>>>>> enabled then API Management will be handle through the embedded apimgt
>>>>>> components. And If <ManageAPIs> enabled and if it has been provided
>>>>>> <Store>, <Publisher>, <Gateway>, <KeyManager> urls, then request will be
>>>>>> redirect to the external api manager. Always, request will be first hit 
>>>>>> at
>>>>>> the tomcat valve that we have added, logic will be reside in this valve ,
>>>>>> how api management is handling, whether inbuilt, external or without api
>>>>>> management.
>>>>>>
>>>>>> Regards,
>>>>>> Dinusha.
>>>>>>
>>>>>>>
>>>>>>> What has to be done to complete it ?
>>>>>>>
>>>>>>> Because  the Greg has a strict dead line to finish off by next week
>>>>>>> ?
>>>>>>>
>>>>>>> Thanks!
>>>>>>> Ragu
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Jun 10, 2013 at 6:31 PM, Sriragu Arudsothy <[email protected]
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> Hai Sanjeewa..!
>>>>>>>>
>>>>>>>>                          We are having a strategic discussion that
>>>>>>>> how to include the API publisher/ store jag apps to other products.
>>>>>>>> Therefore, I will update this thread after the discussion...! As far 
>>>>>>>> as I
>>>>>>>> understand, there will be single interceptor which decides the 
>>>>>>>> processing
>>>>>>>> path according to the <manageAPIs> property value.
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>> Ragu
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Jun 10, 2013 at 6:03 PM, Sriragu Arudsothy <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hai Lakmali..!
>>>>>>>>>
>>>>>>>>>                        Yes,  the above link does not work...! I
>>>>>>>>> moved the user token generation menu under the "Resources" menu in 
>>>>>>>>> order to
>>>>>>>>> appear for Greg. Therefore the existing doc won't work. Also these 
>>>>>>>>> changes
>>>>>>>>> have not yet been committed. I will give you , the locally built 
>>>>>>>>> latest
>>>>>>>>> Greg 4.6.0 pack which has every thing. You can also try out some 
>>>>>>>>> samples.
>>>>>>>>> When you get the access token via that option , that access token 
>>>>>>>>> will be
>>>>>>>>> based on "Client_Credentials" grant type.  Since the API store jag 
>>>>>>>>> app will
>>>>>>>>> be there anyway to incorporate the light weight APIM component. 
>>>>>>>>> Therefore
>>>>>>>>> the users are required to generate the access token via store when the
>>>>>>>>> <manage APIs> property set to true. Therefore I have to update the 
>>>>>>>>> doc for
>>>>>>>>> generating the access token for either <manageApis> property set to 
>>>>>>>>> true or
>>>>>>>>> false.
>>>>>>>>>
>>>>>>>>> I will update the Doc as quickly as possible.
>>>>>>>>>
>>>>>>>>> Thanks!
>>>>>>>>> Ragu
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Jun 10, 2013 at 4:45 PM, Sanjeewa Malalgoda <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Jun 10, 2013 at 4:08 PM, Dinusha Senanayaka <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi All,
>>>>>>>>>>>
>>>>>>>>>>> This is what we are going to add from the APIM side.
>>>>>>>>>>>
>>>>>>>>>>> 1) We will be exposing current api manager handlers related
>>>>>>>>>>> functionalities as some common packages. So this bundle can be 
>>>>>>>>>>> included
>>>>>>>>>>> into any of products to get API Management without using external 
>>>>>>>>>>> API
>>>>>>>>>>> Manager. (i.e APIAuthenticationHandler, APIThrottleHandler and
>>>>>>>>>>> APIMgtUsageHandler)
>>>>>>>>>>>
>>>>>>>>>>> 2) There will be a new parameter added to carbon.xml to check
>>>>>>>>>>> whether APIManagement is enable or not.
>>>>>>>>>>> <ManageAPIs>true/false<ManageAPIs>
>>>>>>>>>>>
>>>>>>>>>>> 3) There will be a interceptor which hit first and invoke the
>>>>>>>>>>> API Management functionalities when the above parameter is set to 
>>>>>>>>>>> true.
>>>>>>>>>>> Depending on the service type, aixs2 or registry api etc, this 
>>>>>>>>>>> interceptor
>>>>>>>>>>> may vary.
>>>>>>>>>>> When this comes to registry, we can call this api-management
>>>>>>>>>>> functionalities that we are going to expose through new package 
>>>>>>>>>>> from the
>>>>>>>>>>> JAXWS web app that Ragu has created to expose the registry api. 
>>>>>>>>>>> Since
>>>>>>>>>>> generic store feature is not going to release with the up coming 
>>>>>>>>>>> registry
>>>>>>>>>>> release, we may need to include APIM Store jaggery app as well in 
>>>>>>>>>>> to GReg.
>>>>>>>>>>>
>>>>>>>>>> Just to clarify. With this model where we can create
>>>>>>>>>> APIs, subscriptions and generate tokens? Do we provide some UI 
>>>>>>>>>> capability
>>>>>>>>>> for this? Do we have single interceptor which handles all requests?
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Sanjeewa.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Dinusha.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Jun 10, 2013 at 11:41 AM, Sriragu Arudsothy <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hai Lalaji, Dinusha..!
>>>>>>>>>>>>
>>>>>>>>>>>>                                  We have had a discussion about
>>>>>>>>>>>> the Light weight APIM component for other wso2 products as well as 
>>>>>>>>>>>> How to
>>>>>>>>>>>> fit that to the Registry REST API. According to the last 
>>>>>>>>>>>> discussion with
>>>>>>>>>>>> Lalaji, Dinusha and Lakmali We derived some points which I would 
>>>>>>>>>>>> like to
>>>>>>>>>>>> mention..! Still there is some ambiguity at the APIM side.
>>>>>>>>>>>>
>>>>>>>>>>>> 1) The current implemetation of the registry REST API requires
>>>>>>>>>>>> the APIM has to be running as a separate instance while having a
>>>>>>>>>>>> configuration file (.xml) has the API manager url endpoints in it. 
>>>>>>>>>>>> The
>>>>>>>>>>>> above config file was located at the Greg_Home/repository/conf.
>>>>>>>>>>>>
>>>>>>>>>>>> 2) The light weight API manager component will reside at the
>>>>>>>>>>>> Greg.  The flow of request goes as below,
>>>>>>>>>>>>
>>>>>>>>>>>> Rest Client request-----> Request filter/Some filter mechanism
>>>>>>>>>>>> ------>light weight APIM ------> Registry REST API ---->Response 
>>>>>>>>>>>> back to
>>>>>>>>>>>> Client.
>>>>>>>>>>>>
>>>>>>>>>>>> The above path will be executed if the APIM enabled property
>>>>>>>>>>>> set to true at the config file...!
>>>>>>>>>>>>
>>>>>>>>>>>> Otherwise it request filter assumes that the request should be
>>>>>>>>>>>> processed without APIM. Request filter executes the OAuth 
>>>>>>>>>>>> validation logic
>>>>>>>>>>>> at the Greg REST API and proceeds to resource . Therefore the 
>>>>>>>>>>>> Request
>>>>>>>>>>>> filter will be functioning as a centralized routing element 
>>>>>>>>>>>> decides whether
>>>>>>>>>>>> the request to be processed via light weight APIM comp or alone at 
>>>>>>>>>>>> the Greg
>>>>>>>>>>>> REST API.
>>>>>>>>>>>>
>>>>>>>>>>>> @Lalaji and Dinusha please add  anything if I miss anything.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks!
>>>>>>>>>>>> Ragu
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Jun 6, 2013 at 12:01 PM, Sriragu Arudsothy <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hai All,
>>>>>>>>>>>>>
>>>>>>>>>>>>>            First of all, I will explain the architecture of
>>>>>>>>>>>>> the REST API implementation. The Registry REST API has two mode of
>>>>>>>>>>>>> functionality.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1) Standalone mode -
>>>>>>>>>>>>>
>>>>>>>>>>>>> Straight access to Registry REST API. This has been done and
>>>>>>>>>>>>> working fine. In this case Registry provide a way to generate the 
>>>>>>>>>>>>> OAuth
>>>>>>>>>>>>> Access token  for users to access the resources. Therefore the 
>>>>>>>>>>>>> REST calls
>>>>>>>>>>>>> can be made from any REST client with an access token to access 
>>>>>>>>>>>>> the
>>>>>>>>>>>>> resources.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2) With API Manager Mode -
>>>>>>>>>>>>>
>>>>>>>>>>>>> This means the access to Registry REST API with the Externally
>>>>>>>>>>>>> running API manager instance. In here, the admin or any 
>>>>>>>>>>>>> responsible person
>>>>>>>>>>>>> will publish the REST API via API publisher. Therefore the REST 
>>>>>>>>>>>>> API would
>>>>>>>>>>>>> be available for subscriber / endusers. Once the access token has 
>>>>>>>>>>>>> been
>>>>>>>>>>>>> generated, user will be able to access the  Registry Resources.
>>>>>>>>>>>>>
>>>>>>>>>>>>> In this mode, There are 2 ways in which I have implemented the
>>>>>>>>>>>>> REST API invocation process. This is explained as below.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1 >> REST client ----> API gateway(REST API published at the
>>>>>>>>>>>>> APIM) ---->Registry REST API ----> Registry Resource ----> 
>>>>>>>>>>>>> Response go to
>>>>>>>>>>>>> REST client.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The above implementation works fine.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2 >> REST Client -----> Registry REST API ----> Call the REST
>>>>>>>>>>>>> endpoint at the APIM ----> return call from APIM to Registry REST 
>>>>>>>>>>>>> API ---->
>>>>>>>>>>>>> Registry Resource ----> Response back to REST client.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The above approach, I have the an issue to pass the payload
>>>>>>>>>>>>> from Registry REST API to APIM. I have designed the REST API in 
>>>>>>>>>>>>> CXF/
>>>>>>>>>>>>> JAx-Rs. The apache CXF Jax-Rs implementation provide a Request 
>>>>>>>>>>>>> Handler
>>>>>>>>>>>>> which is an interceptor for the incoming requests. Therefore any 
>>>>>>>>>>>>> request
>>>>>>>>>>>>> made from REST client to Registry REST API will hit the Request 
>>>>>>>>>>>>> Handler
>>>>>>>>>>>>> First.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Therefore, when the request go to the handler, it will check
>>>>>>>>>>>>> whether the request comes from APIM or Straight from the Client. 
>>>>>>>>>>>>> If it
>>>>>>>>>>>>> comes from the client it will call the REST API endpoint at the 
>>>>>>>>>>>>> APIM via an
>>>>>>>>>>>>> apache HttpClient. Therefore when I call it, I have to extract 
>>>>>>>>>>>>> the access
>>>>>>>>>>>>> token, queryParam, payload..etc from REST client's request and 
>>>>>>>>>>>>> add it to
>>>>>>>>>>>>> the request given to APIM. But I am able to extract the access 
>>>>>>>>>>>>> token,
>>>>>>>>>>>>> queryparam and add it to HttpMethod and call the APIM. Request 
>>>>>>>>>>>>> Handler
>>>>>>>>>>>>> seems that does not have a way to extract the payload ( POST/PUT).
>>>>>>>>>>>>> Therefore unable to pass the payload to the REGISTRY REST API. 
>>>>>>>>>>>>> That is why
>>>>>>>>>>>>> GET and DELETE requests are working fine in the second approach 
>>>>>>>>>>>>> since those
>>>>>>>>>>>>> do not require the payload. BUT POST/PUT requests fail to proceed.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Therefore The CXF JAX-RS Request Handler has both the
>>>>>>>>>>>>> Standalone Mode and APIM mode execution. Therefore the standalone 
>>>>>>>>>>>>> mode is
>>>>>>>>>>>>> working fine. But Which approach to be selected regarding the 
>>>>>>>>>>>>> APIM mode to
>>>>>>>>>>>>> put it in the request handler class. Since there is an issue in 
>>>>>>>>>>>>> Approach 2
>>>>>>>>>>>>> @ APIM mode, It went to approach 1. According to the approach 1 
>>>>>>>>>>>>> the code
>>>>>>>>>>>>> will be cleaner than approach 2.
>>>>>>>>>>>>>
>>>>>>>>>>>>> *According to Approach 1 @APIM mode the example Request URL
>>>>>>>>>>>>> will be,*
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://{ipaddress}:8280/{REST API context
>>>>>>>>>>>>> @APIM}/{version}/comments?path=/sample.xml.
>>>>>>>>>>>>>
>>>>>>>>>>>>> *in Standalone mode:
>>>>>>>>>>>>> *
>>>>>>>>>>>>> http:{IP address}:{greg http port}/{rest api context @
>>>>>>>>>>>>> greg}/comments?path=/sample.xml.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> The APIM team already given their words to derive an integrate
>>>>>>>>>>>>> able APIM solution for other WSO2 products. Meanwhile we heard 
>>>>>>>>>>>>> that APIM
>>>>>>>>>>>>> team working on that too.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Few days ago, Had a chat with APIM guys, They said that API
>>>>>>>>>>>>> publisher and API store will be there as it is. Therefore whoever 
>>>>>>>>>>>>> wants to
>>>>>>>>>>>>> publish an API have login to the API publisher and publish an 
>>>>>>>>>>>>> API. This can
>>>>>>>>>>>>> not be done automatically during the server starts up.
>>>>>>>>>>>>>
>>>>>>>>>>>>> This is all about the integration part of REST API with API
>>>>>>>>>>>>> Manager. @APIM please let us know the current stage of your 
>>>>>>>>>>>>> solution.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>> Ragu
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Dinusha Dilrukshi
>>>>>>>>>>> Senior Software Engineer
>>>>>>>>>>> WSO2 Inc.: http://wso2.com/
>>>>>>>>>>> Mobile: +94725255071
>>>>>>>>>>> Blog: http://dinushasblog.blogspot.com/
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>> [email protected]
>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *
>>>>>>>>>> *
>>>>>>>>>> *Sanjeewa Malalgoda*
>>>>>>>>>> WSO2 Inc.
>>>>>>>>>> Mobile : +94713068779
>>>>>>>>>>
>>>>>>>>>>  <http://sanjeewamalalgoda.blogspot.com/>blog
>>>>>>>>>> :http://sanjeewamalalgoda.blogspot.com/<http://sanjeewamalalgoda.blogspot.com/>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Dinusha Dilrukshi
>>>>>> Senior Software Engineer
>>>>>> WSO2 Inc.: http://wso2.com/
>>>>>> Mobile: +94725255071
>>>>>> Blog: http://dinushasblog.blogspot.com/
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Dinusha Dilrukshi
>>>> Senior Software Engineer
>>>> WSO2 Inc.: http://wso2.com/
>>>> Mobile: +94725255071
>>>> Blog: http://dinushasblog.blogspot.com/
>>>>
>>>
>>>
>>
>>
>> --
>> Dinusha Dilrukshi
>> Senior Software Engineer
>> WSO2 Inc.: http://wso2.com/
>> Mobile: +94725255071
>> Blog: http://dinushasblog.blogspot.com/
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Vijitha Kumara
> Senior Software Engineer; WSO2, Inc.;  http://wso2.com/
>  email: [email protected]
>
>
> Lean . Enterprise . Middleware
>



-- 
Dinusha Dilrukshi
Senior Software Engineer
WSO2 Inc.: http://wso2.com/
Mobile: +94725255071
Blog: http://dinushasblog.blogspot.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to