SlideShare a Scribd company logo
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Moving the Guidewire platform to
OSGi
A case study
Paul D’Albora
Guidewire Software
pdalbora@guidewire.com
March 2012
2
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Agenda
• Introduction to the Guidewire platform
• Motivation for moving to OSGi
• Challenges
• Where we are and where we’re going
• Q & (hopefully) A
3
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
The Guidewire Platform – Basics
• Supports core system software for the global
property/casualty insurance industry
• Core services: ORM layer, web UI framework,
business rules, workflow, automated upgrade, I18N,
customer plugins, messaging and web services
integration
• High degree of configurability
• Supports multiple JEE containers
4
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
The Guidewire Platform – Pressures
• Constantly adding and improving features for
applications
• Must not break existing customers
• Large code base developed over ten years
• Large and growing development team
• All of which can lead to …
5
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
6
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
7
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Goals
• Test components in isolation
• Reduce learning curve
• Contain maintenance costs
• Release components independently
8
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
OSGi
• Module system
• Versioning
• Manageability
• Mature, well-defined specifications
• Robust community
• Services!
9
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Givens
• Application must be delivered as a JEE application
(EAR/WAR)
• Code divided into coarse-grained “modules”
forming a DAG of compile-time dependencies
• Non-Eclipse IDE (no PDE)
• Custom build system
10
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Step 1
11
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Plan
• Run Equinox embedded in JEE container using
servlet bridge
• Define a bundle for each existing code “module”
• Replace/Convert 3rd
-party jars with OSGi equivalents
• Get automated tests running in framework
• DON’T try to modularize yet
12
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Roadblocks
13
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Problem: Split Packages
• Same package exists in multiple modules
• Framework binds to one of them, causing the other
“parts” of the package to effectively disappear
• Typical for platform and one or more applications
to define classes in the same package
• This is pervasive in our code
14
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Solution: Fragments
• Define an empty “root” bundle
• Every bundle is a fragment of root
- Fragment-Host: com.guidewire.root
• Simulates one bundle
• More closely represents original, non-modular,
global classpath environment
15
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Problem: 3rd
-party libraries
• Lots of them (~102
)
• Signed jars
• Classpath assumptions
16
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Solution: Varied
• Public OSGi bundle repositories
– Eclipse Orbit
– SpringSource
• BND
– For signed jars, embed jar within jar and use Bundle-
ClassPath
– Can combine related jars to deal with split packages
• TCCL to work around classpath assumptions
• Newer jars being packaged as OSGi bundles
17
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Problem: Servlets
• No longer registered in web.xml (just the servlet
bridge)
• How to register platform and application servlets
with HttpService
• Ordering requirements (<load-on-startup>)
18
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Solution: Components
• Felix Http Whiteboard
• Declarative Services with Bnd
- @Component(provide=Servlet.class,
properties="alias=/path")
• For ordering-dependent servlets, register in order
with HttpService
- Component with @Reference to HttpService
19
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Practical Tips
• Learn and use BND
• Learn the classloading flow chart (R4.2 Spec, Fig
3.19)
– Turn off osgi.compatibility.bootdelegation,
osgi.context.bootdelegation in Equinox
– No Require-Bundle
• Lean on automated tests
• Use the framework itself
20
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Current Status
• Applications and integration tests running
successfully in development
• Initial performance testing reveals no significant
difference in response times or memory usage
• Rolled out to application teams with minimal
disruption
21
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Next Steps
• Define candidate areas for modularization
• Use services to de-couple components
• Use services to replace ad hoc registries
• Educate developers about service-oriented
programming
22
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Example: Static Service Registry
• Map of interface Class to implementation instance
• Initialized by bootstrap class
• Accessed via static methods
23
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Static Service Registry – Code Sample 1
24
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Static Service Registry – Code Sample 2
25
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Static Service Registry – Code Sample 3
26
© Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
Static Service Registry – Replacement
Questions?
Feedback welcome.
Give Feedback on the Sessions
1
Sign In: www.eclipsecon.org
2
Select Session Evaluate
3
Vote

