dotnet-foundation / projects

This repository is used for onboarding new projects
111 stars 30 forks source link

Asp Net Core Api Gateway framework #255

Open VeritasSoftware opened 1 year ago

VeritasSoftware commented 1 year ago

1.   General Information

Project Name: AspNetCore.ApiGateway

License: MIT License

Contributor (Company, Organization or individual name(s)): Shantanu Negi

Existing OSS Project? (Yes/No): No

Source Code URL: https://github.com/VeritasSoftware/AspNetCore.ApiGateway

Project Homepage URL (if different):

Project Transfer Signatories: Full legal name and email address required of the individual(s) with the authority to transfer or contribute the project to the .NET Foundation. Note that if you'd prefer not to include this in the public application, it can be submitted via e-mail to contact@dotnetfoundation.org (referencing this issue number).

Shantanu Singh Negi shantanu_negi@hotmail.com

2.   Description

Please provide a brief statement about your project in terms that are understandable to the target consumer of the library or project, i.e. an elevator pitch for the project:

The project is a framework that allows you to build your own Api Gateway. The framework visualizes the Api Gateway as a Microservice facade over the back-end Apis. The framework taps into the Asp Net Core Request Pipeline. So, developers who are familiar with Apis will easily be able to understand and use the framework.

Please provide a 1 sentence (<140 character) summary of your project to help users when searching the .NET Foundation projects

An easy to use and rich in features framework, to build your own Api Gateway.

3.   Project Governance

Please complete this section about who will be maintaining the open source project and how it will run. Project Lead: (Who is the primary contact point for the community and the .NET Foundation when discussing governance of the project.)

Name: Shantanu Negi Email: shantanu_negi@hotmail.com GitHub Profile URL: https://github.com/VeritasSoftware

Committers:

Shantanu Negi

Which individuals have commit / write access to the repository, what is their GitHub ID and who is their employer (if contributions are on behalf of an employer)

Governance Model:

Please describe how new code changes are proposed to the project, how those changes are reviewed and how a decision is made to accept proposed changes. Also describe the process for identifying and appointing new committers.

CLA

Contribution Model

If already an OSS project, was a Contribution License Agreement in place for contributions accepted? How does the project check who has signed one?

CLA Notification Alias Provide an email address that will receive CLA related notifications from the .NET Foundation CLA automation

shantanu_negi@hotmail.com

Assignment Model. Under the .NET Foundation assignment model, project ownership and other intellectual property is assigned to the .NET Foundation and the .NET Foundation agrees to grantback a license to the contributor(s).

Contribution Model. Under the .NET Foundation contribution model, a project retains ownership of the copyright, but grants the .NET Foundation a broad license to the project’s code and other intellectual property. The project also confirms that the project’s submissions to .NET Foundation are its own original work (there are also instructions for any third party materials that might be included).

4.   Repository Layout

The .NET Foundation host guidance for new projects and details on recommended structure here: https://github.com/dotnet/home/tree/master/guidance

Note that the open source repository should be the master where changes are made by the core development team using the same PR process that is used for non-committer contributions.

Please define below any changes you would want to make to your repositories as part of the process of joining the .NET Foundation

5. Eligibility Criteria

Please complete the following for your project

6.   PR Plan

Please summarize the public relations plan for the announcement when joining the foundation (and releasing as open source if appropriate). What is the main story we wish to promote, through what channels, what issues should we be aware of?  For significant news events then please also work with your .NET Foundation contact to ensure a full PR plan is developed.

7.   Infrastructure Requirements

Please describe any infrastructure requirements for the project. For example, how will build servers be operated? Any web hosting or service hosting requirements? Do we need to set up SSL certificates or provide Authenticode Code Signing arrangement for releases?

8.   Additional Notes

Please provide any additional information required or use this area for notes during the onboarding process. If this open source project has similarities with any other projects in this space then please detail them and why this project is different. If there are any potential issues that you feel the project might need help with early on then also state them here and discuss with your .NET Foundation Contact.

VeritasSoftware commented 1 year ago

More elaboration:

My framework envisages an Api Gateway as a Micro service facade over back-end micro services. So, the Api Gateway is a micro service too.

Hence, developers of Asp Net Core Web APIs, will find my framework very intuitive. Since, it is also leverages the Asp Net Core request pipeline. They can bring their knowledge of Web APIs to the Api Gateway.

Eg. they would know what an Action Filter is. And, what it can be used for. They can apply that knowledge to the Gateway Action Filter.

sbwalker commented 1 year ago

The Project Committee Charter (https://github.com/dotnet-foundation/projects) contains activity criteria which is used to evaluate project applications. At our most recent meeting, it was agreed by the Committee that this project does not currently exhibit activity or adoption metrics at a level which would allow for an application approval- however based on the broad applicability, it will be included in the Seed category for consideration as a Member project in the future.

VeritasSoftware commented 10 months ago

Hi

Just to clarify.

I mentioned this issue while posting on Ocelot's performance discussion.

Since, my design is using the Asp Net Core request pipeline, performance benchmarks like requests/second, should be as per Asp Net Core.

My post was about comparing it against Ocelot.

VeritasSoftware commented 8 months ago

Hi

Just an FYI.

Below are the VS Code Metrics of my project vis a vis Ocelot.

My project:

image

Ocelot:

image

VeritasSoftware commented 7 months ago

FYI. I have called my concept:

Gateway as a RESTful Microservice Facade.