Model Centric Perl Web Framework

I

Ilias Lazaridis

I am looking for a perl web application framework, and found this
overview here:

https://www.socialtext.net/perl5/web_frameworks

I have two basic requierements:

a) "Model Centric".

"Model Centric" means, that the Model (and thus the OO Classes) is the
central point of development, and that the database is *not* a "point
of development" (or only optional if wanted, e.g. when dealing with a
given db-schema).

If I specify my model, I can then create the underlying database using
automations.

The same is true for CRUD functionality, which should be created
either dynamically at runtime, or via generators - using the classes
and metadata specified in the model.

An ideal implementation would allow me to continue incrementally,
creating automaticly updates of db-schemas and CRUD's, whilst
preserving data and my custom-changes made to the CRUD's.

b) "Authentication Functionality" (Modules / Components)

I would need modules for Open Auth Systems (Opent Auth, Open ID) and
modules for popular sites like facebook, twitter, google etc.

-

Can anyone tell me which framework fullfills the requirement "a" and
ideally requirement "b", too) ?

Thank you in advance.

..
 
I

Ilias Lazaridis

I am looking for a perl web application framework, and found this
overview here:

https://www.socialtext.net/perl5/web_frameworks

I have two basic requierements:

a) "Model Centric".

"Model Centric" means, that the Model (and thus the OO Classes) is the
central point of development, and that the database is *not* a "point
of development" (or only optional if wanted, e.g. when dealing with a
given db-schema).

If I specify my model, I can then create the underlying database using
automations.

The same is true for CRUD functionality, which should be created
either dynamically at runtime, or via generators - using the classes
and metadata specified in the model.

An ideal implementation would allow me to continue incrementally,
creating automaticly updates of db-schemas and CRUD's, whilst
preserving data and my custom-changes made to the CRUD's.

b) "Authentication Functionality" (Modules / Components)

I would need modules for Open Auth Systems (Opent Auth, Open ID) and
modules for popular sites like facebook, twitter, google etc.

-

Can anyone tell me which framework fullfills the requirement "a" and
ideally requirement "b", too) ?

Thank you in advance.

.

Anything here?

I got some info on mojolicious

http://groups.google.com/group/mojolicious/browse_frm/thread/695af4c5ae661d90

..
 
G

George Mpouras

Your question is very generic. For me the simple CGI with some DBI
module is enough.
 
I

Ilias Lazaridis

Your question is very generic. For me the simple CGI with some DBI
module is enough.

the question is quite concrete. I do not ask "what perl webframework
do you prefere" but "which perl webframework is model-centric".

It's sad, if I've really to go through every documentation.
 
R

Rainer Weikusat

[...]
IMHO if you're using an RDBMS just to serialise a handful of objects
you're wasting it: the whole point of SQL is it lets you ask
questions you weren't expecting when you put the data in the
database.

The irony of SQL is that it was designed in order to enable people to
perform complex data analysis tasks without having to learn how to
write programs in an imperative programming language but that it is
mostly used by people who know how to do the latter and are not
exactly keen on learning the former.

[SCNR]
 
I

Ilias Lazaridis

I agree. I only didn't respond because I don't think I've got a good
answer.


IIUC you aren't just looking for something which puts the business logic
in the model (which is simply good practice in an MVC system) but you
more specifically want a system which will generate and update a
database schema out of thin air given only a set of objects to store.

like you write, but "out of the class definition and related meta-
data" (and some version information about the database which the
framework keeps internally)
If you just want a good MVC system, I'd recommend Catalyst. Cat supports
lots of Model classes: the one usually used in the examples is based on
DBIx::Class. DBIC is, I think, exactly what you *aren't* looking for:
while it will generate DDL for you, and it gives you an OO interface to
the database, it will only do so after you've set up a 'schema' which
ends up mostly equivalent to an SQL schema.

Another person wrote: "You may want to look at DBIx::Class which is a
mature and feature-rich Perl ORM that lets you generate your model
classes automatically from your database schema or vice-versa."

So, DBIC need the "schema" section in addition to the class-
definition. I understand.
Perhaps what you want is Catalyst::Model::KiokuDB? I've never used it,
with or without Catalyst[0], but Florian (who appears to be the current
maintainer) certainly knows what he's doing.

ok, will take a look.

Maybe I ask a different way: which existent framework (or ORM) come
nearest to "Model-Centric"?
Ben

[0] and probably wouldn't want to. IMHO if you're using an RDBMS just to
serialise a handful of objects you're wasting it: the whole point of SQL
is it lets you ask questions you weren't expecting when you put the data
in the database. If all the important bits are stuffed into blobs you
might as well have been using BDB or something simple like that from the
start. (In fact, I see KiokuDB supports BDB as a backend...)

I want to use an sql db, in order to be able to switch to other
frameworks, languages etc.
 
I

Ilias Lazaridis

Quoth Ilias Lazaridis said:
Perhaps what you want is Catalyst::Model::KiokuDB? I've never used it,
with or without Catalyst[0], but Florian (who appears to be the current
maintainer) certainly knows what he's doing.
ok, will take a look.
Maybe I ask a different way: which existent framework (or ORM) come
nearest to "Model-Centric"?

As I said, I don't know. It's not a property I would consider desirable,
so it's not something I've looked into.
ok
[0] and probably wouldn't want to. IMHO if you're using an RDBMS justto
serialise a handful of objects you're wasting it: the whole point of SQL
is it lets you ask questions you weren't expecting when you put the data
in the database. If all the important bits are stuffed into blobs you
might as well have been using BDB or something simple like that from the
start. (In fact, I see KiokuDB supports BDB as a backend...)
I want to use an sql db, in order to be able to switch to other
frameworks, languages etc.

Well, in that case, don't you want to put a bit more thought into
designing the DB schema properly?
[...]

No, want to write classes, and get the rest done. Just as within an
OODBMS. I use ORM/SQL just because those OODBMS systems are not that
much available.

Thank you for your for your answers.
 
I

Ilias Lazaridis

Instead of opening a new thread, I post it here, as it's directly
related.

I just refere to php's Doctrine2 ORM because it showcases what I am
looking for

In Doctrine2, you write a usual clall ("Person" in the example). After
this, you declare (via metadata) the mapping. This metadata can be
added in 3 different ways: separate XML file, separate YAML file, or
directly in sources via annotations (my main intrest):

http://symfony.com/doc/2.0/book/doctrine.html

Is there a similar ORM available for perl?

If not, which toolkit (library, product etc.) would come closest to
the functionality mentioned above?

And finally: is there a annotation system/standard available for perl?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,740
Latest member
AdolphBig6

Latest Threads

Top