SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

What's cool in the new and updated

OSGi Specs
Carsten Ziegeler
David Bosschaert

1 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Speakers
David Bosschaert (david@redhat.com)
JBoss/Fuse at Red Hat
Co-chair OSGi EEG
Open-source and cloud enthusiast
Carsten Ziegeler (cziegeler@apache.org)
RnD Adobe Research Switzerland
OSGi CPEG and EEG Member
ASF member

2 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Agenda
Framework updates
OSGi/CDI integration
Repository update
Declarative Services
Http Service
Cloud
Portable Java Contracts
Semantic Versioning Annotations
Other spec updates

3 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Framework Updates
Service Scopes (RFC 195)

Service Scopes: singleton, bundle, prototyp
Driver: Support for EEG specs (EJB, CDI)
Usage in other spec updates
New PrototypeServiceFactory

4 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

PrototypeServiceFactory
public interface PrototypeServiceFactory <S>
extends ServiceFactory <S> {
S getService(Bundle bundle,
B
ServiceRegistration <S> registration);
void ungetService(Bundle bundle,
B
ServiceRegistration <S> registration,
S service);
}

5 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

New method in BundleContext:
public interface BundleContext {
<S> ServiceObjects <S> getServiceObjects(ServiceReference <S> ref);
S
}

New Interface ServiceObjects:
public interface ServiceObjects <S> {
S getService();
void ungetService(S service);
}

6 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Data
Transfer
Objects

7 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 185 – Data Transfer Object
Defines a DTO model for OSGi
Serializable/Deserializable objects

Use cases: REST, JMX, Web Console...
To be adopted by other specs

8 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 185 – Data Transfer Object
Getting DTOs: adapter pattern
public class BundleDTO extends org.osgi.dto.DTO {
public long id;
public long lastModified;
public int state;
public String symbolicName;
public String version;
}

9 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 185 – Data Transfer Object
DTOs for the OSGi framework
FrameworkDTO
BundleDTO

ServiceReferenceDTO
BundleStartLevelDTO, FrameworkStartLevel

CapabilityDTO, RequirementDTO, Resource
BundleWiringsDTO, etc

10 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

OSGi/CDI
integration

11 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 193 - CDI Support
Bridging OSGi and standard JavaEE
dependency model
● Publishing CDI beans as OSGi services
● Injecting OSGi services in CDI beans
CDI = Contexts and dependency injection

12 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 193 - Examples
● Publishing CDI bean as OSGi service
@Component
public class MyComponent implements MyInterface { ... }

● Dependency Injection
@Inject
@Service
private MyInterface serviceA;
@Inject
@Service(optional = true )
private MyInterface serviceB;

13 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Repository
1.1

14 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

OSGi Repository today

15 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Example Repository namespaces

16 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 187 - Repository 1.1
Existing repository powerful
but: limited to queries in a single namespace
New in RFC 187:
Combine requirements spanning multiple namespaces:
Repository repo = ... // Obtain from Service Registry
Collection <Resource > res = repo.findProviders(
R
repo.getExpressionCombiner().and(
a
repo.newRequirementBuilder("osgi.wiring.package").
addDirective("filter","(osgi.wiring.package=foo.pkg1)").
buildExpression(),
repo.newRequirementBuilder("osgi.identity").
addDirective("filter",
"(license=http://opensource.org/licenses/Apache-2.0)").
buildExpression()));

17 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Declarative
Services

18 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 190 - Declarative Services
Enhancements
Support of service scopes
Diagnostic API
DTOs
But most importantly...

19 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Use annotations for
configuration...
@interface MyConfig {
boolean enabled() default true ;
String [] topic() default {"topicA", "topicB"};
String userName();
int service_ranking() default 15;
}

20 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

...and reference them in
lifecycle methods
@Component
public class MyComponent {
String userName;
String [] topics;
@Activate
protected void activate(final MyConfig config) {
f
if ( config.enabled() ) {
this .userName = config.userName();
this .topics = config.topic();
}
}
}

21 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

...or even simpler...
@Component
public class MyComponent {
private MyConfig configuration;
@Activate
protected void activate(final MyConfig config) {
f
if ( config.enabled() ) {
this .configuration = config;
}
}
}

22 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Annotation Mapping
Fields registered as component
properties
Name mapping (_ -> .)
Type mapping for configurations

23 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Mapping
@interface MyConfig {
boolean enabled() default true ;
String [] topic() default {"topicA", "topicB"};
String userName();
int service_ranking() default 15;
}

