Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate diagrams in mermaid #125

Merged
merged 1 commit into from
Mar 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions docs/3-system-scope-and-context.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,14 @@

### Business Context

![](media/BusinessContext.PNG)
```mermaid
graph LR
Consumer_App[Consumer App] -- "requests BPN for 'oen-123'" --> BPN_Discovery
Keycloak -- "administrates the authorization token" <--> BPN_Discovery[BPN Discovery]
BPN_Discovery -- "responses with BPML_0127EST" --> Consumer_App
BPN_Discovery -- "registers himself at startup" --> Discovery_Finder[Discovery Finder]
Data_Provider[Data Provider] -- "register his types and keys" --> BPN_Discovery
```

| Neighbor | Description |
|------------------|----------------------------------------------|
Expand All @@ -13,8 +20,14 @@


### Technical Context

![](media/TechnicalContext.PNG)
```mermaid
graph LR
Consumer_App[Consumer App] -- "request via post http" --> BPN_Discovery
BPN_Discovery -- "response via post http" --> Consumer_App
Keycloak -- "administrates the authorization token" <--> BPN_Discovery[BPN Discovery]
BPN_Discovery -- "reuqest post via http (registers himself at startup)" --> Discovery_Finder[Discovery Finder]
Data_Provider[Data Provider] -- "request via post http (register his types and key)" --> BPN_Discovery
```

| Neighbor | Description |
|------------------|--------------------------------------------------------------------------|
Expand Down
91 changes: 81 additions & 10 deletions docs/4-runtime-view.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
## 4 Runtime-view

### Search request

![](media/SearchFlow.PNG)
```mermaid
sequenceDiagram
participant ConsumerApp as ConsumerApp
participant BpnDiscoveryApiDelegate as BpnDiscovery ApiDelegate
participant BpnDiscoveryMapper as BpnDiscovery Mapper
participant BpnDiscoveryService as BpnDiscovery Service
participant BpnDiscoveryRepository as BpnDiscovery Repository
participant BpnDiscoveryCollectionDto as BpnDiscovery CollectionDto

ConsumerApp->>+BpnDiscoveryApiDelegate: post /api/administration/connectors/bpnDiscovery/search
BpnDiscoveryApiDelegate->>+BpnDiscoveryMapper: fromSearchList ApiDto()
BpnDiscoveryMapper->>+BpnDiscoveryApiDelegate: List<TypeKeys IdentifierDto
BpnDiscoveryMapper->>+BpnDiscoveryService: findBpnDiscoveries()
BpnDiscoveryService->>+BpnDiscoveryRepository: findBpnDiscoveriesByTypeAndKeyIn()
BpnDiscoveryRepository->>-BpnDiscoveryService: List<TypeKeys IdentifierDto>
BpnDiscoveryService->>+BpnDiscoveryCollectionDto: BpnDiscoveryCollectionDto.builder() .bpns(foundBpnDiscoveries) .build()
BpnDiscoveryCollectionDto ->>-BpnDiscoveryApiDelegate: BpnDiscoveryCollectionDto
BpnDiscoveryApiDelegate->>-ConsumerApp: ResponseEntity<BpnCollection>
```

1. The ConsumerApp sends a request with a given type number and type to
BpnDiscoveryApiDelegate.
Expand All @@ -23,9 +40,27 @@


### Add request

![](media/AddFlow.PNG)

```mermaid
sequenceDiagram
participant DataProvider as Data Provider
participant BpnDiscoveryApiDelegate as BpnDiscovery ApiDelegate
participant BpnDiscoveryService as BpnDiscovery Service
participant BpnDiscoveryMapper as BpnDiscovery Mapper
participant ClientAware as ClientAware
participant BpnDiscoveryValidator as BpnDiscovery Validator
participant BpnDiscoveryRepository as BpnDiscovery Repository

DataProvider ->>+ BpnDiscoveryApiDelegate: POST /api/administration/connectors/bpnDiscovery
BpnDiscoveryApiDelegate ->>- BpnDiscoveryService: save()
BpnDiscoveryService ->>+ BpnDiscoveryMapper: fromApi()
BpnDiscoveryMapper ->>- BpnDiscoveryService: BpnDiscovoery
BpnDiscoveryService ->>+ ClientAware: getBpn()
ClientAware ->>- BpnDiscoveryService: BpnDiscovery
BpnDiscoveryService ->>+ BpnDiscoveryValidator: validate()
BpnDiscoveryService ->>+ BpnDiscoveryRepository: save()
BpnDiscoveryService ->>+ BpnDiscoveryApiDelegate: BpnDiscovery
BpnDiscoveryApiDelegate ->>+ DataProvider: ResponseEntity<Bpn>
```

1. The Data Provider sends a request with one given type number and
type to BpnDiscoveryApiDelegate.
Expand All @@ -49,9 +84,28 @@


### Add batch request

![](media/AddBatchFlow.PNG)

```mermaid
sequenceDiagram
participant DataProvider as Data Provider
participant BpnDiscoveryApiDelegate as BpnDiscovery ApiDelegate
participant BpnDiscoveryMapper as BpnDiscovery Mapper
participant BpnDiscoveryService as BpnDiscovery Service
participant ClientAware as ClientAware
participant BpnDiscoveryValidator as BpnDiscovery Validator
participant BpnDiscoveryRepository as BpnDiscovery Repository

DataProvider ->>+ BpnDiscoveryApiDelegate: POST /api/administration/connectors/bpnDiscovery/batch
BpnDiscoveryApiDelegate ->>+ BpnDiscoveryMapper: fromListApiDto()
BpnDiscoveryMapper ->>- BpnDiscoveryApiDelegate: List<BpnDiscovery>
BpnDiscoveryApiDelegate ->>+ BpnDiscoveryService: saveBatch()
BpnDiscoveryService ->>+ BpnDiscoveryService: save()
BpnDiscoveryService ->>+ ClientAware: getBpn()
ClientAware ->>- BpnDiscoveryService: BpnDiscovery
BpnDiscoveryService ->>+ BpnDiscoveryValidator: validate()
BpnDiscoveryService ->>+ BpnDiscoveryRepository: save()
BpnDiscoveryService ->>- BpnDiscoveryApiDelegate: List<BatchResultDto>
BpnDiscoveryApiDelegate ->>- DataProvider: ResponseEntity <List<TypeKeyPairBatchResult>>
```

1. The Data Provider sends a request with multiple given type numbers
for one type to BpnDiscoveryApiDelegate.
Expand All @@ -78,8 +132,25 @@


### Delete request

![](media/DeleteFlow.PNG)
```mermaid
sequenceDiagram
participant DataProvider as Data Provider
participant BpnDiscoveryApiDelegate as BpnDiscovery ApiDelegate
participant BpnDiscoveryService as BpnDiscovery Service
participant UuidUtils as Uuid Util
participant ClientAware as ClientAware
participant BpnDiscoveryRepository as BpnDiscovery Repository
participant ClientAware as ClientAware

DataProvider ->>+ BpnDiscoveryApiDelegate: DELETE /api/administration/connectors/bpnDiscovery/{resourceId}
BpnDiscoveryApiDelegate ->>+ BpnDiscoveryService: delete()
BpnDiscoveryService ->>+ UuidUtils: validateUUID()
BpnDiscoveryService ->>+ BpnDiscoveryRepository: findBpnDiscoveryByResourceId()
BpnDiscoveryRepository ->>- BpnDiscoveryService: BpnDiscovery
BpnDiscoveryService ->>+ ClientAware: validateBpnOwnership()
BpnDiscoveryService ->>+ BpnDiscoveryRepository: deleteById()
BpnDiscoveryApiDelegate ->>- DataProvider: ResponseEntity<Void>
```

1. The Data Provider sends a request to delete an entry to
BpnDiscoveryApiDelegate.
Expand Down
43 changes: 0 additions & 43 deletions docs/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,49 +21,6 @@ There are two actors who interact with this service.
## BPN Discovery Api
The BPN Discovery provides a Swagger-Interface for all endpoints: https://semantics.int.demo.catena-x.net/bpndiscovery/swagger-ui/index.html

#### Search request
![](media/Search_BPN.PNG)

**Request body**

![](media/Search_Request_BPn.PNG)

**Response**

![](media/Response_Search_BPN.PNG)

#### Add request
![](media/Add_BPN.PNG)

**Request body**

![](media/Add_Request_BPN.PNG)

**Response**

![](media/Respnse_add_BPN.PNG)
#### Add batch request
![](media/Add_Batch_BPN.PNG)

**Request**

![](media/add_batch_request.PNG)

**Response**

![](media/add_batch_response_BPN.PNG)

#### Delete request
![](media/Delete_BPN.PNG)

**ResourceId**

![](media/resourceID_BPN.PNG)

**Response**

![](media/Delete_Response_BPN.PNG)

## Authentication & Authorization
The service is secured by a OAuth2 compliant authorization. Every API call has to provide a
valid Bearer Token. Authorization is provided by a role based access. These roles are possible:
Expand Down
Binary file removed docs/media/AddBatchFlow.PNG
Binary file not shown.
Binary file removed docs/media/AddFlow.PNG
Binary file not shown.
Binary file removed docs/media/Add_BPN.PNG
Binary file not shown.
Binary file removed docs/media/Add_Batch_BPN.PNG
Binary file not shown.
Binary file removed docs/media/Add_Request_BPN.PNG
Binary file not shown.
Binary file removed docs/media/BusinessContext.PNG
Binary file not shown.
Binary file removed docs/media/DeleteFlow.PNG
Binary file not shown.
Binary file removed docs/media/Delete_BPN.PNG
Binary file not shown.
Binary file removed docs/media/Delete_Response_BPN.PNG
Binary file not shown.
Binary file removed docs/media/Respnse_add_BPN.PNG
Binary file not shown.
Binary file removed docs/media/Response_Search_BPN.PNG
Binary file not shown.
Binary file removed docs/media/SearchFlow.PNG
Binary file not shown.
Binary file removed docs/media/Search_BPN.PNG
Binary file not shown.
Binary file removed docs/media/Search_Request_BPn.PNG
Binary file not shown.
Binary file removed docs/media/TechnicalContext.PNG
Binary file not shown.
Binary file removed docs/media/add_batch_request.PNG
Binary file not shown.
Binary file removed docs/media/add_batch_response_BPN.PNG
Binary file not shown.
Loading
Loading