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)

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

Reply via email to