The MetaWrap Project

81286 lines of C and 310187 lines of C++ so far.. and growing.. :)


  • Testing Framework
  • CRT
  • IPC
  • Audio
  • GL
  • CNI
  • Shell
  • Client
  • VM
  • Server
  • GUI
  • Radon
  • Utils


  • News & Status
  • Daily UnitTests
  • FAQ
  • Reporting Bugs
  • CVS News & Stats
  • View CVS
  • IRC Logs
  • Roadmap
  • R&D Plan
  • Contact


  • Source Code
  • Mailing List
  • Developer Info
  • Miscellaneous

  • Contributors
  • Awards
  • WebStats
  • Sister Projects

  • dotGNU
  • Portable.NET
  • Radon
  • HarvestMan

    Good Reading

  • ShadowFlare
  • One More Monkey
  • What is the MetaWrap Project?

    "I'm an inventor. I became interested in long-term trends because an invention has to make sense in the world in which it is finished, not the world in which it is started."

    Ray Kurzweil

    The MetaWrap Projects is an effort to produce an Open Source/Free Software distributed, object-orientated and extensible application modeling and meta-serving platform that builds upon the award winning MetaWrap FISH project. The project is jointly managed by a group of volunteers located around the world, using the Internet and the Web to communicate, plan, and develop components of the project and its related documentation.

    We have published MetaWrap under the GNU General Public License plus a linking exception that allows third parties to produce and sell commercial plug-ins without having to give away their source code.

    You are invited to participate in The MetaWrap Project. We welcome contributions in many forms.

    What is MetaWrap? - In A NutShell

    In a nutshell. MetaWrap is an object server which can wrap existing data and applications. Once a developer has defined a service within MetaWrap, it can be served or (in the future) translated and uploaded to a target application server, a process we call, meta-serving.


    What is MetaWrap? - In More Detail

    MetaWrap is a middleware platform for connecting or wrapping other pieces of data, software, network services and virtual machines by representing them within an object model, which can then in turn be transcoded in various formats and target platforms. By using a comprehensive plug-in management system to implement handlers for various file formats, protocols, virtual machines, databases and platforms, the programmer can abstractly utilise existing serving, middleware and data storage solutions.

    MetaWrap will eventually be able to transcode objects defined in MetaWrap into a format that will utilise whatever serving, middleware or data storage solution the developer desires. i.e. Design, Build and prove using MetaWrap then Deploy to GNU-E or APACHE/PHP/MSQL, IIS/ASP/ORACLE, Pnet, TOMCAT/JDBC, Mono/, C#/.NET ..etc.

    Its is the intention of the project that the MetaWrap server should be able to represent all of the functionality of traditional application servers by providing a custom framework for object-oriented transaction processing, distributed execution and session management.

    In the end its all about providing choices for the developer.

    What Are The Goals Of The MetaWrap Project
    Objectives... Will Be Achieved by...
    Promote large scale reuse of codebases in existing, legacy and emerging formats. PluginManager model allows for existing code modules to be re-used. VMManager model allows for existing VMs and execution environments to be utilised.
    Improve code quality, By formalising design, testing and documentation stages the code modeling and design system allows for metadata and and automatic generation of documentation and interface specifications as part of the MetaWrap workflow.
    Promote the use of proven design patterns. Object model will contain large number of rich real-world design patterns.
    Be compatible with existing web service models Client will allow for custom protocols to be implemented and existing server _xmlrep operator will allows the server to be interrogated common XML based methods.
    Simplify the issue of integrating different technologies together into a solution. Object model provides a simple layer that hides the ugly technology specific mechanics from the developer. Complex modules in obscure languages are published into the Object model in metawrap's streamlined notation.
    Give developer more choice about deployment platform. Transcoding allows solution to be deployed to different execution environments.

     Link to onemoremonkey LogoCopyright 1999-2002, Massive Technologies James Mc Parlane <>