Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Purpose

The VIVO architectural fly-in was focused on bringing an architecturally-minded team together who individually represent distinct VIVO stakeholder constituencies for the purpose of developing architectural approaches required to address the direction of the project. The primary goal of the two-day face-to-face meeting was to assess and document a plan for improving the VIVO application architecture towards enabling and realizing the technical efforts defined in the "Statement on VIVO's Product Direction for 2019".

...

  1. Initial service abstractions are represented in the following interfaces: SearchIndexer.java and SearchEngine.java
  2. Implementations to support: Solr, Elasticsearch, GraphQL
  3. Note: The search index machinery could potentially be used to transform data for import to and use in other derivative stores

...

  1. Either move current implementation into its own component, or use one of the other community implementations

Asset store

The asset store is where images are currently stored. Documents could potentially be stored via the asset store as well.

  1. Initial service abstraction is represented in the FileStorage.java interface

Architectural concerns and questions

  1. From an architectural perspective, having a triplestore at the core of the application brings significant limitations
  2. As we decouple components, we must ensure that we also decouple logic expectations between the components
  3. Is the VIVO ontology undergoing a significant revision? If so, what is the nature of the impact we should expect on the VIVO application?

Retrospective

It was suggested that we hold a similar, architectural face-to-face meeting annually, with quarterly community calls to reflect on progress and pivots.

If we hold future face-to-face meetings, the following suggestions/observations should be applied before and during the meetings.

Before 

  1. Assign homework early in the f2f planning process for individuals to engage in deep exploration of specific topics
  2. Have team create architectural diagrams early in the planning process
  3. Best timing: Mid-February to Mid-March
  4. Use pre-f2f calls to establish common understandings
  5. Guiding principles/documents are vital, e.g.

...

  1.  Product Direction for 2019
  2. Team size should be limited ~10
  3. Ideally bring in voices/participation from adjacent efforts to the VIVO problem space
  4. Ideally bring in voices/participation from practitioners, those facing real-world challenges

During

  1. Ensure coffee/tea/snacks are available at the venue
  2. Ensure whiteboards are available at the venue
  3. Ideal not having a projector/presentations
  4. Ideal to be close to an airport
  5. Important to have facilitation of the meeting and ground-rules
  6. Ideal to have collaborative agenda-setting at the beginning of the meeting based on a set of previously discussed topics
  7. Important to establish goals at the beginning of each session
  8. Important to review/summarize actions/decisions at the end of each session