Modularity in Java 9. Balázs Lájer Software Architect, GE HealthCare. HOUG Oracle Java conference, 04. Apr

Size: px
Start display at page:

Download "Modularity in Java 9. Balázs Lájer Software Architect, GE HealthCare. HOUG Oracle Java conference, 04. Apr"

Transcription

1 Modularity in Java 9 Balázs Lájer Software Architect, GE HealthCare HOUG Oracle Java conference, 04. Apr

2 Modularity in Java before Java 9 Source: 2

3 MANIFEST.MF Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Osgi-example Bundle-SymbolicName: osgi-example Bundle-Version: qualifier Bundle-Activator: osgi_example.activator Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: org.osgi.framework;version="1.3.0" Export-Package: osgi.example.api Bundle-ActivationPolicy: lazy 3

4 MANIFEST.MF Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Osgi-example Bundle-SymbolicName: osgi-example Bundle-Version: qualifier Bundle-Activator: osgi_example.activator Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: org.osgi.framework;version="1.3.0" Export-Package: osgi.example.api Bundle-ActivationPolicy: lazy 4

5 Modularity in Java - OSGi Services Bundle A v1.1.0 Bundle B v2.0.0 Service Registry Bundle A v1.0.0 Bundle C v1.1.0 Life Cycle Bundle B v1.0.0 Class loading OSGi Container 5

6 Modularity in Java OSGi OSGi: modularity on top of the Java platform Source: 6

7 Modularity of the platform Java 9 (Project Jigsaw) Source: 7

8 Modularity of the platform Java 9 (Project Jigsaw) The JDK is monolithic (JDK 7b65) 8 Source:

9 Modularity of the platform Java 9 (Project Jigsaw) 3 questions: Classpath Hell Is anything missing? Are there any conflicts? Is it safe to change a private API? 9 Source:

10 Modularity of the platform Java 9 (Project Jigsaw) Module path Module declaration: module-info.java module com.foo.bar { requires org.baz.qux; exports com.foo.bar.alpha; exports com.foo.bar.beta; } Module descriptor: module-info.class Module artifacts: modularized jar files JMOD? Source: 10

11 Modularity of the platform Java 9 (Project Jigsaw) Platform modules module java.base { exports java.io; exports java.lang; exports java.lang.annotation; exports java.lang.invoke; exports java.lang.module; exports java.lang.ref; exports java.lang.reflect; exports java.math; exports java.net;... } Source: 11

12 Modularity of the platform Java 9 (Project Jigsaw) module com.foo.bar { requires org.baz.qux; exports com.foo.bar.alpha; exports com.foo.bar.beta; } Source: 12

13 Modularity of the platform Java 9 (Project Jigsaw) module java.sql { requires public java.logging; requires public java.xml; exports java.sql; exports javax.sql; exports javax.transaction.xa; } Source: 13

14 Migration to Java 9: unnamed module Source: 14

15 Migration to Java 9: automatic modules Source: 15

16 Migration to Java 9: automatic modules Source: 16

17 Modularity of the platform Java 9 (Project Jigsaw) Services module java.sql { requires public java.logging; requires public java.xml; exports java.sql; exports javax.sql; exports javax.transaction.xa; uses java.sql.driver; } module com.mysql.jdbc { requires java.sql; requires org.slf4j; exports com.mysql.jdbc; provides java.sql.driver with com.mysql.jdbc.driver; } Source: 17

18 OSGi and Java 9 bundle lifecycle class loading / bundle module descriptor modularized JARs static services Java 9 dynamic servies OSGi container modularized platform OSGi bundle descriptors (Manifest) Class loading 18

19 OSGi and Java

