SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Travelling Light for the Long Haul
Ian Robinson, IBM Distinguished Engineer
WebSphere Foundation Chief Architect
About Me
 IBM Distinguished Engineer
 WebSphere Foundation Chief Architect
 Over 20 years experience in
transaction processing and distributed
enterprise computing

 Product strategy & development and
enterprise Java standards

 Travels a lot, based in IBM’s Hursley
lab in the UK (near Southampton).

 Season ticket holder for 3rd most
successful club in English football:

Ian Robinson
Traditional
system
OSGi**

“Cognitive burden”

OSGi

Time

Based on http://www.tensegrity.hellblazer.com

Knowledge About System

Complexity

Carrying Baggage Can Be Expensive

OSGi

Traditional
system

Time

http://adaptevolve.blogspot.com
But Losing Baggage Can Be Worse

 “Baggage” is something your users wants you to keep. Forever.
– Baggage == Business Continuity

 WebSphere’s software support statement guarantees “N-2” for
application compatibility and platform support.

 Engineering challenge to deliver the new without breaking the
old. For a long time.
– Including the crazy experiments that got out.

 If I had a pound…
We Needed to Travel Lighter for the Long Haul
 WebSphere AppServer and OSGi were
both born in 1998.

 By 2006 WebSphere was 10 million lines
of Java code and growing.

 Global development team of 100s in many
development labs in different timezones
around the world.

 Tens of thousands of large customer
deployments in long-term support.

 Classic struggle to increase ratio of
innovation : support
– Variable “stickiness” of innovation but
uniform expectation of support.

 “Something had to change” (Part One)
1.0

1998

2.0

1999

3.0

2000

3.5

2001

4.0

2002

5.0

5.1

2003

2004

6.0

2005

6.1

2006

8.0

7.0

2007

2008

2009

2010

2011

8.5

2012

8.5.5

2013
OSGi Maturity Model Summary
1.0

1998

2.0

1999

3.0

3.5

2000

2001

4.0

2002

5.0

5.1

2003

2004

6.0

2005

6.1

2006

8.0

7.0

2007

2008

2009

2010

2011

8.5

2012

8.5.5

2013

Level

Name

Summary

1
2
3
4

AdHoc
Modules
Modularity
Loose-Coupling

5

Dynamism

6

Devolution

Nothing
Formal identity, decoupled from artifact
Formal module contracts, decoupled from identity
Services, semantic versioning, decoupled from
implementation
Life-cycle awareness and independence, decoupled
from time
Modularity-aware repositories, collaboration,
governance, decoupled from ownership

Graham Charters, OSGi Community Event 2011: Towards a Maturity Model
Pre-OSGi Modules (Build View)

Level 2

Pre-dated Maven

 Componentized Build
 Components have identity and version
 Components produce a jar

interfaces

client

impl depends on
interfaces at build
time

impl

Factory in
interfaces uses
Class.forName to
load impl at runtime

1.0

1998

2.0

1999

3.0

2000

3.5

2001

4.0

2002

5.0

5.1

2003

2004

6.0

2005

6.1

2006

8.0

7.0

2007

2008

2009

2010

2011

8.5

2012

8.5.5

2013
Pre-OSGi Modules (Runtime View)

 Java Bean Components

Level 2

init/start

– Implements a specific
interface

stop/destroy

A

 Init/start/stop/destroy phases
– Started in a specified order

B

 Makes use of:
– Class.getResource()

– Class.forName()

C

 Runtime couldn’t enforce build
modularity

 Expensive to maintain and
extend

C
WebSphere Gets OSGi (2006)

Level 3

 Internal re-engineering while simultaneously
adding external business capabilities

 Best-practice approach: start with small number
of large bundles and iterate over time

Approach 1

– Runtime modularity enforced

Jar A

Jar B

Jar C

Jar D

– Service maintenance and testing better targeted
– Runtime footprint no longer monolithic

 Challenge: Significant learning experience
across worldwide team
Jar A

Approach 2

Jar B
Content of Jars
A-D

Jar C

1.0

1998

2.0

1999

3.0

2000

Jar D

3.5

2001

4.0

2002

5.0

5.1

2003

2004

6.0

2005

6.1

2006

8.0

7.0

2007

2008

2009

2010

2011

8.5

2012

