Skip to content

Instantly share code, notes, and snippets.

@johanste
Last active July 1, 2021 22:34
Show Gist options
  • Save johanste/36eb7d86eb24009d31e76f06d2b227bb to your computer and use it in GitHub Desktop.
Save johanste/36eb7d86eb24009d31e76f06d2b227bb to your computer and use it in GitHub Desktop.
PlantUML version of service nomenclature
```plantuml
@startuml
abstract Model
abstract StructuredInformation
abstract Entity
abstract Operation
Operation : Id
Operation : status
abstract Job
abstract Batch
Entity : Id
Entity : Name
class DataEntity
DataEntity ---> Entity
DataEntity : Content
class Stream
Stream : Open()
Stream : Close()
Stream : Read()
Stream : Write()
class DataStream
DataStream ---> Stream
class StructuredStream<? extends StructuredInformation>
StructuredStream ---> Stream
StructuredInformation ---> Model
Entity ---> Resource
Entity : Create()
Entity : Read()
Entity : Update()
Entity : Delete()
Entity : List()
Message ---> StructuredInformation
Event ---> StructuredInformation
MessageSource : Receive(Message)
MessageSink : Send(Message)
EventSource : Consume(Event)
EventSink : Publish(Event)
class MessageSink
class MessageSource
class EventSource
class EventSink
class Resource
EventSink ---> Entity
EventSource ---> Entity
class AzureStorage.Blob
AzureStorage.Blob ---> DataEntity
class AzureStorage.Container
AzureStorage.Container ---> Entity
class EventGrid.EventGridEvent
class EventGrid.Sink
EventGrid.Sink ---> EventSink
EventGrid.EventGridEvent ---> Event
class EventGrid.ACR_ImagePushedEvent
EventGrid.ACR_ImagePushedEvent ---> EventGrid.EventGridEvent
class ServiceBus.Message
ServiceBus.Message ---> Message
class ServiceBus.Source
ServiceBus.Source ---> MessageSource
class ServiceBus.Sink
ServiceBus.Sink ---> MessageSink
class Arm.Resource
Arm.Resource ---> Entity
class Arm.TrackedResource
Arm.TrackedResource ---> Arm.Resource
@enduml
```

Nomenclature of Azure services (with examples)

There is a set of base constructs that can be used for azure services. This gist is trying to create a common nomenclature that can be used to describe them.

Overview:

UML

Definitions

Name Description Notes
Model Generic model in YADL
StructuredInformation Anything information that has a structure as opposed to a raw set of bytes. In Azure, that generally means that there is a json representation of the thing, but some services may use XML etc. The format is not relevant at this level of abstraction.
Entity Something with a lifetime. Supports CRUDL (or a subset thereof). May have additional actions. Currently what we use @Resource for in YADL.
DataEntity An entity with associated unstructured data.
Event An event. While an event may have an identity
Message

Issues

  • Do we need generic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment