Hi Subash, We are not writing the wrapper for APIs. APIM team is writing wrapper for APIs. Similarly data access layer for services will be provided by Greg/AS teams. I am thinking that for applications we'll have something like "org.wso2.carbon.applications.*". There is nothing appfactory about it, and it will be used by all who needs to get info about apps.
thanks, dimuthu On Thu, Aug 7, 2014 at 9:29 AM, Subash Chaturanga <[email protected]> wrote: > > Hi Dimuthu, > > > On Thu, Aug 7, 2014 at 9:08 AM, Dimuthu Leelarathne <[email protected]> > wrote: > >> Hi Subash, >> >> That was the conclusion of the discussion. The idea is to provide a data >> access layer on top of unified data model. It is similar to the DAOs that >> we write on top of a RDBMS, but not the same. Let me explain by example for >> applications, >> >> - There will be one Application object used across the platform for >> applications >> - Carbon Platform will provide one API for accessing applications. For >> example ApplicationNavigator ( A thin wrapper across GenericArtifactManager) >> >> > If it is high level AF specific wrapper interface for governance API > that's fine, and I believe that wrapper API might not able to reusable for > AM. Why I asked it was, if that wrapper API has anything meaningful across > the platform, that is not yet in governance API, then we can consider it. > Does AF has such cases ? > > > >> In this way every product will provide their domain model to platform to >> build a unified data model and a unified data access model on top of it. >> >> thanks, >> dimuthu >> >> >> >> On Thu, Aug 7, 2014 at 8:55 AM, Subash Chaturanga <[email protected]> >> wrote: >> >>> Hi Dimuthu, >>> IMHO, the single API for carbon platform to access the unified metadata >>> should be the governance API we provide. If it not meets the platform wide >>> requirement, we have to fix that. What are the things forced AF on using a >>> wrapper governance API. @Sumedha does AM also uses something as such ? >>> >>> >>> On Thu, Aug 7, 2014 at 8:53 AM, Subash Chaturanga <[email protected]> >>> wrote: >>> >>>> Hi, >>>> Done. Updated the JIRA with the latest patch + source. So now the media >>>> type format we make mandate would be as follows >>>> >>>> application/vnd.*.<parent-key>.<child_one_key>.<child_two_key> + >>>> <message-format> >>>> >>>> i.e application/vnd.wso2.application.mobile.android + json where >>>> inheritance goes from left to right. >>>> >>>> >>>> On Wed, Aug 6, 2014 at 5:37 PM, Senaka Fernando <[email protected]> >>>> wrote: >>>> >>>>> Hi Subash, >>>>> >>>>> Yes, I think so. I think this is implicitly enforced. So, the >>>>> parent-child model can't be setup between arbitrary mediatypes. Because if >>>>> we start doing that, people can go crazy with it. >>>>> >>>>> Thanks, >>>>> Senaka. >>>>> >>>>> >>>>> On Wed, Aug 6, 2014 at 12:57 PM, Subash Chaturanga <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi Senaka, >>>>>> >>>>>> >>>>>> >>>>>> On Wed, Aug 6, 2014 at 5:01 PM, Senaka Fernando <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi Subash, >>>>>>> >>>>>>> Awesome! BTW, I still like to know how this parentKey thing works. I >>>>>>> thought that it wasn't required to have a parentKey, because it was >>>>>>> deducible from the mediatype of the child. Checked your patch, but >>>>>>> that's a >>>>>>> binary and not the diff, :(. >>>>>>> >>>>>>> >>>>>> Yes, In fact I am in the process of thinking that too. Initially I >>>>>> did it for not users forcing a particular pattern of the mediatype. But >>>>>> with our searching model, they have to. +1 for removing parent key as >>>>>> well. >>>>>> Will update once done. >>>>>> >>>>>> >>>>>>> Hi Dimuthu, >>>>>>> >>>>>>> I didn't quite understand what you meant by API for applications and >>>>>>> API for services? AFAIU, there is going to be one-single generic API >>>>>>> that >>>>>>> works for anything. >>>>>>> >>>>>>> Thanks, >>>>>>> Senaka. >>>>>>> >>>>>>> >>>>>>> On Wed, Aug 6, 2014 at 11:22 AM, Dimuthu Leelarathne < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Subash, >>>>>>>> >>>>>>>> Thanks for the quick implementation. >>>>>>>> >>>>>>>> It looks enough from App Factory end to achieve what we want. This >>>>>>>> will allow us to start right away with unified governance model for >>>>>>>> applications. We'll contribute the Application aspect to the platform. >>>>>>>> We'll be defining media types for the following and design the API. >>>>>>>> We'll >>>>>>>> send you + everybody an open invite for the review session. >>>>>>>> >>>>>>>> Under Application >>>>>>>> - Java WebApp >>>>>>>> - Jaggery >>>>>>>> - WSO2 Data Services >>>>>>>> >>>>>>>> From Greg end we'll be needing an API for the following because >>>>>>>> they are services. >>>>>>>> >>>>>>>> JAX-WS >>>>>>>> JAX-RS >>>>>>>> >>>>>>>> thanks, >>>>>>>> dimuthu >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Aug 6, 2014 at 3:37 PM, Subash Chaturanga <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi all, >>>>>>>>> This is to give a quick update on this. >>>>>>>>> >>>>>>>>> I have completed the RXT inheritance with what we have so far >>>>>>>>> discussed. Developer tested this on turing and following are the set >>>>>>>>> of >>>>>>>>> features. To inherit parent attributes in RXT config, there is a >>>>>>>>> attribute >>>>>>>>> called "parentKey" which specifies the parent artifact key. >>>>>>>>> >>>>>>>>> mediatype >>>>>>>>> key #artifacts >>>>>>>>> >>>>>>>>> application/vnd.wso2.application+json >>>>>>>>> applications 1 >>>>>>>>> application/vnd.wso2.application.mobile+json >>>>>>>>> mobileApplications 2 >>>>>>>>> application/vnd.wso2.application.mobile.android+json >>>>>>>>> androidApplications 4 >>>>>>>>> >>>>>>>>> Features >>>>>>>>> >>>>>>>>> 1. API level; >>>>>>>>> In governance api level once you initiate the governance manager >>>>>>>>> as follows as per above example; >>>>>>>>> >>>>>>>>> GenericArtifactManager manager = new >>>>>>>>> GenericArtifactManager(registry, "applications"); >>>>>>>>> >>>>>>>>> - manager.getAllGenericArtifacts(); >>>>>>>>> - manager.getAllGenericArtifactsByLifecycle(<lifecycle_name>) >>>>>>>>> - >>>>>>>>> >>>>>>>>> manager.getAllGenericArtifactsByLifecycleStatus(<lifecycle_name,<status>) >>>>>>>>> - manager.findGenericArtifacts(GenericArtifactFilter criteria) >>>>>>>>> - manager.findGenericArtifacts(Map<String, List<String>> >>>>>>>>> criteria) >>>>>>>>> >>>>>>>>> all above searching interfaces will respect to parent/child >>>>>>>>> relationship and return results based on that. >>>>>>>>> >>>>>>>>> 2. In Carbon Mgt console UI: >>>>>>>>> - Artifact List UI >>>>>>>>> Applications List UI will list all 7 applications created, >>>>>>>>> while Mobile Application List will show 6 and etc. >>>>>>>>> >>>>>>>>> 3. In API level, if a user tries to add an artifact that has any >>>>>>>>> attribute missing compared to it's parent, GovernanceException thrown. >>>>>>>>> >>>>>>>>> I have not yet implemented the UI for facilitate this. Because we >>>>>>>>> have a feature on RXT define Wizard in Jaggery (ongoing GSoC project), >>>>>>>>> hence thought of improving the UI on that front. Hence, current RXT >>>>>>>>> config >>>>>>>>> UI does not validate the parent inheritance validation. But this >>>>>>>>> will be >>>>>>>>> pushed eventually for 5.0.0 release. >>>>>>>>> >>>>>>>>> >>>>>>>>> Please add anything you think lacking in this impl. >>>>>>>>> >>>>>>>>> @Dimuthu >>>>>>>>> You can find the source patch + binary patch on Turing at [1]. >>>>>>>>> >>>>>>>>> [1] - https://wso2.org/jira/browse/REGISTRY-2252 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Aug 4, 2014 at 4:20 AM, Senaka Fernando <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi Subash, >>>>>>>>>> >>>>>>>>>> Looks good, but, can we change this to the following format, such >>>>>>>>>> that it remains compatible with the naming standards. >>>>>>>>>> >>>>>>>>>> 1. application/vnd.wso2.application+json > name,version >>>>>>>>>> 2. application/vnd.wso2.application.mobile+json > mobileType >>>>>>>>>> 3. application/vnd.wso2.application.mobile.android+json > apkPath >>>>>>>>>> >>>>>>>>>> This will still ensure that >>>>>>>>>> "application/vnd.wso2.application%+json" will return all >>>>>>>>>> applications, and >>>>>>>>>> "application/vnd.wso2.application.mobile%+json" will return all >>>>>>>>>> mobile >>>>>>>>>> applications and vice versa. And, if we follow the pattern, we >>>>>>>>>> really need >>>>>>>>>> not care whether it is three levels, four levels, or "n" levels deep. >>>>>>>>>> >>>>>>>>>> Also, unless the payload will be JSON instead of XML, please keep >>>>>>>>>> "+xml" instead of "+json". >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Senaka. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sun, Aug 3, 2014 at 8:28 PM, Subash Chaturanga < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> $subject will allows users to define a parent artifact catalog >>>>>>>>>>> through the rxt configuration. This will basically force artifacts >>>>>>>>>>> to >>>>>>>>>>> inherit pre-defined set of upstream parent attributes. >>>>>>>>>>> >>>>>>>>>>> For example, suppose I have 3 RXTs, application, mobile >>>>>>>>>>> application and android application. Following is the media types >>>>>>>>>>> and it's >>>>>>>>>>> native attributes >>>>>>>>>>> >>>>>>>>>>> 1. application/vnd.wso2.application+json > name,version >>>>>>>>>>> 2. application/vnd.wso2.application/vnd.wso2.application.mobile >>>>>>>>>>> +json > mobileType >>>>>>>>>>> 3. >>>>>>>>>>> application/vnd.wso2.application/vnd.wso2.application.mobile/vnd.wso2.application.mobile.android >>>>>>>>>>> +json > apkPath >>>>>>>>>>> >>>>>>>>>>> ( @Senaka/Dimuthu, we need to finalze the way we define media >>>>>>>>>>> types. Please give your feedback on above model for media types for >>>>>>>>>>> inherited rxts.) >>>>>>>>>>> >>>>>>>>>>> Artifact denotes from media type #3 should have all 4 >>>>>>>>>>> attributes; name,version,mobileType,apkPath. For #2 it should be 3. >>>>>>>>>>> From >>>>>>>>>>> governance API level and from UI, users will force to inherit all >>>>>>>>>>> parent >>>>>>>>>>> attributes. And if a certain attribute is Required for a parent, it >>>>>>>>>>> will be >>>>>>>>>>> applied for the child nodes as well. Also, since the media types >>>>>>>>>>> can get >>>>>>>>>>> lengthy and not kind of human readable, we are planning to stick to >>>>>>>>>>> the >>>>>>>>>>> short name mapping for media types which we already have on >>>>>>>>>>> governance API >>>>>>>>>>> level. >>>>>>>>>>> >>>>>>>>>>> And you can search All types of "applications" through the >>>>>>>>>>> "application" governance artifact manager, while "android" >>>>>>>>>>> governance >>>>>>>>>>> artifact manager will return only android artifacts. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Thanks >>>>>>>>>>> /subash >>>>>>>>>>> >>>>>>>>>>> *Subash Chaturanga* >>>>>>>>>>> Senior Software Engineer & Lead WSO2 Governance Registry >>>>>>>>>>> Platform TG; WSO2 Inc. http://wso2.com >>>>>>>>>>> Contact: >>>>>>>>>>> email: [email protected] >>>>>>>>>>> blog: http://subashsdm.blogspot.com/ >>>>>>>>>>> twitter: @subash89 >>>>>>>>>>> phone: +9477 2225922 >>>>>>>>>>> Lean . Enterprise . Middleware >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando* >>>>>>>>>> Software Architect; WSO2 Inc.; http://wso2.com >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> * Member; Apache Software Foundation; http://apache.org >>>>>>>>>> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: >>>>>>>>>> +1 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*; >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> *M: +44 782 741 1966 <%2B44%20782%20741%201966> Linked-In: >>>>>>>>>> http://linkedin.com/in/senakafernando >>>>>>>>>> <http://linkedin.com/in/senakafernando>* >>>>>>>>>> Lean . Enterprise . Middleware >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Thanks >>>>>>>>> /subash >>>>>>>>> >>>>>>>>> *Subash Chaturanga* >>>>>>>>> Senior Software Engineer & Lead WSO2 Governance Registry >>>>>>>>> Platform TG; WSO2 Inc. http://wso2.com >>>>>>>>> Contact: >>>>>>>>> email: [email protected] >>>>>>>>> blog: http://subashsdm.blogspot.com/ >>>>>>>>> twitter: @subash89 >>>>>>>>> phone: +9477 2225922 >>>>>>>>> Lean . Enterprise . Middleware >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Dimuthu Leelarathne >>>>>>>> Architect & Product Lead of App Factory >>>>>>>> >>>>>>>> WSO2, Inc. (http://wso2.com) >>>>>>>> email: [email protected] >>>>>>>> Mobile : 0773661935 >>>>>>>> >>>>>>>> Lean . Enterprise . Middleware >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> >>>>>>> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando* >>>>>>> Software Architect; WSO2 Inc.; http://wso2.com >>>>>>> >>>>>>> >>>>>>> >>>>>>> * Member; Apache Software Foundation; http://apache.org >>>>>>> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: >>>>>>> +1 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*; >>>>>>> >>>>>>> >>>>>>> *M: +44 782 741 1966 <%2B44%20782%20741%201966> Linked-In: >>>>>>> http://linkedin.com/in/senakafernando >>>>>>> <http://linkedin.com/in/senakafernando>*Lean . Enterprise . >>>>>>> Middleware >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks >>>>>> /subash >>>>>> >>>>>> *Subash Chaturanga* >>>>>> Senior Software Engineer & Lead WSO2 Governance Registry >>>>>> Platform TG; WSO2 Inc. http://wso2.com >>>>>> Contact: >>>>>> email: [email protected] >>>>>> blog: http://subashsdm.blogspot.com/ >>>>>> twitter: @subash89 >>>>>> phone: +9477 2225922 >>>>>> Lean . Enterprise . Middleware >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> >>>>> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando* >>>>> Software Architect; WSO2 Inc.; http://wso2.com >>>>> >>>>> >>>>> >>>>> * Member; Apache Software Foundation; http://apache.org >>>>> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: >>>>> +1 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*; >>>>> >>>>> >>>>> *M: +44 782 741 1966 <%2B44%20782%20741%201966> Linked-In: >>>>> http://linkedin.com/in/senakafernando >>>>> <http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> Thanks >>>> /subash >>>> >>>> *Subash Chaturanga* >>>> Senior Software Engineer & Lead WSO2 Governance Registry >>>> Platform TG; WSO2 Inc. http://wso2.com >>>> Contact: >>>> email: [email protected] >>>> blog: http://subashsdm.blogspot.com/ >>>> twitter: @subash89 >>>> phone: +9477 2225922 >>>> Lean . Enterprise . Middleware >>>> >>> >>> >>> >>> -- >>> Thanks >>> /subash >>> >>> *Subash Chaturanga* >>> Senior Software Engineer & Lead WSO2 Governance Registry >>> Platform TG; WSO2 Inc. http://wso2.com >>> Contact: >>> email: [email protected] >>> blog: http://subashsdm.blogspot.com/ >>> twitter: @subash89 >>> phone: +9477 2225922 >>> Lean . Enterprise . Middleware >>> >> >> >> >> -- >> Dimuthu Leelarathne >> Architect & Product Lead of App Factory >> >> WSO2, Inc. (http://wso2.com) >> email: [email protected] >> Mobile : 0773661935 >> >> Lean . Enterprise . Middleware >> > > > > -- > Thanks > /subash > > *Subash Chaturanga* > Senior Software Engineer & Lead WSO2 Governance Registry > Platform TG; WSO2 Inc. http://wso2.com > Contact: > email: [email protected] > blog: http://subashsdm.blogspot.com/ > twitter: @subash89 > phone: +9477 2225922 > Lean . Enterprise . Middleware > -- Dimuthu Leelarathne Architect & Product Lead of App Factory WSO2, Inc. (http://wso2.com) email: [email protected] Mobile : 0773661935 Lean . Enterprise . Middleware
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
