Myco
Encyclopedia
myco is a framework
Application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment ....

 for developing software applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 in the Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

.

Features

The myco is based on microPlatform framework and supports:
  • Object "lifecycle" services:
    • accessors
    • data validation
      Data validation
      In computer science, data validation is the process of ensuring that a program operates on clean, correct and useful data. It uses routines, often called "validation rules" or "check routines", that check for correctness, meaningfulness, and security of data that are input to the system...

    • persistence
      Persistent data structure
      In computing, a persistent data structure is a data structure which always preserves the previous version of itself when it is modified; such data structures are effectively immutable, as their operations do not update the structure in-place, but instead always yield a new updated structure...

    • templates (vaguely akin to java interfaces
      Java Metadata Interface
      Given that metadata is a set of descriptive, structural and administrative data about a group of computer data , Java Metadata Interface is a platform-neutral specification that defines the creation, storage, access, lookup and exchange of metadata in the Java programming language.- History :The...

      )
    • metadata
      Metadata
      The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...

       (a.k.a. introspection
      Type introspection
      In computing, type introspection is a capability of some object-oriented programming languages to determine the type of an object at runtime. This is a notable capability of the Objective-C language, and is a common feature in any language that allows object classes to be manipulated as first-class...

      ), with metadata inheritance
    • role-based access control
      Role-Based Access Control
      In computer systems security, role-based access control is an approach to restricting system access to authorized users. It is used by the majority of enterprises with more than 500 employees, and can be implemented via mandatory access control or discretionary access control...

    • logging
  • Unit testing
    Unit test
    In computer programming, unit testing is a method by which individual units of source code are tested to determine if they are fit for use.A unit is the smallest testable part of an application. In procedural programming a unit could be an entire module but is more commonly an individual function...


  • Several application add-ons are pending for public release, including:
    • Metadata driven user interfaces (a Model-View-Controller
      Model-view-controller
      Model–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...

       implementation, usable in both HTML::Mason and cgi
      Common Gateway Interface
      The Common Gateway Interface is a standard method for web servers software to delegate the generation of web pages to executable files...

       script contexts)
    • An Identity management
      Identity management
      Identity management is a broad administrative area that deals with identifying individuals in a system and controlling access to the resources in that system by placing restrictions on the established identities of the individuals.Identity management is multidisciplinary and covers many...

       Suite, IdentiProv


Initital development of myco took place between 2000 and 2003 at Eastern Nazarene College
Eastern Nazarene College
The Eastern Nazarene College is a private, coeducational college of the liberal arts and sciences in Quincy, Massachusetts near Boston, in the New England region of the United States. Known for its strong religious affiliation, distinctive liberal arts core curriculum, and excellence in science...

. IdentiProv has been in production use at the college since 2003.

External links

  • myco distribution on the Comprehensive Perl Archive Network
    CPAN
    CPAN, the Comprehensive Perl Archive Network, is an archive of nearly 100,000 modules of software written in Perl, as well as documentation for it. It has a presence on the World Wide Web at and is mirrored worldwide at more than 200 locations...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK