In Web services, what is difference between Endpoint and Remote Gateway - web-services

I goggled but I cannot determined what are the difference between endpoint and gateway. Based on their definition, they seems alike.
Description of Endpoint
What is Web Service Gateway? Web Service Gateway is a server-side
application that opens a communication channel between Bentley’s Apps
for mobile devices and Bentley’s project information management
systems.
Description of Web Service
Web services expose one or more endpoints to which messages can be
sent. A web service endpoint is an entity, processor, or resource that
can be referenced and to which web services messages can be addressed.
Endpoint references convey the information needed to address a web
service endpoint. Clients need to know this information before they
can access a service.

Endpoint:
The endpoint is a connection point where HTML files or active server pages are exposed. Endpoint is the URL where your service can be accessed by a client application. The same web service can have multiple endpoints. An end point indicates a specific location for accessing a service using a specific protocol and data format.
GateWay:
An service Gateway provides a central access point for managing, monitoring, and securing access to your publicly exposed web services. It would also allow you to consolidate services across disparate endpoints as if they were all coming from a single host. A service gateway encapsulates all the details of accessing the service into a single component and hides the component behind an interface that has no direct dependencies on the underlying communications channel.

Related

WSO2 Integrator: How do Inbound Endpoints reroute requests to resources

I am trying to understand how the WSO2 micro integrator reroutes requests internally. I know that inbound endpoints basically enable services to be available on a different port. So, does it maintain a list of resources that are mapped to this inbound endpoint and simply act as a passthrough? For example:
I have API resource defined at: http://localhost:8290/healthcare/querydoctor/{category}.
Then create inbound endpoint at port 8505 with Dispatch File Pattern: /healthcare/querydoctor/.*.
At this point does it internally create a map that says http://localhost:8285/healthcare/querydoctor/.* = [http://localhost:8290/healthcare/querydoctor/{category}, ...]
Also, I saw this in the wso2 documentation:
The HTTP inbound endpoint can bypass the inbound side axis2 layer and directly inject messages to a given sequence or API. For proxy services, messages are routed through the axis2 transport layer in a manner similar to normal transports.
What does bypassing the axis2 layer mean, and why is that being done in this case?
Basically, Axis2 is the default transport layer of MI. For example, if you invoke an API through port 8280 it will go through the Axis2 layer and come into the integration layer. If you invoke an HTTP/S Inbound Endpoint it will not go through the transport layer again, it will be routed internally to the Proxy or API if you have a Dispatch Pattern.
The following image will help you to understand the Inbound Endpoint architecture.

How to connect to a site's endpoints with wcf client

I need to connect to a site's endpoints and call it's methods.
Is it possible to do this creating a WCF Client?
I don't know which technology is used by the site for it's
web services. I have only been given the endpoints to communicate.
If you know the local address and port as well as the name of the service, the procedure is the same as the WCF Web service.

Cloud Run inter-service communication

Consider two GCP Cloud Run services that communicate with each other.
Their URLs will look like follow:
http(s)://service1-gcphash.a.run.app/
http(s)://service2-gcphash.a.run.app/
Note the DNSs of these urls are public, and if the permissions allow, may be accessed from the outside world.
Now, imagine these two service communicate with each other, my questions are:
If one service calls directly the other service, will the request be routed ONLY in the internal GCP network or is it possible that it will pass through the outside world?
In case the request stays only inside the GCP network, does it make sense to be encrypted via https, or will http request be secure enough?
If one service calls directly the other service, will the request be
routed ONLY in the internal GCP network or is it possible that it will
pass through the outside world?
Network traffic between Google services stays on Google's private backbone.
In case the request stays only inside the GCP network, does it make
sense to be encrypted via https, or will http request be secure
enough?
If you attempt to connect via HTTP, Cloud Run will send an HTTP Redirect with an HTTP Location header set to a secure URL (HTTPS).

How to deploy spring boot rest project to private AWS API GATEWAY?

I have a spring boot rest project which is running successfully, and I am getting success response on http://localhost:8080/students. How can I expose this SpringBoot REST API into a private AWS API GATEWAY? I have to expose the REST API service, and I have to give the endpoints to the client, to access this service. I have no idea how to present and create endpoints in AWS API GATEWAY!
API Gateway will work as mediator between clients and your application. So in the first place your application should be exposed so AWS Gateway could make a call to it.
If you are running application on your local pc you need to expose it to Internet by setting static IP and openning corresponding ports in firewall if you have one. This may works for debug/testing purpose, but in general it is bad because you will expose your application to Internet and client services would have possibility to connect to it directly, instead of gateway.
Other and more proper on my opinion would be to run your application in AWS EC2 instance or in AWS beanstalk. In this case you can configure private endpoint for your application and make it available only through API Gateway. Here you can find more details https://aws.amazon.com/blogs/compute/introducing-amazon-api-gateway-private-endpoints/
So let's suppose you have your application up and running and available for API Gateway. In this case you will need to perform :
Create API in API Gateway
Create resources, i.e. path /user would be user resource
For each resource create a method, i.e. GET, POST, etc. Select integration type HTTP for your methods and set the endpoint it will use
Deploy API to staging

Secure communication between two web service

In a application, we have two web services which interact with each other. Now as these web services are meant for internal processing that should not be exposed to external users. How can we secure these web services in way that user cannot access these two webservice but can access other web services.