2/1/2022

Sequence Diagram Microservices

Diagram

Container diagram: Unless you're building a software system that makes heavy use of microservices or serverless lambdas/functions/etc, the container diagram will also change relatively slowly. Component diagram: For any software system under active development, the component diagrams may change frequently as the team adds, removes.

SequenceDiagram.org is an online tool / software for creating UML sequence diagrams. Founded in 2014 with the purpose to improve the efficiency when creating and working with sequence diagrams by combining text notation scripting and drawing by clicking and dragging in the same model.

All parsing, processing, and drawing is done client side. The benefit of this is that SequenceDiagram.org is fast and convenient to work with; it also doesn’t transfer your diagram data over the Internet like many other sequence diagram tools on the market. This also means that it is possible to work with the tool offline.

The tool is developed, maintained, and used by people who create a lot of sequence diagrams in their daily work. If you have any question / comments / suggestions / bugs please contact [email protected] The more feedback we get the better we can prioritize.

  1. Sequence diagrams are often used to model problems, describe complicated systems, and design APIs. They’re typically separate from the code itself, however. The designers of Ballerina wanted to resolve that, with the idea that a sequence diagram can be made of the code and vice versa, as opposed to drawing up a diagram and then doing.
  2. Aug 06, 2019 Sequence diagrams are often used to model problems, describe complicated systems, and design APIs. They’re typically separate from the code itself, however. The designers of Ballerina wanted to resolve that, with the idea that a sequence diagram can be made of the code and vice versa, as opposed to drawing up a diagram and then doing.
  3. The diagram demonstrates how a user’s interactions with a front-end interface calls into various APIs, which in turn require orchestrating calls between one or more microservices. Usefulness: Sequence diagrams are a useful technique to determine how your API endpoints will be used to realize their intended use cases.
  4. The problem How Ballerina attempts to solves it Demo Write a microservice in Ballerina Deploy to Docker Deploy to Kubernetes Sequence diagrams What makes Ballerina unique for writing microservices Ballerina Platform 3.

Privacy and data protection information

The tool itself does not collect data, however services it relies on such as Content Delivery Network, hosting, and cloud storage does. See privacy policy for details.


Class Diagram

Are diagrams/scripts created using SequenceDiagram.org subject to any license?

No license is imposed by SequenceDiagram.org on the generated output. However, like with all images containing text, the fonts used might. The default font used in diagrams is the default sans-serif font selected by your browser. You can specify a different font using the fontfamily keyword, see help for more information. See LICENSE for details.


How do I generate a PDF of my sequence diagram?

Zoom to a chosen level in the editor and Print to PDF from your browser. The print css makes sure to only show the diagram on the page.

Microservice Component Diagram


Are there any example sequence diagrams?

Yes, clicking the help menu and selecting 'Instructions' will show examples of all possible diagram elements. A copy icon is available for copying the text notation.

Sequence Diagram Microservices

Is the codebase of SequenceDiagram.org open source?

No, the codebase is currently not available under any open source license


Can I run the SequenceDiagram.org tool in my company's private network (on-prem)?

Yes, by donating 400$ you are licensed to run the SequenceDiagram.org tool and its REST-like API inside your company's network (enterprise license). You are also eligible to receive any new published versions of the software for the duration of 1 year from the donation date by request. Your donation is highly appreciated and allows us to keep SequenceDiagram.org online and free for everyone to use. Please contact [email protected] for any questions.
The software is delivered in three formats:

  • A Node JS application with the Sequencediagram.org tool and a REST-like API for integration with other services, see README.txt for details
  • A war file with the Sequencediagram.org tool for deployment in a Java Servlet Container such as Tomcat, Jboss, Wildfly, Jetty, etc
  • A zip file with the Sequencediagram.org tool for static web page hosting inside the DocumentRoot of a web server such as Apache, IIS, etc, or static on any cloud provider

What libraries are used by SequenceDiagram.org?

  • lz-string is used to create URLs for sharing sequence diagrams. LICENSE
  • Canvas2Svg is used to export the diagram into SVG file format. LICENSE
  • CodeMirror is used as the text editor. LICENSE
  • Font Awesome is used to provide icons for the icon participants. LICENSE
  • Material Design Icons from the Community is used to provide icons for the icon participants. LICENSE
  • Material Design icons by Google (included in materialdesignicons.com collection) is used to provide icons for the icon participants. LICENSE
  • Font Awesome 5 Free is used to provide icons for the icon participants. LICENSE
  • RBush is used for collision detection calculations for onmousemove events. LICENSE
  • MSAL.js from Microsoft is used for authentication towards Microsoft services.
  • OneDrive.js from Microsoft is used for file picker for OneDrive and SharePoint.
  • platform.js from Google is used for authentication towards Google services and file picker for Google Drive and Team Drives.

Microservice Architecture Diagram

Notation DescriptionVisual Representation

Actor

  • a type of role played by an entity that interacts with the subject (e.g., by exchanging signals and data)
  • external to the subject (i.e., in the sense that an instance of an actor is not a part of the instance of its corresponding subject).
  • represent roles played by human users, external hardware, or other subjects.

Note that:

  • An actor does not necessarily represent a specific physical entity but merely a particular role of some entity
  • A person may play the role of several different actors and, conversely, a given actor may be played by multiple different person.

Lifeline

  • A lifeline represents an individual participant in the Interaction.

Activations

  • A thin rectangle on a lifeline) represents the period during which an element is performing an operation.
  • The top and the bottom of the of the rectangle are aligned with the initiation and the completion time respectively

Call Message

  • A message defines a particular communication between Lifelines of an Interaction.
  • Call message is a kind of message that represents an invocation of operation of target lifeline.

Return Message

  • A message defines a particular communication between Lifelines of an Interaction.
  • Return message is a kind of message that represents the pass of information back to the caller of a corresponded former message.

Self Message

  • A message defines a particular communication between Lifelines of an Interaction.
  • Self message is a kind of message that represents the invocation of message of the same lifeline.

Recursive Message

  • A message defines a particular communication between Lifelines of an Interaction.
  • Recursive message is a kind of message that represents the invocation of message of the same lifeline. It's target points to an activation on top of the activation where the message was invoked from.

Create Message

  • A message defines a particular communication between Lifelines of an Interaction.
  • Create message is a kind of message that represents the instantiation of (target) lifeline.

Destroy Message

  • A message defines a particular communication between Lifelines of an Interaction.
  • Destroy message is a kind of message that represents the request of destroying the lifecycle of target lifeline.

Duration Message

  • A message defines a particular communication between Lifelines of an Interaction.
  • Duration message shows the distance between two time instants for a message invocation.

Note

A note (comment) gives the ability to attach various remarks to elements. A comment carries no semantic force, but may contain information that is useful to a modeler.