Hi Sumedha, Lakmali, +1 for the fix. However, small suggestion to make the endpoint optional, if somebody wanted to automatically register G-Reg's resource API in a remote AM instance or if they have a proxy/LB in front of G-Reg. Lakmali, I'm assuming that this is possible, if not, that's an interesting feature too.
Thanks, Senaka. On Mon, Aug 5, 2013 at 7:10 AM, Sumedha Rubasinghe <sume...@wso2.com> wrote: > > > On Sun, Aug 4, 2013 at 6:21 PM, Lakmali Baminiwatta <lakm...@wso2.com>wrote: > >> Hi, >> >> For adding the API while server startup, new configuration has added to >> the api-manager.xml. By enabling this configuration in Greg, new API will >> be added to the Publisher in CREATED state. >> >> <StartupAPIPublisher> >> >> <!--Define many API elements as below to publish many APIs --> >> <API> >> <Context>/resource</Context> >> <Provider>admin</Provider> >> <Endpoint>http://localhost:9763/resource</Endpoint> >> > > Lakmali, > This endpoint needs to be computed & should adhere port offset. We are > exposing an API in running server, thus specifying like this is not > necessary. > > > >> <Version>1.0.0</Version> >> </API> >> >> </StartupAPIPublisher> >> >> For the External APIM case, above configuration can be configured in the >> external API Manager instance. >> >> Thanks, >> Lakmali >> >> >> On 26 July 2013 10:45, Lakmali Baminiwatta <lakm...@wso2.com> wrote: >> >>> Hi all, >>> >>> >>> On 26 July 2013 06:25, Vijitha Kumara <viji...@wso2.com> wrote: >>> >>>> Please update the status on this as we need to finalize the work for >>>> the release. Note what is supported for this release and what's pending >>>> etc... >>>> >>>> >>>> I was working on publishing the API at the server startup by calling >>> the Publisher API. So for that API Publisher app should be available. I >>> wrote a ServerStartupHandler implementation whose invoke() method is >>> activated once the server has started. But when the process hits this >>> invoke() method, login to the publisher-app/mgt-console is failing. These >>> issues are discussed in *'[DEV]OSGI bundles startup order'. * >>> >>> So proceding with this, we have two other alternative approaches, >>> >>> 1. Go for a new Admin page where the Product's internal APIs are listed >>> and and administrative user has the option of creating/publishing them. >>> 2. When the API mgt is enabled in embedded mode, create the API by >>> creating the registry artifact & database entry at the server startup. If >>> API mgt is enable in external mode call the jaggery endpoint (Publisher >>> API)for creating the API. >>> >>> Please advice. >>> >>> Thanks, >>> Lakmali >>> >>> >>> >>> Regards, >>>> Vijitha. >>>> >>>> >>>> On Tue, Jul 23, 2013 at 7:25 AM, Vijitha Kumara <viji...@wso2.com>wrote: >>>> >>>>> Hi All, >>>>> >>>>> On Fri, Jul 19, 2013 at 3:48 PM, Senaka Fernando <sen...@wso2.com>wrote: >>>>> >>>>>> Hi Nuwan, >>>>>> >>>>>> I believe that you should be able to determine the availability of >>>>>> the required components using @scr annotations isn't it? Before looking >>>>>> into other options such as onLogin, I think its best to experiment with >>>>>> that possibility which would make it possible for us to easily make use >>>>>> of >>>>>> option #2. >>>>>> >>>>> >>>>> In addition can we also make this configurable that is embedded or >>>>> external APIM? So that the user can set the appropriate URL for the latter >>>>> and the APIM component can lookup and publish if that is the case. Or an >>>>> optional config param only for an external APIM as we can use the default >>>>> URL in case with an embedded APIM. >>>>> >>>>> Also we need to make sure all possible basic use cases are covered >>>>> (when getting started) and user friendly specially when it is an OOTB >>>>> feature. >>>>> >>>>> >>>>> >>>>> Regards, >>>>> Vijitha. >>>>> >>>>> >>>>>> >>>>>> Thanks, >>>>>> Senaka. >>>>>> >>>>>> >>>>>> On Fri, Jul 19, 2013 at 3:39 PM, Sriragu Arudsothy >>>>>> <srir...@wso2.com>wrote: >>>>>> >>>>>>> Hi Nuwan, >>>>>>> >>>>>>> I agree to you. I also have done the second option >>>>>>> calling jaggery REST endpoint to publish the REST API. I tested using a >>>>>>> menu item click on it will publish the REST API after Greg server start >>>>>>> up. User who has certain permission may publish the REST API if not >>>>>>> published under the same tenant. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Fri, Jul 19, 2013 at 3:20 PM, Nuwan Dias <nuw...@wso2.com> wrote: >>>>>>> >>>>>>>> On Fri, Jul 19, 2013 at 2:59 PM, Senaka Fernando >>>>>>>> <sen...@wso2.com>wrote: >>>>>>>> >>>>>>>>> Hi Nuwan, >>>>>>>>> >>>>>>>>> I think the check at start-up is not going to be very expensive. >>>>>>>>> During server start-up we do several checks for services too. It will >>>>>>>>> become expensive if you try to do the same for all tenants of course. >>>>>>>>> Such >>>>>>>>> needs to happen when the tenant gets loaded. That's the standard >>>>>>>>> pattern >>>>>>>>> which is followed by all deployers. I believe API Mgt needs a similar >>>>>>>>> concept here. >>>>>>>>> >>>>>>>>> Understood. There is however another problem that will arise if >>>>>>>> we're going to create APIs at server startup. See explanation below. >>>>>>>> >>>>>>>> There are two ways that we can create the API. >>>>>>>> 1) Create the registry artifact and database entry. >>>>>>>> 2) Call the jaggery REST endpoint for creating the API. >>>>>>>> >>>>>>>> Both options will work with embedded API Management. But option 1 >>>>>>>> will not work with external API Management since we do not know the >>>>>>>> details >>>>>>>> of the API registry and DB. So when going with external API >>>>>>>> Management, we >>>>>>>> will have to go with option 2. Therefore it would be better to stick to >>>>>>>> option 2 for both cases since it'll be cleaner and have less >>>>>>>> complexity. For option 2 to work, the server should already be started. >>>>>>>> Therefore creating APIs at server startup in this manner would not be >>>>>>>> possible AFAIK. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> NuwanD. >>>>>>>> >>>>>>>> Thanks, >>>>>>>>> Senaka. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Jul 19, 2013 at 2:48 PM, Nuwan Dias <nuw...@wso2.com>wrote: >>>>>>>>> >>>>>>>>>> On Fri, Jul 19, 2013 at 12:35 PM, Lakmali Baminiwatta < >>>>>>>>>> lakm...@wso2.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Nuwan, >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 19 July 2013 12:19, Nuwan Dias <nuw...@wso2.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> I think the API should initially be in a created state rather >>>>>>>>>>>> than being in a published state. The admin or whoever responsible >>>>>>>>>>>> should >>>>>>>>>>>> publish it through the publisher. >>>>>>>>>>>> >>>>>>>>>>>> We also need to make this a generic solution so that it works >>>>>>>>>>>> even with external API Management. When the API is added to the >>>>>>>>>>>> registry, >>>>>>>>>>>> it will be visible on the publisher (external). And when the admin >>>>>>>>>>>> goes and >>>>>>>>>>>> publishes it, the API will then be deployed onto the Store and >>>>>>>>>>>> Gateway. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> +1. Agree. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Lakmali >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>>> NuwanD. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Jul 19, 2013 at 12:10 PM, Lakmali Baminiwatta < >>>>>>>>>>>> lakm...@wso2.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi all, >>>>>>>>>>>>> >>>>>>>>>>>>> We have completed the implementation of the Embedded APIM >>>>>>>>>>>>> functionality, to manage GREG Rest APIs. We need to clarify how >>>>>>>>>>>>> are we >>>>>>>>>>>>> going to publish the GREG Rest API. Publishing the API includes >>>>>>>>>>>>> following >>>>>>>>>>>>> tasks, >>>>>>>>>>>>> >>>>>>>>>>>>> - Add the API artifact to the registry >>>>>>>>>>>>> - Add the API to the APIM database >>>>>>>>>>>>> >>>>>>>>>>>>> So we have three options to publish the API. >>>>>>>>>>>>> >>>>>>>>>>>>> 1. Admin manually create the API and publish through API >>>>>>>>>>>>> Publisher app. (This is what we do at the moment) >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> Since we're publishing internal Product APIs here, this would not >>>>>>>>>> be a good option since users will not know what to publish and what >>>>>>>>>> information to enter. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>>> 2. Publish the API at the server startup. >>>>>>>>>>>>> But since this is a one time operation, there >>>>>>>>>>>>> will be an overhead at each server startup, in checking whether >>>>>>>>>>>>> the API has >>>>>>>>>>>>> already published. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> Yes, as mentioned it would be an overhead to check whether the >>>>>>>>>> necessary APIs have been published at server startup. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>>> 3. Publish the API at the GREG pack build time. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> This will work with embedded API Management but this is not a >>>>>>>>>> solution when going with External API Management. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>>> What would be the best option to procede with? >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> Looking at the given options what I feel best is to have some >>>>>>>>>> kind of an Admin page where the Product's internal APIs are listed >>>>>>>>>> and and >>>>>>>>>> administrative user has the option of publishing them. Since we're >>>>>>>>>> talking >>>>>>>>>> about internal production APIs, it would also be fine to publish them >>>>>>>>>> directly rather than it first being in a created state. >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> NuwanD. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Lakmali >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Lakmali Baminiwatta* >>>>>>>>>>>>> * >>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>> mobile: +94 71 2335936 >>>>>>>>>>>>> blog : lakmali.com >>>>>>>>>>>>> * >>>>>>>>>>>>> * >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Dev mailing list >>>>>>>>>>>>> Dev@wso2.org >>>>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Nuwan Dias >>>>>>>>>>>> >>>>>>>>>>>> Senior Software Engineer - WSO2, Inc. http://wso2.com >>>>>>>>>>>> email : nuw...@wso2.com >>>>>>>>>>>> Phone : +94 777 775 729 >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Lakmali Baminiwatta* >>>>>>>>>>> * >>>>>>>>>>> Software Engineer >>>>>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>> mobile: +94 71 2335936 >>>>>>>>>>> blog : lakmali.com >>>>>>>>>>> * >>>>>>>>>>> * >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Nuwan Dias >>>>>>>>>> >>>>>>>>>> Senior Software Engineer - WSO2, Inc. http://wso2.com >>>>>>>>>> email : nuw...@wso2.com >>>>>>>>>> Phone : +94 777 775 729 >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Dev mailing list >>>>>>>>>> Dev@wso2.org >>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> * <http://us13.wso2con.com/> >>>>>>>>> * >>>>>>>>> * >>>>>>>>> * >>>>>>>>> *Senaka Fernando* >>>>>>>>> Senior Technical Lead; WSO2 Inc.; http://wso2.com* >>>>>>>>> Member; Apache Software Foundation; http://apache.org >>>>>>>>> >>>>>>>>> E-mail: senaka AT wso2.com >>>>>>>>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 >>>>>>>>> Linked-In: http://linkedin.com/in/senakafernando >>>>>>>>> >>>>>>>>> *Lean . Enterprise . Middleware >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Nuwan Dias >>>>>>>> >>>>>>>> Senior Software Engineer - WSO2, Inc. http://wso2.com >>>>>>>> email : nuw...@wso2.com >>>>>>>> Phone : +94 777 775 729 >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Dev mailing list >>>>>>>> Dev@wso2.org >>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> * <http://us13.wso2con.com/> >>>>>> * >>>>>> * >>>>>> * >>>>>> *Senaka Fernando* >>>>>> Senior Technical Lead; WSO2 Inc.; http://wso2.com* >>>>>> Member; Apache Software Foundation; http://apache.org >>>>>> >>>>>> E-mail: senaka AT wso2.com >>>>>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 >>>>>> Linked-In: http://linkedin.com/in/senakafernando >>>>>> >>>>>> *Lean . Enterprise . Middleware >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> Dev@wso2.org >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Vijitha Kumara >>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com/ >>>>> email: viji...@wso2.com >>>>> >>>>> >>>>> Lean . Enterprise . Middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> Vijitha Kumara >>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com/ >>>> email: viji...@wso2.com >>>> >>>> >>>> Lean . Enterprise . Middleware >>>> >>> >>> >>> >>> -- >>> Lakmali Baminiwatta* >>> * >>> Software Engineer >>> WSO2, Inc.: http://wso2.com >>> lean.enterprise.middleware >>> mobile: +94 71 2335936 >>> blog : lakmali.com >>> * >>> * >>> >> >> >> >> -- >> Lakmali Baminiwatta* >> * >> Software Engineer >> WSO2, Inc.: http://wso2.com >> lean.enterprise.middleware >> mobile: +94 71 2335936 >> blog : lakmali.com >> * >> * >> > > > > -- > /sumedha > b : bit.ly/sumedha > -- * <http://us13.wso2con.com/> * * * *Senaka Fernando* Senior Technical Lead; WSO2 Inc.; http://wso2.com* Member; Apache Software Foundation; http://apache.org E-mail: senaka AT wso2.com **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 Linked-In: http://linkedin.com/in/senakafernando *Lean . Enterprise . Middleware
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev