richard jackson wrote:
After I finish off learning what I need to know about felix I want to tackle
writing a OSGi HTTP Service bundle. But I have a few questions about what
can be included in this bundle if I want to contribute it to Felix:

1) Can it contain out side code? In particular I'm thinking about Grizzly (
https://grizzly.dev.java.net/ ). This is the front end used in both Jetty
and GlassFish which means it is already heavily tested and why reinvent the
wheel if I don't have to. The potential problem is that it is under the CDDL
and was not sure if that License is ok for a Apache project.

Yes, it can contain outside code, however, the CDDL license isn't the best. If you are talking about just having a dependency on the Grizzly JAR file, then that should be ok. See:

   http://www.apache.org/legal/3party.html

2) Is there a problem with extending the spec for this? For instance can I
expose a spec compliant service but also expose a enhanced service? Kind of
like what the Pax Web bundle does (see
http://wiki.ops4j.org/confluence/display/ops4j/Pax+Web+-+Http+Service+Extensions).

No, there is no problem with that.

3) Can I use iPOJO for the service? Or do I need to just do it myself? This
is not a issue I was just wondering as again why code it up by hand if I can
just get iPOJO to do it for me. But then again maybe iPOJO can't do what I
will need for HTTP Service ( I'm still learning what it can do still haven't
got far enough to know what it can't do )

You can certainly use iPOJO. And if iPOJO can't do what you want, please provide feedback and let us know so we can see if it is missing something.

4) The spec states that the HTTP Service must implement at least Servlet
spec 2.1 (If I remember correctly that is) whould implementing Servlet Spec
2.5 satisfy the requirement? Yea I know maybe a stupid question but still
wanted to ask as I don't want to wast my research time if I don't have to.
Want to get the spec part done first before trying to do the added stuff I
want/need. If I have to do Servlet spec 2.1 does anyone know where I can
find the spec. I have only been able to find 2.3 and newer.

Well, there has been a lot of discussion about this. I think the official stance is that it must be 2.1, but it is not 100% clear why this must be if the APIs are backwards compatible. Personally, I wouldn't worry too much about it if I were you. I would just try to make it work like the spec says. As long as it works with bundles written against the HTTP Service spec, then that's all that probably matters.

I'll have more questions as I look into doing this but for now that covers
the basics. (I have packaging questions as well but those questions depend
on answers to some of the questions)

In the end, as Rob mentioned, we do have an HTTP Service and there is also Pax Web, so you may want to look at contributing to these rather than starting from scratch. However, if you are interested in learning about it and doing it yourself, then go ahead, I wouldn't mind a real-world example available for iPOJO. :-)

-> richard

Thanks
Richard Jackson

Reply via email to