Hi Subash,

Thanks. We will not be taking this up yet.

thanks,
dimuthu


On Thu, Sep 4, 2014 at 6:10 PM, Subash Chaturanga <sub...@wso2.com> wrote:

> Hi,
> Finished the searching with Solr index. I have tested a sample complete
> client code inside Turing G-Reg 4.6.0 governance component.
> @Dimuthu,
> Now this API should be able to used to re build what you have already with
> gov api. I will work on completing my external TODOs left, like adding unit
> tests etc.
>
>
> On Mon, Sep 1, 2014 at 9:14 AM, Subash Chaturanga <sub...@wso2.com> wrote:
>
>> Hi,
>> Moving to @architecture.
>>
>>
>> On Fri, Aug 29, 2014 at 3:47 AM, Subash Chaturanga <sub...@wso2.com>
>> wrote:
>>
>>> Hi all,
>>> This is to give you a progress update. Now the code is moved to wso2
>>> -dev repo [1]. And I have completed the implementation except the
>>> search/findAll which have to implement through indexing. Following is the
>>> client code I used.
>>>
>>>
>>> // You have to set this path ONLY if you are using this api outside a
>>> carbon server runtime.
>>>
>>>     Util.setProviderMapFilePath("<path-to-registry.xml>");
>>>
>>>            HTTPServiceVersionV1  bv = new HTTPServiceVersionV1(registry,
>>> "1.0.0");
>>>
>>>            bv.setProperty("foo", "bar");
>>>
>>>            HTTPServiceV1 http1 = new HTTPServiceV1(registry,
>>> "myservice",bv);
>>>
>>>            http1.setOwner("serviceOwner");
>>>
>>>            http1.setProperty("createdDate", "12-12-2012");
>>>
>>>            HTTPServiceV1.add(registry, http1);
>>>
>>>            HTTPServiceV1 httpServiceV1 = HTTPServiceV1.get(registry,
>>> http1.getUUID());
>>>
>>>            HTTPServiceVersionV1 v2 = httpServiceV1.newVersion("1.2.0");
>>>
>>>            v2.setProperty("foo", "bar");
>>>
>>>            HTTPServiceVersionV1.add(registry, v2);
>>>
>>>            for(HTTPServiceVersionV1 v:httpServiceV1.getVersions()){
>>>
>>>                System.out.println(v.getName());
>>>
>>>            }
>>>
>>>             http1.attachLifecycle("SampleLifeCycle");
>>>
>>>             StateMachineLifecycle lc  = http1.getLifecycle();
>>>
>>>             StateMachineLifecycle.State s = lc.getCurrentState();
>>>
>>>             lc.transfer("Promote");
>>>
>>>             StateMachineLifecycle.State s1 = lc.getCurrentState();
>>>
>>>
>>> I have attached the screen shot of the G-Reg 4.6.0 mgt console after
>>> running this client. You can find the associations are created and
>>> lifecycle has attached and promoted to Test status.
>>>
>>> The API always deals with UUIDs from creating associations to CRUD
>>> instances. And the code is in wso2-dev git repo and no need to backport on
>>> turing, hence AF can build it and put it in to dropins.
>>>
>>> Once finish the searching/getAll we can try replacing a AF code with
>>> this API. Meanwhile we need to  finalize the rest of the meta data
>>> @Sanjiva's meta data spec 1.0.0 ;-).  Also will arrange a code/API review
>>> once search is implemented.
>>>
>>> Basic Implementation TODOs;
>>>
>>>  - Search
>>>  - Add more class/method comments to improve readability.
>>>  - Create an ant sample.
>>>  - Performance tune
>>>
>>>
>>> [1] -
>>> https://github.com/wso2-dev/carbon-registry/tree/master/components/registry/org.wso2.carbon.registry.metadata
>>>
>>>
>>>
>>> On Fri, Aug 22, 2014 at 7:35 PM, Senaka Fernando <sen...@wso2.com>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Sanjiva, I added a comment on 2a in FAQ #2, too see whether we can find
>>>> a solution to what Dimuthu mentioned. This is the reason why I actually
>>>> proposed 2a - but that's obviously not the ideal solution too. So, trying
>>>> to understand the best compromise here.
>>>>
>>>> Subash, I don't think the get/set property business is a good idea at
>>>> all. If this is an end-to-end API, shouldn't we for example do:
>>>>
>>>>
>>>> HTTPServiceVersionV1 httpV1 = http1.newVersion("1.0.0");
>>>>  EndpointV1 endpoint = new EndpointV1("http://test.rest/stockquote";);
>>>> endpoint.setSecured(true);
>>>> httpV1.addEndpoint(endpoint);
>>>>  HTTPServiceVersionV1.add(httpV1);
>>>>
>>>> My view is that the API needs to be very expressive so that everybody
>>>> who uses that will generally find it to be comprehensive and the property
>>>> option is only if they don't find a way to do what they want.
>>>>
>>>> Also, a very radical question on services and endpoints. I think
>>>> everybody (G-Reg, AppFac and API-M teams) is clear that the ServiceVersion
>>>> is what has the lifecycle state. But, I wanted to ask a separate question.
>>>> Are we ruling out the possibility of a single service version being in
>>>> multiple environments? If yes, then simply forget this question. If no,
>>>> should we be having a state for the endpoint (i.e. A single service version
>>>> with Dev endpoint a QA endpoint and vice versa). If we think we need the
>>>> above, should we have a concept of primary endpoint, which is what in
>>>> return deduces what state the service is in (ex:- the primary endpoint for
>>>> a service v1 is dev, which means the service is in dev state)?
>>>>
>>>> Thanks,
>>>> Senaka.
>>>>
>>>>
>>>> On Fri, Aug 22, 2014 at 2:15 PM, Sanjiva Weerawarana <sanj...@wso2.com>
>>>> wrote:
>>>>
>>>>> Dimuthu see FAQ #2 in the document. Please suggest alternatives or
>>>>> accept it :-).
>>>>>
>>>>>
>>>>> On Fri, Aug 22, 2014 at 3:36 PM, Dimuthu Leelarathne <
>>>>> dimut...@wso2.com> wrote:
>>>>>
>>>>>> Hi Subash and all,
>>>>>>
>>>>>> The API look extremely cluttered with V1 appended to all classes. :(
>>>>>>
>>>>>> thanks,
>>>>>> dimuthu
>>>>>>
>>>>>>
>>>>>> On Fri, Aug 22, 2014 at 9:30 AM, Dimuthu Leelarathne <
>>>>>> dimut...@wso2.com> wrote:
>>>>>>
>>>>>>> Hi Subash,
>>>>>>>
>>>>>>> I believe this API allows us to create a foo service without a
>>>>>>> version. But that should not be the case. As discussed the instance also
>>>>>>> must have a version. So the Create API should change.
>>>>>>>
>>>>>>> thanks,
>>>>>>> dimuthu
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Aug 22, 2014 at 1:05 AM, Subash Chaturanga <sub...@wso2.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Sanjiva et al,
>>>>>>>> Here is the [1] latest metadata API. In the process of finishing
>>>>>>>> the first cut implementation. Will update soon once I finished it. 
>>>>>>>> Please
>>>>>>>> provide your feedback if anything needs to be changed from the API 
>>>>>>>> consumer
>>>>>>>> PoV.
>>>>>>>>
>>>>>>>>
>>>>>>>> So this is the latest client code;
>>>>>>>>
>>>>>>>>         HTTPServiceV1 http1 = new HTTPServiceV1("foo");
>>>>>>>>         http1.setOwner("serviceOwner");
>>>>>>>>         http1.setProperty("createdDate","12-12-2012");
>>>>>>>>         HTTPServiceV1.add(http1);
>>>>>>>>
>>>>>>>>         HTTPServiceV1[] services = HTTPServiceV1.getAll();
>>>>>>>>         for(HTTPServiceV1 ht:services){
>>>>>>>>             ht.setProperty("newProp","newValue");
>>>>>>>>             HTTPServiceV1.update(ht);
>>>>>>>>         }
>>>>>>>>
>>>>>>>>         HTTPServiceVersionV1 httpV1 = http1.newVersion("1.0.0");
>>>>>>>>         httpV1.setEndpointUrl("http://test.rest/stockquote";);
>>>>>>>>         httpV1.setProperty("isSecured","true");
>>>>>>>>         HTTPServiceVersionV1.add(httpV1);
>>>>>>>>
>>>>>>>>         HTTPServiceVersionV1 v1 =
>>>>>>>> HTTPServiceVersionV1.get(httpV1.getUUID());
>>>>>>>>         HTTPServiceV1.delete(v1.getUUID());
>>>>>>>>
>>>>>>>>
>>>>>>>> [1] -
>>>>>>>> https://github.com/subash89/carbon-registry/tree/master/components/registry/org.wso2.carbon.registry.metadata
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Aug 18, 2014 at 9:15 AM, Dimuthu Leelarathne <
>>>>>>>> dimut...@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi all,
>>>>>>>>>
>>>>>>>>> Please see my comments in line.
>>>>>>>>>
>>>>>>>>> On Sun, Aug 17, 2014 at 3:32 PM, Sanjiva Weerawarana <
>>>>>>>>> sanj...@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> [At least Sagara/Dimuthu/Senaka/Frank/Paul please read carefully.
>>>>>>>>>> Lot of subtlety to get right ..]
>>>>>>>>>>
>>>>>>>>>> With media types, we have only 3 simple/direct ways of
>>>>>>>>>> categorizing stuff:
>>>>>>>>>>      {type}/{subtype}+{format}.
>>>>>>>>>> There are of course parameters as add-ons but this is the primary
>>>>>>>>>> set.
>>>>>>>>>>
>>>>>>>>>> For services {type} = vnd.wso2.service.
>>>>>>>>>>
>>>>>>>>>> Question is what is subtype? I think we're agreeing WAR is not
>>>>>>>>>> appropriate as that's an implementation format. From a service 
>>>>>>>>>> metadata
>>>>>>>>>> perspective, whether its PHP or .Net or Jaggery or whatever is not
>>>>>>>>>> important either. JAX-RS and JAX-WS are also really just internal 
>>>>>>>>>> things -
>>>>>>>>>> what JAX-RS produces is an HTTP service. What JAX-WS produces is a
>>>>>>>>>> SOAP-speaking service which could potentially be exposed in multiple 
>>>>>>>>>> access
>>>>>>>>>> channels.
>>>>>>>>>>
>>>>>>>>>> So, it seems to me, what really matters about a service is what
>>>>>>>>>> the access protocol is and what format the messages are to be sent. 
>>>>>>>>>> In
>>>>>>>>>> other words:
>>>>>>>>>>
>>>>>>>>>> {subtype} = access protocol: http | smtp | thrift | ...
>>>>>>>>>> {format} = message format: soap | xml | json | txt | binary | ...
>>>>>>>>>>
>>>>>>>>>> So how do you represent a SOAP service which is available over
>>>>>>>>>> multiple protocols then? Direct interpretation would say it should be
>>>>>>>>>> vnd.wso2.service/*+soap. However that's not a valid media type; 
>>>>>>>>>> that's a
>>>>>>>>>> pattern to match against many media types.
>>>>>>>>>>
>>>>>>>>>> We can solve this by considering "soap" as an access protocol and
>>>>>>>>>> model a SOAP service with vnd.wso2.service/soap. The same service's 
>>>>>>>>>> HTTP
>>>>>>>>>> specific rendition would be vnd.wso2.service/soap+http. This model 
>>>>>>>>>> does
>>>>>>>>>> well for WSDL too - sort of .. WSDL separates the service interface
>>>>>>>>>> (portType) from its access information (binding - both transport and
>>>>>>>>>> formatting).
>>>>>>>>>>
>>>>>>>>>> So what if we reverse the model and use format as the subtype and
>>>>>>>>>> protocol as the format:
>>>>>>>>>>
>>>>>>>>>> {subtype} = message format: soap | xml | json | txt | binary | ...
>>>>>>>>>> {format} = access protocol: http | smtp | thrift
>>>>>>>>>>
>>>>>>>>>> BUT that has its set of problems too .. many services can speak
>>>>>>>>>> both XML and JSON for example. Furthermore, SOAP does not imply a
>>>>>>>>>> particular format .. SOAP can be sent over XML or a binary 
>>>>>>>>>> serialization of
>>>>>>>>>> XML. Luckily no one uses the latter so lets ignore it. (The use of 
>>>>>>>>>> XML vs.
>>>>>>>>>> a binary serialization seems more in the league of content transfer
>>>>>>>>>> encoding [1] anyway.)
>>>>>>>>>>
>>>>>>>>>> There's also the aspect of versions of a service to be
>>>>>>>>>> considered. It seems to me its really a version of a service that 
>>>>>>>>>> has a
>>>>>>>>>> particular interface, not the service itself (as the interface may 
>>>>>>>>>> change
>>>>>>>>>> over time).
>>>>>>>>>>
>>>>>>>>>> *So, in summary, my suggestion is we go with*:
>>>>>>>>>>
>>>>>>>>>> {type} = vnd.wso2.service
>>>>>>>>>> {subtype} = access protocol: soap | http | thift | ...
>>>>>>>>>> {format} = xml | json | text | binary ...
>>>>>>>>>>
>>>>>>>>>> Then, we make sure each service will have at least one version:
>>>>>>>>>>
>>>>>>>>>> vnd.wso2.version/service
>>>>>>>>>>
>>>>>>>>>> That could have some standard associations depending on what type
>>>>>>>>>> of service it is a version of. For example, for SOAP services it 
>>>>>>>>>> makes
>>>>>>>>>> sense to have a required associated WSDL interface definition 
>>>>>>>>>> (portType).
>>>>>>>>>> For HTTP services maybe we can associate with Swagger or WADL for 
>>>>>>>>>> interface
>>>>>>>>>> definition.
>>>>>>>>>>
>>>>>>>>>> [NOTE: In App Factory currently bunch of the information is at
>>>>>>>>>> the wrong level w.r.t. to an app and its versions. AF only knows 
>>>>>>>>>> about
>>>>>>>>>> versions in terms of Git and for governance. It doesn't keep other 
>>>>>>>>>> stuff
>>>>>>>>>> like resources against versions when it really needs to have those 
>>>>>>>>>> can
>>>>>>>>>> differ by version easily.]
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Going into this model means we'll be in-sync with ES and
>>>>>>>>> AppManager and in addition and resources will be version specific. 
>>>>>>>>> However
>>>>>>>>> then AF story changes drastically - this includes UIs. We'll also 
>>>>>>>>> need a
>>>>>>>>> solid story for agile development if we are going for this model.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> If we want the metadata model to capture the
>>>>>>>>>> deployment/implementation model, I suggest we create another top 
>>>>>>>>>> level type
>>>>>>>>>> called vnd.wso2.artifact and have subtypes:
>>>>>>>>>>
>>>>>>>>>> vnd.wso2.artifact/war
>>>>>>>>>> vnd.wso2.artifact/war+jaxrs
>>>>>>>>>> vnd.wso2.artifact/war+jaxws
>>>>>>>>>> vnd.wso2.artifact/car
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> +1. This will be useful for AF to make deployment decision and it
>>>>>>>>> can be coupled with the concept of Runtimes, for example Tomcat, 
>>>>>>>>> AppServer
>>>>>>>>> and etc ... but that can come later with the multiple runtime 
>>>>>>>>> environment
>>>>>>>>> feature.
>>>>>>>>>
>>>>>>>>> thanks,
>>>>>>>>> dimuthu
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>  etc.. Then there can be an association or a property to capture
>>>>>>>>>> the artifact type of a particular service. The value of that 
>>>>>>>>>> association
>>>>>>>>>> could be the name of the war file for example.
>>>>>>>>>>
>>>>>>>>>> The last part is the endpoint part .. a particular version of a
>>>>>>>>>> service is going to be available at one ore more endpoints. 
>>>>>>>>>> Endpoints come
>>>>>>>>>> off servers .. which is part of the model that Senaka and G-Reg team 
>>>>>>>>>> have
>>>>>>>>>> planned.
>>>>>>>>>>
>>>>>>>>>> Endpoints are also of course connected to APIs.
>>>>>>>>>>
>>>>>>>>>> Subash is going to schedule a discussion to finalize that part.
>>>>>>>>>>
>>>>>>>>>> Sanjiva.
>>>>>>>>>> [1] http://en.wikipedia.org/wiki/MIME#Content-Transfer-Encoding
>>>>>>>>>>
>>>>>>>>>> On Fri, Aug 15, 2014 at 5:29 PM, Dimuthu Leelarathne <
>>>>>>>>>> dimut...@wso2.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi all,
>>>>>>>>>>>
>>>>>>>>>>> We should be using the name WebApplication for all of these,
>>>>>>>>>>> - PHP
>>>>>>>>>>> - .NET ASP
>>>>>>>>>>> - Jaggery
>>>>>>>>>>> - Java WebApp
>>>>>>>>>>>
>>>>>>>>>>> In our meta model, it should be as follows.
>>>>>>>>>>>
>>>>>>>>>>> Parent - Application
>>>>>>>>>>> Child - WebApp
>>>>>>>>>>>
>>>>>>>>>>> However, JAX-RS and JAX-WS are services.
>>>>>>>>>>>
>>>>>>>>>>> In that sense,
>>>>>>>>>>>
>>>>>>>>>>> Parent - Service
>>>>>>>>>>> Child - SoapService
>>>>>>>>>>> Child - RESTService
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> For App Factory to proceed the above classes will be enough -
>>>>>>>>>>> WebApp, SOAPService, RESTService. Only 3 meta models are required.
>>>>>>>>>>>
>>>>>>>>>>> thanks,
>>>>>>>>>>> dimuthu
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Aug 15, 2014 at 1:05 PM, Senaka Fernando <
>>>>>>>>>>> sen...@wso2.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Aug 15, 2014 at 6:27 AM, Sagara Gunathunga <
>>>>>>>>>>>> sag...@wso2.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Aug 14, 2014 at 4:34 AM, Dimuthu Leelarathne <
>>>>>>>>>>>>> dimut...@wso2.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Subash and all,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> We want the store the following for the App Factory
>>>>>>>>>>>>>> artefacts. I am not sure whether to fill the parameters section 
>>>>>>>>>>>>>> or the
>>>>>>>>>>>>>> Content section of the tables so I decided write inline to the 
>>>>>>>>>>>>>> mail.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> For WAR - Name, Key, Owner, Description, Type, Repository
>>>>>>>>>>>>>> Type, EndPoint URL
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I guess you mean application with web pages as WAR, if so IMHO
>>>>>>>>>>>>> it's better to use different name than WAR to avoid confusions.   
>>>>>>>>>>>>> WAR is
>>>>>>>>>>>>> not a application type instead it's a deployment unit where 
>>>>>>>>>>>>> JAX-WS and
>>>>>>>>>>>>> JAX-RS services also deploy as WAR archives.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> +1 to Sagara. we can all this "WebApplication"?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Senaka.
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks !
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> For JAXWS, JAXRS, Data Services, Jaggery and Jaggery
>>>>>>>>>>>>>> parameters would be the following.
>>>>>>>>>>>>>> Name, Key, Owner, Description, Type, Repository Type,
>>>>>>>>>>>>>> Endpoint ( we will need a new feature for this so sending a 
>>>>>>>>>>>>>> separate mail
>>>>>>>>>>>>>> on this to architecture)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> thanks,
>>>>>>>>>>>>>> dimuthu
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  On Wed, Aug 13, 2014 at 7:01 PM, Ruchira Wageesha <
>>>>>>>>>>>>>> ruch...@wso2.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi Subash,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> In the attached google doc, I saw that you guys are going to
>>>>>>>>>>>>>>> use versions in class name? If that is the case, how can we 
>>>>>>>>>>>>>>> create
>>>>>>>>>>>>>>> Server1.0.0 or Service1.2.0 like classes from Java or do we 
>>>>>>>>>>>>>>> assume versions
>>>>>>>>>>>>>>> to be always like v1...vn?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> According to my picture, it should be a different jar
>>>>>>>>>>>>>>> version like in maven/OSGI. i.e. We have the exact classname 
>>>>>>>>>>>>>>> for every
>>>>>>>>>>>>>>> version of the same service, but different implementations in 
>>>>>>>>>>>>>>> different
>>>>>>>>>>>>>>> jars. It is the model that we follow in Java and why cannot we 
>>>>>>>>>>>>>>> continue
>>>>>>>>>>>>>>> that for this as well?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Aug 13, 2014 at 4:33 AM, Senaka Fernando <
>>>>>>>>>>>>>>> sen...@wso2.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Subash,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Please find comments in-line.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tue, Aug 12, 2014 at 7:16 PM, Janaka Ranabahu <
>>>>>>>>>>>>>>>> jan...@wso2.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi Subash,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tue, Aug 12, 2014 at 11:12 PM, Subash Chaturanga <
>>>>>>>>>>>>>>>>> sub...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>> We had a meeting on $subject as a continuation on
>>>>>>>>>>>>>>>>>> "Applications in the unified governance model" and decide 
>>>>>>>>>>>>>>>>>> what is the
>>>>>>>>>>>>>>>>>> unified governance meta models should be in high level. And 
>>>>>>>>>>>>>>>>>> Sanjiva updated
>>>>>>>>>>>>>>>>>> the same doc with todays conclusions in [1].
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Came up with set of high level meta models to start with
>>>>>>>>>>>>>>>>>> compared to what we have already in G-Reg(refer doc [1]).
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> a. Came up with a meta model java interface to address
>>>>>>>>>>>>>>>>>> the current requirement. There, we will be creating first 
>>>>>>>>>>>>>>>>>> class APIs for
>>>>>>>>>>>>>>>>>> identified well known unified governance metadata models.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> b. Decided  some modifications for the media types.
>>>>>>>>>>>>>>>>>>      - skip the "application/" for media types and now it
>>>>>>>>>>>>>>>>>> will be something as vnd.wso2.service  for services.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Why? "application" here has nothing to do with services and
>>>>>>>>>>>>>>>> applications that we are talking about. This is the standard 
>>>>>>>>>>>>>>>> way of writing
>>>>>>>>>>>>>>>> a vendor specific MIME type (i.e.
>>>>>>>>>>>>>>>> application/vnd.<vendor_name><vendor_specific_portion>). Why 
>>>>>>>>>>>>>>>> do we have to
>>>>>>>>>>>>>>>> change this notation? I know that given #2 below, there is no 
>>>>>>>>>>>>>>>> reason we
>>>>>>>>>>>>>>>> can't play around with the names of the mediatypes, but if 
>>>>>>>>>>>>>>>> this has no
>>>>>>>>>>>>>>>> special intent, I see no point in removing the "application/" 
>>>>>>>>>>>>>>>> part though.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>        - having version support for media types.(version
>>>>>>>>>>>>>>>>>> will be part of the media type), have not finalized on how 
>>>>>>>>>>>>>>>>>> to add a version
>>>>>>>>>>>>>>>>>> string to media type.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> This is fine as we agreed. The MIME processor can accept a
>>>>>>>>>>>>>>>> string after the standard mediatype notation (i.e. 
>>>>>>>>>>>>>>>> ";version=x") for these
>>>>>>>>>>>>>>>> specific assets.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> c. Metadata java interfaces will always deal with UUIDs,
>>>>>>>>>>>>>>>>>> but never with paths.
>>>>>>>>>>>>>>>>>>       - meta data structure/attribute can get changed
>>>>>>>>>>>>>>>>>> from time to time. Should need a mechanism to support 
>>>>>>>>>>>>>>>>>> metadata in old
>>>>>>>>>>>>>>>>>> format as well as in new format (aka different versions of a 
>>>>>>>>>>>>>>>>>> media type) in
>>>>>>>>>>>>>>>>>> the same carbon runtime. Hence interface name itself will 
>>>>>>>>>>>>>>>>>> have version
>>>>>>>>>>>>>>>>>> information.
>>>>>>>>>>>>>>>>>>   i.e media type versions are restricted to have only
>>>>>>>>>>>>>>>>>> majors. i.e for services org.wso2.metadata.ServiceV1 (we 
>>>>>>>>>>>>>>>>>> knew this is ugly,
>>>>>>>>>>>>>>>>>> but can't help, but you're mostly welcome for a better 
>>>>>>>>>>>>>>>>>> suggestion).
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> This was the way I thought of solving it (during the call I
>>>>>>>>>>>>>>>> was in), "org.wso2.metadata.service.v1.Service". But, if it is 
>>>>>>>>>>>>>>>> just a
>>>>>>>>>>>>>>>> single class inside the "org.wso2.metadata.service.v1.*" 
>>>>>>>>>>>>>>>> package, there is
>>>>>>>>>>>>>>>> no point in doing that. But, if we plan to have a few classes 
>>>>>>>>>>>>>>>> in the
>>>>>>>>>>>>>>>> package, then we probably can do that. Then,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>    1. the code is a bit more readable
>>>>>>>>>>>>>>>>    2. there is no possibility of somebody using two
>>>>>>>>>>>>>>>>    different versions of the Service class in the code that is 
>>>>>>>>>>>>>>>> based on this
>>>>>>>>>>>>>>>>    API
>>>>>>>>>>>>>>>>    3. Using OSGi, we can stop exporting the older API
>>>>>>>>>>>>>>>>    versions on a later date
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Also, note my comments below on how this works in specific
>>>>>>>>>>>>>>>> situations.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> d. First class version support.
>>>>>>>>>>>>>>>>>>        - Create an artifact without a version.
>>>>>>>>>>>>>>>>>>        - Then create versions from the artifact
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> e. Apart from these, all CRUD + search; typical
>>>>>>>>>>>>>>>>>> interfaces will be given for each metadata type.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> We did not touch this subject during the discussion but
>>>>>>>>>>>>>>>>> apart from these, I believe we need to introduce methods to 
>>>>>>>>>>>>>>>>> perform
>>>>>>>>>>>>>>>>> governance operations in these artifacts. The interface 
>>>>>>>>>>>>>>>>> should supports to
>>>>>>>>>>>>>>>>> attach, detach, perform governance operation(promote,demote 
>>>>>>>>>>>>>>>>> or any
>>>>>>>>>>>>>>>>> lifecycle event) and get lifecycle state of an artifacts. 
>>>>>>>>>>>>>>>>> Right now we have
>>>>>>>>>>>>>>>>> registry API's to do these but IMO, the artifacts should have 
>>>>>>>>>>>>>>>>> 1st class
>>>>>>>>>>>>>>>>> support for governance operations.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I have mixed views on this. Does all metadata need to be
>>>>>>>>>>>>>>>> governed? Isn't the metadata API separate from the governance 
>>>>>>>>>>>>>>>> around it?
>>>>>>>>>>>>>>>> Wouldn't some governance functionality be limited to certain 
>>>>>>>>>>>>>>>> products? If
>>>>>>>>>>>>>>>> so, doesn't it make sense to have the governance of these 
>>>>>>>>>>>>>>>> metadata as a
>>>>>>>>>>>>>>>> separate API? i.e. org.wso2.metadata.governance?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>> Janaka
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Super parent media type will be  "vnd.wso2.metadata".
>>>>>>>>>>>>>>>>>> Following is the design for high level service.  Refer doc 
>>>>>>>>>>>>>>>>>> [1] for more
>>>>>>>>>>>>>>>>>> detailed info.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> vnd.wso2.service __ 1 ____ n  vnd.wso2.contact
>>>>>>>>>>>>>>>>>>                               1 ____ n  vnd.wso2.version
>>>>>>>>>>>>>>>>>>  1 ____ n  vnd.wso2.endpoint
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> vnd.wso2.version? or vnd.wso2.version.service? Does any
>>>>>>>>>>>>>>>> version artifact look the same? Note that I specifically did 
>>>>>>>>>>>>>>>> not use
>>>>>>>>>>>>>>>> vnd.wso2.service.version for it will break our media-type 
>>>>>>>>>>>>>>>> based inheritance
>>>>>>>>>>>>>>>> model.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Also, contacts are loosely coupled. It can be @ service
>>>>>>>>>>>>>>>> level or @ service version level. And, why contact? why not 
>>>>>>>>>>>>>>>> vnd.wso2.user?
>>>>>>>>>>>>>>>> vnd.wso2.userprofile? IMHO, a contact is what a service has, 
>>>>>>>>>>>>>>>> but when that
>>>>>>>>>>>>>>>> information gets stored in the registry its a user-profile, 
>>>>>>>>>>>>>>>> and this should
>>>>>>>>>>>>>>>> directly comply with the WSO2 IS user-profile structure (as 
>>>>>>>>>>>>>>>> you have
>>>>>>>>>>>>>>>> mentioned below). In other words,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> public interface Service {
>>>>>>>>>>>>>>>>     UserProfile[] getContacts()
>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> (vnd.wso2.contact will get populated from carbon user
>>>>>>>>>>>>>>>>>> profile and will provide useful information on impact 
>>>>>>>>>>>>>>>>>> analysis)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Targeting Oct WSO2Con, we will be starting with jax-rs
>>>>>>>>>>>>>>>>>> service which is  vnd.wso2.metadata > vnd.wso2.service >
>>>>>>>>>>>>>>>>>> vnd.wso2.service.jax-rs.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Great, and what's the Java package name for this? If you
>>>>>>>>>>>>>>>> take my approach, it will be 
>>>>>>>>>>>>>>>> "org.wso2.metadata.service.v1.RESTfulService".
>>>>>>>>>>>>>>>> Its a little ugly, but, I expanded the abbreviated name JAX-RS 
>>>>>>>>>>>>>>>> - and the
>>>>>>>>>>>>>>>> "RS" stands for RESTful Service and not RESTService. JAX part 
>>>>>>>>>>>>>>>> is redundant
>>>>>>>>>>>>>>>> since this is a Java API.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Immediate action items;
>>>>>>>>>>>>>>>>>>   - Need to update the doc [1] and fill the tables for
>>>>>>>>>>>>>>>>>> the defined meta data models and finalize what we keep/drop
>>>>>>>>>>>>>>>>>>   - Finalize the format for Service.
>>>>>>>>>>>>>>>>>>   - Finalize the format for JAX-RS.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Please feel free to add your thoughts on adding anything
>>>>>>>>>>>>>>>>>> that seems useful for a service/JAX-RS/Application in general
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Please add if I had missed anything.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Adding more to Ajith's comments, yet again, if you follow
>>>>>>>>>>>>>>>> the package name model I propose, you can, have
>>>>>>>>>>>>>>>> org.wso2.metadata.common.v1.Endpoint (if endpoint is a more 
>>>>>>>>>>>>>>>> generic concept
>>>>>>>>>>>>>>>> than a service for instance) or 
>>>>>>>>>>>>>>>> org.wso2.metadata.service.v1.Endpoint (if
>>>>>>>>>>>>>>>> endpoints are only associated with services). Similarly, you 
>>>>>>>>>>>>>>>> can have
>>>>>>>>>>>>>>>> org.wso2.metadata.common.v1.Contact or 
>>>>>>>>>>>>>>>> org.wso2.metadata.common.v1.User or
>>>>>>>>>>>>>>>> org.wso2.metadata.common.v1.UserProfile.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>> Senaka.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>>>>>> https://docs.google.com/a/wso2.com/document/d/1lqoHru84oCtBXHILNhKyyUdWA0yN05Um4xyfKFIX1_4/edit
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>> /subash
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> *Subash Chaturanga*
>>>>>>>>>>>>>>>>>> Senior Software Engineer & Lead WSO2 Governance Registry
>>>>>>>>>>>>>>>>>> Platform TG; WSO2 Inc. http://wso2.com
>>>>>>>>>>>>>>>>>> Contact:
>>>>>>>>>>>>>>>>>> email: sub...@wso2.com
>>>>>>>>>>>>>>>>>> blog:  http://subashsdm.blogspot.com/
>>>>>>>>>>>>>>>>>> twitter: @subash89
>>>>>>>>>>>>>>>>>> phone: +9477 2225922
>>>>>>>>>>>>>>>>>> Lean . Enterprise . Middleware
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> *Janaka Ranabahu*
>>>>>>>>>>>>>>>>> Senior Software Engineer; WSO2 Inc.; http://wso2.com
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> * E-mail: jan...@wso2.com <http://wso2.com>**M: **+94
>>>>>>>>>>>>>>>>> 718370861 <%2B94%20718370861>*
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 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
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> *Ruchira Wageesha**Associate Technical Lead*
>>>>>>>>>>>>>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>>>>>>>>>>>> <http://wso2.com>*
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> *email: ruch...@wso2.com <ruch...@wso2.com>,   blog:
>>>>>>>>>>>>>>> ruchirawageesha.blogspot.com 
>>>>>>>>>>>>>>> <http://ruchirawageesha.blogspot.com>,
>>>>>>>>>>>>>>> mobile: +94 77 5493444 <%2B94%2077%205493444>*
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Dimuthu Leelarathne
>>>>>>>>>>>>>> Architect & Product Lead of App Factory
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> WSO2, Inc. (http://wso2.com)
>>>>>>>>>>>>>> email: dimut...@wso2.com
>>>>>>>>>>>>>> Mobile : 0773661935
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Lean . Enterprise . Middleware
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Sagara Gunathunga
>>>>>>>>>>>>>
>>>>>>>>>>>>> Senior Technical Lead; WSO2, Inc.;  http://wso2.com
>>>>>>>>>>>>> V.P Apache Web Services;    http://ws.apache.org/
>>>>>>>>>>>>> Linkedin; http://www.linkedin.com/in/ssagara
>>>>>>>>>>>>> Blog ;  http://ssagara.blogspot.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> *[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
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Dimuthu Leelarathne
>>>>>>>>>>> Architect & Product Lead of App Factory
>>>>>>>>>>>
>>>>>>>>>>> WSO2, Inc. (http://wso2.com)
>>>>>>>>>>> email: dimut...@wso2.com
>>>>>>>>>>> Mobile : 0773661935
>>>>>>>>>>>
>>>>>>>>>>> Lean . Enterprise . Middleware
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Sanjiva Weerawarana, Ph.D.
>>>>>>>>>> Founder, Chairman & CEO; WSO2, Inc.;  http://wso2.com/
>>>>>>>>>> email: sanj...@wso2.com; office: (+1 650 745 4499 | +94  11 214
>>>>>>>>>> 5345) x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1
>>>>>>>>>> 650 265 8311
>>>>>>>>>> blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva
>>>>>>>>>> Lean . Enterprise . Middleware
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Dimuthu Leelarathne
>>>>>>>>> Architect & Product Lead of App Factory
>>>>>>>>>
>>>>>>>>> WSO2, Inc. (http://wso2.com)
>>>>>>>>> email: dimut...@wso2.com
>>>>>>>>> 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: sub...@wso2.com
>>>>>>>> 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: dimut...@wso2.com
>>>>>>> Mobile : 0773661935
>>>>>>>
>>>>>>> Lean . Enterprise . Middleware
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Dimuthu Leelarathne
>>>>>> Architect & Product Lead of App Factory
>>>>>>
>>>>>> WSO2, Inc. (http://wso2.com)
>>>>>> email: dimut...@wso2.com
>>>>>> Mobile : 0773661935
>>>>>>
>>>>>> Lean . Enterprise . Middleware
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sanjiva Weerawarana, Ph.D.
>>>>> Founder, Chairman & CEO; WSO2, Inc.;  http://wso2.com/
>>>>> email: sanj...@wso2.com; office: (+1 650 745 4499 | +94  11 214 5345)
>>>>> x5700; cell: +94 77 787 6880 | +1 408 466 5099; voip: +1 650 265 8311
>>>>> blog: http://sanjiva.weerawarana.org/; twitter: @sanjiva
>>>>> 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: sub...@wso2.com
>>> 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: sub...@wso2.com
>> 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: sub...@wso2.com
> 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: dimut...@wso2.com
Mobile : 0773661935

Lean . Enterprise . Middleware
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to