8.5.5

2013
What’s Good for the Goose…

 We had rebuilt WAS V6.1 on
top of OSGi.

 This must surely make it
easier for developers to
benefit from OSGi in their
own applications. Right?
OSGi Moves
Up the Stack

logging f/w jar
persistence f/w f/w jar
logging jar
persistence f/w jar
persistence f/w jar
MVC f/w jar f/w jar
persistence
MVC f/w jar
MVC f/w jar
DI f/w jar f/w jar
MVC
DI f/w jar
DI f/w jar
DI f/w jar

Import-Package
OSGi Bundle Repository: Integrated
with WAS Admin

webA.war
webA.war
WEB-INF/classes/servletA.class
webA.war
WEB-INF/classes/servletA.class
webA.war
WEB-INF/web.xml
WEB-INF/classes/servletA.class
WEB-INF/web.xml
WEB-INF/classes/servletA.class
WEB-INF/lib/…
WEB-INF/web.xml
WEB-INF/lib/…
WEB-INF/web.xml
WEB-INF/lib/… jar
logging f/w
WEB-INF/lib/… jar
logging f/w

webA.jar
webA.jar
WEB-INF/classes/servletA.class
webA.jar
WEB-INF/classes/servletA.class
webA.jar
WEB-INF/web.xml
WEB-INF/classes/servletA.class
WEB-INF/web.xml
WEB-INF/classes/servletA.class
META-INF/MANIFEST.MF
WEB-INF/web.xml
META-INF/MANIFEST.MF
WEB-INF/web.xml
META-INF/MANIFEST.MF
META-INF/MANIFEST.MF

Bundle Repository

• Manage multiple
versions of libraries
across an enterprise
• Isolate application
dependencies from the
server runtime
• Centralized location to
deliver critical fixes
• Flexibility to update to
new versions one app at
a time
Lessons We Learned
•

•

•

We did a better job for external apps
than we did for internal components
“Services” were a key part of the App
support
A Grade:
•

•

Cheaper to maintain, extend and test

Need do Better:
•

•

Insufficient dynamism - especially in fastchanging development environment
Components too tightly-coupled – didn’t
deliver on desired lightweight footprint.
The Omelette Challenge

Recipe:
 Create a lightweight profile of WebSphere
that starts in under 2 seconds
 Make it completely dynamic for all
changes to configuration
 Provide an unzip install <50 Meg in size
 Don’t break any eggs.
Provide complete backward compatibility
zosSecurity

Java EE
Full Profile

collectiveController

zosTransaction
mongodb

wsSecurity

wmqJmsClient

jmsMdb

wasJmsClient

collectiveMember

oauth

jaxrs

servlet

json

jpa

What we had

ssl

monitor

Feature Manager

beanvalidation

localConnector

wab
jsp

Runtime Services
&
Config Model

managedBeans

restConnector

blueprint

webCache

ldapRegistry

osgi.jpa

jsf

wasJmsSecurity

wasJmsServer

cdi

ejblite

Java EE
Web Profile

jaxws

jaxb

concurrent

clusterMember

appSecurity
sessionDatabase

jndi
HTTP Transport

jdbc

Application Manager

What we wanted
Multi-bundle feature

1.0

1998

2.0

1999

3.0

2000

3.5

2001

4.0

2002

5.0

5.1

2003

2004

6.0

2005

6.1

2006

8.0

7.0

2007

2008

2009

2010

2011

8.5

2012

8.5.5

2013
Time Independence is Fundamental
 Recognized our error in not exploiting OSGi services when we
originally adopted OSGi.

 Services were the ONLY way we could achieve the size and
dynamism objective without massive and unnecessary re-invention

 A significant consideration for component design.
– Required us to replace existing factory patterns and configuration
management.
Complexity

– Modular implementation already suitable
package import
OSGi**

B v2
A v1

C v1.1
D v1
service reference

Time
A La Carte Alongside the Prix Fixe

Level 5

 2012: “Liberty Profile” of WebSphere supports arbitrary
combinations of OSGi and Java EE “features”.
– Remember the eggs: any app running on the Liberty
profile of WAS runs unchanged on the full profile of WAS.

X

 Same runtime bundles (mostly) but loaded and configured by
