metamodel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kasper Sørensen <i.am.kasper.soren...@gmail.com>
Subject Re: [DISCUSS] A MetaModel service/app
Date Mon, 06 Jun 2016 06:42:20 GMT
I've posted my code so far here:
https://github.com/kaspersorensen/metamodel/tree/feature/5.x/rest-api

It's really not done or even very useful yet. But thought to share it
since I realized that I had not had time to work on it as much as I
had hoped. So what is there:
 * A basic webapp setup with Docker and all that stuff just working.
 * A concept of tenants/users who own various data contexts
 * Ability to traverse schemas, tables etc. of the data contexts that
a user owns

What's blatantly missing:
 * Ability to create anything except POJO data contexts.
 * A swagger API definition.
 * Persistence of tenants and their data context definitions.
 * A query endpoint/controller (but this I have created in
https://github.com/kaspersorensen/ApacheBigDataMetaModelExample so it
should be easy to add something similar quickly).
 * Unittests.

If anyone feels like giving any of that a go, would be awesome. I hope
to be contributing some more to this branch before posting it as a PR.
At least making it fully functional.

Best regards,
Kasper


2016-05-24 9:22 GMT-07:00 Kasper Sørensen <i.am.kasper.sorensen@gmail.com>:
> Already +101 then ;-)
>
> Sorry Alberto, I think I then misunderstood your mail from March - I
> though you had in mind to create a client-side DataContext that would
> absorb a(ny) REST interface. Hence I was a bit like "that's nearly
> impossible" in my response. But great that we had the same ideas then!
>
> Regarding where to place it... Somehow I feel a bit like making it
> part of MetaModel because I do think that our "brand" needs to be
> enforced and we should avoid diluting the attention to MetaModel. But
> a marketing person might tell us the opposite is better, I don't know
> :-)
>
> I have a bit of code lying around for something like this, back from
> when I was doing my talk at ApacheCon in Budapest. It's probably not
> going to be what I'd like to contribute, but I will anyway take a look
> if some of it can be reused.
>
> Anyone wants to give a shot at making an Swagger file for API discussion?
>
> 2016-05-23 23:48 GMT-07:00 Du Krøger, Dennis
> <Dennis.DuKroger@humaninference.com>:
>> Sounds like an amazing idea!
>>
>> How would/should it fit into MetaModel? Part of the actual project or as a subproject?
I wouldn't really mind it as a part of MetaModel itself, but I think it might be better as
a subproject, since it is a little bit out of scope for MM itself.
>>
>> BR,
>> Dennis
>>
>> -----Original Message-----
>> From: Alberto Rodriguez [mailto:ardlema@gmail.com]
>> Sent: 24. maj 2016 08:27
>> To: dev@metamodel.apache.org
>> Subject: Re: [DISCUSS] A MetaModel service/app
>>
>> Hi Kasper,
>>
>> this is a great idea and is somehow related to the email I sent in March suggesting
the creation of an API REST module. I think this make a lot of sense and as you said we would
reach a much wider community.
>>
>> So...+100 from me ;)
>>
>> Kind regards,
>>
>> Alberto
>>
>> 2016-05-24 5:07 GMT+02:00 Kasper Sørensen <i.am.kasper.sorensen@gmail.com>:
>>
>>> Hi all,
>>>
>>> I want to share an idea and ask if you think it's something that we
>>> should add to MetaModel.
>>>
>>> I've been having the idea of making a webapp for centralized data
>>> management and federation, based on MetaModel. It would host a set of
>>> RESTful services for registering a datastore and for querying them.
>>> Potentially also for updating them.
>>>
>>> By registering data you would be able to either register connection
>>> information, or simply upload the data and thereby build a new set of
>>> data to be queried. The datastores would have an identifier and would
>>> then be queryable by using that identifier. For example, if the
>>> datastore ID was "myds" then I might access it's schema like this:
>>>
>>> http://hostname/myds/schemas
>>>
>>> And say if it then had schema "PUBLIC" then tables could be accessed a la:
>>>
>>> http://hostname/myds/schemas/PUBLIC/tables
>>>
>>> and so on...
>>> Queries could be fired like this:
>>>
>>> http://hostname/myds/query?sql=SELECT+foo+FROM+mytable
>>>
>>> All of this could be built quite easily IMO, and more importantly
>>> uniformly, using MetaModel.
>>>
>>> I think also updates would/should be possible, although I didn't think
>>> a lot yet about the interface.
>>>
>>> I have faced this need from time to time where different pieces of a
>>> large architecture all need access to the same data. And if those
>>> pieces are not built using the same technology stack, it becomes hard
>>> to share data - except if you pass all the data around between
>>> services. My idea here was to be able to just pass around a datastore
>>> identifier and thus let different services all access the same data.
>>>
>>> From a community perspective, I think this may also help MetaModel a
>>> lot. I have faced many situations where people not coding in Java say
>>> "that's really cool, but it doesn't work with my
>>> [.NET/Python/whatever] stack". If we would offer "MetaModel as a
>>> service" then I think our reach would be a lot wider. Furthermore I
>>> think we should then offer MetaModel as a Docker image and thereby
>>> make it a lot easier for people to quickly try it out and so on.
>>>
>>> What do you all think?
>>>
>>> Best regards,
>>> Kasper
>>>

Mime
View raw message