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

How to represent widely applicable C4 container concerns? #58

Open
sldblog opened this issue Aug 18, 2020 · 1 comment
Open

How to represent widely applicable C4 container concerns? #58

sldblog opened this issue Aug 18, 2020 · 1 comment
Labels
question Further information is requested

Comments

@sldblog
Copy link
Contributor

sldblog commented Aug 18, 2020

from #56 (review):

My gut reaction was: could we add this to our HMPPSSoftwareSystem interface, so it becomes an attribute of our object rather than a functional wrapper? Obviously that doesn't work in this case because we want to add API doc URLs to containers as well as systems, so is it highlighting the need for a container abstraction?

This does make me wonder:

  1. Should we be expanding our abstraction layer to include containers, and/or
  2. Is this a useful abstraction to push upstream?

It feels like we're unlikely to be the only users of this building additional tooling for this, and it'd be amazing if what we build here could end up helping other Structurizr/C4 developers.

Anyway, they're more grand thoughts than a review! This is spot-on while we consider the wider architecture, as it'll make identifying and refactoring API URLs much easier if/when we need to.

@sldblog sldblog added the question Further information is requested label Aug 18, 2020
@sldblog
Copy link
Contributor Author

sldblog commented Aug 18, 2020

@spikeheap Currently, we seem to have a wide range of C4 containers "types": S3 buckets, databases, UI applications, backend applications with private APIs and apps with public APIs.

It's probably not applicable to push this into a top-level abstraction at this point.

I like the composability at the moment. Maybe we could create an abstraction just for representing C4 containers that are applications that expose public APIs? On the other hand, I like that every C4 container is defined the same way and I can add "annotations" and "aspects" in the .apply {...} block as needed.

My gut feeling is to wait until at least 90% of the landscape is mapped so that we see what patterns emerge. What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant