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
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
