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?
See further below.
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 configuration at all, use standard Ruby objects.
ok
[how is the metadata entered/encoded/stored, see further above]
Supported (prop_accessor mechanism)
I assume "prop_accessor" is a standard-ruby-mechanism.
Supported, Og uses RDBMS backends to emulate an OODB environment.
ok
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
Does Nitro/Og provide any security mechanisms?
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?
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 / Code generation is the main feature.
ok
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
* ...
..