SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Apache Karaf 
Develop OSGi Applications with Apache Karaf
2 
Today‘s speakers 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
TorstenFrank 
CEO & Founder 
Physician 
15+ years experience in business and product development 
Healthcare IT expert 
Qualified medical device consultant 
Alexander Grzesik 
Head of software development, 
Chief Software Architect 
Java Expert 
15+ years experience in software development 
Validator for computer validation (GAMP 5)
3 
medisite & Cloudyle 
• Specialized for over 10 years in the development of software focused on the 
healthcare market. 
• Our products m.life® and m.care® are comprehensive healthcare solutions. 
• Expanded to the cloud with the spin-off Cloudyle, with offices in 
Berlin, Hannover, Germany and soon in the US. 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
4 
Agenda 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
Run 
•Files & Folders 
•Start andStop 
•Command Line 
Develop 
•Configuration 
•Logging 
•Web 
Deploy 
•Maven 
•Features 
•Kar Archives 
Test 
•Debug 
•Integration Testing 
Production 
•Clustering 
•Cloud
5 
Apache KarafHighlights 
Flexible ProvisioningandDeployment 
Applicationprovisioningby„Features“ 
Lightweight andmodular 
AdvancedLogging 
Dynamic Configuration 
Command Line 
Remote Management 
Supports different OSGi Frameworks 
Lots ofavailablefeatures 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
6 
Apache KarafOverview 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
7 
ImportantFiles andFolders 
+---bin: Startup scriptsandcommands 
+---data: Karafworkdirectory 
| +---cache: Installedbundles 
| +---log: Default log directory 
| +---tmp: Temporaryfiles 
+---deploy: Directory forfilesystemdeployment 
+---etc: Configurationfiles 
+---instances: Instance management 
+---lib: Core libraries 
+---system: System bundlerepository 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
8 
KarafSpecificEnvironment Variables 
KARAF_HOME: thelocationofyourApache Karafinstallation(defaultisfounddependingwhereyoulaunchthestartupscript). 
KARAF_BASE: thelocationofyourApache Karafbase(defaultisKARAF_HOME). 
KARAF_DATA: thelocationofyourApache Karafdatafolder(defaultisKARAF_BASE/data). 
KARAF_ETC: thelocationofyourApache Karafetcfolder(defaultisKARAF_BASE/etc). 
KARAF_OPTS: extra argumentspassedtotheJava commandline(defaultisnull). 
KARAF_DEBUG: if'true', enablethedebugmode(defaultisnull). 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
9 
Commandline 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
10 
Command Groups (Karaf3.x) 
bundle:* -Install and control bundles 
dev:* -Development support 
feature:* -Manage features 
instance:* -Control of multiple instances 
jaas:* -JAAS role and rights management 
log:* -log display 
obr:* -Interaction with OSGi Bundle Repositories 
scr:* -Declarative Services management 
service:* -Manage OSGi Services 
shell:* -useful helper functions (i.e. grep, more, java info) 
ssh:* -SSH connections 
system:* -OSGi framework management 
web:* -WAR bundle management 
wrapper:* -OS service installation 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
11 
Remote Management 
Usecommandlinevia SSH: 
Configurationvia: org.apache.karaf.shell.cfg 
User andRolemanagementvia JAAS 
Configurevia users.properties 
org.apache.karaf.command.acl.* forcommandspecificpermissions 
Default roles: viewer, manager, admin 
Connect tootherKarafusingsshcommand 
Connect tolocalrunningKarafusingtheclientscript 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
ssh-p 38031karaf@karaf-mydomain.paasplus.com
12 
Webconsole 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
13 
Scripting 
Scripting allowscustomizingconsole 
Variable assignment: msg= “Welcome toPaaS+“ 
Lists, Mapsmap= [Jan=1 Feb=2 Mar=3] 
Pipe commands($.contextbundles) | grep-i PaaS+ 
Flow controlshell:if, shell:each 
Startup scriptsconfiguredin shell.init.script 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
paasplus:refresh={ feature:repo-remove-u mvn:com.cloudyle.paasplus/$args/LATEST/xml/features; feature:repo-addmvn:com.cloudyle.paasplus/$args/LATEST/xml/features; feature:install$args} ;
14 
Custom Commands 
Add customcommandsfromyourbundles 
Extendorg.apache.karaf.shell.console.OsgiCommandSupport 
Add @org.apache.karaf.shell.commands.CommandAnnotation 
Register commandvia Blueprint 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
publicclassStartInstanceCommandextendsOsgiCommandSupport{ 
@Argument(index=0,name="key",description="Processdefinitionkey", 
required=true,multiValued=false) 
String key; 
@Override 
protectedObjectdoExecute()throwsException{ 
finalProcessInstanceinstance=startProcessInstance(this.key); 
System.out.println("Instance id: "+instance.getProcessInstanceId()); 
returnnull; 
} 
… 
<shell:command-bundle> 
<shell:command> 
<shell:actionclass="com.cloudyle.paasplus.commands.StartInstanceCommand"> 
<shell:propertyname="runtimeService"ref="runtimeBean"/> 
</shell:action> 
</shell:command> 
</shell:command-bundle>
15 
Developer Commands 
dev:dump-create 
Createsa systemdumpofKaraf 
bundle:diag 
Givesdetailswhybundledidnot start 
bundle:dynamic-import 
enable or disable the dynamic import of a given bundle 
log:exception-display 
Displays the last occurred exception from the log 
log:tail 
Continuouslydisplaylog entries 
bundle:tree-show 
Show bundledependencytree 
bundle:watch 
Automaticupdate frommavenrepo 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
16 
PetClinic 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
PetClinic 
Persistence 
ClinicService 
API 
Provider 
GUI 
Feature 
https://github.com/Cloudyle/petclinic 
JPA-Bundle 
Configuration, 
Logging 
Web App Bundle 
Feature generation
17 
Persistence 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
https://github.com/Cloudyle/aries/tree/cloudyle 
JPA API 
JPA Container 
Container 
Context 
Container 
Blueprint 
Aries JPA 
Hibernate 
OpenJPA 
EclipseLink 
PersistenceBundle 
•Entities 
•Persistence.xml 
•Meta-Persistenceflag 
<Meta-Persistence> 
META-INF/persistence.xml 
</Meta-Persistence> 
<beanid="persistenceUnit" 
class=„... " init-method="init"> <jpa:unitproperty="entityManagerFactory" unitname="persistence-petclinic-nosql" /> </bean>
18 
Database Connection 
Configurationvia Blueprint 
Simplydeployblueprint.xml intoKaraf 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
<beanid="dataSource"class="org.postgresql.ds.PGPoolingDataSource" 
destroy-method="close"> 
<propertyname="serverName"value="${host}:${port}/${database}"/> 
<propertyname="user"value="${user}"/> 
<propertyname="password"value="${password}"/> 
<propertyname="dataSourceName"value="defaultConnectionPool"/> 
<propertyname="initialConnections"value="${initialConnections}"/> 
<propertyname="maxConnections"value="${maxConnections}"/> 
</bean> 
<serviceinterface="javax.sql.DataSource"ref="dataSource"> 
<service-properties> 
<entrykey="osgi.jndi.service.name"value="jdbc/default"/> 
<entrykey="datasource.name"value="postgres"/> 
</service-properties> 
</service>
19 
Logging 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
log4j 
slf4j 
commonslogging 
Java utillogging 
logback 
OSGi LoggingService 
log4j 
Pax logging 
etc/org.ops4j.pax.logging.cfg 
Commands: 
log:display 
log:tail 
log:set 
log:get 
log:log 
Import-package: org.slf4j;provider=paxlogging
20 
Configuration 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
Bundle 
ConfigAdmin 
Bundle Config 
Global Config 
Pid.cfg 
config.properties 
custom.properties 
System Config 
system.properties 
Java -D 
Commands: 
config:list 
config:edit 
config:property-list 
config:property-set
21 
UsagewithBlueprint 
Import configurationin blueprint: 
Property Placeholders: 
ManagedProperties 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
<cm:property-placeholderid="property-placeholder"persistent- id="com.cloudyle.paasplus.petclinic"update-strategy="reload"> <cm:default-properties> 
<cm:propertyname="dataDir"value="data"/> 
<cm:propertyname="createSampleData"value="true"/> 
</cm:default-properties> 
</cm:property-placeholder> 
<beanid="reportHelper"class="com.cloudyle.paasplus.petclinic.impl.ReportHelper"> 
<propertyname="dataDir"value="${dataDir}"/> 
</bean> 
<beanid="clinicS"class="com.cloudyle.paasplus.petclinic.impl.ClinicServiceImpl"> 
<cm:managed-propertiespersistent-id=clinicServiceConfig" 
update-strategy="container-managed"/> 
</bean>
22 
Web Applications 
Webappsupportvia Pax Web feature 
Integrated Jetty 
etc/jetty.xml 
OSGi http Service (Whiteboard pattern) 
Register Web applicationresourcesasOSGi services 
FullWebapp 
Deploywar orwab 
CDI support 
Commands 
web:list, stop, start(Webapps) 
http:list (Servlets) 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
23 
Web ApplicationBundle 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
Web App Bundle 
META-INF 
MANIFEST 
WEB-INF 
classes 
web.xml 
<Web-ContextPath>/petclinic 
</Web-ContextPath> <_wab>src/main/resources</_wab> 
<groupId>org.apache.felix</groupId> 
<artifactId>maven-bundle-plugin</artifactId> 
<extensions>true</extensions> 
<configuration> 
<supportedProjectTypes> 
<supportedProjectType>jar</supportedProjectType> 
<supportedProjectType>bundle</supportedProjectType> 
<supportedProjectType>war</supportedProjectType> 
</supportedProjectTypes>
24 
Deployment 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
Deploymentof: 
Bundles 
Blueprint files(xml) 
Features 
Kar Archives 
„plain“ jarfiles
25 
Features 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
Bundle A 
Bundle C 
Bundle B 
ConfigA 
Feature Dependency 
Feature XML 
<featurename="com.cloudyle.paasplus.samples.petclinic.feature"version="0.9.0" description="PaaS+ Sample -PetClinic-Deploymentfeature"resolver="(obr)" install="auto"> 
<details>PetClinicFeature.</details> 
<configfilefinalname="/etc/com.cloudyle.paasplus.petclinic.cfg"> mvn:com.cloudyle.paasplus.samples/com.cloudyle.paasplus.samples.petclinic.provider/0.9.0/cfg</configfile> 
<feature>paasplus-persistence-service</feature> 
<bundlestart-level="75">mvn:com.cloudyle.paasplus.samples/ com.cloudyle.paasplus.samples.petclinic.persistence/0.9.0</bundle> 
<bundlestart-level="75">mvn:com.cloudyle.paasplus.samples/ com.cloudyle.paasplus.samples.petclinic.api/0.9.0</bundle> 
</feature>
26 
MavenDeployment 
Deployvia anyMavenrepository 
Bundles 
Features 
Configurations 
Add additional repostoorg.ops4j.pax.url.mvn.cfg 
Installfeaturesorbundles 
UsefulCommands 
bundle:install, update, list 
feature:install, list 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
org.ops4j.pax.url.mvn.repositories=  
http://nexus.paasplus.com:8081/nexus/content/groups/public/,  
http://repo1.maven.org/maven2@id=central,  
repo-add mvn:com.cloudyle.paasplus/com.cloudyle.paasplus.karaf.deployment.services/ 
LATEST/xml/features; 
feature:installpaasplus-persistence-service; 
bundle:installmvn:com.cloudyle.paasplus.samples/ 
com.cloudyle.paasplus.samples.petclinic.api;
27 
KarafMavenPlugin 
Generatefeature.xml withprojectdependencies 
Generatecommanddocumentation 
Kar packaging 
Custom Karafdistribution 
Kar andfeaturepackaging 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
<plugin> 
<groupId>org.apache.karaf.tooling</groupId> 
<artifactId>karaf-maven-plugin</artifactId> 
<version>3.0.2</version> 
<extensions>true</extensions> 
</plugin>
28 
Integrated Development Process 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
Develop 
Debug, 
Integration Tests mvn install 
bundle:install, update 
Manage 
Feature 
XML 
mvn:…/.. 
repo-add
29 
JMX 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
30 
Integration Testing 
AutomatedTestingvia PaxExam 
JUnittestsrunningin Apache Karafinstance 
Configureandmanage Karafvia JUnittest 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
@RunWith(PaxExam.class) 
publicclassServiceProviderITextendsAbstractBaseTest{ 
@Configuration 
publicOption[]config(){ 
returncombine(super.config(),newOption[]{ 
editConfigurationFileExtend("etc/org.apache.karaf.features.cfg","featuresRepositories", ",mvn:com.cloudyle.paasplus:com.cloudyle.paasplus.karaf.deployment.services:xml:features"), 
newKarafDistributionConfigurationFileReplacementOption("etc/org.elasticsearch.connection.cfg", 
newFile("src/test/resources/etc/org.elasticsearch.connection.cfg")), 
features("mvn:com.cloudyle.paasplus/com.cloudyle.paasplus.karaf.deployment.services/LATEST/xml/features","paasplus-report-service"), 
vmOption("-Djava.net.preferIPv4Stack=true"),vmOption("-XX:MaxPermSize=256M")});} 
@Test 
publicvoiddoTest(){ 
…
31 
CellarClustering 
Cluster solution for Apache Karaf 
Based on Hazelcast 
Support for different topologies 
Synchronization of deployments and configurations 
Cross-Node Event publishing 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf 
Node 
Node 
Node 
Node 
Node 
Node 
Cluster Manager
32 
PaaS+withKarafsupport 
CloudylePaaS+allows easy creation of Karafapplications 
Try out PetClinichttp://devcenter.cloudyle.com/display/public/PAAS/Pet+Clinic+ Tutorial 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
33 
See youtomorrow: 
Build bundles in the cloud -How CloudylePaaS+helps creating OSGi applications in the cloud 
Wednesday, October29, 2014 
14:30 to15:05 
Seminarräume 1 -3 
Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf

Contenu connexe

Tendances

Nodejs functions & modules
Nodejs functions & modulesNodejs functions & modules
Nodejs functions & modulesmonikadeshmane
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewShahed Chowdhuri
 
Node js Modules and Event Emitters
Node js Modules and Event EmittersNode js Modules and Event Emitters
Node js Modules and Event EmittersTheCreativedev Blog
 
Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction Kanika Gera
 
Web container and Apache Tomcat
Web container and Apache TomcatWeb container and Apache Tomcat
Web container and Apache TomcatAuwal Amshi
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.jsDinesh U
 
Basic Concept of Node.js & NPM
Basic Concept of Node.js & NPMBasic Concept of Node.js & NPM
Basic Concept of Node.js & NPMBhargav Anadkat
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackMongoDB
 
An Introduction of Node Package Manager (NPM)
An Introduction of Node Package Manager (NPM)An Introduction of Node Package Manager (NPM)
An Introduction of Node Package Manager (NPM)iFour Technolab Pvt. Ltd.
 
Introducing type script
Introducing type scriptIntroducing type script
Introducing type scriptRemo Jansen
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to JavascriptAmit Tyagi
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js ExpressEyal Vardi
 

Tendances (20)

Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
 
Nodejs functions & modules
Nodejs functions & modulesNodejs functions & modules
Nodejs functions & modules
 
Node.js Basics
Node.js Basics Node.js Basics
Node.js Basics
 
Introduction Node.js
Introduction Node.jsIntroduction Node.js
Introduction Node.js
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
Nodejs vatsal shah
Nodejs vatsal shahNodejs vatsal shah
Nodejs vatsal shah
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
Node js Modules and Event Emitters
Node js Modules and Event EmittersNode js Modules and Event Emitters
Node js Modules and Event Emitters
 
Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction
 
Web container and Apache Tomcat
Web container and Apache TomcatWeb container and Apache Tomcat
Web container and Apache Tomcat
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
Basic Concept of Node.js & NPM
Basic Concept of Node.js & NPMBasic Concept of Node.js & NPM
Basic Concept of Node.js & NPM
 
Introduction to Java Scripting
Introduction to Java ScriptingIntroduction to Java Scripting
Introduction to Java Scripting
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN Stack
 
An Introduction of Node Package Manager (NPM)
An Introduction of Node Package Manager (NPM)An Introduction of Node Package Manager (NPM)
An Introduction of Node Package Manager (NPM)
 
Introducing type script
Introducing type scriptIntroducing type script
Introducing type script
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
Java script
Java scriptJava script
Java script
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 

En vedette

OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneidermfrancis
 
W-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafW-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafJerry Preissler
 
Scaling and Orchestrating Microservices with OSGi - N Bartlett
Scaling and Orchestrating Microservices with OSGi - N BartlettScaling and Orchestrating Microservices with OSGi - N Bartlett
Scaling and Orchestrating Microservices with OSGi - N Bartlettmfrancis
 
Modular Web Applications with OSGi
Modular Web Applications with OSGiModular Web Applications with OSGi
Modular Web Applications with OSGiSam Brannen
 
Dynamic Deployment With Apache Felix
Dynamic Deployment With Apache FelixDynamic Deployment With Apache Felix
Dynamic Deployment With Apache FelixMarcel Offermans
 
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
 
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)Kai Wähner
 
Activiti in Action for BeJUG Part II
Activiti in Action for BeJUG Part IIActiviti in Action for BeJUG Part II
Activiti in Action for BeJUG Part IITom Baeyens
 
Introduction to Activiti BPM
Introduction to Activiti BPMIntroduction to Activiti BPM
Introduction to Activiti BPMAlfresco Software
 
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)Joseph Kuo
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache CamelClaus Ibsen
 
Service oriented web development with OSGi
Service oriented web development with OSGiService oriented web development with OSGi
Service oriented web development with OSGiCarsten Ziegeler
 

En vedette (20)

OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneider
 
Introduction to-osgi
Introduction to-osgiIntroduction to-osgi
Introduction to-osgi
 
OSGi Blueprint Services
OSGi Blueprint ServicesOSGi Blueprint Services
OSGi Blueprint Services
 
W-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafW-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache Karaf
 
Scaling and Orchestrating Microservices with OSGi - N Bartlett
Scaling and Orchestrating Microservices with OSGi - N BartlettScaling and Orchestrating Microservices with OSGi - N Bartlett
Scaling and Orchestrating Microservices with OSGi - N Bartlett
 
OSGi Presentation
OSGi PresentationOSGi Presentation
OSGi Presentation
 
Object Role Modeling
Object Role ModelingObject Role Modeling
Object Role Modeling
 
Apache Felix Web Console
Apache Felix Web ConsoleApache Felix Web Console
Apache Felix Web Console
 
Modular Web Applications with OSGi
Modular Web Applications with OSGiModular Web Applications with OSGi
Modular Web Applications with OSGi
 
Dynamic Deployment With Apache Felix
Dynamic Deployment With Apache FelixDynamic Deployment With Apache Felix
Dynamic Deployment With Apache Felix
 
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
 
OSGi & Blueprint
OSGi & BlueprintOSGi & Blueprint
OSGi & Blueprint
 
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
Enterprise Integration Patterns Revisited (EIP, Apache Camel, Talend ESB)
 
Activiti in Action for BeJUG Part II
Activiti in Action for BeJUG Part IIActiviti in Action for BeJUG Part II
Activiti in Action for BeJUG Part II
 
Introduction to Activiti BPM
Introduction to Activiti BPMIntroduction to Activiti BPM
Introduction to Activiti BPM
 
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
 
Fuse overview
Fuse overviewFuse overview
Fuse overview
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Introducing Akka
Introducing AkkaIntroducing Akka
Introducing Akka
 
Service oriented web development with OSGi
Service oriented web development with OSGiService oriented web development with OSGi
Service oriented web development with OSGi
 

Similaire à Develop OSGi Applications with Apache Karaf

ApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiativeApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiativeJean-Baptiste Onofré
 
Gert Vanthienen Presentation
Gert Vanthienen PresentationGert Vanthienen Presentation
Gert Vanthienen Presentationguest27deb47
 
Meetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfMeetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfLuca Mattia Ferrari
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0Eugenio Romano
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesChris Bailey
 
Web Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC ProjectWeb Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC ProjectSaltlux Inc.
 
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)VMware Tanzu
 
