-
Notifications
You must be signed in to change notification settings - Fork 169
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
WebAPI 3.0 Change List #2354
Comments
I should also add that the OP list is not the list of changes that must go into next release, just the list of things that would 'break' 2.x compatibility. There was an issue raised that if we didn't do all of these for 3.0, that the ones introduced later would be breaking changes spawning a 4.x release, but we can decide how major we want the 3.x line of changes to be and if a 4.x is required later, then we will live with that decision. |
Noting that we may want to consider JHipster per @ecruz165 : https://www.jhipster.tech/ |
I would like to suggest that it might make some sense to split up the WebAPI java into multiple component libraries based on subject areas rather than one big one, each library can then be versioned and tested in isolation before being integrated into the overarching project. This should reduce build times and should have other benefits. |
We should approach microservice based architecture to simplify the large functionality of WebAPI. We can pick small small functionality and create the corresponding microservices. Replace current WebAPI when the services are ready. Please let me know your thoughts on it. |
I'd have to see an example of this approach put into practice. Microservices aren't a free lunch, and in large enterprise applications like netflix, doordash, uber, etc, it might make sense, but the functionality of WebAPI is narrowly scoped (and should be thought of as infinite possibilities which microservices leans towards). Here's a recent conversation about the implementation of microservices: Before thinking about any major redesign of architecture, I think those involved should have a clear understanding of what the feature set of WebAPI is and then how they should be encapsulated. I think we currently have a pretty good package-encapsulation of the different functions in WebAPI, but I think if we did something like a refactor of those encapsulated functions into 'submodules' would improve our build times (I believe currently when you build WebAPI you are going to rebuild all the classes involved...and if we had a sub-module structure where only the changed module needs to be recompiled, it could greatly reduce our build times (which currently can be minutes, which is very annoying from a developer experience). But throwing a microservices layer will incur overhead that we don't necessarily benefit from. I'd have to see the cost-benefit. For example: Just looking at this one example, I'm not sure the benefit outweighs the cost. But there may be a number of other cost-benefit examples. Perhaps if we took the step of better encapsulating functions into modules it can put us on the path of isolating those 'integrated modules' into external micro services. |
Starting this thread to capture WebAPI 3.0 proposed changes New suggestions can be raised in comments and those that make sense can be promoted up to the top thread. This list is not exhaustive but is geared towards the changes that would alter existing functionality in a backwards-breaking change (hence the 3.0 version bump).
Major Version Changes
Notes
This section captures notes about items in the above list, as well as reasons why something is not in the list.
The text was updated successfully, but these errors were encountered: