Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ee4j-pmc] Project/Specification dependencies

I think of the "consumes" relationship as meaning "consumes an implementation". 

So... EclipseLink implements the JPA specification and Eclipse GlassFish consumes EclipseLink. I believe that Eclipse GlassFish implements some specs itself (EJB?) and consumes implementations provided by others. Assuming this relationship is correct, Eclipse GlassFish has no direct relationship with JPA (though I could argue this either way; this is very much a choice between creating a meaningful chart and one that's overly pedantic).

The relationships from Eclipse GlassFish, I believe, are actually the most interesting ones.

If anything, we can eliminate the references implementation from the Jakarta EE Platform project as it references everything, and so isn't all that interesting on this chart. 

FWIW, it's pretty simple to just eliminate that project and references from the dot file and render the chart without it:

grep -v jakartaee | dot -Tsvg > ~/chart.svg

Does this make sense?


On Wed, May 16, 2018 at 6:21 PM, Bill Shannon <bill.shannon@xxxxxxxxxx> wrote:
This is pretty cool!  Thanks, Wayne!

There's a bunch of stuff missing.  I'm working on a pull request...

Also, Eclipse GlassFish consumes everything here.  Do you really want all those lines?  Or did you have in mind some more limited relationship for the "consumes" lines?

Wayne Beaton wrote on 05/14/18 07:10 PM:
I've been experimenting with using a graph to understand the relationships between the projects, I started capturing the relationships between the EE4J projects and specifications and came up with the attached image.

The process of building this was a useful exercise for me to get a little more familiar with the projects.

It's incomplete. Specs, projects, and relationships are missing. I'm presenting this here as a proof of concept.

Dotted boxes represent specifications. Round rectangle nodes are projects that maintain the specifications (e.g Eclipse Project for Stable Jakarta EE Specifications "maintains" a bunch of different specifications). Round rectangle nodes with thick lines are are projects that implement specifications (or otherwise implement stuff, like Eclipse Grizzly).

This may be better represented as UML, but I decided to go with a simple digraph for now.

I'm using Graphviz/dot, and have done nothing to try and influence the layout.

I may be trying to accomplish too much with a single diagram.

It may be more useful to capture these relationships with some kind of more general metadata. I decided to just use Graphviz notation to capture the relationships for now since I could do so quickly. We can maybe convert this to a different format later if we decide that it makes sense.

Does this (or something like this) seem useful?

If it seems useful, I'll put the dot file into our repository so that I can accept pull requests :-)


Wayne Beaton
Director of Open Source Projects
The Eclipse Foundation

ee4j-pmc mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Wayne Beaton
Director of Open Source Projects
The Eclipse Foundation

Attachment: chart.svg
Description: image/svg

Back to the top