24 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 190 - Declarative Services
Enhancements
Annotation configuration support
Support of service scopes
Diagnostic API
DTOs

25 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

HTTP
Service

26 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 189 - Http Service
Update
Update to Servlet API 3+
Whiteboard support for
Servlets, Servlet Filters
Listeners, Resources and HttpContexts
and DTOs

27 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Whiteboard Servlet Registration
@Component(service = javax.servlet.Servlet .class ,
S
c
scope="PROTOTYPE",
property ={
"osgi.http.whiteboard.servlet.pattern=/products/*",
})
public class MyServlet extends HttpServlet {
...
}

28 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Whiteboard Servlet Filter
Registration
@Component(service = javax.servlet.Filter .class ,
F
c
scope="PROTOTYPE",
property ={
"osgi.http.whiteboard.filter.pattern=/products/*",
})
public class MyFilter implements Filter {
...
}

29 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Additional Support
Most listener types are supported
Register with their interface
Error Pages and Resources
Shared HttpContexts
Target Http Service

30 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Cloud

31 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Current PaaS offerings...

32 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

OSGi Cloud Ecosystems PaaS

33 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

An OSGi cloud ecosystem...
Many frameworks
○ hosting a variety of deployments

Together providing The Application
Not a bunch of replicas
○ rather a collection of different nodes
○ with different roles working together
○ some may be replicas

Load varies over time
... and so does your cloud system
○ topology
○ configuration
○ number of nodes
○ depending on the demand

34 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

To realize this you need...
Information!
○ need to know what nodes are available
○ ability to react to changes

Provisioning capability
Remote invocation
○ inside your cloud system
○ to get nodes to communicate
○ either directly...
○ ... or as a means to set up communication channels

35 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 183 - Cloud Ecosystems
FrameworkNodeStatus service:
information about each Cloud node
accessible as a Remote Service
throughout the ecosystem

Information such as:
Hostname/IP address
Location (country etc)
OSGi and Java version running
A REST management URL
Runtime metadata
Available memory / disk space
Load measurement

... you can add custom metadata too ...

36 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

FrameworkNodeStatus service properties
37 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 182 - REST API
A cloud-friendly remote management API
works great with FrameworkNodeStatus
Example:
addingService(ServiceReference <FrameworkNodeStatus > ref) {
S
F
// A new Node became available
String url = ref.getProperty("org.osgi.node.rest.url");
RestClient rc = new RestClient (new URI(url));
n

// Provision the new node
rc.installBundle(...);
rc.startBundle(...);
}

38 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Additional ideas in RFC 183
Special Remote Services config type
・ osgi.configtype.ecosystem

・ defines supported Remote Service data types
・ not visible outside of cloud system

Ability to intercept remote service calls
・ can provide different service for each client
・ can do invocation counting (quotas, billing)

Providing remote services meta-data
・ quota exceeded
・ payment needed

・ maintenance scheduled

39 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Current OSGi cloud work
Provides a base line
○ to build fluid cloud systems
○ portability across clouds
Where everything is dynamic
○ nodes can be repurposed
... and you deal with your cloud nodes
through OSGi services

40 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Portable
Java
Contracts

41 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Semantic Versioning...
... is a versioning policy for exported packages.
OSGi versions: <major>.<minor>.<micro>.<qualifier>
Updating package versions:
● fix/patch (no change to API):
update micro
● extend API (affects implementers, not clients):
update minor
● API breakage:
update major
Note: not always used for bundle versions

42 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Semantic Versioning is great, but...
- not all projects use it, e.g. APIs from JSRs
- e.g. Servlet 3 is backward compatible with 2.5
- what's its javax.servlet package version?
2.6 ?
or 3.0 ?

- different projects made different choices

43 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 180: Portable Java Contracts
osgi.contract capability to the rescue
● client bundle requires capability
with 'marketing' or 'spec' version

● and also imports the package without version

osgi.contract provider binds the contract version to package versions
Import -Package : javax.servlet, javax.servlet.http
P
Require -Capability : osgi.contract;
C
filter:="(&(osgi.contract=JavaServlet)(version=3.0))"

Allows writing portable bundles that import non-semant
versioned packages.

44 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Type and
Package
Annotations

45 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

RFC 197 – OSGi Type and
Package Annotations
Annotations for documenting semantic
versioning information
Class retention annotations

@Version
@ProviderType
@ConsumerType

46 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Other
Enterprise
Spec
updates
47 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

▻ Blueprint 1.1

・ Non-damped service references
・ Grace period enhancements
・ Many small fixes

▻ Remote Service Admin 1.1

・ Remote Service registration modification

▻ Subsystems 1.1

・ Provide Deployment Manifest separately
・ Many small enhancements

48 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

When can I get it?
RFCs available to everyone today:
https://github.com/osgi/design
(https://github.com/osgi/design)
◎ Most work aimed at Core/Enterprise R6 (2014)
◎ Some specs in Enterprise R7 (2015)

49 of 50

28/10/2013 07:56
What's cool in the new and updated OSGi specs

file:///Users/david/clones/ece2013/eclipsecon.html?print

Questions?

50 of 50

28/10/2013 07:56

Weitere ähnliche Inhalte

Was ist angesagt?

OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutesSerge Huber
 
Introduction to OSGGi
Introduction to OSGGiIntroduction to OSGGi
Introduction to OSGGiMarek Koniew
 
What is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xWhat is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xUlrich Krause
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegelermfrancis
 
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Julian Robichaux
 
Osgi Webinar
Osgi WebinarOsgi Webinar
Osgi WebinarWSO2
 
Apache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetApache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetNormandy JUG
 
Pax – Tools für den OSGi Alltag
Pax – Tools für den OSGi AlltagPax – Tools für den OSGi Alltag
Pax – Tools für den OSGi AlltagPatrick Baumgartner
 
Workflow automation for Front-end web applications
Workflow automation for Front-end web applicationsWorkflow automation for Front-end web applications
Workflow automation for Front-end web applicationsMayank Patel
 
Hack & Fix, Hands on ColdFusion Security Training
Hack & Fix, Hands on ColdFusion Security TrainingHack & Fix, Hands on ColdFusion Security Training
Hack & Fix, Hands on ColdFusion Security TrainingColdFusionConference
 
Can you contain the future - Docker, Container Technologies, The Future, and You
Can you contain the future - Docker, Container Technologies, The Future, and YouCan you contain the future - Docker, Container Technologies, The Future, and You
Can you contain the future - Docker, Container Technologies, The Future, and YouColdFusionConference
 
Asynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T WardAsynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T Wardmfrancis
 

Was ist angesagt? (20)

Introduction to-osgi
Introduction to-osgiIntroduction to-osgi
Introduction to-osgi
 
Tales from the OSGi trenches
Tales from the OSGi trenchesTales from the OSGi trenches
Tales from the OSGi trenches
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutes
 
Introduction to OSGGi
Introduction to OSGGiIntroduction to OSGGi
Introduction to OSGGi
 
Intro To OSGi
Intro To OSGiIntro To OSGi
Intro To OSGi
 
What is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xWhat is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.x
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
 
Cfml features modern_coding
Cfml features modern_codingCfml features modern_coding
Cfml features modern_coding
 
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
 
Osgi Webinar
Osgi WebinarOsgi Webinar
Osgi Webinar
 
Apache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetApache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume Nodet
 
Pax – Tools für den OSGi Alltag
Pax – Tools für den OSGi AlltagPax – Tools für den OSGi Alltag
Pax – Tools für den OSGi Alltag
 
Java 9 and Beyond
Java 9 and BeyondJava 9 and Beyond
Java 9 and Beyond
 
Cocoon OSGi CocoonGT2007
Cocoon OSGi CocoonGT2007Cocoon OSGi CocoonGT2007
Cocoon OSGi CocoonGT2007
 
Workflow automation for Front-end web applications
Workflow automation for Front-end web applicationsWorkflow automation for Front-end web applications
Workflow automation for Front-end web applications
 
Owin
OwinOwin
Owin
 
Servlet 3.1
Servlet 3.1Servlet 3.1
Servlet 3.1
 
Hack & Fix, Hands on ColdFusion Security Training
Hack & Fix, Hands on ColdFusion Security TrainingHack & Fix, Hands on ColdFusion Security Training
Hack & Fix, Hands on ColdFusion Security Training
 
Can you contain the future - Docker, Container Technologies, The Future, and You
Can you contain the future - Docker, Container Technologies, The Future, and YouCan you contain the future - Docker, Container Technologies, The Future, and You
Can you contain the future - Docker, Container Technologies, The Future, and You
 
Asynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T WardAsynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T Ward
 

Andere mochten auch

What's cool in the new and updated OSGi Specs
What's cool in the new and updated OSGi SpecsWhat's cool in the new and updated OSGi Specs
What's cool in the new and updated OSGi SpecsCarsten Ziegeler
 
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleMonitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleCarsten Ziegeler
 
Distributed Eventing in OSGi
Distributed Eventing in OSGiDistributed Eventing in OSGi
Distributed Eventing in OSGiCarsten Ziegeler
 
Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)
Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)
Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)Carsten Ziegeler
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingCarsten Ziegeler
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling ResolutionDEEPAK KHETAWAT
 
Rapid RESTful Web Applications with Apache Sling and Jackrabbit
Rapid RESTful Web Applications with Apache Sling and JackrabbitRapid RESTful Web Applications with Apache Sling and Jackrabbit
Rapid RESTful Web Applications with Apache Sling and JackrabbitCraig Dickson
 
Adobe AEM - From Eventing to Job Processing
Adobe AEM - From Eventing to Job ProcessingAdobe AEM - From Eventing to Job Processing
Adobe AEM - From Eventing to Job ProcessingCarsten Ziegeler
 
Deepak khetawat sling_models_sightly_jsp
Deepak khetawat sling_models_sightly_jspDeepak khetawat sling_models_sightly_jsp
Deepak khetawat sling_models_sightly_jspDEEPAK KHETAWAT
 
Apache Sling : JCR, OSGi, Scripting and REST
Apache Sling : JCR, OSGi, Scripting and RESTApache Sling : JCR, OSGi, Scripting and REST
Apache Sling : JCR, OSGi, Scripting and RESTCarsten Ziegeler
 
Amazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI WebinarAmazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI WebinarCraig Dickson
 

Andere mochten auch (11)

What's cool in the new and updated OSGi Specs
What's cool in the new and updated OSGi SpecsWhat's cool in the new and updated OSGi Specs
What's cool in the new and updated OSGi Specs
 
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleMonitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
 
Distributed Eventing in OSGi
Distributed Eventing in OSGiDistributed Eventing in OSGi
Distributed Eventing in OSGi
 
Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)
Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)
Apache Sling - Distributed Eventing, Discovery, and Jobs (adaptTo 2013)
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache Sling
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling Resolution
 
Rapid RESTful Web Applications with Apache Sling and Jackrabbit
Rapid RESTful Web Applications with Apache Sling and JackrabbitRapid RESTful Web Applications with Apache Sling and Jackrabbit
Rapid RESTful Web Applications with Apache Sling and Jackrabbit
 
Adobe AEM - From Eventing to Job Processing
Adobe AEM - From Eventing to Job ProcessingAdobe AEM - From Eventing to Job Processing
Adobe AEM - From Eventing to Job Processing
 
Deepak khetawat sling_models_sightly_jsp
Deepak khetawat sling_models_sightly_jspDeepak khetawat sling_models_sightly_jsp
Deepak khetawat sling_models_sightly_jsp
 
Apache Sling : JCR, OSGi, Scripting and REST
Apache Sling : JCR, OSGi, Scripting and RESTApache Sling : JCR, OSGi, Scripting and REST
Apache Sling : JCR, OSGi, Scripting and REST
 
Amazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI WebinarAmazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI Webinar
 

Ähnlich wie What's cool in the new and updated OSGi specs

What's cool in the new and updated OSGi Specs (2013)
What's cool in the new and updated OSGi Specs (2013)What's cool in the new and updated OSGi Specs (2013)
What's cool in the new and updated OSGi Specs (2013)David Bosschaert
 
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...mfrancis
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18Xiaoli Liang
 
What's cool in the new and updated OSGi Specs (EclipseCon 2014)
What's cool in the new and updated OSGi Specs (EclipseCon 2014)What's cool in the new and updated OSGi Specs (EclipseCon 2014)
What's cool in the new and updated OSGi Specs (EclipseCon 2014)David Bosschaert
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerCisco Canada
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia
 
OGCE Project Overview
OGCE Project OverviewOGCE Project Overview
OGCE Project Overviewmarpierc
 
Frankenstein's IDE: NetBeans and OSGi
Frankenstein's IDE: NetBeans and OSGiFrankenstein's IDE: NetBeans and OSGi
Frankenstein's IDE: NetBeans and OSGiToni Epple
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Dave Stokes
 
S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0Sun-Jin Jang
 
POCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewPOCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewGünter Obiltschnig
 
Deep Learning and Gene Computing Acceleration with Alluxio in Kubernetes
Deep Learning and Gene Computing Acceleration with Alluxio in KubernetesDeep Learning and Gene Computing Acceleration with Alluxio in Kubernetes
Deep Learning and Gene Computing Acceleration with Alluxio in KubernetesAlluxio, Inc.
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Reviewnjbartlett
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using GoCloudOps2005
 
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Cisco DevNet
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogicRakuten Group, Inc.
 

Ähnlich wie What's cool in the new and updated OSGi specs (20)

What's cool in the new and updated OSGi Specs (2013)
What's cool in the new and updated OSGi Specs (2013)What's cool in the new and updated OSGi Specs (2013)
What's cool in the new and updated OSGi Specs (2013)
 
AtoZ about TYPO3 v8 CMS
AtoZ about TYPO3 v8 CMSAtoZ about TYPO3 v8 CMS
AtoZ about TYPO3 v8 CMS
 
Oracle API Gateway Installation
Oracle API Gateway InstallationOracle API Gateway Installation
Oracle API Gateway Installation
 
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 
What's cool in the new and updated OSGi Specs (EclipseCon 2014)
What's cool in the new and updated OSGi Specs (EclipseCon 2014)What's cool in the new and updated OSGi Specs (EclipseCon 2014)
What's cool in the new and updated OSGi Specs (EclipseCon 2014)
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data center
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
 
OGCE Project Overview
OGCE Project OverviewOGCE Project Overview
OGCE Project Overview
 
Frankenstein's IDE: NetBeans and OSGi
Frankenstein's IDE: NetBeans and OSGiFrankenstein's IDE: NetBeans and OSGi
Frankenstein's IDE: NetBeans and OSGi
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019
 
S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0
 
POCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewPOCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and Overview
 
Deep Learning and Gene Computing Acceleration with Alluxio in Kubernetes
Deep Learning and Gene Computing Acceleration with Alluxio in KubernetesDeep Learning and Gene Computing Acceleration with Alluxio in Kubernetes
Deep Learning and Gene Computing Acceleration with Alluxio in Kubernetes
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Review
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
 
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
 

Mehr von Carsten Ziegeler

JCR - Java Content Repositories
JCR - Java Content RepositoriesJCR - Java Content Repositories
JCR - Java Content RepositoriesCarsten Ziegeler
 
Embrace Change - Embrace OSGi
Embrace Change - Embrace OSGiEmbrace Change - Embrace OSGi
Embrace Change - Embrace OSGiCarsten Ziegeler
 
JCR In Action (ApacheCon US 2009)
JCR In Action (ApacheCon US 2009)JCR In Action (ApacheCon US 2009)
JCR In Action (ApacheCon US 2009)Carsten Ziegeler
 
Apache Sanselan (ApacheCon US 2007 FFT)
Apache Sanselan (ApacheCon US 2007 FFT)Apache Sanselan (ApacheCon US 2007 FFT)
Apache Sanselan (ApacheCon US 2007 FFT)Carsten Ziegeler
 
Apache iBatis (ApacheCon US 2007)
Apache iBatis (ApacheCon US 2007)Apache iBatis (ApacheCon US 2007)
Apache iBatis (ApacheCon US 2007)Carsten Ziegeler
 
JCR In Action (ApacheCon US 2007)
JCR In Action (ApacheCon US 2007)JCR In Action (ApacheCon US 2007)
JCR In Action (ApacheCon US 2007)Carsten Ziegeler
 
Apache Portals Panel (ApacheCon US 2007)
Apache Portals Panel (ApacheCon US 2007)Apache Portals Panel (ApacheCon US 2007)
Apache Portals Panel (ApacheCon US 2007)Carsten Ziegeler
 
JCR In Action (ApacheCon EU 2008)
JCR In Action (ApacheCon EU 2008)JCR In Action (ApacheCon EU 2008)
JCR In Action (ApacheCon EU 2008)Carsten Ziegeler
 
Maven SCR Plugin (ApacheCon EU 2008 - FFT)
Maven SCR Plugin (ApacheCon EU 2008 - FFT)Maven SCR Plugin (ApacheCon EU 2008 - FFT)
Maven SCR Plugin (ApacheCon EU 2008 - FFT)Carsten Ziegeler
 

Mehr von Carsten Ziegeler (10)

JCR - Java Content Repositories
JCR - Java Content RepositoriesJCR - Java Content Repositories
JCR - Java Content Repositories
 
