[EVALUATION] - E02 - Nitro, a Ruby Based WebFramework

[EVALUATION] - E01: The Java Failure - May Ruby Helps?
http://groups-beta.google.com/group/comp.lang.ruby/msg/a19cd745a209b91a

···

-

[I ask the Community friendly to not intervene with off-topic postings.
Of course I cannot demand that anyone keeps those essential usenet rule. As a reminder, the standard off-topic marker is "[OT]"]

-

I got an very intresting answer to my evaluation-stack within the
nitro-general mailinglist.

I like to ask Mr. George Moschovitis to take the effort to repeat his
answer here in c.l.ruby.

I've copied the current version for your convenience into this message.

[please, if it is possible, do not delete parts of the text, but answer simple with "not-available" or similar]

-

jamStack - Technology Collection

[V0.4 - draft]

This is the main page of the fictive technology collection jamStack,
which serves as an evaluation template for real live technology and
tools collections.
IDE

An IDE is not contained in this technology stack. An IDE supports this
technology stack (and possibly adds/enhances some of the functionality).
Analysis&Design

     * OOAD - Think, Analyze and Design in a straight Object [or
component] Oriented
       way
     * Use of metadata within the design (on text level [code file])
     * Fully synchronized Code level and/or Visual design.

Code Generators

     * Use of predefined and user defined code generators

Deployment

     * Initial design runs on local client.
     * Ability to transform design to run on higher grade systems
           o High Load Systems (load balancing, clustering )
           o large scale OODBMS
     * Ability to transform design to run on embedded devices.

Persistency

[An evaluation template for ObjectRelationalMapper (ORM) can be found
within jamORM.]

     * Persitency layer results directly out of the Object Model
     * No need to deal with persitency tools, xml-config-files etc.
     * Provides persistence-design-metadata
           o accessible by code-generators
           o accessible by runtime
     * Flexible Technology usage
           o RDBMS or OODBMS
           o Embedded within app
           o or on seperate server
     * Easy migration mechanisms
           o Technology A to B
           o Vendor A to B

Security

     * Flexible security system
           o Security inheritance
           o Plugable security systems
     * Supports several encryption strengths

GUI / Webinterface

     * Exchangeable GUI System
     * GUI is decoupled from Business Objects
     * Automated creation of Objects [Components] webinterfaces
           o display Objects
           o create Objects
           o edit Objects

Visual Modeling

     * Use of UML to model the design
     * Code level defined metadata is available/editable within UML tool
     * Uses same code-generators that are used within IDE / Command-Line

Automation

     * All production steps should be automated or semi-automated.
     * Automation is based on user-defined rule-systems.
     * Manual processing can always override automations.

License and Standards Requirements

The combined technologies include one or more programming languages and
should fulfill whenever possible the following prioritized basic
requirements:

[For programming languages: at minimum the "execution environment" or
"runtime".]

     * Based on Open Source (FSF freedom, OSI extensibility)
     * Based on Open Standards
     * Platform independent
     * Language neutral

Examples

     * ODMG - object persistence
     * CORBA - distributed systems
     * ...

..

--
http://lazaridis.com

[V0.4 - draft]

This is the main page of the fictive technology collection jamStack,
which serves as an evaluation template for real live technology and
tools collections.
IDE

An IDE is not contained in this technology stack. An IDE supports this
technology stack (and possibly adds/enhances some of the functionality).
Analysis&Design

what are you trying to accomplish?

Ari

Ilias Lazaridis wrote:
[...]

I got an very intresting answer to my evaluation-stack within the
nitro-general mailinglist.

I apologize for not providing pointers, giving this way the foundation for some missunderstandings.

···

-

I refered to this message [which was a reply to a private conversation]:

http://rubyforge.org/pipermail/nitro-general/2005-February/000022.html

-

I refered to this project:

http://rubyforge.org/projects/nitro/

..

--
http://lazaridis.com

Ilias Lazaridis wrote:
[...]

to boost the process, I'll fill the given answers:

http://rubyforge.org/pipermail/nitro-general/2005-February/000022.html

into the template.

The discussed technology is this one:

http://rubyforge.org/projects/nitro/

···

-

jamStack - Technology Collection

[V0.4 - draft]

This is the main page of the fictive technology collection jamStack,
which serves as an evaluation template for real live technology and
tools collections.
IDE

An IDE is not contained in this technology stack. An IDE supports this
technology stack (and possibly adds/enhances some of the functionality).

Nitro/Og does not provide or require an IDE. You can use the IDE
that suits you.

Analysis&Design

    * OOAD - Think, Analyze and Design in a straight Object [or
component] Oriented way

Supported

    * Use of metadata within the design (on text level [code file])

Supported

    * Fully synchronized Code level and/or Visual design.

Not available

Code Generators

    * Use of predefined and user defined code generators

Supported at run time or development time, Nitro/Og generates most
of the code for you.

Deployment

    * Initial design runs on local client.

Supported (Webrick, SQLite3)

    * Ability to transform design to run on higher grade systems
          o High Load Systems (load balancing, clustering )
          o large scale OODBMS

Supported (FastCGI, Postgresql, Oracle)

    * Ability to transform design to run on embedded devices.

Partially supported (Webrick, Ruby on WinCE)

Persistency

[An evaluation template for ObjectRelationalMapper (ORM) can be found
within jamORM.]

    * Persitency layer results directly out of the Object Model

Supported (Og)

    * No need to deal with persitency tools, xml-config-files etc.

No configuration at all, use standard Ruby objects.

    * Provides persistence-design-metadata
          o accessible by code-generators
          o accessible by runtime

Supported (prop_accessor mechanism)

    * Flexible Technology usage
          o RDBMS or OODBMS
          o Embedded within app
          o or on seperate server

Supported, Og uses RDBMS backends to emulate an OODB environment.

    * Easy migration mechanisms
          o Technology A to B
          o Vendor A to B

You can switch backends (for example go from Mysql to Postgres) by
changinf a single line.

Security

    * Flexible security system
          o Security inheritance
          o Plugable security systems
    * Supports several encryption strengths

GUI / Webinterface

    * Exchangeable GUI System
    * GUI is decoupled from Business Objects
    * Automated creation of Objects [Components] webinterfaces
          o display Objects
          o create Objects
          o edit Objects

Visual Modeling

    * Use of UML to model the design
    * Code level defined metadata is available/editable within UML tool
    * Uses same code-generators that are used within IDE / Command-Line

Automation

    * All production steps should be automated or semi-automated.
    * Automation is based on user-defined rule-systems.
    * Manual processing can always override automations.

Automation / Code generation is the main feature.

License and Standards Requirements

BSD licence

The combined technologies include one or more programming languages and
should fulfill whenever possible the following prioritized basic
requirements:

[For programming languages: at minimum the "execution environment" or
"runtime".]

    * Based on Open Source (FSF freedom, OSI extensibility)
    * Based on Open Standards
    * Platform independent
    * Language neutral

Examples

    * ODMG - object persistence
    * CORBA - distributed systems
    * ...

..

--
http://lazaridis.com

Wow, I actually predicted this post in another thread. Nitro vs ruby is clearly
his aim.

Ari : Hes trying to accomplish what all trolls aim for - grief.

···

On Fri, 18 Feb 2005 06:54:05 +0900, Aredridel <aredridel@gmail.com> wrote:

>
> [V0.4 - draft]
>
> This is the main page of the fictive technology collection jamStack,
> which serves as an evaluation template for real live technology and
> tools collections.
> IDE
>
> An IDE is not contained in this technology stack. An IDE supports this
> technology stack (and possibly adds/enhances some of the functionality).
> Analysis&Design

what are you trying to accomplish?

Ari

--
spooq

Ilias Lazaridis wrote [the answers given on nitro-devel]:

Ilias Lazaridis wrote:

[...]

jamStack - Technology Collection

[V0.4 - draft]

This is the main page of the fictive technology collection jamStack,
which serves as an evaluation template for real live technology and
tools collections.
IDE

An IDE is not contained in this technology stack. An IDE supports this
technology stack (and possibly adds/enhances some of the functionality).

Nitro/Og does not provide or require an IDE. You can use the IDE
that suits you.

ok

Analysis&Design

    * OOAD - Think, Analyze and Design in a straight Object [or
component] Oriented way

Supported

ok.

I assume that designing is based on standard ruby objects.

Or did you use any form of an component-model?

    * Use of metadata within the design (on text level [code file])

Supported

Which metadata mechanism do you use?

How is this metadata stored?

    * Fully synchronized Code level and/or Visual design.

Not available

See further below.

Code Generators

    * Use of predefined and user defined code generators

Supported at run time or development time, Nitro/Og generates most
of the code for you.

What mechanism does nitro use for the codegeneration?

   * a standard / third party one?
   * an own implementation?

Deployment

    * Initial design runs on local client.

Supported (Webrick, SQLite3)

http://www.webrick.org/

    * Ability to transform design to run on higher grade systems
          o High Load Systems (load balancing, clustering )

>> o large scale OODBMS
[INSERTED]
>> o large scale RDBMS
[/INSERTED]

Supported (FastCGI, Postgresql, Oracle)

This answer referes to RDBMS.
I have corrected the document to contain both (RDBMS, OODBMS).

http://lazaridis.com/case/stack/index.html#deployment

I assume at this point that nitro does not support OODBMS bindings.

    * Ability to transform design to run on embedded devices.

Partially supported (Webrick, Ruby on WinCE)

ok

Persistency

[An evaluation template for ObjectRelationalMapper (ORM) can be found
within jamORM.]

    * Persitency layer results directly out of the Object Model

Supported (Og)

ok

a question:

Changes to the object-model are trasfered down to the relational database schema in an automated way?

    * No need to deal with persitency tools, xml-config-files etc.

No configuration at all, use standard Ruby objects.

ok

[how is the metadata entered/encoded/stored, see further above]

    * Provides persistence-design-metadata
          o accessible by code-generators
          o accessible by runtime

Supported (prop_accessor mechanism)

I assume "prop_accessor" is a standard-ruby-mechanism.

    * Flexible Technology usage
          o RDBMS or OODBMS
          o Embedded within app
          o or on seperate server

Supported, Og uses RDBMS backends to emulate an OODB environment.

ok

    * Easy migration mechanisms
          o Technology A to B
          o Vendor A to B

You can switch backends (for example go from Mysql to Postgres) by
changinf a single line.

does this switch include:
  * automated schema-migration
  * automated data-migration

Security

    * Flexible security system
          o Security inheritance
          o Plugable security systems
    * Supports several encryption strengths

Does Nitro/Og provide any security mechanisms?

GUI / Webinterface

    * Exchangeable GUI System

I assume that a local GUI (like GTK etc.) is not supported.

Can you estimate the effort to decouple the GUI subsystem?

    * GUI is decoupled from Business Objects
    * Automated creation of Objects [Components] webinterfaces
          o display Objects
          o create Objects
          o edit Objects

Any automation provided to create standard CRUD (Create, Read, Update, Delete) GUI's?

Visual Modeling

    * Use of UML to model the design
    * Code level defined metadata is available/editable within UML tool
    * Uses same code-generators that are used within IDE / Command-Line

Nitro deals mostly with Ruby Objects.

Visual Design via any UML tool, which support user implementable code-generators/parsers should be possible.

Please correct me, if I've overseen somethin.

A question:

   can I call the Nitro/Og code-generation tools via the command-line?

Automation

    * All production steps should be automated or semi-automated.
    * Automation is based on user-defined rule-systems.
    * Manual processing can always override automations.

Automation / Code generation is the main feature.

ok

License and Standards Requirements

BSD licence

What are the main characteristics of the BSD license?

e.g.: Does it allow close-source propietary extesions?

The combined technologies include one or more programming languages and
should fulfill whenever possible the following prioritized basic
requirements:

[For programming languages: at minimum the "execution environment" or
"runtime".]

    * Based on Open Source (FSF freedom, OSI extensibility)
    * Based on Open Standards
    * Platform independent
    * Language neutral

Examples

    * ODMG - object persistence
    * CORBA - distributed systems
    * ...

..

···

--
http://lazaridis.com

not too sure to be honest.
i'm guessing he's so full of buzzwords and
"enabling technologies" that we're having
difficulty really understanding what he wants :wink:
the response from george on nitro-general
was actually interesting :slight_smile: thusly proving
how nice the community really are :slight_smile:
Alex

···

On Feb 18, 2005, at 2:45 AM, Luke Graham wrote:

Wow, I actually predicted this post in another thread. Nitro vs ruby is clearly
his aim.

Ari : Hes trying to accomplish what all trolls aim for - grief.

On Fri, 18 Feb 2005 06:54:05 +0900, Aredridel <aredridel@gmail.com> > wrote:

[V0.4 - draft]

This is the main page of the fictive technology collection jamStack,
which serves as an evaluation template for real live technology and
tools collections.
IDE

An IDE is not contained in this technology stack. An IDE supports this
technology stack (and possibly adds/enhances some of the functionality).
Analysis&Design

