Felix
  1. Felix
  2. FELIX-3084

Submission of source code for review of software grant for lightweight HTTP service implementation.

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: HTTP Service
    • Labels:

      Description

      This issue is created as part of the process outlined in the "Contributing Source Code" Felix page as suggested by Richard Hall in issue FELIX-538[1]. The source code attached[6] to this issue is an implementation of the OSGi HTTP Service specification version 1.2. The code is based on Richard's original server which is also referenced in FELIX-538, and the remaining code was developed by me, with the exception of a few classes which were adapted from existing Felix sources[2].

      Design constraints for this project were backwards compatibility, simplicity, and size. The code base consists of 23 Java files in 3 packages. The source is divided into "osgi", "server", and "servlet" packages according to the primary purpose of the class, and interfaces are utilized to keep the three domains fairly isolated[3]. The minimal compiled jar which does not include the servlet API or OSGi API currently is 41Kb, and the dependency-free jar with all necessary APIs is 125Kb. An Ant script is provided that will build the jars and a CI server is also available for binary builds[4] and javadocs[5].

      In terms of features the server doesn't offer:
      -HTTPS
      -Authentication
      -Cookie support
      -Session support

      In addition several aspects of the Servlet implementation have not been tested including:
      -Multipart POST
      -DELETE
      -PUT
      -Non-default character encodings

      And as of the submission several Servlet API methods are unimplemented in (all unimplemented methods throw org.apache.felix.http.lightweight.servlet.UnimplementedAPIException):
      -HttpServletRequest(Impl)
      -HttpServletResponse(Impl)

      However the core functionality has been implemented and tested and the Felix Web Admin application can be hosted with this HTTP Service implementation.

      I plan in continuing to use the service in personal and professional projects and would be happy to continue to add unimplemented features and maintain the code base as a Felix committer.

      Thanks!
      Ken Gilmer

      1: https://issues.apache.org/jira/browse/FELIX-538
      2: /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java, /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java
      3: /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java, /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java
      4: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/
      5: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/javadoc/
      6: MD5SUM 47580996a8c364890518222494d4d26b org.apache.felix.http.lightweight-src.tar.gz

      1. GRANT.pdf
        6.11 MB
        Ken Gilmer
      2. org.apache.felix.http.lightweight-src.tar.gz
        37 kB
        Ken Gilmer

        Activity

        Richard S. Hall made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Hide
        Richard S. Hall added a comment -

        This is done. Good work Ken.

        Show
        Richard S. Hall added a comment - This is done. Good work Ken.
        Hide
        Felix Meschberger added a comment -

        Can this be closed now that we have a first release upcoming ?

        Show
        Felix Meschberger added a comment - Can this be closed now that we have a first release upcoming ?
        Hide
        Richard S. Hall added a comment -

        No, nothing to do. It is done and I'll wrap it up this coming week. I was at JavaOne last week, so I didn't really have much time to do other things.

        Show
        Richard S. Hall added a comment - No, nothing to do. It is done and I'll wrap it up this coming week. I was at JavaOne last week, so I didn't really have much time to do other things.
        Hide
        Ken Gilmer added a comment -

        Just checking, anything I need to do for this? It's not clear to me from the review page what the current status is...

        Show
        Ken Gilmer added a comment - Just checking, anything I need to do for this? It's not clear to me from the review page what the current status is...
        Hide
        Richard S. Hall added a comment -

        The IP clearance form is visible now:

        http://incubator.apache.org/ip-clearance/felix-lightweight-httpservice.html

        I've sent a message to request review. After three days, we should be ready to go.

        Show
        Richard S. Hall added a comment - The IP clearance form is visible now: http://incubator.apache.org/ip-clearance/felix-lightweight-httpservice.html I've sent a message to request review. After three days, we should be ready to go.
        Hide
        Richard S. Hall added a comment -

        I think we are ready now. I've created the IP clearance form, so once it propagates to the public web site, then I will announce it to the incubator and then we just have to wait a few days and we are good to go.

        Show
        Richard S. Hall added a comment - I think we are ready now. I've created the IP clearance form, so once it propagates to the public web site, then I will announce it to the incubator and then we just have to wait a few days and we are good to go.
        Hide
        Ken Gilmer added a comment -

        Ok, got it. I've received confirmation that both documents have been received by the foundation.

        Show
        Ken Gilmer added a comment - Ok, got it. I've received confirmation that both documents have been received by the foundation.
        Hide
        Richard S. Hall added a comment -

        As stated in http://incubator.apache.org/ip-clearance/ip-clearance-template.html:

        A software grant must be provided to the ASF. This grant can either be done by the ASF Corporate CLA (via Schedule B) or the traditional License Agreement. Acceptable methods of sending the grant to the ASF includes:

        snail-mail to the ASF office and/or ASF officer
        FAXing to the ASF office and/or an ASF officer
        Emailing the scanned document to secretary@apache.org and legal-archive@apache.org.

        Thanks.

        Show
        Richard S. Hall added a comment - As stated in http://incubator.apache.org/ip-clearance/ip-clearance-template.html: A software grant must be provided to the ASF. This grant can either be done by the ASF Corporate CLA (via Schedule B) or the traditional License Agreement. Acceptable methods of sending the grant to the ASF includes: snail-mail to the ASF office and/or ASF officer FAXing to the ASF office and/or an ASF officer Emailing the scanned document to secretary@apache.org and legal-archive@apache.org. Thanks.
        Hide
        Ken Gilmer added a comment -

        I have attached the signed grant form to this issue. I did not see any directions on where it should go so assumed attaching it here was best. I also sent the signed ICLA PDF to the address specified in the agreement.

        Show
        Ken Gilmer added a comment - I have attached the signed grant form to this issue. I did not see any directions on where it should go so assumed attaching it here was best. I also sent the signed ICLA PDF to the address specified in the agreement.
        Ken Gilmer made changes -
        Attachment GRANT.pdf [ 12496846 ]
        Hide
        Ken Gilmer added a comment -

        Signed Software Grant form.

        Show
        Ken Gilmer added a comment - Signed Software Grant form.
        Hide
        Ken Gilmer added a comment -

        Great news! Ok, I'll do that today.

        Show
        Ken Gilmer added a comment - Great news! Ok, I'll do that today.
        Hide
        Richard S. Hall added a comment -

        Ken, the vote to accept your contribution has passed:

        http://www.mail-archive.com/dev@felix.apache.org/msg23126.html

        If you haven't already filed an ICLA and a Software Grant yet, then do so, since that'll be the next requirement for proceeding.

        Show
        Richard S. Hall added a comment - Ken, the vote to accept your contribution has passed: http://www.mail-archive.com/dev@felix.apache.org/msg23126.html If you haven't already filed an ICLA and a Software Grant yet, then do so, since that'll be the next requirement for proceeding.
        Hide
        Richard S. Hall added a comment -

        I just called a vote. Sorry for the delay, but we just finished up the Felix framework 4.0 release...

        Show
        Richard S. Hall added a comment - I just called a vote. Sorry for the delay, but we just finished up the Felix framework 4.0 release...
        Hide
        Richard S. Hall added a comment -

        I posted a message to the community and they seem receptive, so I'll call a vote on it soon. So far so good.

        Show
        Richard S. Hall added a comment - I posted a message to the community and they seem receptive, so I'll call a vote on it soon. So far so good.
        Hide
        Ken Gilmer added a comment -

        How are we doing on this?

        Show
        Ken Gilmer added a comment - How are we doing on this?
        Hide
        Richard S. Hall added a comment -

        Thanks. Everything looks in order.

        Show
        Richard S. Hall added a comment - Thanks. Everything looks in order.
        Ken Gilmer made changes -
        Description This issue is created as part of the process outlined in the "Contributing Source Code" Felix page as suggested by Richard Hall in issue FELIX-538[1]. The source code attached to this issue is an implementation of the OSGi HTTP Service specification version 1.2. The code is based on Richard's original server which is also referenced in FELIX-538, and the remaining code was developed by me, with the exception of a few classes which were adapted from existing Felix sources[2].

        Design constraints for this project were backwards compatibility, simplicity, and size. The code base consists of 23 Java files in 3 packages. The source is divided into "osgi", "server", and "servlet" packages according to the primary purpose of the class, and interfaces are utilized to keep the three domains fairly isolated[3]. The minimal compiled jar which does not include the servlet API or OSGi API currently is 41Kb, and the dependency-free jar with all necessary APIs is 125Kb. An Ant script is provided that will build the jars and a CI server is also available for binary builds[4] and javadocs[5].

        In terms of features the server doesn't offer:
        -HTTPS
        -Authentication
        -Cookie support
        -Session support

        In addition several aspects of the Servlet implementation have not been tested including:
        -Multipart POST
        -DELETE
        -PUT
        -Non-default character encodings

        And as of the submission several Servlet API methods are unimplemented in (all unimplemented methods throw org.apache.felix.http.lightweight.servlet.UnimplementedAPIException):
        -HttpServletRequest(Impl)
        -HttpServletResponse(Impl)

        However the core functionality has been implemented and tested and the Felix Web Admin application can be hosted with this HTTP Service implementation.

        I plan in continuing to use the service in personal and professional projects and would be happy to continue to add unimplemented features and maintain the code base as a Felix committer.

        Thanks!
        Ken Gilmer

        1: https://issues.apache.org/jira/browse/FELIX-538
        2: /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java, /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java
        3: /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java, /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java
        4: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/
        5: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/javadoc/
          
         
        This issue is created as part of the process outlined in the "Contributing Source Code" Felix page as suggested by Richard Hall in issue FELIX-538[1]. The source code attached[6] to this issue is an implementation of the OSGi HTTP Service specification version 1.2. The code is based on Richard's original server which is also referenced in FELIX-538, and the remaining code was developed by me, with the exception of a few classes which were adapted from existing Felix sources[2].

        Design constraints for this project were backwards compatibility, simplicity, and size. The code base consists of 23 Java files in 3 packages. The source is divided into "osgi", "server", and "servlet" packages according to the primary purpose of the class, and interfaces are utilized to keep the three domains fairly isolated[3]. The minimal compiled jar which does not include the servlet API or OSGi API currently is 41Kb, and the dependency-free jar with all necessary APIs is 125Kb. An Ant script is provided that will build the jars and a CI server is also available for binary builds[4] and javadocs[5].

        In terms of features the server doesn't offer:
        -HTTPS
        -Authentication
        -Cookie support
        -Session support

        In addition several aspects of the Servlet implementation have not been tested including:
        -Multipart POST
        -DELETE
        -PUT
        -Non-default character encodings

        And as of the submission several Servlet API methods are unimplemented in (all unimplemented methods throw org.apache.felix.http.lightweight.servlet.UnimplementedAPIException):
        -HttpServletRequest(Impl)
        -HttpServletResponse(Impl)

        However the core functionality has been implemented and tested and the Felix Web Admin application can be hosted with this HTTP Service implementation.

        I plan in continuing to use the service in personal and professional projects and would be happy to continue to add unimplemented features and maintain the code base as a Felix committer.

        Thanks!
        Ken Gilmer

        1: https://issues.apache.org/jira/browse/FELIX-538
        2: /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java, /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java
        3: /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java, /plain-http-service/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java
        4: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/
        5: https://leafcutter.ci.cloudbees.com/job/lightweight%20http%20service/javadoc/
        6: MD5SUM 47580996a8c364890518222494d4d26b org.apache.felix.http.lightweight-src.tar.gz
         
        Ken Gilmer made changes -
        Field Original Value New Value
        Attachment org.apache.felix.http.lightweight-src.tar.gz [ 12491604 ]
        Hide
        Ken Gilmer added a comment -

        Source code

        Show
        Ken Gilmer added a comment - Source code
        Ken Gilmer created issue -

          People

          • Assignee:
            Unassigned
            Reporter:
            Ken Gilmer
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development