Wednesday, May 29, 2019

OSGi After 20 Years


Post written by Peter Kriens, OSGi Fellow and CEO of aQute SARL 


Looking at the current adoption of microservices it is hard to not think, "We told you so 20 years ago!” The reason why microservices work so well is it provides a well-defined API entry point into a module. The caller has a dependency to an API but can ignore the messy details of how that API is implemented; and even more important, what kind of dependencies that module has. Since software complexity grows exponentially with the number dependencies reduction in complexity can be humongous.

This is exactly the core idea of the OSGi service model we developed already 20 years ago, long before REST was a well-known term. Does that mean that OSGi can be retired since its architecture has become an overnight success? I don't think so because OSGi has one humongous advantage over REST services: choice.

OSGi applications are structured as nano-services. Nano services follow the architectural rules of the micro-services but have a much lighter weight. Calling a nano-service has no overhead, unlike calling a micro-service. The good news is that well-designed nano-services can easily be upgraded to micro-services with no impact on the implementations. This makes it possible to start simple in a simple container and then gradually promote nano-services to micro-services in other containers. No other environments but OSGi makes it so easy to do this kind of migration.

I point out this clear advantage of OSGi because it is so recognizable for every OSGi developer. However, when you use OSGi in anger you also learn that it provides more advantages. OSGi provides the plumbing that puts you in control of your development process in a way that I've not seen anywhere else. Few people outside the OSGi even remotely understand the requirements and capability model, and that is their loss. However, organizations that reach the maturity level to use it will never let it go.

Last week, we had the perfect example. One designer had made a change to the runtime setup and 10 minutes later the CI build failed because he had forgotten a crucial capability that was used in one of the hundreds of bundles. Something that might not have been found until the code had been deployed to hundreds of thousands of gateways. OSGi provides the type safety between modules that Java provides between classes.

Being the first in the Java market to do modularity we've taken a lot of bad rap for problems caused by the nature of modularity. JPMS has by now shown that modularity is not a secret sauce that can be sprinkled over a code base. And yes, there is a certain amount of vindication.

To reach modularity maturity requires hard work because our industry has a surprising number of unmodular practices. However, as I can see with my customers, OSGi does deliver when you apply it as it was intended. The road to maturity is a drag but once you're on cruise level, it is indeed very smooth flying.


Monday, May 20, 2019

OSGi Community Event 2019 -- CFP Now Open



The OSGi Community Event 2019 is returning to Ludwigsburg, Germany where we will be co-located with EclipseCon Europe again.  The event will be held October 21-24 inclusive and will feature an OSGi tutorial, talks, a BOF and other OSGi community-related activities.  Attendees will have access to the full program at the OSGi Community Event and EclipseCon Europe.


CALL FOR PAPERS IS OPEN


We are pleased to announce that the Call for Papers (CFP) for the OSGi Community Event 2019 is now open.

We are looking for one, 3-hour tutorial and many more 35-minute talks.  The CFP is open to anyone who has experience, expertise, or a story to share about OSGi technology or the OSGi ecosystem.  We are particularly interested in use cases and new initiatives around OSGi in enterprise, embedded, cloud, telco and IoT.

The Early Bird deadline is July 1 and the final submission date is July 15. 

We use the OSGi EclipseCon Europe submission system, so be sure to select “OSGi” as your talk category to ensure the OSGi Community Event Selection Committee receives your submission.  Review submission FAQs and submit your proposal here on the EclipseCon Europe website. You will need an eclipse.org account to submit and you can create an account here if you do not already have one.

If you have any questions about submissions or the conference in general, then please contact us. We are looking forward to reading your talk and tutorial submissions and also seeing you at the OSGi Community Event in Ludwigsburg in October.  

Thursday, May 2, 2019

OSGi Alliance Milestones & Achievements

Happy 20th anniversary to us!  Let's take a walk down memory lane and look at the many achievements and milestones that OSGi Alliance has accomplished over the last 20 years.

You can also view the two-decade timeline of OSGi Alliance Milestones & Achievements here. 


Chicago JUG OSGi Meetup -- Wed., May 22


On Wednesday, May 22, the Chicago JUG will be hosting an evening with the OSGi Alliance Expert Group.  The event will be held 6:00-8:00 pm and you may register here.

You won't want to miss this event and hear from two members of the OSGi Alliance Expert Group -- Raymond Augé, Sr. Software Architect at Liferay, Inc. and BJ Hargrave, Senior Technical Staff Member at IBM, who will present on three topics:

Presentations:
1)      OSGi CDI Integration Specification 
       (Speaker: Raymond Augé)
