Is service to service call inside Deployment with Confident env supported by Cloud SDK Java? - sap-cloud-sdk

Does Cloud SDK Java support Service to Service call (e.g. micro service A issues OData call to micro service B) inside Deployment with Confident environment? I do not see anything about this part in the documentation and after going through the doc it seems we have to use destination to issue the OData call but this is not the case inside DwC env. And also I don't know how to handle mTLS, DwC headers propagation and target micro service route determination when using Cloud SDK instead of RestTemplate. Thanks.

Yes, this is possible. You can use:
DefaultHttpDestination
.builder("https://your.service/to/call")
// this enables mTLS
.securityConfiguration(SecurityConfigurationStrategy.FROM_PLATFORM)
// this forwards the DwC Headers
.headerProviders(DwcHeaderProvider.getInstance())
.build();
You can find the documentation here (link available only SAP internally).

Related

Deploying an WebAPI project (including swagger) into Azure Function

I know that the Azure function supports HTTP trigger and we can write a function that can be exposed like an API. I'm looking for an option to host a complete C# WebAPI project (multiple Rest endpoints including swagger definition) into a single Azure function.
Is this feasible? and supported? I see this scenario is completely supported in AWS Lambda. Where we can deploy a whole WebAPI project into a single lambda. Here is the demo of
the same.
I have watched the provided Video and I observed the same functionality is also available in Azure Functions.
As Direct way is not available like publishing the Web API to the Functions but migration of Web API to Functions is possible if the Web API is authenticated with any option like Open API, etc and using the APIM Service we can manage all the operations in it.
And as per the Microsoft Update, Startup.csand program.cs is unified to the program.cs file. So, I have added the required swagger configuration code in the file program.cs and tested it, working successful locally.
Another approach is you can call the Web APIs from Azure Functions securely, here is one of my approaches along with few other ways to do it.
Refer to #VovaBilyachat alternative solution on publishing .NET Core Web API to Azure that provides the glimpse of using Containers instead Functions.

Azure Function to Receive SOAP Requests

We have a legacy SOAP webservice that is called by multiple clients.
We'd like to host a copy of the service in Azure PAAS. There should be no changes required from the clients, other than a change to the URL they call.
API Management is not an option at present. I looked into creating a custom logic app connector and got as far as consuming the WSDL but then received an error message stating that one-way operations are not supported.
What are the alternatives? Are there any example of achieving this using an HTTP Triggered Azure Function?
Assuming you're creating a new implementation for the service contract, the right way to do this is with a .NET Framework WCF service hosted in Azure App Service.
Azure Functions are .NET Core and .NET Core doesn't have an official WCF service implementation, and Azure Functions doesn't help you in any way to create SOAP endpoints. So it would actually be much harder than using an Asp.Net project with first-class WCF tooling in Visual Studio.
svcutil.exe can generate the code to implement the service from the wsdl.

SDK Support for Document Service

I would like to connect the Document Service from Java (Spring Boot application deployed in SAP BTP Cloud Foundry environment with multitenancy) and I am wondering about the intended way to connect the document service in a multitenant szenario.
Does SAP cloud sdk helps with connectivity?
If we're talking about consuming the service on the SAP Business Technology platform - then yes. Check the multi-tenancy docs.
The SAP Cloud SDK is a framework for consuming services and usually not the best choice for publishing them. You can use it as a proxy or data adapter, of course, if that's what you need.
For service publishing with multi-tenancy, I'd recommend looking into the direction of the Cloud Application Programming model (CAP)
Are you building OData, OpenAPI or generic REST enabled service? The SAP Cloud SDK can help to consume your service with multi-tenancy out of the box using our OData or OpenAPI code generators and type-safe clients. You can also use the SDK for testing. Please, check the details in our docs.
I'd also recommend checking if the service you're building already exists or you can adapt some other service with help of the SDK.

Calling Azure Functions Runtime from Logic Apps

I have on-premise azure functions create via the Azure Functions Runtime. How do I call these functions from a logic apps resource on the cloud. Based on what I have been reading I need to install the on-premise data gateway first. This will be the way logic apps will communicate to on-premise resources. However this communication seems to only be possible for local data sources sqlserver, biztalk server etc. How exactly do i angagne with my local functions. Is there a connector for this?
You can expose your local machine using a tool such as:
Ngrok
Localtunnel
Serveo
Teleconsole
Pagekite
and use the provided url as a proxy to call your local function. So your Logic App will call one of those services, which will route the request to your function.
I assume your functions are HTTP triggered.
Calling on-prem HTTP resources directly from Logic Apps can be done, as you suggested, via the on-premises data gateway. You just need to create a custom connector for this.
There are tutorials under the official documentation, but as an external blog this one explains the required steps (for SOAP endpoint): https://www.codit.eu/blog/connecting-to-on-premise-http-endpoints-from-logic-app/

Using Windows Azure Service Bus From Silverlight

Is it possible to call services hosted on the Service Bus from a Silverlight application? I tried googling around but none of the results helped.
Looking at the samples (EchoService) they are using a specific microsoft DLL to setup the authentication for the service. I cannot seem to add this DLL to my project (duh it is for the full CLR) and am not sure how to replicate its behaviour while on the client side.
Thank you for your help.
You can use it. You have to host a cross access policy file service on the service bus (a service that serves this file) An example of a service that does this is given on Clemens Vaster's blog. (just google it, it's on the msdn site) It is included with the reverse web proxy.
You have to use queued the rest APIs. Refer to the Http queue example included with the SDK.
Note that with Silverlight, you'll have to make use of the async libraries.
I've looked at the November 2008 CTP code and getting the EchoService client to work from Silverlight is highly unlikely due to the dependancy on the NetTcpRelayBinding and Silverlight's limited TCP support.
I suggest getting your Silverlight client to call a back-end service that you control and proxy the requests to the Azure platform. Not an ideal solution, but a workaround for now.
Update: The Azure Service Bus is now accessible from Silverlight using REST API calls. See http://msdn.microsoft.com/en-us/library/ff797957.aspx for more information.

Resources