Carsten Ziegeler

Size: px
Start display at page:

Download "Carsten Ziegeler"

Transcription

1 Embrace OSGi Change A Developer's Quickstart Carsten Ziegeler cziegeler@apache.org

2 About Member of the ASF Sling, Felix, Cocoon, Portals, Sanselan, Excalibur, Incubator PMC: Felix, Portals, Cocoon, Incubator, Excalibur (Chair) RnD Team at Day Software Article/Book Author, Technical Reviewer JSR 286 Spec Group (Portlet API 2.0) 2

3 Agenda Motivation 2 And Action... 3 Why OSGi? 4 Apache Felix 5-7 Bundles, Services, Dynamics 8 Famous Final Words 3

4 Application Example Motivation 4

5 Motivation Modularity is key Manage growing complexity Support dynamic extensibility No solution in standard Java OSGi: tried and trusted Embrace change Embrace OSGi Only a few concepts easy to get started 5

6 Application 2 Example And Action... 6

7 Paint Program Swing-based paint program Interface SimpleShape for drawing Different implementations Each shape has name and icon properties Available shapes are displayed in tool bar Select shape and then select location Shapes can be dragged, but not resized Support dynamic deployment of shapes 7

8 Shape Abstraction Conceptual SimpleShape interface public interface SimpleShape { /** * Method to draw the shape of the service. g2 The graphics object used for * painting. p The position to paint the shape. **/ public void draw(graphics2d g2, Point p); } 8

9 Paint Program Mock Up 9

10 High-Level Architecture Shape Tracker Drawing Frame * Default Shape * Shape Component Simple Shape 0

11 High-Level Architecture Shape Tracker Best practice Try to centralize interaction with OSGi API *so that Drawing other componentsdefault Frame Shape remain POJOs...only Shape Tracker will interact with OSGi API. * Shape Component Simple Shape

12 High-Level Architecture Shape Tracker Drawing Frame * Default Shape * Main application window gets Shape dynamically injected Component with available shapes from the Shape Tracker. Simple Shape 2

13 High-Level Architecture Shape Tracker Drawing Frame * Default Shape * Shape Actual shape Component implementation. Simple Shape 3

14 High-Level Architecture Injected proxied shape to implementation hide Shape Drawing aspects of dynamism Tracker Frame and provide a default implementation. * Shape Actual shape Component implementation. * Default Shape Simple Shape 4

15 High-Level Architecture Shape Tracker Component that draws the shape in parent frame; looks shape via Drawing up Drawing Frame* rather thanframe having a direct reference. Default Shape * Shape Component Simple Shape 5

16 LIVE DEMO Example Application 6

17 3 Example Why Application OSGi? 7

18 Class Path Hell Can you spot some potential problems? 8

19 Class Path Hell What libs are used? Versions? Which jar is used? Version? No difference between private and public classes 9

20 Java's Shortcomings Simplistic version handling First class from class path JAR files assume backwards compatibility at best Implicit dependencies Dependencies are implicit in class path ordering JAR files add improvements for extensions, but cannot control visibility 20

21 Java's Shortcomings Split packages by default Class path approach searches until it finds, which leads to shadowing or version mixing Limited scoping mechanisms No module access modifier Impossible to declare all private stuff as private Missing module concept Classes are too fine grained, packages are too simplistic, class loaders are too low level No deployment/lifecycle support 2

22 Java Dynamism Limitations Low-level support for dynamics Class loaders are complicated to use and error prone Support for dynamics is still purely manual Must be completely managed by the programmer Leads to many ad hoc, incompatible solutions Limited deployment support 22

23 OSGi Technology Adds modularity and dynamics Module concept Explicit sharing (importing and exporting) Automatic management of code dependencies Enforces sophisticated consistency rules for class loading Life-cycle management Manages dynamic deployment and configuration Service Registry Publish/find/bind 23

24 Application 4 Example Apache Felix 24

25 OSGi Alliance Industry consortium OSGi Service Platform specification Framework specification for hosting dynamically downloadable services Standard service specifications Several expert groups define the specifications Core Platform Expert Group (CPEG) Mobile Expert Group (MEG) Vehicle Expert Group (VEG) Enterprise Expert Group (EEG) 25

26 Apache Felix Top-level project (March 2007) Healthy and diverse community OSGi R4 (R4.) implementation Framework (frequent releases) Services (continued development) Log, Package Admin, Event Admin, Configuration Admin, Declarative Services, Meta Type, Deployment Admin (and more) Moving towards upcoming R4.2 Tools Maven Plugins, Web Console, ipojo 26

27 Apache Felix Growing community Several code grants and contributions Various (Apache) projects use Felix / have expressed interest in Felix and/or OSGi e.g., ServiceMix, Directory, Sling, Tuscany Roadmap Continue toward R4 and R4. compliance some parts consider pre R4.2 already 27

28 5 Example OSGiApplication Part Bundles 28

29 OSGi Architectural Overview Fr a m ew or k Bundle OSGi Java Operating System Driver Driver Driver Hardware 29

30 OSGi Framework Layering SERVICE MODEL LIFECYCLE MODULE Execution Environment CDC CDC L3 Provides a publish/find/bind service model to decouple bundles L2 - Manages the life cycle of bundle in a bundle repository without requiring the VM be restarted L - Creates the concept of modules (aka. bundles) that use classes from each other in a controlled way according to system and bundle constraints L0 OSGi Minimum Execution Environment CDC/Foundation JavaSE 30

31 OSGi Framework Component-oriented framework Module concept: Bundles Separate class loader -> graph Package sharing and version management Life-cycle management and notification Dynamic! Install, update, and uninstall at runtime Runs multiple applications and services in a single VM 3

32 OSGi Modularity Explicit code boundaries and dependencies Package imports and exports Multi-version support Version ranges for dependencies Class space is managed by OSGi Managed life cycle Dynamic install, update, uninstall 32

33 OSGi Modularity - Example Dynamic module deployment and dependency resolution Provided package existing bundle OSGi framework 33

34 OSGi Modularity - Example Dynamic module deployment and dependency resolution existing bundle install bundle.jar OSGi framework 34

35 OSGi Modularity - Example Dynamic module deployment and dependency resolution existing bundle resolve bundle OSGi framework 35

36 OSGi Modularity - Example Dynamic module deployment and dependency resolution automatic package dependency resolution existing bundle OSGi framework 36

37 Creating a Bundle Plain old JAR with additional metadata in the manifest Bundle identifier, version, exports, imports Tools Text editor (Manifest) Eclipse (PDE) Bundle packaging tools BND from Peter Kriens Apache Felix maven-bundle-plugin based on BND 37

38 Maven is Your Friend Apache Felix Maven Bundle Plugin Creates metadata based on POM Automatically: import packages Manually: export and private packages Analyses classes for consistency Allows to include dependencies Creates final bundle JAR file 38

39 Maven Bundle Plugin Sample <artifactid>org.apache.sling.engine</artifactid> <packaging>bundle</packaging> <version>2.0.3-incubator-snapshot</version> <build> <plugins> <plugin> <groupid>org.apache.felix</groupid> <artifactid>maven-bundle-plugin</artifactid> <extensions>true</extensions> <configuration> <instructions> <Export-Package> org.apache.sling.engine;version=${pom.version} </Export-Package> <Private-Package> org.apache.sling.engine.impl </Private-Package> <Embed-Dependency> commons-fileupload </Embed-Dependency> </instructions> 39

40 Maven Bundle Plugin Sample <artifactid>org.apache.sling.engine</artifactid> <packaging>bundle</packaging> <version>2.0.3-incubator-snapshot</version> <build> <plugins> <plugin> <groupid>org.apache.felix</groupid> <artifactid>maven-bundle-plugin</artifactid> <extensions>true</extensions> <configuration> <instructions> <Export-Package> org.apache.sling.engine;version=${pom.version} </Export-Package> <Private-Package> org.apache.sling.engine.impl </Private-Package> <Embed-Dependency> commons-fileupload </Embed-Dependency> </instructions> 40

41 Maven Bundle Plugin Sample <artifactid>org.apache.sling.engine</artifactid> <packaging>bundle</packaging> <version>2.0.3-incubator-snapshot</version> <build> <plugins> <plugin> <groupid>org.apache.felix</groupid> <artifactid>maven-bundle-plugin</artifactid> <extensions>true</extensions> <configuration> <instructions> <Export-Package> org.apache.sling.engine;version=${pom.version} </Export-Package> <Private-Package> org.apache.sling.engine.impl </Private-Package> <Embed-Dependency> commons-fileupload </Embed-Dependency> </instructions> 4

42 Maven Bundle Plugin Sample <artifactid>org.apache.sling.engine</artifactid> <packaging>bundle</packaging> <version>2.0.3-incubator-snapshot</version> <build> <plugins> <plugin> <groupid>org.apache.felix</groupid> <artifactid>maven-bundle-plugin</artifactid> <extensions>true</extensions> <configuration> <instructions> <Export-Package> org.apache.sling.engine;version=${pom.version} </Export-Package> <Private-Package> org.apache.sling.engine.impl </Private-Package> <Embed-Dependency> commons-fileupload </Embed-Dependency> </instructions> 42

43 Be Modular! Create clean package spaces public vs private Provide Bundles Add manifest information Think about dependencies Additional bundle vs include Optional Version ranges Benefits even without OSGi 43

44 6 Example OSGiApplication Part 2 Services 44

45 OSGi Services (/3) Service-oriented architecture Publish/find/bind Possible to use modules without services Service Registry Find Publish Service Description Service Provider Interact Service Requester 45

46 OSGi Services (2/3) An OSGi application is... A collection of bundles that interact via service interfaces Bundles may be independently developed and deployed Bundles and their associated services may appear or disappear at any time Resulting application follows a ServiceOriented Component Model approach 46

47 OSGi Services (3/3) Dynamic service lookup Provided service Provided package existing bundle component OSGi framework 47

48 OSGi Services (3/3) Dynamic service lookup existing bundle component install bundle.jar OSGi framework 48

49 OSGi Services (3/3) Dynamic service lookup existing bundle component activate bundle OSGi framework 49

50 OSGi Services (3/3) Dynamic service lookup automatic package dependency resolution existing bundle component OSGi framework 50

51 OSGi Services (3/3) Dynamic service lookup manual service dependency resolution existing bundle component OSGi framework 5

52 OSGi Services Advantages Lightweight services Lookup is based on interface name Direct method invocation Good design practice Separates interface from implementation Enables reuse, substitutability, loose coupling, and late binding 52

53 OSGi Services Advantages Dynamic Loose coupling and late binding Application's configuration is simply the set of deployed bundles Deploy only the bundles that you need 53

54 OSGi Services Issues More sophisticated, but more complicated Requires a different way of thinking Things might appear/disappear at any moment Must manually resolve and track services There is help Service Tracker Still somewhat of a manual approach Declarative Services, Spring DM, ipojo Sophisticated service-oriented component frameworks Automated dependency injection and more More modern, POJO-oriented approaches 54

55 7 Example OSGiApplication Part 3 Dynamics 55

56 Everything is a Bundle How to structure bundles? API vs implementation bundle Fine-grained vs coarse-grained No One Size Fits All Simple Rules Stable code vs changing code Optional parts 56

57 Third Party Libraries Use as bundles Project delivers already a bundle Apache Commons, Apache Sling etc. Use special bundle repositories Felix Commons, Spring etc. But check included metadata! Create your own wrapper Easy with the Felix maven bundle plugin Include in your bundle Again: easy with the Felix maven bundle plugin 57

58 Everything is Dynamic Bundles can come and go! Packages Services Services can come and go! Be prepaired! Application code must handle dynamics! 58

59 Dynamic Services OSGi Declarative Services Specification XML Configuration Contained in bundle Manifest entry pointing to config(s) Publishing services Consuming services Policy (static,dynamic), cardinality (0..,.., 0..n) Default configuration Service Lifecycle management Various Implementations Apache Felix SCR 59

60 Dynamic Services Configuration <scr:component enabled="true" name="org.apache.sling.event.impl.distributingeventhandler"> <implementation class="org.apache.sling.event.impl.distributingeventhandler"/> <service servicefactory="false"> <provide interface="org.osgi.service.event.eventhandler"/> </service> <property name="repository.path" value="/var/eventing/distribution"/> <property name="cleanup.period" type="integer" value="5"/> <reference name="threadpool" interface="org.apache.sling.event.threadpool" cardinality=".." policy="static" bind="bindthreadpool" unbind="unbindthreadpool"/> 60

61 Dynamic Services Configuration <scr:component enabled="true" name="org.apache.sling.event.impl.distributingeventhandler"> <implementation class="org.apache.sling.event.impl.distributingeventhandler"/> <service servicefactory="false"> <provide interface="org.osgi.service.event.eventhandler"/> </service> <property name="repository.path" value="/var/eventing/distribution"/> <property name="cleanup.period" type="integer" value="5"/> <reference name="threadpool" interface="org.apache.sling.event.threadpool" cardinality=".." policy="static" bind="bindthreadpool" unbind="unbindthreadpool"/> 6

62 Dynamic Services Configuration <scr:component enabled="true" name="org.apache.sling.event.impl.distributingeventhandler"> <implementation class="org.apache.sling.event.impl.distributingeventhandler"/> <service servicefactory="false"> <provide interface="org.osgi.service.event.eventhandler"/> </service> <property name="repository.path" value="/var/eventing/distribution"/> <property name="cleanup.period" type="integer" value="5"/> <reference name="threadpool" interface="org.apache.sling.event.threadpool" cardinality=".." policy="static" bind="bindthreadpool" unbind="unbindthreadpool"/> 62

63 Dynamic Services Configuration <scr:component enabled="true" name="org.apache.sling.event.impl.distributingeventhandler"> <implementation class="org.apache.sling.event.impl.distributingeventhandler"/> <service servicefactory="false"> <provide interface="org.osgi.service.event.eventhandler"/> </service> <property name="repository.path" value="/var/eventing/distribution"/> <property name="cleanup.period" type="integer" value="5"/> <reference name="threadpool" interface="org.apache.sling.event.threadpool" cardinality=".." policy="static" bind="bindthreadpool" unbind="unbindthreadpool"/> 63

64 Declarative Services Reads XML configs on bundle start Registers services Keeps track of dependencies Starts/stops services Invokes optional activation and deactivation method Provides access to configuration Caution: A service is by default only started if someone else uses it! Immediate flag forces a service start 64

65 Example Service protected ThreadPool threadpool; protected void activate(componentcontext context) throws Exception final Dictionary<String, Object> props = context.getproperties(); this.cleanupperiod = (Integer)props.get("cleanup.period"); super.activate(context); } protected void bindthreadpool(threadpool p) { this.threadpool = p; } protected void unbindthreadpool(threadpool p) { if ( this.threadpool == p ) { this.threadpool = null; } } 65

66 Config Admin and Metatype OSGi Config Admin Configuration Manager Persistence storage API to retrieve/update/remove configs Works with Declarative Services OSGi Metatype Service Description of bundle metadata Description of service configurations Various Implementations Apache Felix 66

67 Maven SCR Plugin Combines everything (DS, ConfigAdmin, Metatype, Maven) Annotation-based (works for.4+) Annotate components Properties with default values Service providers Services references (policy and cardinality) Generates DS XML Generates Metatype config Generates Java code 67

68 SCR Plugin Sample /** name="repository.path" value="/var/eventing/distribution" private="true" interface="eventhandler" */ public class DistributingEventHandler implements EventHandler { protected static final int DEFAULT_CLEANUP_PERIOD = 5; valueref="default_cleanup_period" type="integer" */ protected static final String PROP_CLEANUP_PERIOD = "cleanup.period"; */ protected ThreadPool threadpool; protected void activate(componentcontext context) throws Exception { final Dictionary<String, Object> props = context.getproperties(); this.cleanupperiod = (Integer)props.get(PROP_CLEANUP_PERIOD); } 68

69 Alternatives Manually through bundle activator Apache Felix ipojo Spring Dynamic Modules 69

70 Handling extensibility Two basic implementation strategies Service-based approach Extender model 70

71 Service Whiteboard Pattern Clients register a service interface Service tracker for registered services Simple, more robust, leverages the OSGi service model Service whiteboard pattern It is an Inversion of Control pattern 7

72 Externder Model Bundles contain manifest entries Like available service classes Custom bundle tracker Keeps track of bundles Specifically, STARTED and STOPPED events Checks bundles manifest data Creates/removes services 72

73 Application 8 Example Famous Final Words 73

74 Conclusion Modulary and dynamics are required by todays applications OSGi technology addresses Java's limitations in these areas Available today and growing in importance Development is straightforward and provides immediate benefits Apache Felix is ready when you are! 74

75 Suggestions for Development Think about modularity! Clean package space Think about dynamics! Consider OSGi Check out the spec and other projects Minimize dependencies to OSGi but only if it makes sense 75

76 Suggestions for Using OSGi Think about dynamics Optional bundles Optional services Handle these cases Use your preferred logging library LogManager takes care Use available tooling Be part of the community! 76

77 Check It Out Read the OSGi spec Framework Config Admin, Metatype, Declarative Services Deployment Admin, OBR Download Apache Felix Try tutorials and samples Download Apache Sling :) Explore the web embrace OSGi 77

78 Embrace OSGi Change Questions?

Apache Felix. Richard S. Hall. A Standard Plugin Model for Apache. Atlanta, Georgia U.S.A. November 13th, 2007

Apache Felix. Richard S. Hall. A Standard Plugin Model for Apache. Atlanta, Georgia U.S.A. November 13th, 2007 Apache Felix A Standard Plugin Model for Apache Richard S. Hall Atlanta, Georgia U.S.A. November 13th, 2007 Agenda Why OSGi technology? OSGi technology overview Apache Felix status Example application

More information

Managing Installations and Provisioning of OSGi Applications. Carsten Ziegeler