The OSGi Alliance has developed a specification describing integration between OSGi and CDI. The combination of these two powerful development technologies opens the door to new possibilities. This talk will walk through the most essential features of the specification and show some code and running examples.

2)      Building OSGi Projects with Bnd in Maven (Speaker: Raymond Augé)
The Bndtools.org team has spent a number of years focused on improving support for OSGi development in Maven. This talk will demonstrate the latest innovations demonstrating features such as quick setup, minimal configuration, use of bundle annotations, BOM support, testing and running.

3)      Promises in Java: Using Promises to recover from failures (Speaker: BJ Hargrave)
Communications is error prone. Connections time out, servers fail to respond, returned data can be incomplete or corrupted. Bnd, the OSGi tooling project, has an HttpClient class which is used for communications including with remote repositories like Maven/Nexus and P2 repositories. The Bnd CI builds started having significant failures due to communications problems with the Eclipse download servers, so with some light code restructuring, I was able to add retry support to HttpClient using the Promises package from OSGi.  This session will take a look at the Promises package and how it was easily used to recover from communications failures.

ABOUT THE SPEAKERS:

Raymond Augé (@rotty3000)
LifeRay, Inc.
Raymond is a Sr. Software Architect at Liferay, Inc. As an Apache Software Foundation member and PMC of Apache Aries, Apache Felix and Apache Geronimo projects, committer on the Bndtools.org project, committer and company representative at the Eclipse Foundation and OSGi Alliance Board member and Enterprise Expert Group co-chair, Ray demonstrates a strong passion for open source and open standards.

BJ Hargrave (@bjhargrave)
IBM
BJ is a Senior Technical Staff Member at IBM. He leads the development of OSGi technology since its inception and is currently CTO of the OSGi Alliance and chair of the OSGi Core Platform Expert Group. He is also a committer on the Eclipse Equinox project and the Bndtools project.

Tuesday, March 26, 2019

OSGi Alliance Celebrates 20th Anniversary with Global Adoption and Milestones of Success


2019 is a big milestone year for OSGi Alliance as we celebrate our 20th anniversary!  We’re proud to have accomplished so much in those 20 years and look forward to marking many more milestones in creating open specifications that enable the modular assembly of software, and the use of highly performant microservices, built with Java technology. The road has not always been smooth but any bumps have served to help our organization refine its focus, approach and ultimately our offering to the market.

We are marking two decades of growth and have provided a significant influence as a global consortium creating open specifications that enable Java modularity and microservices Over the last 20 years, we have been productive in introducing well-adopted technologies including the Whiteboard Pattern, dynamic dependency injection with Declarative Services, Configuration Admin and Remote Services.  For more details on our milestones over the last 20 years, read our full press release here.

OSGi Alliance will also be commemorating its 20-year anniversary with a celebration reception at the 2019 OSGi Community Event so stay tuned for more details and save the date for October 21-24 in Ludwigsburg, Germany!




Monday, January 28, 2019

Berlin Brandenburg JUG OSGi Meetup - Tues 19 Feb, 2019 - 18.30hrs

Belated New Year Wishes to all in the OSGi Community.  We hope you had a good festive break and no doubt are settled in for the year ahead.

We are pleased to announce the first OSGi event of 2019.  Join us on Tues 19 Feb in Berlin, Germany. The OSGi Alliance is holding its Expert Group meetings in town that week and we are pleased to have secured some interesting talks covering OSGi and Java 9 and beyond, Realtime OSGi and the edge, and also a look at a number of popular patterns to use with OSGi.

Thanks to the Berlin Brandenburg JUG for their support in arranging this event, also to the OSGi Users' Forum Germany and to Bosch for hosting us and providing refreshments.


This Berlin Brandenburg JUG event is being supported by the OSGi Users’ Forum Germany and Bosch.  The meeting will be held at the Bosch IoT Campus in Berlin and doors open at 18.30 for a beer and some networking in advance of the 19.00hrs start of the talks. 

Registration is essential so we know numbers for the drinks and pizza kindly provided by our hosts Bosch.

18.30hrs - Doors open for beer and networking
19.00hrs - Welcome from Berlin Brandenburg JUG organizers & Bosch
19.10hrs - OSGi and Java 9+
19.40hrs - Fit for the Edge: Making OSGi Robuster and Realtime Capable
20.10hrs - Popular patterns revisited on OSGi
20.40hrs - Pizza and networking

Further details on the talks and presenters are provided below.

Location: Bosch IoT Campus, Ullsteinstraße 128, 12109 Berlin, Germany [MAP]