new OSGi subsystem-aware kernel as independent feature
subsystems (new in OSGi R5)

 Entirely self-contained metadata to describe bundle content,
services published, & configuration metatypes.
 We use features as
units of:
Config
Bundle A

Feature
Manifest

Metatype.xml

– Configuration

Bundle B

1998

2.0

1999

3.0

2000

3.5

2001

4.0

2002

5.0

5.1

2003

2004

– Extensibility

“Feature”

Bundle C
1.0

– Deployment

6.0

2005

6.1

2006

8.0

7.0

2007

2008

2009

2010

2011

8.5

2012

8.5.5

2013
Keep the Engine Under the Bonnet/Hood/Kühlerhaube
OSGi details:
• are available to extenders
of the platform.
• stay on the inside for
users of the platform

Bundle A
Feature
Manifest

Application developers &
operators only see this

Config
Metatype.xml

Bundle B
Bundle C

jsp-2.2

3

4

<server description=“server1”>

Feature Manager

<featureManager>

<feature>jsp-2.2</feature>
<feature>jdbc-4.0</feature>
</featureManager>

2

1
Config Admin R4.2

felix scr1.1

equinox metatype 1.2.0

<application name="tradelite"

location="tradelite.war" />
</server>
server.xml configuration

equinox framework 3.8.2 (OSGi R5.0)
WebSphere Liberty Kernel
The Love That Dare Not Speak Its Name
Or Why We Stopped Bragging About OSGi

Dynamic Server Profile
Not static like Web Profile; configured
by app at a fine-grained level

“Developer First” Focus
Simplified, shareable XML server config. New
integrated messaging server, DynaCache support, new
prog. models, such as Web Services, JMS & EJB-Lite.

Start fast, run efficiently

Small Download

Starts in <3s; Mem footprint
<50MB; (TradeLite benchmark)

Integrated tools
Powerful tools in WDT Eclipse
feature. Enhanced for v8.5.5 prog
models, Maven integration, ++

Web Profile Certified
Create web apps for the Java
EE Web Profile standard.

Level 5

50MB for Web Profile features

WAS v8.5.5 Liberty
Profile &
WAS Developer
Tools for Eclipse
(WDT)

Unzip install and deploy

Liberty Extensions

IM or unzip to install. New option to
deploy “server package” of app +
config + required subset of server
runtime for highest density deploy

Add custom features and
integrate 3rd party
components via Liberty
extensions interface

Dynamically Extensible
Install new features from repository
(local or remote) with no svr restart

Lightweight cluster Mgmt
Liberty servers can join a
lightweight cluster for workload
balancing and high availability

Fidelity to full profile WAS
Same reliable containers & QOS.
Develop on Liberty profile and deploy
to Liberty or full-profile WAS
Runtime Package Management

Level 6

 OSGi standards here to help
– Subsystems, Resolver, Repository

Liberty Repository

 Flexible runtime assembly creates
opportunity for flexible runtime delivery
– Only install what you need

 Feature repositories for developers and
runtime provisioning
– Enterprise Subsystem Archives (.esa)
content e.g. Liberty Repository or

– Subsystem metadata that refer to externally
hosted bundles e.g. Apache Karaf
servlet
Feature
Manager
1.0

1998

2.0

1999

3.0

2000

>featureManager install jsp.esa

jpa
HTTP
Transport

3.5

2001

4.0

2002

Application
Manager
5.0

5.1

2003

2004

6.0

2005

6.1

2006

8.0

7.0

2007

2008

2009

2010

2011

8.5

2012

8.5.5

2013
Looking Ahead:
What Are the Challenges
for OSGi?
 Cooking is simplified by recipes.
– OSGi needs to do this.

Complexity

The Cognitive Burden of Cookery
Traditional
system OSGi**
OSGi

 OSGi standards provide high-quality
modular specifications

 Vendors choose which specifications to
incorporate into their solutions

 BUT no separation between application
and middleware.
– And not enough recognition of the
difference

 Customers want standard solutions
 The OSGi Application Framework
proposal for rich Web applications may
help…

Time
OSGi Application Framework
- A spring-board to cloud

What it could be:

 A profile of specifications available for application use.
– Apps can rely on vendor solutions including these

 Re-using existing technology where applicable
 Enabling first-class exploitation of OSGi
 Focussing on 80:20 rule