Embrace Change - Embrace OSGi
Embrace Change - Embrace OSGiEmbrace Change - Embrace OSGi
Embrace Change - Embrace OSGi
 
JCR In Action (ApacheCon US 2009)
JCR In Action (ApacheCon US 2009)JCR In Action (ApacheCon US 2009)
JCR In Action (ApacheCon US 2009)
 
Embrace OSGi
Embrace OSGiEmbrace OSGi
Embrace OSGi
 
Apache Sanselan (ApacheCon US 2007 FFT)
Apache Sanselan (ApacheCon US 2007 FFT)Apache Sanselan (ApacheCon US 2007 FFT)
Apache Sanselan (ApacheCon US 2007 FFT)
 
Apache iBatis (ApacheCon US 2007)
Apache iBatis (ApacheCon US 2007)Apache iBatis (ApacheCon US 2007)
Apache iBatis (ApacheCon US 2007)
 
JCR In Action (ApacheCon US 2007)
JCR In Action (ApacheCon US 2007)JCR In Action (ApacheCon US 2007)
JCR In Action (ApacheCon US 2007)
 
Apache Portals Panel (ApacheCon US 2007)
Apache Portals Panel (ApacheCon US 2007)Apache Portals Panel (ApacheCon US 2007)
Apache Portals Panel (ApacheCon US 2007)
 
JCR In Action (ApacheCon EU 2008)
JCR In Action (ApacheCon EU 2008)JCR In Action (ApacheCon EU 2008)
JCR In Action (ApacheCon EU 2008)
 
Maven SCR Plugin (ApacheCon EU 2008 - FFT)
Maven SCR Plugin (ApacheCon EU 2008 - FFT)Maven SCR Plugin (ApacheCon EU 2008 - FFT)
Maven SCR Plugin (ApacheCon EU 2008 - FFT)
 

Kürzlich hochgeladen

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