Django deployment with PaaS
Django deployment with PaaSDjango deployment with PaaS
Django deployment with PaaSAppsembler
 
Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Pavel Kaminsky
 
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...Amazon Web Services
 
(APP202) Deploy, Manage, Scale Apps w/ AWS OpsWorks & AWS Elastic Beanstalk |...
(APP202) Deploy, Manage, Scale Apps w/ AWS OpsWorks & AWS Elastic Beanstalk |...(APP202) Deploy, Manage, Scale Apps w/ AWS OpsWorks & AWS Elastic Beanstalk |...
(APP202) Deploy, Manage, Scale Apps w/ AWS OpsWorks & AWS Elastic Beanstalk |...Amazon Web Services
 
RichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile DevicesRichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile DevicesPavol Pitoňák
 
DistributingSoftwareKnowledgeForDevOps
DistributingSoftwareKnowledgeForDevOpsDistributingSoftwareKnowledgeForDevOps
DistributingSoftwareKnowledgeForDevOpsPaul Worrall
 
OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)Jooho Lee
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersJavan Rasokat
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Introduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunIntroduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunSaiyam Pathak
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Codemotion
 

Similaire à Develop OSGi Applications with Apache Karaf (20)

ApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiativeApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
 
Gert Vanthienen Presentation
Gert Vanthienen PresentationGert Vanthienen Presentation
Gert Vanthienen Presentation
 
Meetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfMeetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdf
 
AppengineJS
AppengineJSAppengineJS
AppengineJS
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
Web Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC ProjectWeb Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC Project
 
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
 
Django deployment with PaaS
Django deployment with PaaSDjango deployment with PaaS
Django deployment with PaaS
 
Oracle APEX & PhoneGap
Oracle APEX & PhoneGapOracle APEX & PhoneGap
Oracle APEX & PhoneGap
 
Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments
 
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
 
(APP202) Deploy, Manage, Scale Apps w/ AWS OpsWorks & AWS Elastic Beanstalk |...
(APP202) Deploy, Manage, Scale Apps w/ AWS OpsWorks & AWS Elastic Beanstalk |...(APP202) Deploy, Manage, Scale Apps w/ AWS OpsWorks & AWS Elastic Beanstalk |...
(APP202) Deploy, Manage, Scale Apps w/ AWS OpsWorks & AWS Elastic Beanstalk |...
 
RichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile DevicesRichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile Devices
 
DistributingSoftwareKnowledgeForDevOps
DistributingSoftwareKnowledgeForDevOpsDistributingSoftwareKnowledgeForDevOps
DistributingSoftwareKnowledgeForDevOps
 
OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Introduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunIntroduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud Run
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...
 

Plus de mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