– Leave room for innovation to encourage vendor adoption

 Supporting flexible provisioning depending on application
need

 Recognizing the difference between applications and
containers. Embrace container management to simplify
app burden
https://github.com/osgi/design/blob/master/rfps/rfp-0160-ApplicationFramework.pdf
PaaS Buildpacks and OSGi in the Cloud
 PaaS is a good opportunity for OSGi
Application Framework in the cloud

 Heroku, Cloud Foundry and other
PaaS’ have extension points for
application stacks: “buildpacks”

 Provision and scale OSGi applications
using appropriate buildpack for OSGi
stack in the cloud.

 Ideal for simplifying the provisioning of
flexible “just what’s needed” app
instances for high density in the cloud

 OSGi dynamic services a natural fit for

Execution Agent
Execution Agent
Isolated
Execution Address Space
Agent
Isolated Address Space
Execution Agent
Application
Isolated Address Space
Execution Agent
ApplicationSpace
Isolated Middleware stack
Execution Address
Agent
ApplicationSpace
Isolated Middleware stack
Address
Execution Agent
Application
Isolated Middleware stack
Address Space
Application
Isolated App Instance
Isolated Middleware stack
App Instance
Application
Middleware stack
Application stack
Middleware
Middleware stack

cloud shared services

Application

-application
-server.xml
-resources

cf push app with buildpack

> cf push project [--buildpack
https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack]

http://www.ibmdw.net/wasdev/docs/deploying-an-osgi-app-to-liberty-in-the-cloud/
http://thoughtsoncloud.com/index.php/2013/10/possibilities-abound-with-osgi-running-on-cloud-foundry/

PaaS
Higher Density  Less Hardware  Less Cost
 Make it Small: Provision the smallest middleware stack needed
– For the Java stack, IBM is doing this using OSGi (WebSphere Liberty
buildpack) and IBM Java.
Feature 3

 Make it Smaller: IBM Multitenant

Feature 1

Feature 2

JVM*
– Isolated tenants
– Per-tenant Statics

– Control: threads, memory, cpu

Execution Agent
Isolated App Instance
Isolated App Instance

Application
Middleware stack

Application tenant 2

Application tenant 1

* http://www.ibm.com/developerworks/library/j-multitenant-java/
Are We Nearly There Yet?
Software Engineering view
of Line of Business

LoB view of
Software (over) Engineering
Carrying baggage is part of the business.
Strategies to reduce its cost are as important
now as they were 40 years ago.

Technologies like OSGi help.
They help best when you know how, when
and to whom to sell it to internally in your
organization.
Thank You
@ian__robinson
http://wasdev.net

Contenu connexe

Tendances

OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010Arun Gupta
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesJan S. Rellermeyer
 
Inside IBM Java 7
Inside IBM Java 7Inside IBM Java 7
Inside IBM Java 7Tim Ellison
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
 
The Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksThe Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksClarence Ho
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OpenBlend society
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesMert Çalışkan
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOSTim Ellison
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Arun Gupta
 
GlassFish OSGi Server
GlassFish OSGi ServerGlassFish OSGi Server
GlassFish OSGi ServerArtur Alves
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkStephen Chin
 
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them EverywhereAD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them EverywhereStephan H. Wissel
 
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Vinay H G
 
What is os gi and what does osgi
What is os gi and what does osgiWhat is os gi and what does osgi
What is os gi and what does osgiYunChang Lee
 
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)Fred Rowe
 
Integrating Alfresco with Liferay Portal for Document-Centric Use Cases
Integrating Alfresco with Liferay Portal for Document-Centric Use CasesIntegrating Alfresco with Liferay Portal for Document-Centric Use Cases
Integrating Alfresco with Liferay Portal for Document-Centric Use Casesrivetlogic
 