More Related Content

PDF
6 Reasons to Extend Guidewire
PPTX
Live Guidewire Training
PDF
Marlabs Capabilities Overview: Guidewire Services
PPT
Benefits of a Guidewire-FileNet Integration
PDF
A Recipe for Scale: Succeeding with Agile Software Development in the Enterprise
PPTX
Digital Businesses of the Future
PPTX
Introduction of ARMule and a live demo - AutoRABIT at Tri-Valley Salesforce D...
PPTX
Inflectra CodeCamp Internship Introduction
6 Reasons to Extend Guidewire
Live Guidewire Training
Marlabs Capabilities Overview: Guidewire Services
Benefits of a Guidewire-FileNet Integration
A Recipe for Scale: Succeeding with Agile Software Development in the Enterprise
Digital Businesses of the Future
Introduction of ARMule and a live demo - AutoRABIT at Tri-Valley Salesforce D...
Inflectra CodeCamp Internship Introduction

What's hot (20)

PPTX
The Payer of the Future: Modernizing Health Insurance with API-led Connectivity
PPTX
Testing & Compliance Challenges for Healthcare in the Cloud
PPT
Spira Test Overview Presentation
PPTX
Webinar 3: Five Essentials to Requirements Management
PPTX
eFolder Partner Chat Webinar — Happy Together: Integrating Managed File Sync ...
PPTX
What Patterns to Avoid in Agile Ceremonies?
PPTX
Progress Pacific: Contemporary App Development
PDF
How DevOps works in MOKA
PPTX
Roadmap 101 of the ServiceNow business platform
PPTX
Catalyst Accelerate for Healthcare
PPTX
SpiraPlan - Top Productivity Boosting Features
PPTX
Operationalizing your Virtual Network: Getting to the Next Level with SDN/NFV...
PDF
Always-On Services for Consumer Web, Mobile and the Internet of Things
PDF
Overview Brochure - VMware Partnership_0
PPTX
NERC CIP - Top Testing & Compliance Challenges, How to Address Them
PPTX
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
PPTX
SpiraTeam Overview Presentation (2019)
PDF
Building excellence in support
PDF
Moving from a Data Center to a Hybrid IT Environment Securely
PPTX
Enhancing QA Strategy to Achieve Agile Quality Engineering
The Payer of the Future: Modernizing Health Insurance with API-led Connectivity
Testing & Compliance Challenges for Healthcare in the Cloud
Spira Test Overview Presentation
Webinar 3: Five Essentials to Requirements Management
eFolder Partner Chat Webinar — Happy Together: Integrating Managed File Sync ...
What Patterns to Avoid in Agile Ceremonies?
Progress Pacific: Contemporary App Development
How DevOps works in MOKA
Roadmap 101 of the ServiceNow business platform
Catalyst Accelerate for Healthcare
SpiraPlan - Top Productivity Boosting Features
Operationalizing your Virtual Network: Getting to the Next Level with SDN/NFV...
Always-On Services for Consumer Web, Mobile and the Internet of Things
Overview Brochure - VMware Partnership_0
NERC CIP - Top Testing & Compliance Challenges, How to Address Them
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
SpiraTeam Overview Presentation (2019)
Building excellence in support
Moving from a Data Center to a Hybrid IT Environment Securely
Enhancing QA Strategy to Achieve Agile Quality Engineering
Ad

Similar to Moving the Guidewire platform to OSGi - Paul D'Albora (20)

