commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/appserver/doc/whitepaper whitepaper.texi


From: Jason Cater
Subject: gnue/appserver/doc/whitepaper whitepaper.texi
Date: Tue, 21 Jan 2003 01:59:42 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    03/01/21 01:59:17

Modified files:
        appserver/doc/whitepaper: whitepaper.texi 

Log message:
        minor grammar and punctuation corrections

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/doc/whitepaper/whitepaper.texi.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: gnue/appserver/doc/whitepaper/whitepaper.texi
diff -c gnue/appserver/doc/whitepaper/whitepaper.texi:1.6 
gnue/appserver/doc/whitepaper/whitepaper.texi:1.7
*** gnue/appserver/doc/whitepaper/whitepaper.texi:1.6   Sat Nov 23 15:53:40 2002
--- gnue/appserver/doc/whitepaper/whitepaper.texi       Tue Jan 21 01:59:17 2003
***************
*** 30,36 ****
  @author Reinhard M@"uller
  @page
  @vskip 0pt plus 1filll
! Copyright @copyright{} 2002 Free Software Foundation
  
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.1
--- 30,36 ----
  @author Reinhard M@"uller
  @page
  @vskip 0pt plus 1filll
! Copyright @copyright{} 2002-2003 Free Software Foundation
  
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.1
***************
*** 79,103 ****
  GNUe Appserver must be GPL and must be built with truly free tools.
  
  @item Stability
! GNUe Appserver must be reasonable stable. For a mission-critical
! application in a business, reasonable stable means very stable.
  
  @item Security
! GNUe Appserver must be reasonable secure.
  
  @item Maintainability
  The code base of GNUe Appserver itself must be and remain maintainable
  by the development team, and the code must be clear enough to allow
! interested programmers to adapt it, fix bugs or even take over maintenance
  of a part of Appserver.
  
  @item Configurability
  GNUe Appserver must be configurable and reconfigurable dynamically, centrally,
! without programming skills, without downtime, and in seperate "layers"
  for various levels of specification.
  
  @item Performance
! GNUe Appserver must perform reasonably with large quantities of users
  and/or data.
  
  @item Database Independence
--- 79,103 ----
  GNUe Appserver must be GPL and must be built with truly free tools.
  
  @item Stability
! GNUe Appserver must be reasonably stable. For a mission-critical
! application in a business environment, reasonably stable means very stable.
  
  @item Security
! GNUe Appserver must be reasonably secure.
  
  @item Maintainability
  The code base of GNUe Appserver itself must be and remain maintainable
  by the development team, and the code must be clear enough to allow
! interested programmers to adapt it, fix bugs, or even take over maintenance
  of a part of Appserver.
  
  @item Configurability
  GNUe Appserver must be configurable and reconfigurable dynamically, centrally,
! without programming skills, without downtime, and in separate "layers"
  for various levels of specification.
  
  @item Performance
! GNUe Appserver must perform reasonably well with large quantities of users
  and/or data.
  
  @item Database Independence
***************
*** 123,131 ****
  
  @section Business Objects
  
! GNUe Appserver allows definition of data entities (for example name and
  address of a customer) and of program code to perform on such entities
! (for example how to build the address line from country, zipcode and city).
  
  The combination of a data entity with all code functions that can be performed
  on the entity is called a @dfn{business object}.
--- 123,131 ----
  
  @section Business Objects
  
! GNUe Appserver allows definition of data entities (for example, name and
  address of a customer) and of program code to perform on such entities
! (for example, how to build the address line from country, zipcode, and city).
  
  The combination of a data entity with all code functions that can be performed
  on the entity is called a @dfn{business object}.
***************
*** 176,195 ****
  @section Procedures
  
  A procedure is code performed on an object. Procedures can have parameters
! of any attribute type (string, number, reference, etc.). Every method has
! the paramter @dfn{self}, that is the object to operate on, as a parameter.
  
  @section Modules
  
  Modules define namespaces for classes, properties, and procedures. When
! module A defines a class and some properties and procedures for the class,
! module B can extend the class with new properties. Another module C can
! independently extend the class, without taking care about not using the
! same property names as module B, because all modules have their own namespace.
  
  @section Qualified class, property and procedure names
  
! Class, property and procedure names can be preceded by a module name to
  override the current module context. In this case, the module name is
  separated by an underscore (_). This results in the rule that neither
  a module name nor a class, property or procedure name may contain an
--- 176,195 ----
  @section Procedures
  
  A procedure is code performed on an object. Procedures can have parameters
