-
Notifications
You must be signed in to change notification settings - Fork 231
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
MDS Agency and Provider Unification #759
Comments
Originally posted by quicklywilliam Dec 2, 2021 What I'd like to explore is whether there is an approach that allows us to have a unified framework for all of the different MDS endpoints without requiring new or existing implementations to adopt them all (ie forcing anyone to adopt agency or provider). I think we already have laid the groundwork for this with the MDS Requirements endpoint. Requirements gives cities the ability to say which parts of MDS they need. The only remaining work is to clarify and distinguish what the different parts of MDS are designed to do. To kick off the discussion, here's a quick sketch of how we could begin to clarify this:
|
@marie-x who is the steering committee member leading the Unification Task Force has come up with a document proposing 4 different solutions to this. Agency / Provider Unification in MDS 2.0 document We will bring this to the public Working Group meeting tomorrow for discussion, so please comment here or attend and bring your thoughts. |
For this to move forward we need some more feedback and direction, specifically from cities, providers, and software companies who are using both Provider and Agency now. New modes in MDS like taxis, ride hail, delivery robots, and car share may have more need for one of the options and should be considered and evaluated too. |
Hi @marie-x, Option 1: Leave Provider as-is, Add /trips to Agency. Convert non-state-change, outside of trip telemetry to be wrapped in events for both Agency and Provider. Option 2: Add /telemetry to Provider and drop route data from /trips. Add /trips to Agency. Option 3: Abandon API symmetry, ignore Provider, add /trip_metadata to Agency Option 4: Merge Provider and Agency into a new endpoint [NEW] Option 5 : Add /telemetries to Provider and /trips to Agency. Convert non-state-change, outside of trip telemetry to be wrapped in events for both Agency and Provider. Let us know what you think of our last option, or comment back on the first fours in case we missed anything. |
We will be discussing this at tomorrow's working group meeting. |
Thanks for the additional feedback, @edecorbiere. I think Option 5 is a non-starter, because it requires both Agency and Provider at all times, both maintaining server endpoints 24/7. This is unacceptable to some Agencies and also some Providers. Also it means two sets of authentication keys, for each direction. If we were going to follow this path, we would probably want to add long-polling to both APIs so that either side can initiate requests, rather than insisting on true symmetry. (This is how I would address your point in Option 4.) Option 3 doesn't necessarily sacrifice historical data, although it does prevent rewriting history (an explicit design goal of Agency). LADOT has been on Agency for three years with no known data loss. Downtime gaps have been filled by the Providers sending retries. |
Hi @edecorbiere could you specify which organization you represent? It would be good to know and you can follow our community guidelines here for your GitHub profile. |
Hi @marie-x & @schnuerle , I'm working with Blue Systems on the Mobility Manager. |
I like Option 2 here because it puts all the GPS breadcrumb/telemetry data all in one /telemetry endpoint. When I'm thinking about the passenger services work, this is a good thing since it makes spatial analyses of telemetry data regardless of state (e.g., calculating travel time/speed, looking at which streets have been used) easier – it would be a pain to have to piece together all spatial data associated with a device by pulling it from multiple endpoints. As noted in the Google doc, passenger services (and other modes) can have substantial non-trip activity. Removing trip telemetry data from /trips isn't necessarily a bad thing – if agencies don’t want spatial data from trips (or at all), then they just don’t require /telemetry rather than specifically disallowing route data from /trips. |
We will be discussing a detailed proposal about a solution for this at today's working group meeting. |
@schnuerle I am working on implementing changes for /trips endpoint and noticed that 1.0 had information around trip route however, that is not present as part of MDS 2.0? Can you share more details around the reasoning please? Feel free to tag someone who maybe able to help here. |
@bhargav-lime For trip routes in MDS 2.0 the idea is that we'll use the telemetry endpoint. Telemetry objects have a |
Discussed in #644
Originally posted by schnuerle May 7, 2021
During this week's MDS working group meeting, the idea of merging Agency and Provider together came up. The idea is that maybe it's time in the next major release (2.0) to 'merge' them somehow, but it's not clear how that would work, if it's a good idea, and what it would impact.
We decided to create this discussion area to allow people to share their thoughts, pros and cons on the idea.
Some points to consider:
We welcome your thoughts on what is sure to be a long, detailed, and complex discussion!
See Unification Task Force for more details and how to help.
The text was updated successfully, but these errors were encountered: