MobileFirst analytics - capture request/response time - ibm-mobilefirst

For capturing analytics in MobileFirst server, is there any way I can capture the following:
Complete round trip time from Mobile app —> Adapter —> API end point —> Adapter —> Mobile app
Round trip time from Adapter —> API end point —> Adapter
Is there any in built metrics for the above two?

You can find the adapter related charts on the Operational Analytics Console > Infrastructure > Server and Network & Adapters

Related

Data stream between stream analytics services and WebApp service (.NET core 3.1)

I and my team are trying to build an app for data visualization and analysis in WebApp the data source is from Stream Analytics Services,
can we connect to Stream Analytics from .NET core web app, if there is any way please provide reference resources.
what is the best practice or service to use for data stream if I am using WebApp?
Or can we connect to IOTHub from WebApp, which is a better option compared with the above one?
Thank you, Ranjith
Unfortunately, Azure Stream Analytics cannot stream data directly into a .Net core web app.
Option1: You can visualize data from your Azure IoT Hub in a web application.
Option2: If you want to use Azure Stream Analytics, you need to send the data into supported outputs and then connect to the Web app.
Reference:
Visualize real-time sensor data from your Azure IoT hub in a web application
Creating a simple IoT application using a RaspberryPi+ NET Core and Azure

Subscribing Tags in Google Cloud messaging

I'm working with Windows Azure Notification Hub and Android, testing the notifications push service through GCM. I'm using tags, pushing notifications from a Web application (back-end) integrated with Windows Azure.
The issue is: I don't know how to subscribe from an Android App to listen to those tags.
Create a Custom API with Azure Mobile Apps Server SDK. This should take the device registration Id and then do the registration with Notification Hubs. Azure Mobile Apps Server SDK wraps the Notification Hubs SDK for this purpose.
In your client, you can follow the appropriate Client SDK tutorial on push (Android is here), but use InvokeApi to invoke your custom API to do the registration instead of calling client.getPush().register().
Another good reference is the Android Client HOWTO Docs.

Does Mobilefirst provide a provision to access web services directly?

I am developing a native android app on MobileFirst platform. Does MobileFirst provide any code to connect to a web service instead of going through adapters? This is basically only for Native Android development and not for Hybrid app.
The MobileFirst SDK only provides what is required to work with features provided by MobileFirst, such as connecting to various backends using Adapters with the added benefit of the MobileFirst security framework, and other features.
If you have a need to connect to backends not via MobileFirst, use other common client-side utilities to achieve that.
I used the following code and it worked.
WLResourceRequest request = new WLResourceRequest("Actual server path here", GET);
request.addHeader(new BasicHeader("IfAnyHeader", "here"));
request.send(new ResponseListener());
If you are using native Android, you could use volley (or similar) to call external web services or REST apis.
http://developer.android.com/training/volley/index.html
Nothing to do with MobileFirst though, all totally standard Android native coding.

Deploying MobileFirst application on existing single-node WebSphere that has existing application

Application Server
AIX V7.1
WebSphere
Application Server V8.5.5.4
Java SDK V7.0.8
MobileFirst Platform Foundation 6.3
DB2 V10.1 client
Database Server
AIX V7.1
DB2 V10.1
We have a MobileFirst application that is our mobile front-end to an existing application. The existing application is a WebSphere application that provides RESTful web services. The MobileFirst application interfaces with the existing WebSphere application via a MobileFirst Adapter. The RESTful web service URLs are protected URLs and authentication is done using LDAP and a LTPA token is created. The LDAP is configured in WebSphere via the WAS console.
Our MobileFirst application works fine and can connect to and use the RESTful web services but only if the MobileFirst application is running in a separate WebSphere profile or on a separate WebSphere server. If we attempt to install the MobileFirst application into the same WebSphere profile as our existing WebSphere application that provides the RESTful web services, it breaks. The Mobile device authenticates with MobileFirst successfully and then calls the Adapter to invoke the RESTful web service call. However, the next Adapter invocation from the mobile device ends with a HTTP 401 error, which is an authorization error.
I'm speculating that after the Adapter authenticates with our existing WebSphere application that provides the web services that somehow this is overwriting the authentication that was done between the mobile device and MobileFirst.
My questions are as follows.
Can both the MobileFirst application and our existing WebSphere application that provides the RESTful web services run in the same WebSphere profile and share the LTPA token such that when the Mobile device authenticates with MobileFirst that it would also be authorized to execute the web servies running in the same WebSphere profile.
Is it advisable to run both applications in the same WebSphere profile or should they be running separate profiles or on separate servers.
Cost is a concern as we do not necessarily want the additional operational cost of adding a physically separate server just to run MobileFirst.
From an operational perspective, it is additional work to add and maintain multiple WAS profiles.
Ideally, we would really like to run both applications in the same WebSphere profile.
Here is a Google Drive link (no signin required) to the trace.log, SystemOut.log, SystemErr.log, and firebug-console.html
MobileFirst Trace log
The MobileFirst application was run in a browser using "Preview as Common Resources". I get the same result when using an actual Android or iOS device. The MobileFirst application WAR was run in the same WAS profile as the web services WAR that it was accessing through the adapter. This same code works successfully when the MobileFirst application WAR is running in a separate WAS profile or on a separate WAS server.
Please advise.
I have resolve the issue myself. This was a codebase that my team had inherited from another team.
What was happening was the mobile device was initiating a connection to MobileFirst running on WebSphere which creates a JSESSIONID cookie and a LTPA2Token cookie. Then an adapter was being called that invoked a HTTP call to a web service running in the same WebSphere profile. Calling the web service created new JSESSIONID and LTPA2Token cookies. These new cookies were being returned to the mobile device and JavaScript code on the mobile device was taking those new cookie values and then overwriting document.cookies, which wiped out the original cookies. Then when the mobile device attempted to connect with MobileFirst on a subsequent call, it's session was invalid and ended up getting a HTTP 401 error, which is an authorization error. So we attribute this problem to a poor implementation of our application.

IBM Worklight - Any advantages for when developing a Mobile web app?

Going through the IBM Worklight product documentation,the product looks great for building hybrid or native applications. However for building mobile web (with responsive web design) what are the specific advantages one can get from worklight?
For (the) Mobile Web (environment), I don't think that at this time there is much left.
However, you do still:
get to use Worklight Adapters and its extensive integration abilities, which do make it easier to connect to various backends
use Cordova to access some device native capabilities
use the WL Client JavaScript API