! of any attribute type (string, number, reference, etc.). Every method is 
passed
! a parameter, @dfn{self}, that identifies the object to operate on.
  
  @section Modules
  
  Modules define namespaces for classes, properties, and procedures. When
! module A defines a class with various properties and procedures,
! module B can extend the class with new properties. Another module, C, can
! independently extend the same class, without fear of conflicting with module 
B. 
! All modules have their own namespace.
  
  @section Qualified class, property and procedure names
  
! Class, property, and procedure names can be preceded by a module name to
  override the current module context. In this case, the module name is
  separated by an underscore (_). This results in the rule that neither
  a module name nor a class, property or procedure name may contain an
***************
*** 232,241 ****
  @code{sales_lastInvoice.number} is the number of the last invoice of the
  customer. We could call that an @dfn{indirect property}.
  
! @code{sales_lastInvoice.items} is an indirect property, which is a list
! property.
  
! And if yet another module "acct" extends the invoice_header class by a
  property "paid", then
  
  @code{sales_lastInvoice.acct_paid} could be a boolean property that tells you
--- 232,240 ----
  @code{sales_lastInvoice.number} is the number of the last invoice of the
  customer. We could call that an @dfn{indirect property}.
  
! @code{sales_lastInvoice.items} is an indirect list property.
  
! And if yet another module, "acct", extends the invoice_header class by a
  property "paid", then
  
  @code{sales_lastInvoice.acct_paid} could be a boolean property that tells you
***************
*** 246,253 ****
  @section Bound Procedures
  
  @dfn{Bound procedures} are procedures that are automatically called upon
! occurance of defined @dfn{events}, for example on every change of a
! specific property, or before a commit of a changed object.
  
  Bound procedures are always procedures of the object where the event occurs.
  Because every module can extend any class with a procedure of arbitary name,
--- 245,252 ----
  @section Bound Procedures
  
  @dfn{Bound procedures} are procedures that are automatically called upon
! occurance of defined @dfn{events}; for example, on every change of a
! specific property or before a commit of a changed object.
  
  Bound procedures are always procedures of the object where the event occurs.
  Because every module can extend any class with a procedure of arbitary name,
***************
*** 338,344 ****
  Interface to check whether the connected user may access this class.
  
  @item
! If both is OK, the Object Server translates a class name into a table name.
  This will include adding a prefix to enable different application modules
  to have their own namespace.
  
--- 337,343 ----
  Interface to check whether the connected user may access this class.
  
  @item
! If both are OK, the Object Server translates the class name into a table name.
  This will include adding a prefix to enable different application modules
  to have their own namespace.
  
***************
*** 360,366 ****
  Eventually, the Data Interface will support creating and extending tables
  "on the fly", which means that reading a recordset with attributes that
  don't exist in the database will automagically add the missing columns to
! the table.  This will of course be parameterized.
  
  The Data Interface operates strictly on a table/row interface and doesn't
  know anything about objects, properties and procedures.
--- 359,366 ----
  Eventually, the Data Interface will support creating and extending tables
  "on the fly", which means that reading a recordset with attributes that
  don't exist in the database will automagically add the missing columns to
! the table.  This will, of course, be an optional feature that can be turned 
! off.
  
  The Data Interface operates strictly on a table/row interface and doesn't
  know anything about objects, properties and procedures.
***************
*** 376,382 ****
  The Code Adapter will abstract the calls to business methods written in
  the different languages.
  
! Python will be the only language to support here for probably a long time.
  
  The Code Adapter, or at least parts of it, will reside in GNUe Common.
  
--- 376,382 ----
  The Code Adapter will abstract the calls to business methods written in
  the different languages.
  
! Python will be the only language supported for the near future. 
  
  The Code Adapter, or at least parts of it, will reside in GNUe Common.
  
***************
*** 457,468 ****
  Interface.
  
  For example, the Python Language Interface (which will be the first one
! to be implemented) lets you access business objects just like they were
  normal Python objects.  Procedures written in Python will use this
  interface to access business objects in a rather straightforward way.
! But also other parts of the Application Server can use the Language Interface,
! if they want to access business objects, for example the system objects
! defining classes or access rights.
  
  @raisesections
  
--- 457,468 ----
  Interface.
  
  For example, the Python Language Interface (which will be the first one
! implemented) lets you access business objects as if they are
  normal Python objects.  Procedures written in Python will use this
  interface to access business objects in a rather straightforward way.
! Other parts of the Application Server, such as system objects defining 
! classes or access rights, can also use the Language Interface 
! to access business objects.
  
  @raisesections
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]