[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework[S lide] java_sig-spring-framework
[S lide] java_sig-spring-frameworkptlong96
 
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceIBM WebSphereIndia
 

Tendances (20)

OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
Modularization in java 8
Modularization in java 8Modularization in java 8
Modularization in java 8
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded Devices
 
Inside IBM Java 7
Inside IBM Java 7Inside IBM Java 7
Inside IBM Java 7
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 
The Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksThe Power of Enterprise Java Frameworks
The Power of Enterprise Java Frameworks
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOS
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
 
GlassFish OSGi Server
GlassFish OSGi ServerGlassFish OSGi Server
GlassFish OSGi Server
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring Framework
 
JSF 2.2
JSF 2.2JSF 2.2
JSF 2.2
 
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them EverywhereAD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
 
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807
 
What is os gi and what does osgi
What is os gi and what does osgiWhat is os gi and what does osgi
What is os gi and what does osgi
 
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
 
Integrating Alfresco with Liferay Portal for Document-Centric Use Cases
Integrating Alfresco with Liferay Portal for Document-Centric Use CasesIntegrating Alfresco with Liferay Portal for Document-Centric Use Cases
Integrating Alfresco with Liferay Portal for Document-Centric Use Cases
 
[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework
 
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open SourceWebsphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open Source
 

Similaire à Travelling Light for the Long Haul - Ian Robinson

Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersYoav Avrahami
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and BeyondESUG
 
Alpha Five v11 and IIS support
Alpha Five v11 and IIS supportAlpha Five v11 and IIS support
Alpha Five v11 and IIS supportRichard Rabins
 
Mule soft step up session
Mule soft step up sessionMule soft step up session
Mule soft step up sessionAmit Behere
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityGraham Charters
 
High Volume Payments using Mule
High Volume Payments using MuleHigh Volume Payments using Mule
High Volume Payments using MuleAdhish Pendharkar
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyWASdev Community
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352sflynn073
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsGordon Dickens
 
Best Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily JiangBest Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily Jiangmfrancis
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Docker, Inc.
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareAndrea Campaci
 

Similaire à Travelling Light for the Long Haul - Ian Robinson (20)

iks auf der ElipseCon 2011: Tickling the shoulders of giants
iks auf der ElipseCon 2011: Tickling the shoulders of giantsiks auf der ElipseCon 2011: Tickling the shoulders of giants
iks auf der ElipseCon 2011: Tickling the shoulders of giants
 
SunMicroSystems
SunMicroSystemsSunMicroSystems
SunMicroSystems
 
Sunstate
SunstateSunstate
Sunstate
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and Beyond
 
Alpha Five v11 and IIS support
Alpha Five v11 and IIS supportAlpha Five v11 and IIS support
Alpha Five v11 and IIS support
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Mule soft step up session
Mule soft step up sessionMule soft step up session
Mule soft step up session
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
 
High Volume Payments using Mule
High Volume Payments using MuleHigh Volume Payments using Mule
High Volume Payments using Mule
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable Applications
 
Best Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily JiangBest Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily Jiang
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrare
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 

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

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

Travelling Light for the Long Haul - Ian Robinson

  • 1. Travelling Light for the Long Haul Ian Robinson, IBM Distinguished Engineer WebSphere Foundation Chief Architect
  • 2. About Me  IBM Distinguished Engineer  WebSphere Foundation Chief Architect  Over 20 years experience in transaction processing and distributed enterprise computing  Product strategy & development and enterprise Java standards  Travels a lot, based in IBM’s Hursley lab in the UK (near Southampton).  Season ticket holder for 3rd most successful club in English football: Ian Robinson
  • 3. Traditional system OSGi** “Cognitive burden” OSGi Time Based on http://www.tensegrity.hellblazer.com Knowledge About System Complexity Carrying Baggage Can Be Expensive OSGi Traditional system Time http://adaptevolve.blogspot.com
  • 4. But Losing Baggage Can Be Worse  “Baggage” is something your users wants you to keep. Forever. – Baggage == Business Continuity  WebSphere’s software support statement guarantees “N-2” for application compatibility and platform support.  Engineering challenge to deliver the new without breaking the old. For a long time. – Including the crazy experiments that got out.  If I had a pound…
  • 5. We Needed to Travel Lighter for the Long Haul  WebSphere AppServer and OSGi were both born in 1998.  By 2006 WebSphere was 10 million lines of Java code and growing.  Global development team of 100s in many development labs in different timezones around the world.  Tens of thousands of large customer deployments in long-term support.  Classic struggle to increase ratio of innovation : support – Variable “stickiness” of innovation but uniform expectation of support.  “Something had to change” (Part One) 1.0 1998 2.0 1999 3.0 2000 3.5 2001 4.0 2002 5.0 5.1 2003 2004 6.0 2005 6.1 2006 8.0 7.0 2007 2008 2009 2010 2011 8.5 2012 8.5.5 2013
  • 6. OSGi Maturity Model Summary 1.0 1998 2.0 1999 3.0 3.5 2000 2001 4.0 2002 5.0 5.1 2003 2004 6.0 2005 6.1 2006 8.0 7.0 2007 2008 2009 2010 2011 8.5 2012 8.5.5 2013 Level Name Summary 1 2 3 4 AdHoc Modules Modularity Loose-Coupling 5 Dynamism 6 Devolution Nothing Formal identity, decoupled from artifact Formal module contracts, decoupled from identity Services, semantic versioning, decoupled from implementation Life-cycle awareness and independence, decoupled from time Modularity-aware repositories, collaboration, governance, decoupled from ownership Graham Charters, OSGi Community Event 2011: Towards a Maturity Model
  • 7. Pre-OSGi Modules (Build View) Level 2 Pre-dated Maven  Componentized Build  Components have identity and version  Components produce a jar interfaces client impl depends on interfaces at build time impl Factory in interfaces uses Class.forName to load impl at runtime 1.0 1998 2.0 1999 3.0 2000 3.5 2001 4.0 2002 5.0 5.1 2003 2004 6.0 2005 6.1 2006 8.0 7.0 2007 2008 2009 2010 2011 8.5 2012 8.5.5 2013
  • 8. Pre-OSGi Modules (Runtime View)  Java Bean Components Level 2 init/start – Implements a specific interface stop/destroy A  Init/start/stop/destroy phases – Started in a specified order B  Makes use of: – Class.getResource() – Class.forName() C  Runtime couldn’t enforce build modularity  Expensive to maintain and extend C
  • 9. WebSphere Gets OSGi (2006) Level 3  Internal re-engineering while simultaneously adding external business capabilities  Best-practice approach: start with small number of large bundles and iterate over time Approach 1 – Runtime modularity enforced Jar A Jar B Jar C Jar D – Service maintenance and testing better targeted – Runtime footprint no longer monolithic  Challenge: Significant learning experience across worldwide team Jar A Approach 2 Jar B Content of Jars A-D Jar C 1.0 1998 2.0 1999 3.0 2000 Jar D 3.5 2001 4.0 2002 5.0 5.1 2003 2004 6.0 2005 6.1 2006 8.0 7.0 2007 2008 2009 2010 2011 8.5 2012 8.5.5 2013
  • 10. What’s Good for the Goose…  We had rebuilt WAS V6.1 on top of OSGi.  This must surely make it easier for developers to benefit from OSGi in their own applications. Right?
  • 11. OSGi Moves Up the Stack logging f/w jar persistence f/w f/w jar logging jar persistence f/w jar persistence f/w jar MVC f/w jar f/w jar persistence MVC f/w jar MVC f/w jar DI f/w jar f/w jar MVC DI f/w jar DI f/w jar DI f/w jar Import-Package OSGi Bundle Repository: Integrated with WAS Admin webA.war webA.war WEB-INF/classes/servletA.class webA.war WEB-INF/classes/servletA.class webA.war WEB-INF/web.xml WEB-INF/classes/servletA.class WEB-INF/web.xml WEB-INF/classes/servletA.class WEB-INF/lib/… WEB-INF/web.xml WEB-INF/lib/… WEB-INF/web.xml WEB-INF/lib/… jar logging f/w WEB-INF/lib/… jar logging f/w webA.jar webA.jar WEB-INF/classes/servletA.class webA.jar WEB-INF/classes/servletA.class webA.jar WEB-INF/web.xml WEB-INF/classes/servletA.class WEB-INF/web.xml WEB-INF/classes/servletA.class META-INF/MANIFEST.MF WEB-INF/web.xml META-INF/MANIFEST.MF WEB-INF/web.xml META-INF/MANIFEST.MF META-INF/MANIFEST.MF Bundle Repository • Manage multiple versions of libraries across an enterprise • Isolate application dependencies from the server runtime • Centralized location to deliver critical fixes • Flexibility to update to new versions one app at a time
  • 12. Lessons We Learned • • • We did a better job for external apps than we did for internal components “Services” were a key part of the App support A Grade: • • Cheaper to maintain, extend and test Need do Better: • • Insufficient dynamism - especially in fastchanging development environment Components too tightly-coupled – didn’t deliver on desired lightweight footprint.
  • 13. The Omelette Challenge Recipe:  Create a lightweight profile of WebSphere that starts in under 2 seconds  Make it completely dynamic for all changes to configuration  Provide an unzip install <50 Meg in size  Don’t break any eggs. Provide complete backward compatibility
  • 14. zosSecurity Java EE Full Profile collectiveController zosTransaction mongodb wsSecurity wmqJmsClient jmsMdb wasJmsClient collectiveMember oauth jaxrs servlet json jpa What we had ssl monitor Feature Manager beanvalidation localConnector wab jsp Runtime Services & Config Model managedBeans restConnector blueprint webCache ldapRegistry osgi.jpa jsf wasJmsSecurity wasJmsServer cdi ejblite Java EE Web Profile jaxws jaxb concurrent clusterMember appSecurity sessionDatabase jndi HTTP Transport jdbc Application Manager What we wanted Multi-bundle feature 1.0 1998 2.0 1999 3.0 2000 3.5 2001 4.0 2002 5.0 5.1 2003 2004 6.0 2005 6.1 2006 8.0 7.0 2007 2008 2009 2010 2011 8.5 2012 8.5.5 2013
  • 15. Time Independence is Fundamental  Recognized our error in not exploiting OSGi services when we originally adopted OSGi.  Services were the ONLY way we could achieve the size and dynamism objective without massive and unnecessary re-invention  A significant consideration for component design. – Required us to replace existing factory patterns and configuration management. Complexity – Modular implementation already suitable package import OSGi** B v2 A v1 C v1.1 D v1 service reference Time
  • 16. A La Carte Alongside the Prix Fixe Level 5  2012: “Liberty Profile” of WebSphere supports arbitrary combinations of OSGi and Java EE “features”. – Remember the eggs: any app running on the Liberty profile of WAS runs unchanged on the full profile of WAS. X  Same runtime bundles (mostly) but loaded and configured by new OSGi subsystem-aware kernel as independent feature subsystems (new in OSGi R5)  Entirely self-contained metadata to describe bundle content, services published, & configuration metatypes.  We use features as units of: Config Bundle A Feature Manifest Metatype.xml – Configuration Bundle B 1998 2.0 1999 3.0 2000 3.5 2001 4.0 2002 5.0 5.1 2003 2004 – Extensibility “Feature” Bundle C 1.0 – Deployment 6.0 2005 6.1 2006 8.0 7.0 2007 2008 2009 2010 2011 8.5 2012 8.5.5 2013
  • 17. Keep the Engine Under the Bonnet/Hood/Kühlerhaube OSGi details: • are available to extenders of the platform. • stay on the inside for users of the platform Bundle A Feature Manifest Application developers & operators only see this Config Metatype.xml Bundle B Bundle C jsp-2.2 3 4 <server description=“server1”> Feature Manager <featureManager> <feature>jsp-2.2</feature> <feature>jdbc-4.0</feature> </featureManager> 2 1 Config Admin R4.2 felix scr1.1 equinox metatype 1.2.0 <application name="tradelite" location="tradelite.war" /> </server> server.xml configuration equinox framework 3.8.2 (OSGi R5.0) WebSphere Liberty Kernel
  • 18. The Love That Dare Not Speak Its Name Or Why We Stopped Bragging About OSGi Dynamic Server Profile Not static like Web Profile; configured by app at a fine-grained level “Developer First” Focus Simplified, shareable XML server config. New integrated messaging server, DynaCache support, new prog. models, such as Web Services, JMS & EJB-Lite. Start fast, run efficiently Small Download Starts in <3s; Mem footprint <50MB; (TradeLite benchmark) Integrated tools Powerful tools in WDT Eclipse feature. Enhanced for v8.5.5 prog models, Maven integration, ++ Web Profile Certified Create web apps for the Java EE Web Profile standard. Level 5 50MB for Web Profile features WAS v8.5.5 Liberty Profile & WAS Developer Tools for Eclipse (WDT) Unzip install and deploy Liberty Extensions IM or unzip to install. New option to deploy “server package” of app + config + required subset of server runtime for highest density deploy Add custom features and integrate 3rd party components via Liberty extensions interface Dynamically Extensible Install new features from repository (local or remote) with no svr restart Lightweight cluster Mgmt Liberty servers can join a lightweight cluster for workload balancing and high availability Fidelity to full profile WAS Same reliable containers & QOS. Develop on Liberty profile and deploy to Liberty or full-profile WAS
  • 19. Runtime Package Management Level 6  OSGi standards here to help – Subsystems, Resolver, Repository Liberty Repository  Flexible runtime assembly creates opportunity for flexible runtime delivery – Only install what you need  Feature repositories for developers and runtime provisioning – Enterprise Subsystem Archives (.esa) content e.g. Liberty Repository or – Subsystem metadata that refer to externally hosted bundles e.g. Apache Karaf servlet Feature Manager 1.0 1998 2.0 1999 3.0 2000 >featureManager install jsp.esa jpa HTTP Transport 3.5 2001 4.0 2002 Application Manager 5.0 5.1 2003 2004 6.0 2005 6.1 2006 8.0 7.0 2007 2008 2009 2010 2011 8.5 2012 8.5.5 2013
  • 20. Looking Ahead: What Are the Challenges for OSGi?
  • 21.  Cooking is simplified by recipes. – OSGi needs to do this. Complexity The Cognitive Burden of Cookery Traditional system OSGi** OSGi  OSGi standards provide high-quality modular specifications  Vendors choose which specifications to incorporate into their solutions  BUT no separation between application and middleware. – And not enough recognition of the difference  Customers want standard solutions  The OSGi Application Framework proposal for rich Web applications may help… Time
  • 22. OSGi Application Framework - A spring-board to cloud What it could be:  A profile of specifications available for application use. – Apps can rely on vendor solutions including these  Re-using existing technology where applicable  Enabling first-class exploitation of OSGi  Focussing on 80:20 rule – Leave room for innovation to encourage vendor adoption  Supporting flexible provisioning depending on application need  Recognizing the difference between applications and containers. Embrace container management to simplify app burden https://github.com/osgi/design/blob/master/rfps/rfp-0160-ApplicationFramework.pdf
  • 23. PaaS Buildpacks and OSGi in the Cloud  PaaS is a good opportunity for OSGi Application Framework in the cloud  Heroku, Cloud Foundry and other PaaS’ have extension points for application stacks: “buildpacks”  Provision and scale OSGi applications using appropriate buildpack for OSGi stack in the cloud.  Ideal for simplifying the provisioning of flexible “just what’s needed” app instances for high density in the cloud  OSGi dynamic services a natural fit for Execution Agent Execution Agent Isolated Execution Address Space Agent Isolated Address Space Execution Agent Application Isolated Address Space Execution Agent ApplicationSpace Isolated Middleware stack Execution Address Agent ApplicationSpace Isolated Middleware stack Address Execution Agent Application Isolated Middleware stack Address Space Application Isolated App Instance Isolated Middleware stack App Instance Application Middleware stack Application stack Middleware Middleware stack cloud shared services Application -application -server.xml -resources cf push app with buildpack > cf push project [--buildpack https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack] http://www.ibmdw.net/wasdev/docs/deploying-an-osgi-app-to-liberty-in-the-cloud/ http://thoughtsoncloud.com/index.php/2013/10/possibilities-abound-with-osgi-running-on-cloud-foundry/ PaaS
  • 24. Higher Density  Less Hardware  Less Cost  Make it Small: Provision the smallest middleware stack needed – For the Java stack, IBM is doing this using OSGi (WebSphere Liberty buildpack) and IBM Java. Feature 3  Make it Smaller: IBM Multitenant Feature 1 Feature 2 JVM* – Isolated tenants – Per-tenant Statics – Control: threads, memory, cpu Execution Agent Isolated App Instance Isolated App Instance Application Middleware stack Application tenant 2 Application tenant 1 * http://www.ibm.com/developerworks/library/j-multitenant-java/
  • 25. Are We Nearly There Yet? Software Engineering view of Line of Business LoB view of Software (over) Engineering Carrying baggage is part of the business. Strategies to reduce its cost are as important now as they were 40 years ago. Technologies like OSGi help. They help best when you know how, when and to whom to sell it to internally in your organization.