Managing Installations and Provisioning of OSGi Applications. Carsten Ziegeler Managing Installations and Provisioning of OSGi Applications Carsten Ziegeler cziegeler@apache.org About Member of the ASF Current PMC Chair of Apache Sling Apache Sling, Felix, ACE, Portals (Incubator,

More information

The State of Apache Sling

The State of Apache Sling The State of Apache Sling Carsten Ziegeler cziegeler@apache.org adaptto() 2012 Berlin 1 About Member of the ASF Current PMC Chair of Apache Sling Apache Sling, Felix, Portals, Incubator RnD Team at Adobe

More information

Introduction to OSGi. Marcel Offermans. luminis

Introduction to OSGi. Marcel Offermans. luminis Introduction to OSGi Marcel Offermans luminis Introduction Marcel Offermans marcel.offermans@luminis.nl Luminis Arnhem Apeldoorn Enschede IT solutions from idea to implementation with and for customers:

More information

Patterns and Best Practices for dynamic OSGi Applications

Patterns and Best Practices for dynamic OSGi Applications Patterns and Best Practices for dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

Patterns and Best Practices for Dynamic OSGi Applications

Patterns and Best Practices for Dynamic OSGi Applications Patterns and Best Practices for Dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

OSGi on the Server. Martin Lippert (it-agile GmbH)

OSGi on the Server. Martin Lippert (it-agile GmbH) OSGi on the Server Martin Lippert (it-agile GmbH) lippert@acm.org 2009 by Martin Lippert; made available under the EPL v1.0 October 6 th, 2009 Overview OSGi in 5 minutes Apps on the server (today and tomorrow)

More information

Modular Java Applications with Spring, dm Server and OSGi

Modular Java Applications with Spring, dm Server and OSGi Modular Java Applications with Spring, dm Server and OSGi Copyright 2005-2008 SpringSource. Copying, publishing or distributing without express written permission is prohibit Topics in this session Introduction

More information

Tuscany: Applying OSGi modularity after the fact

Tuscany: Applying OSGi modularity after the fact Tuscany: Applying OSGi modularity after the fact Luciano Resende lresende@apache.org http://lresende.blogspot.com Raymond Feng rfeng@apache.org Agenda Introduction and Motivation Status of current Tools

More information

Java Modularity Support in OSGi R4. Richard S. Hall ApacheCon (San Diego) December 14 th, 2005

Java Modularity Support in OSGi R4. Richard S. Hall ApacheCon (San Diego) December 14 th, 2005 Java Modularity Support in OSGi R4 Richard S. Hall ApacheCon (San Diego) December 14 th, 2005 Modularity What is it? What is Modularity? (Desirable) property of a system, such that individual components

More information

OSGi. Tales from the Trenches. OSGitales from the trenches

OSGi. Tales from the Trenches. OSGitales from the trenches OSGi Tales from the Trenches Bertrand Delacretaz Senior R&D Developer, Day Software, www.day.com Apache Software Foundation Member and Director bdelacretaz@apache.org blog: http://grep.codeconsult.ch twitter:

More information

OSGi in Action. Ada Diaconescu

OSGi in Action. Ada Diaconescu OSGi in Action Karl Pauls Clement Escoffier karl.pauls@akquinet.de clement.escoffier@akquinet.de INF 346. Ada Diaconescu ada.diaconescu@telecom-paristech.fr 2 OSGi in Action - Clement Escoffier (clement.escoffier@akquinet.de)

More information

JCR in Action. Content-based Applications with Apache Jackrabbit. Carsten Ziegeler.

JCR in Action. Content-based Applications with Apache Jackrabbit. Carsten Ziegeler. JCR in Action Content-based Applications with Apache Jackrabbit Carsten Ziegeler cziegeler@apache.org Apache Con US Presentation November 2009 - Oakland About Member of the ASF Sling, Felix, Cocoon, Portals,

More information

JSR 277, 291 and OSGi, Oh My! - OSGi and Java Modularity

JSR 277, 291 and OSGi, Oh My! - OSGi and Java Modularity JSR 277, 291 and OSGi, Oh My! - OSGi and Java Modularity Richard S. Hall June 28 th, 2006 Agenda Modularity Modularity in Java Modularity in Java + OSGi technology Introduction to OSGi technology Apache

More information

Using Apache Felix: OSGi best practices. Marcel Offermans luminis

Using Apache Felix: OSGi best practices. Marcel Offermans luminis Using Apache Felix: OSGi best practices Marcel Offermans luminis 1 About me Marcel Offermans Software architect at luminis Consultancy & product development Over 4 years of experience with OSGi Committer

More information

Breaking Apart the Monolith with Modularity and Microservices CON3127

Breaking Apart the Monolith with Modularity and Microservices CON3127 Breaking Apart the Monolith with Modularity and Microservices CON3127 Neil Griffin Software Architect, Liferay Inc. Specification Lead, JSR 378 Portlet 3.0 Bridge for JavaServer Faces 2.2 Michael Han Vice

More information

Liberate your components with OSGi services

Liberate your components with OSGi services Liberate your components with OSGi services One products journey through the Modularity Maturity Model Alasdair Nottingham (not@uk.ibm.com) WebSphere Application Server V8.5 Liberty Profile Development

More information

OSGi in Action. RICHARD S. HALL KARL PAULS STUART McCULLOCH DAVID SAVAGE CREATING MODULAR APPLICATIONS IN JAVA MANNING. Greenwich (74 w. long.

OSGi in Action. RICHARD S. HALL KARL PAULS STUART McCULLOCH DAVID SAVAGE CREATING MODULAR APPLICATIONS IN JAVA MANNING. Greenwich (74 w. long. OSGi in Action CREATING MODULAR APPLICATIONS IN JAVA RICHARD S. HALL KARL PAULS STUART McCULLOCH DAVID SAVAGE 11 MANNING Greenwich (74 w. long.) contents foreword xiv preface xvii acknowledgments xix about

More information

Equinox OSGi: Pervasive Componentization

Equinox OSGi: Pervasive Componentization Equinox OSGi: Pervasive Componentization Thomas Watson Equinox Development Lead IBM Lotus Jeff McAffer, Eclipse RCP and Equinox Lead IBM Rational Software 10/3/2006 Why is Eclipse interesting? Extensible

More information

OSGi. Building and Managing Pluggable Applications

OSGi. Building and Managing Pluggable Applications OSGi Building and Managing Pluggable Applications What A Mess Billing Service Orders Shipping Accounting Workflow Inventory Application From The View Of... Building monolithic applications is evil nuf

More information

1.2. Name(s) and address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008

1.2. Name(s) and  address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008 01234567890123456789012345678901234567890123456789012345678901234567890123456789 1. Introduction 1.1. Project/Component Working Name: Modularization of GlassFish using OSGi 1.2. Name(s) and e-mail address

More information

Lab 1 Introduction ipojo Component Model

Lab 1 Introduction ipojo Component Model Lab 1 Introduction ipojo Component Model Thomas Leveque A Page 1, January 27, 2011 Service Oriented Computation New computing paradigm Service as fundamental element Reduce dependencies among «software

More information

Java Platform, Enterprise Edition 6 with Extensible GlassFish Application Server v3

Java Platform, Enterprise Edition 6 with Extensible GlassFish Application Server v3 Java Platform, Enterprise Edition 6 with Extensible GlassFish Application Server v3 Jerome Dochez Mahesh Kannan Sun Microsystems, Inc. Agenda > Java EE 6 and GlassFish V3 > Modularity, Runtime > Service

More information

Agenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved.

Agenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved. OSGi Overview freeman.fang@gmail.com ffang@apache.org Apache Servicemix Commiter/PMC member Apache Cxf Commiter/PMC member Apache Karaf Commiter/PMC member Apache Felix Commiter Agenda Why OSGi What is

More information

Christopher Frost Virgo Committer Martin Lippert Lead, Spring Development Tools SpringSource, a division of VMware 3rd November 2011

Christopher Frost Virgo Committer Martin Lippert Lead, Spring Development Tools SpringSource, a division of VMware 3rd November 2011 All About Virgo Christopher Frost Virgo Committer Martin Lippert Lead, Spring Development Tools SpringSource, a division of VMware 3rd November 2011 OSGi Alliance Marketing 2008-2010 Page. 1 All Rights

More information

Standards and the Portals Project

Standards and the Portals Project Standards and the Portals Project Carsten Ziegeler cziegeler@apache.org Competence Center Open Source S&N AG, Germany Member of the Apache Software Foundation Committer in some Apache Projects Cocoon,

More information

Software Components and Distributed Systems

Software Components and Distributed Systems Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design

More information

Demystifying OSGi bundles Excerpted from

Demystifying OSGi bundles Excerpted from Demystifying OSGi bundles Excerpted from Spring Dynamic Modules in Action EARLY ACCESS EDITION Arnaud Cogoluegnes, Thierry Templier, and Andy Piper MEAP Release: June 2009 Softbound print: Summer 2010

More information

Dependencies, dependencies, dependencies

Dependencies, dependencies, dependencies Dependencies, dependencies, dependencies Marcel Offermans!"#$%&'&()"* 1 Marcel Offermans Fellow and Software Architect at Luminis Technologies marcel.offermans@luminis.nl Member and Committer at Apache

More information

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress*

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress* The Definitive Guide to NetBeans Platform 7 Heiko Bock Apress* Contents About the Author About the Translator About the Technical Reviewers Acknowledgments Introduction xiv xiv xv xvi xvii * Part 1: Basics

More information

Modularity for Java and How OSGi Can Help

Modularity for Java and How OSGi Can Help Modularity for Java and How OSGi Can Help Richard Hall To cite this version: Richard Hall. Modularity for Java and How OSGi Can Help. présentation invitée à DECOR04. 2004. HAL Id: hal-00003299

More information

Jigsaw and OSGi: What the Heck Happens Now?

Jigsaw and OSGi: What the Heck Happens Now? Jigsaw and OSGi: What the Heck Happens Now? Neil Bartlett neil.bartlett@paremus.com Jigsaw and OSGi: WTF Happens Now? Neil Bartlett neil.bartlett@paremus.com Agenda WTF is a Module System? How do OSGi

More information

ESB, OSGi, and the Cloud

ESB, OSGi, and the Cloud ESB, OSGi, and the Cloud Making it Rain with ServiceMix 4 Jeff Genender CTO Savoir Technologies Jeff Genender - Who is this Shmoe? Apache CXF JSR 316 - Java EE 6 Rules of Engagement Engage yourself! Agenda

More information

GlassFish V3. Jerome Dochez. Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID YOUR LOGO HERE

GlassFish V3. Jerome Dochez. Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID YOUR LOGO HERE YOUR LOGO HERE GlassFish V3 Jerome Dochez Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net Session ID 1 Goal of Your Talk What Your Audience Will Gain Learn how the GlassFish V3 groundbreaking

More information

Spring Dynamic Modules

Spring Dynamic Modules June 10-11, 2008 Berlin, Germany Spring Dynamic Modules by Example Martin Lippert Gerd Wütherich Agenda Spring Overview of the Spring framework A short example Spring Dynamic Modules Overview of Spring

More information

Content. Development Tools 2(57)

Content. Development Tools 2(57) Development Tools Content Project management and build, Maven Unit testing, Arquillian Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools

More information

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon Create your own Carbon Component Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon sameera@wso2.com WSO2 Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards

More information

Red Hat JBoss Fuse 6.1

Red Hat JBoss Fuse 6.1 Red Hat JBoss Fuse 6.1 Managing OSGi Dependencies How to package applications for OSGi containers Last Updated: 2017-10-12 Red Hat JBoss Fuse 6.1 Managing OSGi Dependencies How to package applications

More information

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008 Europe on a Disk Geodata Processing with Eclipse and OSGi Harald Wellmann 10 Nov 2008 Overview Past and Present of Navigation Data Processing Anaconda: The Future Our usage of OSGi and Eclipse 2008 Harman

More information

SAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803

SAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803 SAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803 Table of Contents MACHINE LEARNING AND PREDICTIVE ANALYTICS... 3 Model Trained with R and Exported as PMML...

More information

Red Hat Fuse 7.0 Deploying into Apache Karaf

Red Hat Fuse 7.0 Deploying into Apache Karaf Red Hat Fuse 7.0 Deploying into Apache Karaf Deploying application packages into the Apache Karaf container Last Updated: 2018-08-27 Red Hat Fuse 7.0 Deploying into Apache Karaf Deploying application

More information

The Actual Real World at EclipseCon/ALM

The Actual Real World at EclipseCon/ALM Tycho The Actual Real World at EclipseCon/ALM Raise your Hand if you are Sure Addressing the Issues Real World: Tycho Issues World Wide Distributed Teams India, China, Europe, Argentina, United States

More information

Tattletale. What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap

Tattletale. What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap Tattletale What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap Problems You are faced with a lot of Java archives and you don't know how they relate You need

More information

Microservices with Apache Karaf and Apache CXF: practical experience. Andrei Shakirin, Talend

Microservices with Apache Karaf and Apache CXF: practical experience. Andrei Shakirin, Talend Microservices with Apache Karaf and Apache CXF: practical experience Andrei Shakirin, Talend Agenda Microservices and OSGi Core ideas of OSGi Apache Karaf Design and develop in OSGi: the history of one

More information

Component Oriented Development in OSGi with Declarative Services, Spring Dynamic Modules and Apache ipojo

Component Oriented Development in OSGi with Declarative Services, Spring Dynamic Modules and Apache ipojo Component Oriented Development in OSGi with Declarative Services, Spring Dynamic Modules and Apache ipojo Neil Bartlett 1 Heiko Seeberger 2 1 Weigle Wilczek UK 2 Weigle Wilczek GmbH March 24, 2009 c 2009

More information

Spring and OSGi. Martin Lippert akquinet agile GmbH Bernd Kolb Gerd Wütherich

Spring and OSGi. Martin Lippert akquinet agile GmbH Bernd Kolb Gerd Wütherich Spring and OSGi Martin Lippert akquinet agile GmbH lippert@acm.org Bernd Kolb b.kolb@kolbware.de Gerd Wütherich gerd@gerd-wuetherich.de 2006 by Martin Lippert, Bernd Kolb & Gerd Wütherich, made available

More information

Adobe Experience Manager

Adobe Experience Manager Adobe Experience Manager Extend and Customize Adobe Experience Manager v6.x Student Guide: Volume 1 Contents CHAPTER ONE: BASICS OF THE ARCHITECTURAL STACK... 10 What is Adobe Experience Manager?... 10

More information

OSGi. Building LinkedIn's Next Generation Architecture with OSGI

OSGi. Building LinkedIn's Next Generation Architecture with OSGI OSGi Building LinkedIn's Next Generation Architecture with OSGI Yan Pujante Distinguished Software Engineer Member of the Founding Team @ LinkedIn ypujante@linkedin.com http://www.linkedin.com/in/yan Background

More information

Building LinkedIn's Next Generation Architecture with OSGI

Building LinkedIn's Next Generation Architecture with OSGI OSGi Building LinkedIn's Next Generation Architecture with OSGI Yan Pujante Distinguished Software Engineer Member of the Founding Team @ LinkedIn ypujante@linkedin.com http://www.linkedin.com/in/yan Yan

More information

Class Dependency Analyzer CDA Developer Guide

Class Dependency Analyzer CDA Developer Guide CDA Developer Guide Version 1.4 Copyright 2007-2017 MDCS Manfred Duchrow Consulting & Software Author: Manfred Duchrow Table of Contents: 1 Introduction 3 2 Extension Mechanism 3 1.1. Prerequisites 3 1.2.

More information

IBM WebSphere Application Server 8. Java EE 6 Feature Packs

IBM WebSphere Application Server 8. Java EE 6 Feature Packs IBM WebSphere Application Server 8 EE 6 Feature Packs Thomas Bussière- bussiere@fr.ibm.com IT Architect Business Solution Center La Gaude, France Enabling Developers to Start With Open Source/Community

More information

Peter Kriens OSGi Evangelist/Director. OSGi R4.3 // Next Release Overview

Peter Kriens OSGi Evangelist/Director. OSGi R4.3 // Next Release Overview Peter Kriens OSGi Evangelist/Director OSGi R4.3 // Next Release Overview Agenda Framework & ServiceTracker update to Java 5 generics A replacement for Package Admin and Start Level A Shell standard Managing

More information

Perceptive Connect Runtime

Perceptive Connect Runtime Perceptive Connect Runtime Developer's Guide Version: 1.4.x Written by: Product Knowledge, R&D Date: August 2016 2016 Lexmark. All rights reserved. Lexmark is a trademark of Lexmark International, Inc.,

More information

Equinox Project Update

Equinox Project Update Equinox Project Update Jeff McAffer, Senior Technical Staff Member Eclipse RCP and Equinox Lead 2007 by IBM Corp; made available under the Creative Commons Att. Nc Nd 2.5 license October 2007 What is Equinox?

More information

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2 JUnit Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain Dependencies Debugging Surefire OSGi p2 Mac OS X Update Site Tycho Redistribution and other use of this material requires

More information

MAVEN INTERVIEW QUESTIONS

MAVEN INTERVIEW QUESTIONS MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get

More information

How-to use ipojo factories

How-to use ipojo factories How-to use ipojo factories Overview»» Home Why choose ipojo Success stories Features Download Documentation»» Getting Started»» ipojo in 10 minutes Using Annotations Maven tutorial Advanced tutorial Using

More information

TestingofScout Application. Ludwigsburg,

TestingofScout Application. Ludwigsburg, TestingofScout Application Ludwigsburg, 27.10.2014 The Tools approach The Testing Theory approach Unit testing White box testing Black box testing Integration testing Functional testing System testing

More information

Under the Paul Fremantle, CTO, WSO2

Under the Paul Fremantle, CTO, WSO2 Under the Hood @WSO2 Paul Fremantle, CTO, WSO2 Paul Fremantle CTO and Co-Founder 10 years at IBM STSM in WebSphere Development Infoworld CTO 25 in 2008 VP, Apache Synapse Co-Chair, OASIS WSRX TC Why look

More information

Portlet Standard JSR 168 / JSR 286

Portlet Standard JSR 168 / JSR 286 Portlet Standard JSR 168 / JSR 286 Version 1.0 Martin Weiss Martin Weiss Informatik AG Agenda JSR 168 2 JSR 168 What Is Missing? 22 JSR 286 25 Portlet Events 28 Public Render Parameters 32 Events vs. Public

More information

wcm.io Context-Aware Configuration

wcm.io Context-Aware Configuration wcm.io Context-Aware Configuration PVTRAIN-167 Technical Training wcm.io Last Updated: November 2017 2017 pro!vision GmbH http://training.wcm.io/caconfig/ What is Context-Aware Configuration Short overview

More information

OSGi & Spring combined

OSGi & Spring combined OSGi & Spring combined Using Spring together with Eclipse Equinox Bernd Kolb b.kolb@kolbware.de http://www.kolbware.de Gerd Wütherich gerd@wuetherich.de http://www.wuetherich.de Martin Lippert lippert@acm.org

More information

I Got My Mojo Workin'

I Got My Mojo Workin' I Got My Mojo Workin' Gary Murphy Hilbert Computing, Inc. http://www.hilbertinc.com/ glm@hilbertinc.com Gary Murphy I Got My Mojo Workin' Slide 1 Agenda Quick overview on using Maven 2 Key features and

More information

Component based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth

Component based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth Component based Development Web Application Development Zsolt Tóth University of Miskolc 2017 Zsolt Tóth (University of Miskolc) Component based Development 2017 1 / 30 Table of Contents 1 2 3 4 Zsolt

More information

Scripting Languages in OSGi. Thursday, November 8, 12

Scripting Languages in OSGi. Thursday, November 8, 12 Scripting Languages in OSGi Frank Lyaruu CTO Dexels Project lead Navajo Framework Amsterdam www.dexels.com Twitter: @lyaruu Navajo Framework TSL XML based script language Compiled to Java Recently ported

More information

Tutorial ipojo. 2. Preparation

Tutorial ipojo. 2. Preparation Tutorial ipojo 1. Context This tutorial is based on a pretty simple application. This application simulates a snack bar where products (hotdog, popcorn) are provided by vendors exposed as services. This

More information

OSGi Best Practices. Emily

OSGi Best Practices. Emily OSGi Best Practices Emily Jiang @IBM Use OSGi in the correct way... AGENDA > Why OSGi? > What is OSGi? > How to best use OSGi? 3 Modularization in Java > Jars have no modularization characteristics No

More information

Powered by. These slides are powered by Open Source softwares : Debian GNU Linux Beamer LaTeX mode LaTeX Emacs. Context. Last night OSGi saved my life

Powered by. These slides are powered by Open Source softwares : Debian GNU Linux Beamer LaTeX mode LaTeX Emacs. Context. Last night OSGi saved my life Powered by Context These slides are powered by Open Source softwares : Debian GNU Linux Beamer LaTeX mode LaTeX Emacs Course menu... Context 1 Context 2 3 4 5 Summary I Context the application Original

More information

Tuesday, April 26, 2011

Tuesday, April 26, 2011 Modular Class Loading With JBoss Modules David M. Lloyd Senior Software Engineer, Red Hat, Inc. The Class Path is Dead - Mark Reinhold, 2009 What does this mean? The limitations inherent in -classpath

More information

OSGi Subsystems from theory to practice Glyn Normington. Eclipse Virgo Project Lead SpringSource/VMware

OSGi Subsystems from theory to practice Glyn Normington. Eclipse Virgo Project Lead SpringSource/VMware from theory to practice Glyn Normington Eclipse Virgo Project Lead SpringSource/VMware 1 Software rots 2 modularity helps 3 but... 4 A clean design 5 without enforcement 6 works fine for a while 7 then

More information

Building Secure OSGi Applications. Karl Pauls Marcel Offermans. luminis

Building Secure OSGi Applications. Karl Pauls Marcel Offermans. luminis Building Secure OSGi Applications Karl Pauls Marcel Offermans luminis Who are we? image 2008 Google Earth luminis Who are we? Karl Pauls Marcel Offermans image 2008 Google Earth luminis Who are we? Arnhem

More information

Index. Decomposability, 13 Deep reflection, 136 Dependency hell, 19 --describe-module, 39

Index. Decomposability, 13 Deep reflection, 136 Dependency hell, 19 --describe-module, 39 Index A --add-exports option, 28, 134 136, 142, 192 Apache Maven compatibility, 214 Compiler plugin, 212, 214 goals, 209 JDeps plugin goals, 210 options, 211 JEP 223 New Version-String scheme, 209 Automatic

More information

Fast Track to Spring 3 and Spring MVC / Web Flow

Fast Track to Spring 3 and Spring MVC / Web Flow Duration: 5 days Fast Track to Spring 3 and Spring MVC / Web Flow Description Spring is a lightweight Java framework for building enterprise applications. Its Core module allows you to manage the lifecycle

More information

Enterprise Development

Enterprise Development Enterprise Development with What needs to be done to run JEE like applications inside Karaf? @anierbeck - Karaf PMC, Apache Member - OPS4j Pax Web Project Lead - Senior IT Consultant @codecentric - co-author

More information

Tapestry. Code less, deliver more. Rayland Jeans

Tapestry. Code less, deliver more. Rayland Jeans Tapestry Code less, deliver more. Rayland Jeans What is Apache Tapestry? Apache Tapestry is an open-source framework designed to create scalable web applications in Java. Tapestry allows developers to

More information

Java 9 Module System. Complex Software and Programming Language History of Modules Module Concepts and Tools Modularization of the JDK

Java 9 Module System. Complex Software and Programming Language History of Modules Module Concepts and Tools Modularization of the JDK Java 9 Module System Complex Software and Programming Language History of Modules Module Concepts and Tools Modularization of the JDK Problem of Complexity and Programming Language 2 von 41 Early/Modern

More information

SOA-14: Continuous Integration in SOA Projects Andreas Gies

SOA-14: Continuous Integration in SOA Projects Andreas Gies Tooling for Service Mix 4 Principal Architect http://www.fusesource.com http://open-source-adventures.blogspot.com About the Author Principal Architect PROGRESS - Open Source Center of Competence Degree

More information

Chapter 9. Inter-Bundle Communication

Chapter 9. Inter-Bundle Communication Chapter 9. Inter-Bundle Communication with the NMR While the OSGi framework provides a model of synchronous communication between bundles (through method invocations on OSGi services), it currently does

More information

Services Oriented Architecture and the Enterprise Services Bus

Services Oriented Architecture and the Enterprise Services Bus IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com

More information

Red Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes

Red Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes Red Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes Keith Babo SwitchYard Project Lead, Red Hat There is Still Time To Leave We will be talking integration and SOA If your

More information

Oracle Corporation

Oracle Corporation 1 2012 Oracle Corporation Oracle WebLogic Server 12c: Developing Modern, Lightweight Java EE 6 Applications Will Lyons, Director of WebLogic Server Product Management Pieter Humphrey, Principal Product

More information

The Cocoon Portal. A portal solution and framework. Carsten Ziegeler Competence Center Open Source S&N AG, Germany

The Cocoon Portal. A portal solution and framework. Carsten Ziegeler Competence Center Open Source S&N AG, Germany The Cocoon Portal A portal solution and framework Carsten Ziegeler cziegeler@apache.org Competence Center Open Source S&N AG, Germany About Member of the Apache Software Foundation Committer in some Apache

More information

SPRING MOCK TEST SPRING MOCK TEST I

SPRING MOCK TEST SPRING MOCK TEST I http://www.tutorialspoint.com SPRING MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Spring Framework. You can download these sample mock tests at

More information

Learning Karaf Cellar

Learning Karaf Cellar Learning Karaf Cellar Jean-Baptiste Onofré Chapter No. 1 "Apache Karaf Provisioning and Clusters" In this package, you will find: The author s biography A preview chapter from the book, Chapter no.1 "Apache

More information

Liferay Digital Experience Platform. New Features Summary

Liferay Digital Experience Platform. New Features Summary Liferay Digital Experience Platform New Features Summary Liferay has redesigned its platform with new functionality in Liferay Digital Experience Platform (DXP). The following is a summary of the key new

More information

Liferay Architecture

Liferay Architecture Liferay Architecture Understanding the inside of Liferay Jorge Ferrer Vice President Engineering Table of Contents Architecture Overview Services Transactions Indexing Workflow Cache Frameworks Secret

More information

Simplified Build Management with Maven

Simplified Build Management with Maven Simplified Build Management with Maven Trasys Greece Kostis Kapelonis 11/06/2010 Menu Kitchen says hi!(motivation) Starters (Maven sample pom) Soup (Maven philosophy) Main dish (Library management) Side

More information

GAVIN KING RED HAT CEYLON SWARM

GAVIN KING RED HAT CEYLON SWARM GAVIN KING RED HAT CEYLON SWARM CEYLON PROJECT A relatively new programming language which features: a powerful and extremely elegant static type system built-in modularity support for multiple virtual

More information

Red Hat JBoss Fuse 6.0

Red Hat JBoss Fuse 6.0 Red Hat JBoss Fuse 6.0 Tutorials Example integration applications Last Updated: 2017-10-13 Red Hat JBoss Fuse 6.0 Tutorials Example integration applications JBoss A-MQ Docs Team Content Services fuse-docs-support@redhat.com

More information

Sonatype CLM Enforcement Points - Nexus. Sonatype CLM Enforcement Points - Nexus

Sonatype CLM Enforcement Points - Nexus. Sonatype CLM Enforcement Points - Nexus Sonatype CLM Enforcement Points - Nexus i Sonatype CLM Enforcement Points - Nexus Sonatype CLM Enforcement Points - Nexus ii Contents 1 Introduction 1 2 Sonatype CLM for Repository Managers 2 3 Nexus Pro

More information

Semantic Versioning A Large Existing Codebase

Semantic Versioning A Large Existing Codebase Case Study Semantic Versioning A Large Existing Codebase EclipseCon 2014 Raymond Augé @rotty3000 #eclipsecon #semver Outline The Goal The Problem

More information

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution

More information

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 Enterprise Java Development using JPA, Hibernate and Spring Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ)

More information

Developing Java Applications with OSGi Capital District Java Developers Network. Michael P. Redlich March 20, 2008

Developing Java Applications with OSGi Capital District Java Developers Network. Michael P. Redlich March 20, 2008 Developing Java Applications with OSGi Capital District Java Developers Network Michael P. Redlich March 20, My Background (1) Degree B.S. in Computer Science Rutgers University (go Scarlet Knights!) Petrochemical

More information

Adding a Module System to Java

Adding a Module System to Java Adding a Module System to Java Rok Strniša Computer Laboratory, University of Cambridge Email: Rok.Strnisa@cl.cam.ac.uk URL: http://www.cl.cam.ac.uk/~rs456/ May 8, 2008 @ The British Computer Society Joint

More information

The scr goal of the maven-scr-plugin looks for the following JavaDoc tags when building component descriptors:

The scr goal of the maven-scr-plugin looks for the following JavaDoc tags when building component descriptors: SCR JavaDoc Tags The scr goal of the maven-scr-plugin looks for the following JavaDoc tags when building component descriptors: scr.component scr.property scr.service scr.reference scr.component The scr.component

More information

JBI based ESB as backbone for SOI applications. Michael Wisler Zühlke Engineering AG Submission ID: 687

JBI based ESB as backbone for SOI applications. Michael Wisler Zühlke Engineering AG Submission ID: 687 JBI based ESB as backbone for SOI applications Michael Wisler Zühlke Engineering AG Submission ID: 687 Goal of this talk 2 This session brings the JBI (Java Business Integration) standard in contex t to

More information

Java Language Modularity With Superpackages

Java Language Modularity With Superpackages Java Language Modularity With Superpackages Alex Buckley JSR 294 Co-spec lead Sun Microsystems Andreas Sterbenz JSR 294 Co-spec lead Sun Microsystems TS-2401 2007 JavaOne SM Conference Session 2401 Goal

More information

Setting up a Maven Project

Setting up a Maven Project Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were

More information

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2 Maven Maven 1 Topics covered Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session Maven 2 Introduction to Maven Maven 3 What is Maven? A Java project management

More information