a nimble approact to dependency management
TRANSCRIPT
![Page 1: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/1.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comA Nimble approach to dependency management June 2009
A Nimble approach to dependency management
http://nimble.codecauldron.org/download
Tuesday, 23 June 2009
![Page 2: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/2.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
A Nimble approach to dependency management June 2009
Managing Dependency Compexity
• Modularity is good ...
• ... But often undermined by complexity
‣ wire-up
‣ configuration
• How can we manage this?
‣ automate where possible
‣ preserve and reuse design decisions
‣ we’ve been here before
Tuesday, 23 June 2009
![Page 3: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/3.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
A Nimble approach to dependency management June 2009
Nimble
• Full lifecycle dependency resolver
‣ resolve, install, uninstall and clean-up
- rich diagnostics
‣ multiple deployable units - easily extended
- Bundles, WARs, POJOs, Config files
‣ OSGi specific features
- fragment attachment policy
- optional import policy
- import narrowing
- resolves dependencies on extender bundles (DS, SpringDM, iPOJO)
Tuesday, 23 June 2009
![Page 4: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/4.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
A Nimble approach to dependency management June 2009
Parts
‣ Nimble manages a Part Graph
- parts have capabilities and requirements
- resolved bundles
- requirements -> exports, capabilities -> imports
- POJOs
- requirements -> constructor args, capabilities -> interfaces
- Add & Remove Root Parts
- Control Resolution with policy
Tuesday, 23 June 2009
![Page 5: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/5.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
A Nimble approach to dependency management June 2009
Builders
• Parts have a builder requirement
‣ no need for pre-installed builders
‣ builder turns the part into a runtime entity using:
- artifacts for the part
- capabilities wired to parts other requirements
• Builders for
‣ resolved, active and fragment bundles
‣ WARs, Config files
‣ easily extensible
Tuesday, 23 June 2009
![Page 6: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/6.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
A Nimble approach to dependency management June 2009
Rules and Extensions
• Rules are Templates for Parts
‣ Rule + configured Extensions -> Part
‣ target
- rules to which extensions can apply
‣ policy
- choice of extensions to apply
Tuesday, 23 June 2009
![Page 7: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/7.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
A Nimble approach to dependency management June 2009
Repositories and Policies
• Repository
‣ Index of available rules and extensions
‣ OBR or richer Nimble metadata
• Policies
‣ configure selected extensions
‣ constrain requirement -> capability matching
‣ configure option resolution
Tuesday, 23 June 2009
![Page 8: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/8.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
A Nimble approach to dependency management June 2009
Modelling Fragments
Fragment Rules Fragment Parts
Tuesday, 23 June 2009
![Page 9: A Nimble approact to dependency management](https://reader036.vdocument.in/reader036/viewer/2022071709/55a3469c1a28abc31f8b4635/html5/thumbnails/9.jpg)
www.paremus.comCopyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
A Nimble approach to dependency management June 2009
Thanks for coming
http://nimble.codecauldron.org/download
http://www.paremus.com
Tuesday, 23 June 2009