Plus de mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Dernier

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Dernier (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
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
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Develop OSGi Applications with Apache Karaf

  • 1. Apache Karaf Develop OSGi Applications with Apache Karaf
  • 2. 2 Today‘s speakers Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf TorstenFrank CEO & Founder Physician 15+ years experience in business and product development Healthcare IT expert Qualified medical device consultant Alexander Grzesik Head of software development, Chief Software Architect Java Expert 15+ years experience in software development Validator for computer validation (GAMP 5)
  • 3. 3 medisite & Cloudyle • Specialized for over 10 years in the development of software focused on the healthcare market. • Our products m.life® and m.care® are comprehensive healthcare solutions. • Expanded to the cloud with the spin-off Cloudyle, with offices in Berlin, Hannover, Germany and soon in the US. Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 4. 4 Agenda Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf Run •Files & Folders •Start andStop •Command Line Develop •Configuration •Logging •Web Deploy •Maven •Features •Kar Archives Test •Debug •Integration Testing Production •Clustering •Cloud
  • 5. 5 Apache KarafHighlights Flexible ProvisioningandDeployment Applicationprovisioningby„Features“ Lightweight andmodular AdvancedLogging Dynamic Configuration Command Line Remote Management Supports different OSGi Frameworks Lots ofavailablefeatures Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 6. 6 Apache KarafOverview Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 7. 7 ImportantFiles andFolders +---bin: Startup scriptsandcommands +---data: Karafworkdirectory | +---cache: Installedbundles | +---log: Default log directory | +---tmp: Temporaryfiles +---deploy: Directory forfilesystemdeployment +---etc: Configurationfiles +---instances: Instance management +---lib: Core libraries +---system: System bundlerepository Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 8. 8 KarafSpecificEnvironment Variables KARAF_HOME: thelocationofyourApache Karafinstallation(defaultisfounddependingwhereyoulaunchthestartupscript). KARAF_BASE: thelocationofyourApache Karafbase(defaultisKARAF_HOME). KARAF_DATA: thelocationofyourApache Karafdatafolder(defaultisKARAF_BASE/data). KARAF_ETC: thelocationofyourApache Karafetcfolder(defaultisKARAF_BASE/etc). KARAF_OPTS: extra argumentspassedtotheJava commandline(defaultisnull). KARAF_DEBUG: if'true', enablethedebugmode(defaultisnull). Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 9. 9 Commandline Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 10. 10 Command Groups (Karaf3.x) bundle:* -Install and control bundles dev:* -Development support feature:* -Manage features instance:* -Control of multiple instances jaas:* -JAAS role and rights management log:* -log display obr:* -Interaction with OSGi Bundle Repositories scr:* -Declarative Services management service:* -Manage OSGi Services shell:* -useful helper functions (i.e. grep, more, java info) ssh:* -SSH connections system:* -OSGi framework management web:* -WAR bundle management wrapper:* -OS service installation Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 11. 11 Remote Management Usecommandlinevia SSH: Configurationvia: org.apache.karaf.shell.cfg User andRolemanagementvia JAAS Configurevia users.properties org.apache.karaf.command.acl.* forcommandspecificpermissions Default roles: viewer, manager, admin Connect tootherKarafusingsshcommand Connect tolocalrunningKarafusingtheclientscript Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf ssh-p 38031karaf@karaf-mydomain.paasplus.com
  • 12. 12 Webconsole Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 13. 13 Scripting Scripting allowscustomizingconsole Variable assignment: msg= “Welcome toPaaS+“ Lists, Mapsmap= [Jan=1 Feb=2 Mar=3] Pipe commands($.contextbundles) | grep-i PaaS+ Flow controlshell:if, shell:each Startup scriptsconfiguredin shell.init.script Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf paasplus:refresh={ feature:repo-remove-u mvn:com.cloudyle.paasplus/$args/LATEST/xml/features; feature:repo-addmvn:com.cloudyle.paasplus/$args/LATEST/xml/features; feature:install$args} ;
  • 14. 14 Custom Commands Add customcommandsfromyourbundles Extendorg.apache.karaf.shell.console.OsgiCommandSupport Add @org.apache.karaf.shell.commands.CommandAnnotation Register commandvia Blueprint Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf publicclassStartInstanceCommandextendsOsgiCommandSupport{ @Argument(index=0,name="key",description="Processdefinitionkey", required=true,multiValued=false) String key; @Override protectedObjectdoExecute()throwsException{ finalProcessInstanceinstance=startProcessInstance(this.key); System.out.println("Instance id: "+instance.getProcessInstanceId()); returnnull; } … <shell:command-bundle> <shell:command> <shell:actionclass="com.cloudyle.paasplus.commands.StartInstanceCommand"> <shell:propertyname="runtimeService"ref="runtimeBean"/> </shell:action> </shell:command> </shell:command-bundle>
  • 15. 15 Developer Commands dev:dump-create Createsa systemdumpofKaraf bundle:diag Givesdetailswhybundledidnot start bundle:dynamic-import enable or disable the dynamic import of a given bundle log:exception-display Displays the last occurred exception from the log log:tail Continuouslydisplaylog entries bundle:tree-show Show bundledependencytree bundle:watch Automaticupdate frommavenrepo Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 16. 16 PetClinic Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf PetClinic Persistence ClinicService API Provider GUI Feature https://github.com/Cloudyle/petclinic JPA-Bundle Configuration, Logging Web App Bundle Feature generation
  • 17. 17 Persistence Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf https://github.com/Cloudyle/aries/tree/cloudyle JPA API JPA Container Container Context Container Blueprint Aries JPA Hibernate OpenJPA EclipseLink PersistenceBundle •Entities •Persistence.xml •Meta-Persistenceflag <Meta-Persistence> META-INF/persistence.xml </Meta-Persistence> <beanid="persistenceUnit" class=„... " init-method="init"> <jpa:unitproperty="entityManagerFactory" unitname="persistence-petclinic-nosql" /> </bean>
  • 18. 18 Database Connection Configurationvia Blueprint Simplydeployblueprint.xml intoKaraf Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf <beanid="dataSource"class="org.postgresql.ds.PGPoolingDataSource" destroy-method="close"> <propertyname="serverName"value="${host}:${port}/${database}"/> <propertyname="user"value="${user}"/> <propertyname="password"value="${password}"/> <propertyname="dataSourceName"value="defaultConnectionPool"/> <propertyname="initialConnections"value="${initialConnections}"/> <propertyname="maxConnections"value="${maxConnections}"/> </bean> <serviceinterface="javax.sql.DataSource"ref="dataSource"> <service-properties> <entrykey="osgi.jndi.service.name"value="jdbc/default"/> <entrykey="datasource.name"value="postgres"/> </service-properties> </service>
  • 19. 19 Logging Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf log4j slf4j commonslogging Java utillogging logback OSGi LoggingService log4j Pax logging etc/org.ops4j.pax.logging.cfg Commands: log:display log:tail log:set log:get log:log Import-package: org.slf4j;provider=paxlogging
  • 20. 20 Configuration Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf Bundle ConfigAdmin Bundle Config Global Config Pid.cfg config.properties custom.properties System Config system.properties Java -D Commands: config:list config:edit config:property-list config:property-set
  • 21. 21 UsagewithBlueprint Import configurationin blueprint: Property Placeholders: ManagedProperties Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf <cm:property-placeholderid="property-placeholder"persistent- id="com.cloudyle.paasplus.petclinic"update-strategy="reload"> <cm:default-properties> <cm:propertyname="dataDir"value="data"/> <cm:propertyname="createSampleData"value="true"/> </cm:default-properties> </cm:property-placeholder> <beanid="reportHelper"class="com.cloudyle.paasplus.petclinic.impl.ReportHelper"> <propertyname="dataDir"value="${dataDir}"/> </bean> <beanid="clinicS"class="com.cloudyle.paasplus.petclinic.impl.ClinicServiceImpl"> <cm:managed-propertiespersistent-id=clinicServiceConfig" update-strategy="container-managed"/> </bean>
  • 22. 22 Web Applications Webappsupportvia Pax Web feature Integrated Jetty etc/jetty.xml OSGi http Service (Whiteboard pattern) Register Web applicationresourcesasOSGi services FullWebapp Deploywar orwab CDI support Commands web:list, stop, start(Webapps) http:list (Servlets) Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 23. 23 Web ApplicationBundle Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf Web App Bundle META-INF MANIFEST WEB-INF classes web.xml <Web-ContextPath>/petclinic </Web-ContextPath> <_wab>src/main/resources</_wab> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <supportedProjectTypes> <supportedProjectType>jar</supportedProjectType> <supportedProjectType>bundle</supportedProjectType> <supportedProjectType>war</supportedProjectType> </supportedProjectTypes>
  • 24. 24 Deployment Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf Deploymentof: Bundles Blueprint files(xml) Features Kar Archives „plain“ jarfiles
  • 25. 25 Features Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf Bundle A Bundle C Bundle B ConfigA Feature Dependency Feature XML <featurename="com.cloudyle.paasplus.samples.petclinic.feature"version="0.9.0" description="PaaS+ Sample -PetClinic-Deploymentfeature"resolver="(obr)" install="auto"> <details>PetClinicFeature.</details> <configfilefinalname="/etc/com.cloudyle.paasplus.petclinic.cfg"> mvn:com.cloudyle.paasplus.samples/com.cloudyle.paasplus.samples.petclinic.provider/0.9.0/cfg</configfile> <feature>paasplus-persistence-service</feature> <bundlestart-level="75">mvn:com.cloudyle.paasplus.samples/ com.cloudyle.paasplus.samples.petclinic.persistence/0.9.0</bundle> <bundlestart-level="75">mvn:com.cloudyle.paasplus.samples/ com.cloudyle.paasplus.samples.petclinic.api/0.9.0</bundle> </feature>
  • 26. 26 MavenDeployment Deployvia anyMavenrepository Bundles Features Configurations Add additional repostoorg.ops4j.pax.url.mvn.cfg Installfeaturesorbundles UsefulCommands bundle:install, update, list feature:install, list Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf org.ops4j.pax.url.mvn.repositories= http://nexus.paasplus.com:8081/nexus/content/groups/public/, http://repo1.maven.org/maven2@id=central, repo-add mvn:com.cloudyle.paasplus/com.cloudyle.paasplus.karaf.deployment.services/ LATEST/xml/features; feature:installpaasplus-persistence-service; bundle:installmvn:com.cloudyle.paasplus.samples/ com.cloudyle.paasplus.samples.petclinic.api;
  • 27. 27 KarafMavenPlugin Generatefeature.xml withprojectdependencies Generatecommanddocumentation Kar packaging Custom Karafdistribution Kar andfeaturepackaging Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf <plugin> <groupId>org.apache.karaf.tooling</groupId> <artifactId>karaf-maven-plugin</artifactId> <version>3.0.2</version> <extensions>true</extensions> </plugin>
  • 28. 28 Integrated Development Process Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf Develop Debug, Integration Tests mvn install bundle:install, update Manage Feature XML mvn:…/.. repo-add
  • 29. 29 JMX Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 30. 30 Integration Testing AutomatedTestingvia PaxExam JUnittestsrunningin Apache Karafinstance Configureandmanage Karafvia JUnittest Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf @RunWith(PaxExam.class) publicclassServiceProviderITextendsAbstractBaseTest{ @Configuration publicOption[]config(){ returncombine(super.config(),newOption[]{ editConfigurationFileExtend("etc/org.apache.karaf.features.cfg","featuresRepositories", ",mvn:com.cloudyle.paasplus:com.cloudyle.paasplus.karaf.deployment.services:xml:features"), newKarafDistributionConfigurationFileReplacementOption("etc/org.elasticsearch.connection.cfg", newFile("src/test/resources/etc/org.elasticsearch.connection.cfg")), features("mvn:com.cloudyle.paasplus/com.cloudyle.paasplus.karaf.deployment.services/LATEST/xml/features","paasplus-report-service"), vmOption("-Djava.net.preferIPv4Stack=true"),vmOption("-XX:MaxPermSize=256M")});} @Test publicvoiddoTest(){ …
  • 31. 31 CellarClustering Cluster solution for Apache Karaf Based on Hazelcast Support for different topologies Synchronization of deployments and configurations Cross-Node Event publishing Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf Node Node Node Node Node Node Cluster Manager
  • 32. 32 PaaS+withKarafsupport CloudylePaaS+allows easy creation of Karafapplications Try out PetClinichttp://devcenter.cloudyle.com/display/public/PAAS/Pet+Clinic+ Tutorial Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf
  • 33. 33 See youtomorrow: Build bundles in the cloud -How CloudylePaaS+helps creating OSGi applications in the cloud Wednesday, October29, 2014 14:30 to15:05 Seminarräume 1 -3 Eclipsecon Europe 2014 Develop OSGi Applications with Apache Karaf