a nimble approact to dependency management

9
www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. www.paremus.com A Nimble approach to dependency management June 2009 [email protected] A Nimble approach to dependency management http://nimble.codecauldron.org/download Tuesday, 23 June 2009

Upload: robert-dunne

Post on 13-Jul-2015

1.322 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: A  Nimble  approact to dependency management

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

[email protected]

A Nimble approach to dependency management

http://nimble.codecauldron.org/download

Tuesday, 23 June 2009

Page 2: A  Nimble  approact to dependency management

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

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

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

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

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

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

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

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

[email protected]

http://www.paremus.com

Tuesday, 23 June 2009