Registration:  https://www.meetup.com/de-DE/jug-bb/events/258444067/

OSGi and Java 9+ (BJ Hargrave, IBM) 
Abstract: 
Java 9 introduced the Java Platform Module System (JPMS) as a way to modularize the Java platform and it can be also be used by developers to modularize their own applications, although JPMS lack a number of important features for software running on the Java platform.

As people look to support the latest versions of the Java platform, changes introduced in Java 9 related to JPMS led to the needs for some features in the OSGi Core specification. OSGi framework implementations like Eclipse Equinox and Apache Felix and tools like Bnd were updated to support these new features.

Bio: 
BJ Hargrave is CTO of the OSGi Alliance and chair of the OSGi Core Platform Expert Group.  His day job is as Senior Technical Staff Member in the IBM Digital Business Group. BJ has led the development of OSGi technology since its inception and is a committer on the Eclipse Equinox project and the Bndtools project.

Fit for the Edge: Making OSGi Robuster and Realtime Capable (Dr James Hunt, aicas)
Abstract: 
OSGi brings many benefits, but it lacks two important features for Industry 4.0: strong bundle isolation and the ability to provide realtime guarantees.  The Realtime Specification for Java 2.0 provides
the basis for filling this gap.  It provides both APIs and JVM semantic refinements for realtime programming and resource management.  Marrying these features to OSGi will make OSGi the leading platform for edge computing.

Bio:
Dr. James J. Hunt is CEO and cofounder of aicas GmbH, the leading provider of realtime Java technology for embedded system.  Educated at Yale, Boston University, and the University of Karlsruhe, he has worked in diverse projects such as restructurable wafer scale integrated circuits (RVLSI), parallel Lisp, software standards, and realtime Java. He is the specification lead for the Real-Time Specification for Java (JSR-282). He was also European Cochair for the subgroup on object-oriented technology of the SC-205 Plenary for updating software safety standard for avionics, resulting in the Object Oriented and
Related Technology Supplement now published as DO-332 and ED-217.  He joined the OSGi Alliance to bring realtime to OSGi.

Popular patterns revisited on OSGi (Christian Schneider, Adobe)
Abstract:
We will look at common cloud and design patterns and see how the special properties of the OSGi environment allow us to rethink these patterns. The talk shows some well-known patterns like the service registry and the whiteboard but also some unique patterns like out of band circuit breaker or graceful degregation. The patterns are shown with some examples using declarative services(DS). So some basic OSGi and DS knowledge is of advantage but not required.

For OSGi beginners, the well established OSGi patterns will help getting started the right way. Experienced OSGi developers will find some new patterns to think about. Cloud or enterprise developers will get a new approach to some patterns they are used to which hopefully inspires them to take another look at the current state of OSGi.


Bio:
Christian is a computer scientist working at Adobe on the Adobe Experience Manager Platform team. On the open source side he is involved with quite a few Apache open source projects like Felix, Karaf, CXF, Camel. Christian is interested in clean code, software architecture and modular software design.

We hope you can join us in Berlin next month.  If you have any questions please contact us by email.

Tuesday, November 20, 2018

OSGi Community Event 2018 - Slides & Videos Now Available



Click here for OSGi Community Event 2018 Slides and Videos



So the OSGi Community Event 2018 has come and go again for another year.  Thanks to everyone
who joined us and also to the speakers who provided the talks (and lots of pre-event hard work preparing them) that are essential to the success of the conference.

This year we learnt how OSGi is being used by ESA for tracking and controlling spacecraft, we discovered how virtual reality can be used to understand the dependencies within OSGi software, we had an insight on using Node-RED with OSGi, and we also learnt how OSGi is being used to build Open Liberty and the benefits that it brings to a large codebase like this.

BJ Hargrave, OSGi Alliance CTO also provided an overview of what has been added to OSGi R7 and Bnd to help navigate Java 9+ and JPMS.  There were also several looks in to the future of how OSGi can be used with Docker and Kubernetes and how OSGi fits with MicroProfile.

Thanks also to our hosts, EclipseCon Europe, who we were pleased to co-locate with again this year in Ludwigsburg.  The social events and networking opportunities were in abundance again and appeared to be thoroughly enjoyed by the OSGi and Eclipse communities.

The slides and videos from the talks at this years event are now available and you can find these by reviewing the 2018 schedule on our conference web page.

The final word of thanks goes to our 2018 OSGi Community Event Sponsors, whose support helps ensure the conference can take place.  This year Bosch and IBM were Dual Elite (OSGi and EclipseCon) sponsors and Liferay was an OSGi Conference sponsor.

Mike