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

Reply via email to