<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
  
  http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
  =======================================================================

   Copyright (c) 2008 The Apache Software Foundation.  
   All rights reserved.

  =======================================================================
-->
  <Project rdf:about="http://zest.apache.org/">
    <created>2008-12-17</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Zest</name>
    <homepage rdf:resource="https://zest.apache.org/" />
    <asfext:pmc rdf:resource="https://zest.apache.org" />
    <shortdesc>Apache Zest is a community based effort exploring Composite Oriented Programming for domain centric application development.</shortdesc>
    <description>Apache Zest is a community based effort exploring Composite Oriented Programming for domain centric application development. This includes evolved concepts from Aspect Oriented Programming, Dependency Injection and Domain Driven Design. Composite Oriented Programming allows developers to work with 'fragments', smaller than classes, and 'compose' fragments into larger 'composites' which acts like the regular objects. Zest also tackles the enforcement of application composition, i.e. composites are declared in modules, modules are contained in layers and access between layers are controlled/enforced. Apache Zest™ (Java Edition), first Apache Zest sub-project, is an implementation of Composite Oriented Programming, using the standard Java platform, without the use of any pre-processors or new language elements. Everything you know from Java still applies and you can leverage both your experience and toolkits to become more productive with Composite Oriented Programming today.</description>    
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/ZEST" />
    <mailing-list rdf:resource="https://www.apache.org/foundation/mailinglists.html" />
    <download-page rdf:resource="https://zest.apache.org/download.html" />
    <programming-language>Java</programming-language>
    <programming-language>C#</programming-language>
    <programming-language>Scala</programming-language>
    <programming-language>Groovy</programming-language>
    <programming-language>JavaScript</programming-language>
    <category rdf:resource="http://projects.apache.org/category/library" />
    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/zest/"/>
        <browse rdf:resource="http://svn.apache.org/viewcvs.cgi/zest/"/>
      </SVNRepository>
    </repository>
    <repository>
      <GitRepository>
        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/zest-java.git"/>
        <browse rdf:resource="https://github.com/apache/zest-java"/>
      </GitRepository>
    </repository>
    <maintainer>
      <foaf:Person>
        <foaf:name>Niclas Hedhman</foaf:name>
          <foaf:mbox rdf:resource="mailto:niclas@apache.org"/>
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
