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