В Java есть такая штука как
JSR что является спецификацией\описанием как это должно быть и что делать.
К примеру OSGI реализует
Sun JCP JSR-8 (Open Services Gateway Specification)
Sun JCP JSR-232 (Mobile Operational Management)
Sun JCP JSR-246 (Device Management API)
Sun JCP JSR-249 (Mobile Service Architecture for CDC)
Sun JCP JSR-277 — JSR-277: Java Module System
Sun JCP JSR-291 (Dynamic Component Support for JavaTM SE)
Т.е. взяв вышеперечисленные jsr и реализовав все по описанию получите реализацию osgi.