jermus67 commented on code in PR #421: URL: https://github.com/apache/celix/pull/421#discussion_r897876199
########## documents/diagrams/whiteboard_pattern.puml: ########## @@ -0,0 +1,32 @@ +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +@startuml Review Comment: Can the flow be inverted? It is the Whiteboard Service Admin that (potentially) wants to use the Whiteboard Participants. It now looks like it is the other way around (even though the service dependency is depicted OK). ########## documents/diagrams/whiteboard_pattern.puml: ########## @@ -0,0 +1,32 @@ +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +@startuml +component WhiteboardParticipantA as "Whiteboard Participant A" +component WhiteboardParticipantB as "Whiteboard Participant B" +component WhiteboardParticipantC as "Whiteboard Participant C" +component WhiteboardServiceAdmin as "Whiteboard Service Admin" Review Comment: Is "Admin" the proper term here? Indeed the Remote Service Admin may use the whiteboard pattern, but than as part of the services on demand pattern (which is what makes it makes Admin to me). ########## documents/patterns.md: ########## @@ -19,16 +19,121 @@ See the License for the specific language governing permissions and limitations under the License. --> -# OSGi pattern in Apache Celix +# Apache Celix / OSGi patterns +There are several design patterns used in Apache Celix and OSGi. + +## Whiteboard Pattern +The whiteboard pattern is a pattern where the act of registering a service is enough to participate in or extend +an existing functionality. +A typical aspect of the whiteboard pattern is that an application should +still resolve and startup even if the bundle or bundles that pick up the whiteboard pattern services are absent. + + + +Many Apache Celix services are whiteboard services. For example: Review Comment: Maybe an additional diagram that places the elements mentioned in these examples (or from one example) in the pattern? ########## documents/patterns.md: ########## @@ -19,16 +19,121 @@ See the License for the specific language governing permissions and limitations under the License. --> -# OSGi pattern in Apache Celix +# Apache Celix / OSGi patterns +There are several design patterns used in Apache Celix and OSGi. + +## Whiteboard Pattern +The whiteboard pattern is a pattern where the act of registering a service is enough to participate in or extend +an existing functionality. +A typical aspect of the whiteboard pattern is that an application should +still resolve and startup even if the bundle or bundles that pick up the whiteboard pattern services are absent. Review Comment: So optional service dependency, no required service dependency? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org