what are you trying to accomplish?

Ari

--
spooq

Except that Nitro is written in ruby :slight_smile:

martin

···

Luke Graham <spoooq@gmail.com> wrote:

Wow, I actually predicted this post in another thread. Nitro vs ruby
is clearly his aim.

Quite apart from Austin's rant on the fundamental brokenness of the
OODBMS concept, might there not be an impedance mismatch between the
DBMS's notion of an object and the language's? Singleton methods are the
simplest example I can think of in the Ruby case, but I'm sure there
are others.

martin

···

Ilias Lazaridis <ilias@lazaridis.com> wrote:

>
> Supported (FastCGI, Postgresql, Oracle)

This answer referes to RDBMS.
I have corrected the document to contain both (RDBMS, OODBMS).

http://lazaridis.com/case/stack/index.html#deployment

I assume at this point that nitro does not support OODBMS bindings.

>> License and Standards Requirements
>
> BSD licence

What are the main characteristics of the BSD license?

e.g.: Does it allow close-source propietary extesions?

Surely you are capable of looking this up yourself?

Have a read: http://www.opensource.org/licenses/bsd-license.php

Or maybe use Google and type in words like BSD license overview ...

Ilias Lazaridis wrote:

Ilias Lazaridis wrote [the answers given on nitro-devel]:

[...]

Deployment

    * Initial design runs on local client.

Supported (Webrick, SQLite3)

http://www.webrick.org/

http://www.sqlite.org/

[...]

..

···

--
http://lazaridis.com

Ilias,

can you please contact me *privately* through email and I 'll answer
your questions. Please dont spam this list. This will get you nowhere.
Thanks in advance.

regards,
George.

Im investigating nitro myself now, so trolls can be a catalyst for
good as much as for evil. They just cause people to show their
true selves. Hes stimulated lots of useful conversation
here so far, which has got to be the ultimate proof that ruby
programmers have only good in their hearts. :smiley:

···

On Fri, 18 Feb 2005 11:19:07 +0900, Alexander Kellett <ruby-lists@lypanov.net> wrote:

not too sure to be honest.
i'm guessing he's so full of buzzwords and
"enabling technologies" that we're having
difficulty really understanding what he wants :wink:
the response from george on nitro-general
was actually interesting :slight_smile: thusly proving
how nice the community really are :slight_smile:
Alex

On Feb 18, 2005, at 2:45 AM, Luke Graham wrote:
> Wow, I actually predicted this post in another thread. Nitro vs ruby
> is clearly
> his aim.
>
> Ari : Hes trying to accomplish what all trolls aim for - grief.
>
>
> On Fri, 18 Feb 2005 06:54:05 +0900, Aredridel <aredridel@gmail.com> > > wrote:
>>>
>>> [V0.4 - draft]
>>>
>>> This is the main page of the fictive technology collection jamStack,
>>> which serves as an evaluation template for real live technology and
>>> tools collections.
>>> IDE
>>>
>>> An IDE is not contained in this technology stack. An IDE supports
>>> this
>>> technology stack (and possibly adds/enhances some of the
>>> functionality).
>>> Analysis&Design
>>
>> what are you trying to accomplish?
>>
>> Ari
>>
>>
>
>
> --
> spooq

--
spooq

i take this back i read some of the various
postings from mr Lazaridis that google has
kindly provided me with

insult counts
   ilias: uncountable, probably asymptotic over time
   world: < 100

ilias you're making no friends here
stop being rude you'll just go through
yet another community

the fact is, that you've made some very good
points on very many forums. but interleaving
them with personal insults and then accusing
kind informative posters of being off topic
when they merely try to help...

well. the term is "hate mongering"

Alex

···

On Feb 18, 2005, at 3:19 AM, Alexander Kellett wrote:

not too sure to be honest.
i'm guessing he's so full of buzzwords and
"enabling technologies" that we're having
difficulty really understanding what he wants :wink:
the response from george on nitro-general
was actually interesting :slight_smile: thusly proving
how nice the community really are :slight_smile:
Alex

On Feb 18, 2005, at 2:45 AM, Luke Graham wrote:

Wow, I actually predicted this post in another thread. Nitro vs ruby is clearly
his aim.

Ari : Hes trying to accomplish what all trolls aim for - grief.

On Fri, 18 Feb 2005 06:54:05 +0900, Aredridel <aredridel@gmail.com> >> wrote:

[V0.4 - draft]

This is the main page of the fictive technology collection jamStack,
which serves as an evaluation template for real live technology and
tools collections.
IDE

An IDE is not contained in this technology stack. An IDE supports this
technology stack (and possibly adds/enhances some of the functionality).
Analysis&Design

what are you trying to accomplish?

Ari

--
spooq

I thought he was talking about the nitro programming language?

···

On Fri, 18 Feb 2005 14:39:47 +0900, Martin DeMello <martindemello@yahoo.com> wrote:

Luke Graham <spoooq@gmail.com> wrote:
> Wow, I actually predicted this post in another thread. Nitro vs ruby
> is clearly his aim.

Except that Nitro is written in ruby :slight_smile:

martin

--
spooq

Alexander Kellett wrote:

not too sure to be honest.
i'm guessing he's so full of buzzwords and
"enabling technologies" that we're having
difficulty really understanding what he wants :wink:
the response from george on nitro-general
was actually interesting :slight_smile: thusly proving
how nice the community really are :slight_smile:
Alex

The nitro-response showed the easiest way to answer to such an request.

..

···

--
http://lazaridis.com

Generally speaking, yes. The only OODBMS systems that will work well
with a particular language and said language's object model are
those written in that language. Generally, one won't be able to
effectivly use a Java OODBMS from a C++ program -- you need to have
the C++ implementation of the OODBMS.

The Prevalence model (Madaleine, etc.) is an OODBMS for Ruby.
There's also a few others, e.g., GOOD.

-austin

···

On Sun, 20 Feb 2005 07:14:43 +0900, Martin DeMello <martindemello@yahoo.com> wrote:

Ilias Lazaridis <ilias@lazaridis.com > wrote:

Supported (FastCGI, Postgresql, Oracle)

This answer referes to RDBMS. I have corrected the document to
contain both (RDBMS, OODBMS).

http://lazaridis.com/case/stack/index.html#deployment

I assume at this point that nitro does not support OODBMS
bindings.

Quite apart from Austin's rant on the fundamental brokenness of
the OODBMS concept, might there not be an impedance mismatch
between the DBMS's notion of an object and the language's?
Singleton methods are the simplest example I can think of in the
Ruby case, but I'm sure there are others.

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

Robert McGovern wrote:
[...]

Surely you are capable of looking this up yourself?

This is a simple conversation, which I make in public instead within closed email, thus others can benefit from it.

I'll await the concrete answers.

Have a read: http://www.opensource.org/licenses/bsd-license.php

Thank you for the link.

Or maybe use Google and type in words like BSD license overview ...

..

···

--
http://lazaridis.com

George Moschovitis wrote:

Ilias,

can you please contact me *privately* through email and I 'll answer
your questions.

you can simply write an answer, and direct it to me via email.

But I prefere public conversation, especially when talking about open projects.

Another possibility would be, to continue this on the nitro mailinglist.

Please dont spam this list.

You should overthink this statement.

I do not spam this list.

Several people spam the threads that I've opened.

Anyone is freeto to ignore (or to filter) this thread.

Spamming is something very different.

This will get you nowhere.

Your rating of my process has no relevance.

Thanks in advance.

regards,
George.

I'm awaiting your response to my questions, either (as natural) in this thread, or via private email.

..

···

--
http://lazaridis.com

Sounds about right. The list of boards, user groups, news groups and
websites that this guy has been shunned from is astonishing.

On the brighter side... He did pick Ruby as his next "target", and
there's a part of me that thinks the Ruby community should feel
honored :slight_smile:

It's sort of like thinking you're in this small hidden outpost that
nobody's ever heard of, then rumor spreads that Ghengis Kahn plans to
invade (almost Godwin'd myself there). Certainly it's a sign that
"Ruby has arrived!" :slight_smile:

···

On Fri, 18 Feb 2005 11:30:49 +0900, Alexander Kellett <ruby-lists@lypanov.net> wrote:

i take this back i read some of the various
postings from mr Lazaridis that google has
kindly provided me with

insult counts
   ilias: uncountable, probably asymptotic over time
   world: < 100

ilias you're making no friends here
stop being rude you'll just go through
yet another community

the fact is, that you've made some very good
points on very many forums. but interleaving
them with personal insults and then accusing
kind informative posters of being off topic
when they merely try to help...

well. the term is "hate mongering"

--
Bill Guindon (aka aGorilla)