20 Modularity of the platform Java 9 (Project Jigsaw) Private / Internal APIs banned sun.misc.unsafe The three most important rules of modularity are: Hide, Hide, and Hide. (Peter Kriens, Source: 20

21 Modularity of the platform Java 9 (Project Jigsaw) Proposal: - If it has a supported replacement in JDK 8 then we will encapsulate it in JDK 9; - If it does not have a supported replacement in JDK 8 then we will not encapsulate it in JDK 9, so that it remains accessible to outside code; and, further, - If it has a supported replacement in JDK 9 then we will deprecate it in JDK 9 and encapsulate it, or possibly even remove it, in JDK Source:

22 Java 9 (Project Jigsaw) JEP 200: The modular JDK JEP 201: Modular source code JEP 220: Modular run-time images JEP 260: Encapsulate most internal APIs JEP 261 / JSR 376: Java Platform Module System 22 Source:

23 Sources

JAVA Modules Java, summer semester 2018

JAVA Modules Java, summer semester 2018 JAVA Modules Modules a module explicitely defines what is provided but also what is required why? the classpath concept is fragile no encapsulation 2 Modules a module explicitely defines what is provided

More information

Java SE 9 and the Application Server

Java SE 9 and the Application Server EclipseCon Europe 2017 Java SE 9 and the Application Server InterConnect 2017 Kevin Sutter MicroProfile and Java EE Architect @kwsutter 1 Java SE 9 Standalone 2 10/30/17 Java 9 Standard Features JSR 379:

More information

JAVA. Note about the Reflection API

JAVA. Note about the Reflection API JAVA Note about the Reflection API 1 Overview reflection, introspection allows for obtaining information about classes, fields, methods creating objects calling methods... the package java.lang.reflect

More information

Modularity in Java. With OSGi. Alex Docklands.LJC January Copyright 2016 Alex Blewitt

Modularity in Java. With OSGi. Alex Docklands.LJC January Copyright 2016 Alex Blewitt Modularity in Java With OSGi Alex Blewitt @alblue Docklands.LJC January 2016 Modularity in Java Modularity is Easy? Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity

More information

Introduction to Modular Development CON5118

Introduction to Modular Development CON5118 Introduction to Modular Development CON5118 Alan Bateman Java Platform Group, Oracle October 2015 Sessions 1 2 3 4 5 Prepare for JDK 9 Introduction to Modular Development Advanced Modular Development Project

More information

for Datum the Impatient

for Datum the Impatient JPMS Name Vorname Migration Guide Position for Datum the Impatient Michael Oswald Senior Java Consultant January, 14 2017 This article discusses some recent changes of the module declaration in the Java

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

COMP6700/2140 Packages, Modules and Jigsaw

COMP6700/2140 Packages, Modules and Jigsaw COMP6700/2140 Packages, Modules and Jigsaw Alexei B Khorev and Josh Milthorpe Research School of Computer Science, ANU May 2017 Alexei B Khorev and Josh Milthorpe (RSCS, ANU) COMP6700/2140 Packages, Modules

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

JDK 9, 变化与未来. Xuelei Fan

JDK 9, 变化与未来. Xuelei Fan 2016-4-21 JDK 9, 变化与未来 Xuelei Fan Java 20-Year Topics JDK 9 OpenJDK Community JDK 9 Schedule 2016/05/26 Feature Complete 2016/08/11 All Tests Run 2016/09/01 Rampdown Start 2016/10/20 Zero Bug Bounce 2016/12/01

More information

Advanced Modular Development CON6821

Advanced Modular Development CON6821 Advanced Modular Development CON6821 Mark Reinhold, Alex Buckley, Alan Bateman Java Platform Group, Oracle October 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Sessions 1 2 3

More information

Migrating to Java 9 Modules

Migrating to Java 9 Modules Migrating to Java 9 Modules By Sander Mak @Sander_Mak Migrating to Java 9 Java 8 java -cp.. -jar myapp.jar Java 9 java -cp.. -jar myapp.jar Today's journey Running on Java 9 Java 9 modules Migrating to

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

You, me and jigsaw. Tom Schindl

You, me and jigsaw. Tom Schindl You, me and jigsaw Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Tom CTO BestSolution.at Systemhaus GmbH

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

Advanced Modular Development

Advanced Modular Development Advanced Modular Development Alan Bateman Alex Buckley Java Platform Group, Oracle September 2016 Copyright 2016, Oracle and/or its affiliates. All rights reserved. Sessions 1 2 3 4 5 Prepare for JDK 9

More information

Spring Framework 5.0 on JDK 8 & 9

Spring Framework 5.0 on JDK 8 & 9 Spring Framework 5.0 on JDK 8 & 9 Juergen Hoeller Spring Framework Lead Pivotal 1 Spring Framework 5.0 (Overview) 5.0 GA as of September 28 th, 2017 one week after JDK 9 GA! Embracing JDK 9 as well as

More information

Index. Kishori Sharan 2017 K. Sharan, Java 9 Revealed,

Index. Kishori Sharan 2017 K. Sharan, Java 9 Revealed, Index A Aggregator modules, 17 Applet API, 497 498 Arrays, 495 497 Automatic modules Automatic-Module-Name, 88 89 definition, 86 87 deriving names and versions, 88 explicit modules, 90 exported packages,

More information

Java Overview Java, Summer semester

Java Overview Java, Summer semester Java Overview Java, Summer semester 2016 29.2.2016 Java object oriented (almost) all is object interpreted source code (.java) compiled to the bytecode bytecode (.class) interpreted by the virtual machine

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

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

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

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

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

Java 9 Modularity. Sander Mak and Paul Bakker. Boston

Java 9 Modularity. Sander Mak and Paul Bakker. Boston Java 9 Modularity Sander Mak and Paul Bakker Boston Java 9 Modularity by Sander Mak and Paul Bakker Copyright 2016 Sander Mak and Paul Bakker. All rights reserved. Printed in the United States of America.

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

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

Title Slide with Java FY15 Theme

Title Slide with Java FY15 Theme Title Slide with Java FY15 Theme JDK 9 -Das neue Java Platform Subtitle Module System Wolfgang Weigend Presenter s Name Sen. Presenter s Leitender Title Systemberater Java Organization, Technology Division

More information

CS5233 Components Models and Engineering

CS5233 Components Models and Engineering Prof. Dr. Th. Letschert CS5233 Components Models and Engineering (Komponententechnologien) Master of Science (Informatik) OSGI Bundles and Services Slides on OSGi are based on OSGi Alliance: OSGi Service

More information

Core Java JDK 9 Overview Angelika Langer & Klaus Kreft

Core Java JDK 9 Overview Angelika Langer & Klaus Kreft Core Java JDK 9 Overview Angelika Langer & Klaus Kreft Training/Consulting a quick glance at Java 9 Java 9 available since September, 21 2017 many new features (> 90 JEPs) "Collection Literals" "Compact

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper 12c (12.1.2) E23013-01 June 2013 Documentation for Oracle JDeveloper users that describes how to develop downloadable extensions to

More information

Project Jigsaw: Modular services

Project Jigsaw: Modular services Project Jigsaw: Modular services Jigsaw team 12 June 2012 Copyright 2012 Oracle and/or its affiliates All rights reserved 1 Terms Service interface: An interface or class Service interface module: A module

More information

OSGi Remote Services with SCA using Apache Tuscany. Raymond Feng

OSGi Remote Services with SCA using Apache Tuscany. Raymond Feng OSGi Remote s with SCA using Apache Tuscany Raymond Feng rfeng@apache.org Agenda What are OSGi remote services? A sample scenario: Distributed Calculator Representing OSGi entities using SCA Predefined

More information

G l a r I m y Presentation on

G l a r I m y Presentation on G l a r I m y Presentation on OSGi with Apache Karaf Krishna Mohan Koyya Proprietor & Principle Consultant Glarimy Technology Services Benguluru Bharat http://www.glarimy.com krishna@glarimy.com . The

More information

Apache NetBeans 9.0 New and Noteworthy

Apache NetBeans 9.0 New and Noteworthy Apache NetBeans 9.0 New and Noteworthy Note: NetBeans 9 is a work in progress and not released yet. Below is a list of features it will have. NetBeans 9 runtime platforms are only JDK8 and JDK9. Until

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

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

Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper. 12c ( )

Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper. 12c ( ) Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper 12c (12.2.1.3.0) E67105-01 August 2017 Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper, 12c (12.2.1.3.0) E67105-01

More information

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009 First Steps in RCP Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany February 19th, 2009 Agenda» About us» RCP Architecture and Bundles» Extension Points and Views» Bundle Dependencies 2 Jan Blankenhorn»

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

Safely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz

Safely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz Safely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz Last Updated 2017-11-08 Project Jigsaw: Primary Goals (Reinhold) Make the Java SE Platform, and the JDK, more easily scalable down to small

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

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

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

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

JDK 11 Deep Simon Ritter Deputy CTO, Azul Systems. Copyright Azul Systems Copyright Azul Systems 2015

JDK 11 Deep Simon Ritter Deputy CTO, Azul Systems. Copyright Azul Systems Copyright Azul Systems 2015 JDK 11 Deep Dive Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems @speakjava 1 Agenda JDK 9 Java Platform Module System Developer and other features JDK 10 Local variable type inference

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

JavaFX.Next. Kevin Rushforth Oracle Johan Vos Gluon October Copyright 2018, Oracle and/or its affiliates. All rights reserved.

JavaFX.Next. Kevin Rushforth Oracle Johan Vos Gluon October Copyright 2018, Oracle and/or its affiliates. All rights reserved. JavaFX.Next Kevin Rushforth Oracle Johan Vos Gluon October 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and

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

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

Modular Java EE in the cloud

Modular Java EE in the cloud Modular Java EE in the cloud A practical guide to mixing java EE and OSGi Jfokus 2013 Practical Guide to Modularity in the Cloud Age Jfokus 2013 Bert Ertman Fellow at Luminis in the Netherlands JUG Leader

More information

Safely Shoot Yourself in the Foot with Java 9

Safely Shoot Yourself in the Foot with Java 9 1 Safely Shoot Yourself in the Foot with Java 9 Dr Heinz M. Kabutz Last Updated 2017-11-04 2 Project Jigsaw: Primary Goals (Reinhold)! Make the Java SE Platform, and the JDK, more easily scalable down

More information

Wednesday, June 23, JBoss Users & Developers Conference. Boston:2010

Wednesday, June 23, JBoss Users & Developers Conference. Boston:2010 JBoss Users & Developers Conference Boston:2010 Zen of Class Loading Jason T. Greene EAP Architect, Red Hat June 2010 What is the Class class? Represents a class, enum, interface, annotation, or primitive

More information

Java 8, Java 9, and Beyond!

Java 8, Java 9, and Beyond! Java 8, Java 9, and Beyond! Mark Reinhold (@mreinhold) Insert Presenterʼs Name Here Insert Presenterʼs Title Here Chief Architect, Java Platform Group, Oracle Jfokus 2013 Copyright Copyright 2013, 2013,

More information

Chapter 2: Java OOP I

Chapter 2: Java OOP I Chapter 2: Java OOP I Yang Wang wyang AT njnet.edu.cn Outline OO Concepts Class and Objects Package Field Method Construct and Initialization Access Control OO Concepts Object Oriented Methods Object An

More information

20. Eclipse and Framework Extension Languages

20. Eclipse and Framework Extension Languages 20. Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Version 11-1.0, 12/17/11 Design Patterns and Frameworks,

More information

Migrating to Java 9 Modules. Paul Bakker

Migrating to Java 9 Modules. Paul Bakker Migrating to Java 9 Modules Paul Bakker Why care about modules? lib/nebula-4.0.12.jar:lib/netflix-gradle-lint-8.6.1.jar:lib/gretty-2.0.0.jar:lib/gradle-infamous-plugin-1.28.jar:lib/java-semver-0.9.0.jar:lib/guava-20.0.jar:lib/

More information

Apache Lucene and Java 9+ Opportunities and Challenges for Apache Solr and Elasticsearch

Apache Lucene and Java 9+ Opportunities and Challenges for Apache Solr and Elasticsearch Apache Lucene and Java 9+ Opportunities and Challenges for Apache Solr and Elasticsearch Uwe Schindler SD DataSolutions GmbH / Apache Software Foundation thetaph1 https://www.thetaphi.de My Background

More information

Carsten Ziegeler

Carsten Ziegeler Embrace OSGi Change A Developer's Quickstart Carsten Ziegeler cziegeler@apache.org About Member of the ASF Sling, Felix, Cocoon, Portals, Sanselan, Excalibur, Incubator PMC: Felix, Portals, Cocoon, Incubator,

More information

Eclipse PDE and Bndtools

Eclipse PDE and Bndtools An Epic Split between OSGi Tooling Eclipse PDE and Bndtools created by Peter Kirschner for EclipseCon Europe 2014 Seminarräume 1-3 - Wednesday, October 29, 2014-10:30 to 11:05 copyright for Epic Split

More information

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions 1Z0-850 Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-850 Exam on Java SE 5 and 6, Certified Associate... 2 Oracle 1Z0-850 Certification Details:...

More information

55 New Features In JDK 9

55 New Features In JDK 9 55 New Features In JDK 9 Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems azul.com @speakjava 1 Major Features Java Platform Module System JSR 376 Public Review Reconsideration Ballot

More information

The Modular Java Platform & Project Jigsaw

The Modular Java Platform & Project Jigsaw The Modular Java Platform & Project Jigsaw Insert Presenter s Name Here Insert Mark Presenter s Reinhold Title (@mreinhold) Here Chief Architect, Java Platform Group Oracle 2014/2/4 Insert Information

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

Is OSGi Modularity Always Worth It? Glyn Normington

Is OSGi Modularity Always Worth It? Glyn Normington Is OSGi Modularity Always Worth It? Glyn Normington Agenda Costs and benefits Case studies When is OSGi worth it? OSGi Benefits Encapsulated module internals Easier to understand, maintain, and extend

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

Comparing JavaBeans and OSGi

Comparing JavaBeans and OSGi Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02 Who I Am Humberto Cervantes 3d year PhD at Adèle team, LSR, Grenoble

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

OSGi & Java Modularity

OSGi & Java Modularity OSGi & Java Modularity Jazoon 2009, Zürich by Peter Kriens Productivity Application Complexity Productivity Assembly Application Complexity Productivity Structured Programming Assembly Application Complexity

More information

Packages. Examples of package names: points java.lang com.sun.security drawing.figures

Packages. Examples of package names: points java.lang com.sun.security drawing.figures Packages To make classes easier to find and to use, to avoid naming conflicts, and to control access, programmers bundle groups of related classes and interfaces into packages. A package is a program module

More information

vsphere Client SDK Developer Guide 17 APR 2018 VMware vsphere 6.7 vsphere Client SDK 6.7

vsphere Client SDK Developer Guide 17 APR 2018 VMware vsphere 6.7 vsphere Client SDK 6.7 vsphere Client SDK Developer Guide 17 APR 2018 VMware vsphere 6.7 vsphere Client SDK 6.7 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you

More information

Migrate early, migrate often! JDK release cadence strategies

Migrate early, migrate often! JDK release cadence strategies Migrate early, migrate often! JDK release cadence strategies Dan Heidinga Eclipse OpenJ9 Project Lead Interpreter Lead, IBM Runtimes @danheidinga DanHeidinga Theresa Mammarella Eclipse OpenJ9 Software

More information

Richard S. Hall Karl Pauls Stuart McCulloch David Savage

Richard S. Hall Karl Pauls Stuart McCulloch David Savage Creating modular applications in Java Richard S. Hall Karl Pauls Stuart McCulloch David Savage FOREWORD BY PETER KRIENS SAMPLE CHAPTER MANNING OSGi in Action by Richard S. Hall, Karl Pauls, Stuart McCulloch,

More information

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

CS486: Tutorial on SOC, OSGi, and Knopflerfish. Ryan Babbitt (props to Dr. Hen-I Yang, CS415X) Feb. 3, 2011

CS486: Tutorial on SOC, OSGi, and Knopflerfish. Ryan Babbitt (props to Dr. Hen-I Yang, CS415X) Feb. 3, 2011 CS486: Tutorial on SOC, OSGi, and Knopflerfish Ryan Babbitt (rbabbitt@iastate.edu) (props to Dr. Hen-I Yang, CS415X) Feb. 3, 2011 Basic Concepts Service-oriented computing (SOC) Service-oriented architectures

More information

Case3:10-cv WHA Document899 Filed04/12/12 Page1 of 2

Case3:10-cv WHA Document899 Filed04/12/12 Page1 of 2 Case:0-cv-0-WHA Document Filed0// Page of 0 0 MICHAEL A. JACOBS (Bar No. ) mjacobs@mofo.com MARC DAVID PETERS (Bar No. ) mdpeters@mofo.com DANIEL P. MUINO (Bar No. 0) dmuino@mofo.com Page Mill Road, Palo

More information

Java Programming Course Overview. Duration: 35 hours. Price: $900

Java Programming Course Overview. Duration: 35 hours. Price: $900 978.256.9077 admissions@brightstarinstitute.com Java Programming Duration: 35 hours Price: $900 Prerequisites: Basic programming skills in a structured language. Knowledge and experience with Object- Oriented

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

JDK 9, 10, 11 and Beyond: Delivering New Features in the JDK

JDK 9, 10, 11 and Beyond: Delivering New Features in the JDK JDK 9, 10, 11 and Beyond: Delivering New Features in the JDK Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems azul.com @speakjava 1 JDK 9: Big And Small Changes 2 Java Platform Module

More information

Code Listing H-1. (Car.java) H-2 Appendix H Packages

Code Listing H-1. (Car.java) H-2 Appendix H Packages APPENDIX H Packages NOTE: To use this appendix you must understand how your operating system uses directories, or folders. In addition, you must know how to set the value of an environment variable. The

More information

Eclipse Architecture and Patterns. Mirko Stocker. Advanced Patterns and Frameworks May, 2015 IFS INSTITUTE FOR SOFTWARE

Eclipse Architecture and Patterns. Mirko Stocker. Advanced Patterns and Frameworks May, 2015 IFS INSTITUTE FOR SOFTWARE Eclipse Architecture and Patterns Mirko Stocker Advanced Patterns and Frameworks May, 2015 IFS INSTITUTE FOR SOFTWARE Outline 1 Eclipse Overview 2 SWT and JFace 3 OSGi Bundles and Eclipse Plug-ins 4 Eclipse

More information

Migrating Java UI Client Apps to the Modular JDK [CON4384]

Migrating Java UI Client Apps to the Modular JDK [CON4384] Migrating Java UI Client Apps to the Modular JDK [CON4384] Subtitle Phil Race Kevin Rushforth JDK UI Client Group. Note: The speaker notes for this slide include detailed instructions on how to reuse this

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

Arnaud Cogoluègnes Thierry Templier Andy Piper FOREWORD BY PETER KRIENS SAMPLE CHAPTER MANNING

Arnaud Cogoluègnes Thierry Templier Andy Piper FOREWORD BY PETER KRIENS SAMPLE CHAPTER MANNING Arnaud Cogoluègnes Thierry Templier Andy Piper FOREWORD BY PETER KRIENS SAMPLE CHAPTER MANNING Dynamic Modules in Action by Arnaud Cogoluègnes, Thierry Templier, and Andy Piper Chapter 6 Copyright 2011

More information

Computational Expression

Computational Expression Computational Expression String Class Janyl Jumadinova 24 September, 2018 Janyl Jumadinova Computational Expression 24 September, 2018 1 / 16 Data Types: Review Java has two categories of data: - primitive

More information

Richard S. Hall Karl Pauls Stuart McCulloch David Savage

Richard S. Hall Karl Pauls Stuart McCulloch David Savage Creating modular applications in Java Richard S. Hall Karl Pauls Stuart McCulloch David Savage FOREWORD BY PETER KRIENS SAMPLE CHAPTER MANNING OSGi in Action by Richard S. Hall, Karl Pauls, Stuart McCulloch,

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

Charlie Garrod Bogdan Vasilescu

Charlie Garrod Bogdan Vasilescu Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 2: Designing (sub-) systems Design for large-scale reuse: Libraries and frameworks (part 2) Charlie Garrod Bogdan Vasilescu School

More information

What s new in Java SE Embedded?

What s new in Java SE Embedded? What s new in Java SE Embedded? David Holmes Consulting Member of Technical Staff Java SE Embedded Group, Oracle September 29, 2014 Safe Harbor Statement The following is intended to outline our general

More information

About me. Jesper Pedersen. Project lead for. Chairman for Boston JBoss User Group. Core developer, JBoss by Red Hat

About me. Jesper Pedersen. Project lead for. Chairman for Boston JBoss User Group. Core developer, JBoss by Red Hat About me Jesper Pedersen Core developer, JBoss by Red Hat Project lead for IronJacamar JCA container Tattletale software quality tool JBoss Profiler 2 profiler suite Papaki high-performance annotation

More information

From Java EE to Jakarta EE. A user experience

From Java EE to Jakarta EE. A user experience From Java EE to Jakarta EE A user experience A few words about me blog.worldline.tech @jefrajames Speaker me = SpeakerOf.setLastName( James ).setfirstname( Jean-François ).setbackgroundinyears(32).setmindset(

More information

BEAWebLogic. Event Server. WebLogic Event Server Reference

BEAWebLogic. Event Server. WebLogic Event Server Reference BEAWebLogic Event Server WebLogic Event Server Reference Version 2.0 July 2007 Contents 1. Introduction and Roadmap Document Scope and Audience............................................. 1-1 WebLogic

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

Modules and Services. Alex Buckley Java Platform Group, Oracle October Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Modules and Services. Alex Buckley Java Platform Group, Oracle October Copyright 2017, Oracle and/or its affiliates. All rights reserved. Modules and Services Alex Buckley Java Platform Group, Oracle October 2017 Copyright 2017, Oracle and/or its affiliates. All rights reserved. I. Introduction to Services II. Using Services for Optional

More information

Java in the world of Software AG JCP EC May 2018

Java in the world of Software AG JCP EC May 2018 Java in the world of Software AG JCP EC May 2018 Georgi Stanev Architect Software AG 2017 Software AG. All rights reserved. History of the Software AG 1969 The concept for an adaptable and extremely versatile

More information

JBoss Tattletale. Betraying all your project's naughty little secrets

JBoss Tattletale. Betraying all your project's naughty little secrets JBoss Tattletale Betraying all your project's naughty little secrets JBoss Tattletale Background Goals Features Reports Integration The Future JBoss Tattletale Background JBoss Tattletale - Background

More information

vsphere Client SDK Developer Guide 03 MAY 2018 VMware vsphere vsphere Client SDK

vsphere Client SDK Developer Guide 03 MAY 2018 VMware vsphere vsphere Client SDK vsphere Client SDK Developer Guide 03 MAY 2018 VMware vsphere vsphere Client SDK You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have

More information

enum Types 1 1 The keyword enum is a shorthand for enumeration. Zheng-Liang Lu Java Programming 267 / 287

enum Types 1 1 The keyword enum is a shorthand for enumeration. Zheng-Liang Lu Java Programming 267 / 287 enum Types 1 An enum type is an reference type limited to an explicit set of values. An order among these values is defined by their order of declaration. There exists a correspondence with string names

More information

JClone: Syntax tree based clone detection for Java

JClone: Syntax tree based clone detection for Java Degree Project JClone: Syntax tree based clone detection for Java Muhammed Yasin Bahtiyar 2010-03-30 Subject: Software Technology Level: Master Course code: DA4004 Abstract An unavoidable amount of money

More information