PDF
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
PDF
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
PDF
OSGi enRoute Unveiled - P Kriens
PDF
Eclipse_Building_Blocks
PDF
Create *real* modular Java applications - a brief introduction -
PDF
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
PDF
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
PDF
Intro To OSGi
PPTX
Java 9 Modules: The Duke Yet Lives That OSGi Shall Depose
PDF
Open Services Gateway Initiative (OSGI)
PDF
Modern web application development with java ee 7
PPTX
Java Modularity with OSGi
KEY
Introduction to EclipseRT (JAX 2010)
PDF
Travelling Light for the Long Haul - Ian Robinson
PDF
Travelling light for the long haul
PDF
Monoliths are so 2001 – What you need is Modularity
PDF
JavaEE 6 tools coverage
PDF
Calling all modularity solutions
PDF
OSGi for outsiders - Milen Dyankov
PDF
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
OSGi enRoute Unveiled - P Kriens
Eclipse_Building_Blocks
Create *real* modular Java applications - a brief introduction -
OSGi in Java EE Servers - Sneak Peek Under the Hood - Krasimir Semerdzhiev
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
Intro To OSGi
Java 9 Modules: The Duke Yet Lives That OSGi Shall Depose
Open Services Gateway Initiative (OSGI)
Modern web application development with java ee 7
Java Modularity with OSGi
Introduction to EclipseRT (JAX 2010)
Travelling Light for the Long Haul - Ian Robinson
Travelling light for the long haul
Monoliths are so 2001 – What you need is Modularity
JavaEE 6 tools coverage
Calling all modularity solutions
OSGi for outsiders - Milen Dyankov
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
Ad

More from mfrancis (20)

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

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Modernizing your data center with Dell and AMD
PPTX
A Presentation on Artificial Intelligence
PDF
Empathic Computing: Creating Shared Understanding
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Understanding_Digital_Forensics_Presentation.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Unlocking AI with Model Context Protocol (MCP)
Mobile App Security Testing_ A Comprehensive Guide.pdf
MYSQL Presentation for SQL database connectivity
The Rise and Fall of 3GPP – Time for a Sabbatical?
NewMind AI Monthly Chronicles - July 2025
Agricultural_Statistics_at_a_Glance_2022_0.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Modernizing your data center with Dell and AMD
A Presentation on Artificial Intelligence
Empathic Computing: Creating Shared Understanding
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Understanding_Digital_Forensics_Presentation.pptx