What's cool in the new and updated OSGi specs

  • 1. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print What's cool in the new and updated OSGi Specs Carsten Ziegeler David Bosschaert 1 of 50 28/10/2013 07:56
  • 2. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Speakers David Bosschaert (david@redhat.com) JBoss/Fuse at Red Hat Co-chair OSGi EEG Open-source and cloud enthusiast Carsten Ziegeler (cziegeler@apache.org) RnD Adobe Research Switzerland OSGi CPEG and EEG Member ASF member 2 of 50 28/10/2013 07:56
  • 3. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Agenda Framework updates OSGi/CDI integration Repository update Declarative Services Http Service Cloud Portable Java Contracts Semantic Versioning Annotations Other spec updates 3 of 50 28/10/2013 07:56
  • 4. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Framework Updates Service Scopes (RFC 195) Service Scopes: singleton, bundle, prototyp Driver: Support for EEG specs (EJB, CDI) Usage in other spec updates New PrototypeServiceFactory 4 of 50 28/10/2013 07:56
  • 5. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print PrototypeServiceFactory public interface PrototypeServiceFactory <S> extends ServiceFactory <S> { S getService(Bundle bundle, B ServiceRegistration <S> registration); void ungetService(Bundle bundle, B ServiceRegistration <S> registration, S service); } 5 of 50 28/10/2013 07:56
  • 6. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print New method in BundleContext: public interface BundleContext { <S> ServiceObjects <S> getServiceObjects(ServiceReference <S> ref); S } New Interface ServiceObjects: public interface ServiceObjects <S> { S getService(); void ungetService(S service); } 6 of 50 28/10/2013 07:56
  • 7. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Data Transfer Objects 7 of 50 28/10/2013 07:56
  • 8. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 185 – Data Transfer Object Defines a DTO model for OSGi Serializable/Deserializable objects Use cases: REST, JMX, Web Console... To be adopted by other specs 8 of 50 28/10/2013 07:56
  • 9. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 185 – Data Transfer Object Getting DTOs: adapter pattern public class BundleDTO extends org.osgi.dto.DTO { public long id; public long lastModified; public int state; public String symbolicName; public String version; } 9 of 50 28/10/2013 07:56
  • 10. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 185 – Data Transfer Object DTOs for the OSGi framework FrameworkDTO BundleDTO ServiceReferenceDTO BundleStartLevelDTO, FrameworkStartLevel CapabilityDTO, RequirementDTO, Resource BundleWiringsDTO, etc 10 of 50 28/10/2013 07:56
  • 11. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print OSGi/CDI integration 11 of 50 28/10/2013 07:56
  • 12. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 193 - CDI Support Bridging OSGi and standard JavaEE dependency model ● Publishing CDI beans as OSGi services ● Injecting OSGi services in CDI beans CDI = Contexts and dependency injection 12 of 50 28/10/2013 07:56
  • 13. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 193 - Examples ● Publishing CDI bean as OSGi service @Component public class MyComponent implements MyInterface { ... } ● Dependency Injection @Inject @Service private MyInterface serviceA; @Inject @Service(optional = true ) private MyInterface serviceB; 13 of 50 28/10/2013 07:56
  • 14. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Repository 1.1 14 of 50 28/10/2013 07:56
  • 15. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print OSGi Repository today 15 of 50 28/10/2013 07:56
  • 16. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Example Repository namespaces 16 of 50 28/10/2013 07:56
  • 17. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 187 - Repository 1.1 Existing repository powerful but: limited to queries in a single namespace New in RFC 187: Combine requirements spanning multiple namespaces: Repository repo = ... // Obtain from Service Registry Collection <Resource > res = repo.findProviders( R repo.getExpressionCombiner().and( a repo.newRequirementBuilder("osgi.wiring.package"). addDirective("filter","(osgi.wiring.package=foo.pkg1)"). buildExpression(), repo.newRequirementBuilder("osgi.identity"). addDirective("filter", "(license=http://opensource.org/licenses/Apache-2.0)"). buildExpression())); 17 of 50 28/10/2013 07:56
  • 18. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Declarative Services 18 of 50 28/10/2013 07:56
  • 19. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 190 - Declarative Services Enhancements Support of service scopes Diagnostic API DTOs But most importantly... 19 of 50 28/10/2013 07:56
  • 20. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Use annotations for configuration... @interface MyConfig { boolean enabled() default true ; String [] topic() default {"topicA", "topicB"}; String userName(); int service_ranking() default 15; } 20 of 50 28/10/2013 07:56
  • 21. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print ...and reference them in lifecycle methods @Component public class MyComponent { String userName; String [] topics; @Activate protected void activate(final MyConfig config) { f if ( config.enabled() ) { this .userName = config.userName(); this .topics = config.topic(); } } } 21 of 50 28/10/2013 07:56
  • 22. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print ...or even simpler... @Component public class MyComponent { private MyConfig configuration; @Activate protected void activate(final MyConfig config) { f if ( config.enabled() ) { this .configuration = config; } } } 22 of 50 28/10/2013 07:56
  • 23. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Annotation Mapping Fields registered as component properties Name mapping (_ -> .) Type mapping for configurations 23 of 50 28/10/2013 07:56
  • 24. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Mapping @interface MyConfig { boolean enabled() default true ; String [] topic() default {"topicA", "topicB"}; String userName(); int service_ranking() default 15; } 24 of 50 28/10/2013 07:56
  • 25. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 190 - Declarative Services Enhancements Annotation configuration support Support of service scopes Diagnostic API DTOs 25 of 50 28/10/2013 07:56
  • 26. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print HTTP Service 26 of 50 28/10/2013 07:56
  • 27. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 189 - Http Service Update Update to Servlet API 3+ Whiteboard support for Servlets, Servlet Filters Listeners, Resources and HttpContexts and DTOs 27 of 50 28/10/2013 07:56
  • 28. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Whiteboard Servlet Registration @Component(service = javax.servlet.Servlet .class , S c scope="PROTOTYPE", property ={ "osgi.http.whiteboard.servlet.pattern=/products/*", }) public class MyServlet extends HttpServlet { ... } 28 of 50 28/10/2013 07:56
  • 29. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Whiteboard Servlet Filter Registration @Component(service = javax.servlet.Filter .class , F c scope="PROTOTYPE", property ={ "osgi.http.whiteboard.filter.pattern=/products/*", }) public class MyFilter implements Filter { ... } 29 of 50 28/10/2013 07:56
  • 30. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Additional Support Most listener types are supported Register with their interface Error Pages and Resources Shared HttpContexts Target Http Service 30 of 50 28/10/2013 07:56
  • 31. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Cloud 31 of 50 28/10/2013 07:56
  • 32. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Current PaaS offerings... 32 of 50 28/10/2013 07:56
  • 33. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print OSGi Cloud Ecosystems PaaS 33 of 50 28/10/2013 07:56
  • 34. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print An OSGi cloud ecosystem... Many frameworks ○ hosting a variety of deployments Together providing The Application Not a bunch of replicas ○ rather a collection of different nodes ○ with different roles working together ○ some may be replicas Load varies over time ... and so does your cloud system ○ topology ○ configuration ○ number of nodes ○ depending on the demand 34 of 50 28/10/2013 07:56
  • 35. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print To realize this you need... Information! ○ need to know what nodes are available ○ ability to react to changes Provisioning capability Remote invocation ○ inside your cloud system ○ to get nodes to communicate ○ either directly... ○ ... or as a means to set up communication channels 35 of 50 28/10/2013 07:56
  • 36. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 183 - Cloud Ecosystems FrameworkNodeStatus service: information about each Cloud node accessible as a Remote Service throughout the ecosystem Information such as: Hostname/IP address Location (country etc) OSGi and Java version running A REST management URL Runtime metadata Available memory / disk space Load measurement ... you can add custom metadata too ... 36 of 50 28/10/2013 07:56
  • 37. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print FrameworkNodeStatus service properties 37 of 50 28/10/2013 07:56
  • 38. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 182 - REST API A cloud-friendly remote management API works great with FrameworkNodeStatus Example: addingService(ServiceReference <FrameworkNodeStatus > ref) { S F // A new Node became available String url = ref.getProperty("org.osgi.node.rest.url"); RestClient rc = new RestClient (new URI(url)); n // Provision the new node rc.installBundle(...); rc.startBundle(...); } 38 of 50 28/10/2013 07:56
  • 39. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Additional ideas in RFC 183 Special Remote Services config type ・ osgi.configtype.ecosystem ・ defines supported Remote Service data types ・ not visible outside of cloud system Ability to intercept remote service calls ・ can provide different service for each client ・ can do invocation counting (quotas, billing) Providing remote services meta-data ・ quota exceeded ・ payment needed ・ maintenance scheduled 39 of 50 28/10/2013 07:56
  • 40. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Current OSGi cloud work Provides a base line ○ to build fluid cloud systems ○ portability across clouds Where everything is dynamic ○ nodes can be repurposed ... and you deal with your cloud nodes through OSGi services 40 of 50 28/10/2013 07:56
  • 41. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Portable Java Contracts 41 of 50 28/10/2013 07:56
  • 42. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Semantic Versioning... ... is a versioning policy for exported packages. OSGi versions: <major>.<minor>.<micro>.<qualifier> Updating package versions: ● fix/patch (no change to API): update micro ● extend API (affects implementers, not clients): update minor ● API breakage: update major Note: not always used for bundle versions 42 of 50 28/10/2013 07:56
  • 43. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Semantic Versioning is great, but... - not all projects use it, e.g. APIs from JSRs - e.g. Servlet 3 is backward compatible with 2.5 - what's its javax.servlet package version? 2.6 ? or 3.0 ? - different projects made different choices 43 of 50 28/10/2013 07:56
  • 44. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 180: Portable Java Contracts osgi.contract capability to the rescue ● client bundle requires capability with 'marketing' or 'spec' version ● and also imports the package without version osgi.contract provider binds the contract version to package versions Import -Package : javax.servlet, javax.servlet.http P Require -Capability : osgi.contract; C filter:="(&(osgi.contract=JavaServlet)(version=3.0))" Allows writing portable bundles that import non-semant versioned packages. 44 of 50 28/10/2013 07:56
  • 45. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Type and Package Annotations 45 of 50 28/10/2013 07:56
  • 46. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print RFC 197 – OSGi Type and Package Annotations Annotations for documenting semantic versioning information Class retention annotations @Version @ProviderType @ConsumerType 46 of 50 28/10/2013 07:56
  • 47. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Other Enterprise Spec updates 47 of 50 28/10/2013 07:56
  • 48. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print ▻ Blueprint 1.1 ・ Non-damped service references ・ Grace period enhancements ・ Many small fixes ▻ Remote Service Admin 1.1 ・ Remote Service registration modification ▻ Subsystems 1.1 ・ Provide Deployment Manifest separately ・ Many small enhancements 48 of 50 28/10/2013 07:56
  • 49. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print When can I get it? RFCs available to everyone today: https://github.com/osgi/design (https://github.com/osgi/design) ◎ Most work aimed at Core/Enterprise R6 (2014) ◎ Some specs in Enterprise R7 (2015) 49 of 50 28/10/2013 07:56
  • 50. What's cool in the new and updated OSGi specs file:///Users/david/clones/ece2013/eclipsecon.html?print Questions? 50 of 50 28/10/2013 07:56