Skip to content

Commit

Permalink
Merge pull request #983 from mandy-chessell/code2024
Browse files Browse the repository at this point in the history
Updates to the roadmap page
  • Loading branch information
mandy-chessell authored Nov 30, 2024
2 parents d57a6d6 + 7bd2daa commit ae435bd
Show file tree
Hide file tree
Showing 35 changed files with 2,227 additions and 856 deletions.
2 changes: 1 addition & 1 deletion site/docs/concepts/karma-point.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This may be for:
* Linking information together
* Removing obsolete information

Karma points are awarded automatically. They are stored in an actors's [actor profile](/concepts/personal-profile).
Karma points are awarded automatically. They are stored in an actor's [actor profile](/concepts/personal-profile).
When an actor's karma point total reaches a multiple of the karma point notification threshold,
the Community Profile OMAS sends a notification on its [OutTopic](/concepts/out-topic).

Expand Down
26 changes: 26 additions & 0 deletions site/docs/concepts/pyegeria.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the Egeria project. -->

# Pyegeria

The [pyegeria python library](https://github.com/odpi/egeria-python) provides a wide-ranging set of python functions for interacting with the Egeria runtime. In addition there is a command level interface (CLI) for issuing commands to Egeria and widgets to display information held by Egeria. It includes:

* [Python client](/guides/developer/python-client/overview) - A collection of python functions for calling the Open Metadata and Governance services provided by egeria from a python program - or programming environment, such as Jupyter notebooks.


## Installing pyegeria (and keeping up to date)

*pyegeria* is installed from PyPI using the `pip install pyegeria` command. It is advancing rapidly, so it is worthwhile checking that you have the latest level. Firstly, to upgrade the base python functions, run the following command in your python environment (Jupyter Notebook, PyCharm, venv, etc):

```shell
pip install pyegeria --upgrade
```
If the libraries are upgraded, you will need to restart the python kernel. For example, from the JupyterLab menu bar select Kernel->Restart Kernel... and then confirm that you want the kernel to restart.

To check that the widgets and CLI are up-to-date, enter the following command on a command line (terminal/command window).

```shell
pipx upgrade pyegeria
```

--8<-- "snippets/abbr.md"
4 changes: 2 additions & 2 deletions site/docs/guides/developer/connecting-to-egeria.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 14 additions & 10 deletions site/docs/guides/developer/developer-choices.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,31 @@
The diagram below illustrates the choices you have in developing with Egeria:

![Choices in connecting to or enhancing egeria](/guides/developer/connecting-to-egeria.svg)
> Egeria offers Java clients for utilities and applications to call the Egeria APIs and receive event notifications. It is also possible to directly call the REST APIs and access the events through the [event bus APIs](/concepts/event-bus). Finally connectors can be plugged into the Egeria OMAG Server Platform to customize its capabilities. Connectors may also be used to access the content of digital resources along with its metadata from the open metadata and governance ecosystem
> Egeria offers Python clients for utilities and applications to call the Egeria REST APIs and receive event notifications. It is also possible to directly call the REST APIs and access the events through the [event bus APIs](/concepts/event-bus). Finally, connectors can be plugged into the Egeria OMAG Server Platform to customize its capabilities. Connectors may also be used to access the content of digital resources along with its metadata from the open metadata and governance ecosystem.
The numbers on the diagram refer to these notes:
The numbers on the diagram refer to the following notes. The first three interfaces are for components running outside of Egeria's runtime.

1. Egeria's *Java clients* wrap calls to Egeria's REST APIs. The aim is to provide a language-specific interface that manages parameter validation along with the marshalling and de-marshalling of the call parameters and responses to these services.
1. Egeria's services that provide access to open metadata and the associated governance functions are called the [Open Metadata View Services (OMVSs)](/services/omvs). These REST APIs use bearer tokens for user security. They can be called directly by application such as a JavaScript Web Application. Egeria's *Python clients* wrap calls to these REST APIs. The aim of each python client is to provide a language-specific interface that manages parameter validation along with the marshalling and de-marshalling of the call parameters and responses to these services.

2. Many of Egeria's *Java clients* provide the mechanism to register a listener with a [topic](/concepts/basic-concepts/#topic) that an Egeria service is publishing notifications to. This removes all requirements for the consuming Java application to interact with the [event bus](/concepts/event-bus) technology.
2. There are also services to manage Egeria's runtime. The [Administration Services](/services/admin-services/overview) are used for configuring servers on Egeria's platform. The [Platform Services](/services/platform-services/overview) provide details of the capabilities available in a platform. The [Server Operations Services](/services/server-operations) managing the startup and shutdown of servers on the platform, and their status.

3. Some of Egeria's *Java clients* also support the creation of [digital resource connectors](/concepts/digital-resource-connector) that can access the content of [digital resources](/concepts/digital-resource) along with the [metadata about the digital resource](/concepts/asset).
3. Egeria's *[Open Metadata Access Services (OMASs)](/services/omas)* support notifications sent over Apache Kafka [topics](/concepts/basic-concepts/#topic). They can be accessed through any Apache Kafka client.

4. For applications that are not written in Java, it is possible to call Egeria directly through its *REST APIs*, and access Egeria's notifications by connecting directly to the topics on the *event bus*.
Egeria's runtime supports a connector framework called the [Open Connector Framework (OCF)](/frameworks/ocf/overview). This allows components to be "plugged-into" Egeria's runtime. These components are generically called *[connectors](/concepts/connector)*. There are different types of connectors that each perform a specific role in the runtime. The Egeria community provide many useful connectors, described in the [connector catalog](/connectors). You can also write your own and install them to your Egeria runtime.

4. A [digital resource connector](/concepts/digital-resource-connector) provides a common interface to a particular type of [digital resource](/concepts/digital-resource). It typically provides access to the contents/services of the digital resource along with the metadata it holds. The digital resource connectors are used by other connectors to access the digital resource. It allows the other connectors to work with multiple types of digital resource since the digital resource connectors handle the differences.

5. An [integration connector](/concepts/integration-connector) is responsible for synchronizing metadata between the open metadata repositories and third party technologies. This synchronization can flow in either (or both) directions. It is configured to run periodically and can also be driven by event notification. Integration connectors typically use digital resource connectors to connect to the digital resources in the third party technologies.

6. *[Governance services](/concepts/governance-service)* are specialist *connectors* that automate the maintenance of both metadata and digital resources. They can provision data, monitor changes in metadata and configure integration connectors.

5. Egeria's [OMAG Server Platform](/concepts/omag-server-platform) can host many types of *connectors*. For example, there are *connectors* that automatically catalog metadata from a third party technology.
7. A *[Repository connector](/concepts/repository-connector)* provides access to persistent storage services. It is used to maintain an open metadata store.

6. *Connectors* hosted in the OMAG Server platform may use open metadata to configure a third party digital service.

7. *Connectors* are also used to connect metadata stores and catalogs into the open metadata ecosystem.

8. *Governance services* are specialist *connectors* hosted in the OMAG Server Platform to automate the maintenance of both metadata and digital resources.

9. Finally, Egeria uses *connectors* in the OMAG Server Platform to access the services it needs to operate. Many of these [runtime connectors](/connectors/#runtime-connectors) are based around files. They can be replaced to enable Egeria to run in new types of containers or operating platforms.
8. Finally, Egeria uses *runtime connectors* in the OMAG Server Platform to access the services it needs to operate. Many of these [runtime connectors](/connectors/#runtime-connectors) are based around files. They can be replaced to enable Egeria to run in new types of containers or operating platforms.



Expand Down
Loading

0 comments on commit ae435bd

Please sign in to comment.