Moving the Guidewire platform to OSGi - Paul D'Albora

  • 1. © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Moving the Guidewire platform to OSGi A case study Paul D’Albora Guidewire Software pdalbora@guidewire.com March 2012
  • 2. 2 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Agenda • Introduction to the Guidewire platform • Motivation for moving to OSGi • Challenges • Where we are and where we’re going • Q & (hopefully) A
  • 3. 3 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. The Guidewire Platform – Basics • Supports core system software for the global property/casualty insurance industry • Core services: ORM layer, web UI framework, business rules, workflow, automated upgrade, I18N, customer plugins, messaging and web services integration • High degree of configurability • Supports multiple JEE containers
  • 4. 4 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. The Guidewire Platform – Pressures • Constantly adding and improving features for applications • Must not break existing customers • Large code base developed over ten years • Large and growing development team • All of which can lead to …
  • 5. 5 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
  • 6. 6 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission.
  • 7. 7 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Goals • Test components in isolation • Reduce learning curve • Contain maintenance costs • Release components independently
  • 8. 8 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. OSGi • Module system • Versioning • Manageability • Mature, well-defined specifications • Robust community • Services!
  • 9. 9 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Givens • Application must be delivered as a JEE application (EAR/WAR) • Code divided into coarse-grained “modules” forming a DAG of compile-time dependencies • Non-Eclipse IDE (no PDE) • Custom build system
  • 10. 10 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Step 1
  • 11. 11 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Plan • Run Equinox embedded in JEE container using servlet bridge • Define a bundle for each existing code “module” • Replace/Convert 3rd -party jars with OSGi equivalents • Get automated tests running in framework • DON’T try to modularize yet
  • 12. 12 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Roadblocks
  • 13. 13 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Problem: Split Packages • Same package exists in multiple modules • Framework binds to one of them, causing the other “parts” of the package to effectively disappear • Typical for platform and one or more applications to define classes in the same package • This is pervasive in our code
  • 14. 14 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Solution: Fragments • Define an empty “root” bundle • Every bundle is a fragment of root - Fragment-Host: com.guidewire.root • Simulates one bundle • More closely represents original, non-modular, global classpath environment
  • 15. 15 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Problem: 3rd -party libraries • Lots of them (~102 ) • Signed jars • Classpath assumptions
  • 16. 16 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Solution: Varied • Public OSGi bundle repositories – Eclipse Orbit – SpringSource • BND – For signed jars, embed jar within jar and use Bundle- ClassPath – Can combine related jars to deal with split packages • TCCL to work around classpath assumptions • Newer jars being packaged as OSGi bundles
  • 17. 17 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Problem: Servlets • No longer registered in web.xml (just the servlet bridge) • How to register platform and application servlets with HttpService • Ordering requirements (<load-on-startup>)
  • 18. 18 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Solution: Components • Felix Http Whiteboard • Declarative Services with Bnd - @Component(provide=Servlet.class, properties="alias=/path") • For ordering-dependent servlets, register in order with HttpService - Component with @Reference to HttpService
  • 19. 19 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Practical Tips • Learn and use BND • Learn the classloading flow chart (R4.2 Spec, Fig 3.19) – Turn off osgi.compatibility.bootdelegation, osgi.context.bootdelegation in Equinox – No Require-Bundle • Lean on automated tests • Use the framework itself
  • 20. 20 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Current Status • Applications and integration tests running successfully in development • Initial performance testing reveals no significant difference in response times or memory usage • Rolled out to application teams with minimal disruption
  • 21. 21 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Next Steps • Define candidate areas for modularization • Use services to de-couple components • Use services to replace ad hoc registries • Educate developers about service-oriented programming
  • 22. 22 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Example: Static Service Registry • Map of interface Class to implementation instance • Initialized by bootstrap class • Accessed via static methods
  • 23. 23 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Static Service Registry – Code Sample 1
  • 24. 24 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Static Service Registry – Code Sample 2
  • 25. 25 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Static Service Registry – Code Sample 3
  • 26. 26 © Guidewire Software, Inc. All rights reserved. Do not distribute without permission. Static Service Registry – Replacement
  • 28. Give Feedback on the Sessions 1 Sign In: www.eclipsecon.org 2 Select Session Evaluate 3 Vote

Editor's Notes

  • #6: We’re all probably familiar with this metaphor. It’s a natural consequence of code evolution without proper boundaries. Tug on one strand and you affect something on the other side of the “plate.” And we all know where this leads…
  • #7: Leads to frustration for new developers
  • #8: Understanding the pressures we face on the platform team, and that those are only likely to increase, we defined some goals we’d like to have in order to survive. Testing in isolation: we invest a lot in automated testing. Over time, more and more of our tests have had to be written as integration / end-to-end tests. We attempted to use mocks for more “unit” style testing, but our components are not de-coupled enough for that to work. New developers face a daunting challenge. No clear APIs, sub-systems tightly coupled Fixing bugs often requires knowledge over a broad area of the platform Platform must be delivered as a monolith
  • #9: We decided to go with OSGi Module system provides a way to define boundaries and enforce them Has momentum Manageability is a big advantage – modular architecture allows for wide array of introspection tools Service layer is a simple but extremely powerful way of de-coupling code. Combined with Declarative Services, it is the most exciting aspect for us.
  • #10: How are we going to get there? Here’s what we’ve got to work with. Customers familiar with and have expertise with managing their own JEE application servers. From their point-of-view, it’s still just a WAR. PL, apps depend on PL For development, no access to PDE Custom, script-based build system
  • #11: First step is get the platform and applications running in OSGi: replace the foundation
  • #12: Just want to get the framework in place and prove that it can work.
  • #14: Renaming packages is not an option at this point. Neither is co-locating the packages. This is not unusual when the package doesn’t mean much.
  • #15: Last point is important in light of our goal: get platform running in OSGi framework without breaking existing code.
  • #17: Learned about unresolved dependencies, duplicate packages/classes
  • #18: Entry points to the applications
  • #21: Not yet released to customers