Hi Wayne, I am using Aries JAX-RS whiteboard for REST. It works pretty well. Implementing a REST service is only part of the solution for a full cloud native microservice. I want to build an easy to replicate example for a microservice that is integrated with all the goodies you need in the cloud. You can take a look at the current state in: https://github.com/cschneider/osgi-best-practices
Some of the solutions like the prometheus support are still a bit limited. Ideally I would like to have a MetricRegistry as a service in OSGi and auto update the prometheus export whenever new metrics are added by any OSGi component. My example is currently also missing authenticatition. I hope that collaborating on an example allows us to the find good solutions to all of those aspects. Christian Am So., 12. Apr. 2020 um 21:48 Uhr schrieb Wayne Tackabury <way...@gmail.com >: > Howdy Christian, J-B, et al…. > > I’ve been working on such a thing for the last few weeks in a cloud of > shelter-in-place frustration, and I believe I can donate what I have > if it’s helpful at all (otherwise, I’ll be very interested in what you > have to see how it differs). I had that moment of glorious arrival on > Friday when my bundle finally deployed in gogo and the diagnostic > print from my activation routine printed to System.out. > > Now, for my stuff, it’s currently a bit of what a former Irish company > president of mine would call a “dog’s dinner”, since I have tons of > redundant export-package references and such to remove. I also am > thinking the well-established packages (like the ones pulled from > referencing the felix obr repository) do really want to remain > separate bundles, just cleanly pulled in and activated at the time of > REST/microservice deploy (which is what mine is doing). > > Really, what I did was to consolidate other examples I had, none of > which built or activated properly on Felix 6.0.3 for me and I got > frustrated and created my own which did after a moderate amount of > struggle. > > Also, mine is about 50% Apache Jersey (which might be reduandant w.r.t > some of the karaf-ery), 50% Felix content/reference-wise. Do you want > to make it pure felix? It’s all just pom.xml references otherwise. > > And just to be clear, is there anything manifestly “microservice”-y > that would distinguish from a reasonably well-featured REST framework? > I take it you’re looking to pull in karaf (I haven’t yet, but will, > I’m just learning to go slow because one false/erroneous move can > break the entire thing I’m finding). I have it up and speaking, I > just need to create a notion of universal deploy-ability (and that > includes guidance for docker-ization, which I’m thinking I’ll do by > having container initialization that drives felix/gogo via commands to > do the resolve and deploy). > > In summary, if you’d rather go solo, that’s cool, but I’m all over > this this week and could help if it helps at all, would be happy to > contribute. > > Regards, > Wayne > > On Sun, Apr 12, 2020 at 1:46 PM Jean-Baptiste Onofre <j...@nanthrax.net> > wrote: > > > > Hi Christian, > > > > That’s interesting, but I think that people are expecting more than that. > > > > 1. Most of the time, we do things too much complex. > > 2. Assembly again layers is not always easy > > 3. Where’s the runtime ? > > > > Your main point is valid: lot of people went too far in fine grained > services and now, they are thinking about "smart" micro services. > > That’s exactly the purpose of Netflix using Apache Karaf. > > > > Back on your point, that’s the target of "new" Karaf tool that I > restarted (re-starting/founding Karaf Boot we discussed while ago that > addressed exactly the points you mentioned). > > > > So, why not having a blueprint (I still think people wants to create > their own blueprint), but having tool + runtime is more interesting and > that’s why I’m working on Karaf "DevX code" PoC. > > > > Regards > > JB > > > > > Le 12 avr. 2020 à 11:58, Christian Schneider <ch...@die-schneider.net> > a écrit : > > > > > > In recent years we saw a big trend towards micro services and cloud. > > > Lately people discovered though that such services are often made too > fine > > > grained. > > > The newest trend goes to building bigger micro services on the level of > > > domain driven design bounded contexts. > > > > > > Especially for these services OSGi is a very interesting platform as > they > > > need more internal structure than the more fine grained services. > > > Unfortunately it is quite hard to build a cloud native service in OSGi > from > > > scratch. > > > > > > So I would like to offer a blueprint for cloud native micro services > inside > > > the felix community. The goal is to provide all parts of a cloud native > > > system that are usually needed, like: > > > > > > * Declarative services as dependency injection > > > * Aries Jaxrs Whiteboard for REST > > > * Dropwizard metrics exported as Prometheus metrics > > > * Swagger > > > * Halbrowser > > > * Felix healthchecks > > > * Configuration using OSGi configurator + Environment variables plugin > > > * Logging to console > > > * Final application is provided as a runnable jar > > > * Example docker build files > > > * Example kubernetes yaml > > > > > > What do you think? > > > > > > Christian > > > > > > -- > > > -- > > > Christian Schneider > > > http://www.liquid-reality.de > > > > > > Computer Scientist > > > http://www.adobe.com > > > -- -- Christian Schneider http://www.liquid-reality.de Computer Scientist http://www.adobe.com