MobileFirst JavaAdapter on Bluemix - ibm-mobilefirst

Recently, I have registered on IBM Bluemix. I've created a Mobile Foundation Service which also creates a Container.
I started a new MobileFirst Project on Eclipse and deployed a JavaAdapter. The adapter works fine in my machine, and the endpoint url is http://localhost:10080/{My project name}/adapters/{My adapter name}.
I went to the mfpconsole of the Mobile Foundation Service (where the url is like {my custom name}.bluemix.net/mfpconsole and uploaded the same adapter.
My question is: What is the endpoint url where I can find my adapter?
I see in this documentation:(https://www.ibm.com/support/knowledgecenter/SSHSCD_7.1.0/com.ibm.worklight.dev.doc/devref/c_adapters_endpoint.html) that there's a "Context," but I don't know where to find this "Context" name. I received the message "Context Root not found."
Thanks in advance!

You can go into your adapter in the console and view the swagger docs (View Swagger Docs).

In addition to what Dora wrote, please note that you're using Mobile Foundation service, which is based on MobileFirst Foundation 8.0, but creating Java adapters in MobileFirst Foundation 7.1
You may be able to deploy these adapters, but you will quickly find out that things have changed dramatically.
I suggest that you will follow the v8.0 documentation, including how to create adapters for v8.0: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/adapters/

Related

Mobilefirst 8.0 and scheduled tasks (similar to Quartz)

I'm using MobileFirst 8.0 in my project and I'd like to add some interesting use cases... Anybody knows if there are any options to schedule tasks in MobileFirst?
I have experience with Quartz library. Is there something similar to it? Or something that the MobileFirst server provides for this purpose?
Thanks in advance and best regards
Custom tasks cannot be scheduled in MobileFirst 8.0.
You can, however, have schedulers or jobs running outside of MFP, that invokes MFP REST endpoints to execute some task/job periodically.
List of MFP REST endpoints:
REST API for the MobileFirst Server administration service
REST API for the MobileFirst Server push service
REST API for the MobileFirst runtime

Mobile first Server 8 queries

I new new Mobile first platform and websphere application server(WAS)
I installed mobile first server (MobileFirst-8.0.0.0)on my system and I am assuming the mobile first runs on WAS
I am having following queries.
How to deploy .war file in mobile first server 8 as it's console which is run 9080 port doesn't have option to deploy war file as it only have option to deploy adapter ?
If a deploy adapter on the mobile first server, at what location on the server i find the file ?
If war deployed on websphere then still how i use mobile first sevices like push, analytics.
Can i use spring and hibernate while developing adapters or any other ibm options are available in contrast to spring and hibernate.
As I am new to ibm products, want to know what are the topics and product need to learn before i start development.
Kindly share
Before all, you should google.
How to deploy .war file in mobile first server 8 as it's console which
is run 9080 port doesn't have option to deploy war file as it only
have option to deploy adapter ?
In v8.0 you no longer need to deploy .war files to the underlying application servers. Certainly not in the developer edition.
You either start a server instance on Bluemix, or use the DevKit for local installations. Then, you either create native apps or Cordova apps - using the native tools or Cordova CLI, and develop adapters using Maven.
Learn more in the Knowledge Center and find additional documentation and tutorials in the developer center.
If a deploy adapter on the mobile first server, at what location on
the server i find the file ?
The adapter file (.adapter) is deployed to the MobileFirst database.
If war deployed on websphere then still how i use mobile first sevices
like push, analytics.
Yes, those are services that are available to you out of the box. Learn more in the knowledge center and developer center.
Can i use spring and hibernate while developing adapters or any other
ibm options are available in contrast to spring and hibernate.
Yes, you can use these technologies. And adapter is a JAX-RS application and so you can integrate a
As I am new to ibm products, want to know what are the topics and
product need to learn before i start development.
Product documentation is available in the following websites:
IBM Knowledge Center: http://www.ibm.com/support/knowledgecenter/SSHS8R_8.0.0/wl_welcome.html
MobileFirst Foundation Developer Center: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/all-tutorials/

MobileFirst paltform: Using Java in JavaScript adapters

I am working on MobileFirst platform for hybrid app development. I am following this tutorial as I want to use my existing java classes for web service call. And It is working fine on Android.
https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-0/server-side-development/using-java-adapters/
Does this works across all platforms. I want to run the same in Windows Phone also.Will this adapter be called on Windows Phone. What is the scope of using Java in JavaScript adapters.
Adapters are sever-side entities. The Java code is executed on the Server and so it does not matter from which client-side application you are calling the adapter from, be it Android or Windows Phone or anything else.

How can I connect a mobilefirst application to a bluemix service?

I have developed a hybrid app on mobilefirst, and I wish to use a bluemix service. so I think the best solution is creating a nodejs app in bluemix and adding the needed service.
But I don't know how to connect both apps.
You can find online many examples describing how to use MobileFirst Adapters in order to access Bluemix services.
Review the following.
Once you when a technical question, open another.
MobileFirst Platform Foundation Labs - showing how to implement and integrate various features, including Bluemix services: https://developer.ibm.com/mobilefirstplatform/labs/
Implementation on an MobileFirst app which accesses the Watson question & answer service: https://developer.ibm.com/mobilefirstplatform/2015/04/29/using-http-adapters-to-access-watson-question-and-answer-service-at-ibm-bluemix/
Some bluemix services requires to have the app bound to your application. One way to handle this would be to deploy your MFPF Server in Bluemix using docker bound to your nodejs app, with all the services bound to it.
The idea here is your docker is bound to the nodejs, and the services are bound nodejs app, then this allow the services to be visible to the container.
This would be the case for example for SQL Database services.
Other Services are exposed outside the bounded app, such as Cloudant that has a public api for it.
To explore this observe the syntax of the command "ice group create"that you could to use to create a container group bound to app:
ice group create [-h] [--name NAME] [--memory MEMORY] [--env ENV] [--volume VOL] [--publish PORT] [--min MIN] [--max MAX] [--desired DESIRED] [--bind APP] [--auto] IMAGE [CMD [CMD ...]]
The key option would be "--bind APP". This same action could be done via the bluemix dashboard on the option to "Start Containers".
https://www.ng.bluemix.net/docs/containers/container_cli_reference_ov.html#container_cli_reference_ice__group_create
There is a sample app here that explores Watson Services + MFPF, without using the docker approach:
https://github.com/IBM-MIL/IBM-Ready-App-for-Banking

Is it possible to deploy a JAX-RS web service to MobileFirst Server?

My team is working on the migration of a hybrid app from Tibco Silver Mobile(TSM) platform to IBM MobileFirst Platform.
I have a JAX-RS webservice developed using Weblogic IDE which is currently hosted on TSM server. This webservice does a security check for all the incoming back-end requests and pass the request to the back-end if it is from a valid source.
When the app will be migrated from TSM to MobileFirst platform the TSM server will be moved out of the scene. I am looking for some alternate options for hosting this JAX-RS webservice. I don't want to make any changes to the webservice since it is a tested and proven code used in the TSM based solution.
I understand from the IBM MobileFirst Platform 7.0 documentation that JAX-RS support is now available on the MobileFirst Server and JAX-RS specification based Java adapters can be developed and deployed to the server.
Can I deploy the above mentioned webservice .WAR file as such to MobileFirst Server, without making any customizations?
If yes, what is the procedure for deploying the webservice (.WAR) to MobileFirst Server?
If no, what are the alternate options that can be considered?
As indicated in the comments above:
MFP Server is actually a Java EE application deployed to a supported Java EE application server, WebSphere Liberty or full WebSphere ND being the normal options, though TomCat is also supported.
In principle your own JAX/RS WAR file can be deployed to these same servers, the details will depend upon exactly what Java EE features you exploit and you will need to understand those Java EE servers' administration model. MFP itself is not affected by this, and you need no MFP knowledge to do it. You just need to understand the chosen Java EE server. Personally I would start with WebSphere Liberty.
A further question would be whether it is better to isolate your JAX/RS and Mobile First servers into their own Java EE server instances. It can be easier to manage and scale if you keep things separate, but technically there should be no interference if you do co-locate them. It is pretty trivial to spin up a dedicated Liberty server.
A more interesting question is whether there is value in actually exploiting the MFP Adapter capability to create JAX/RS services. In effect it's your familiar JAX/RS programming model but packaged slightly differently, deployed as a MFP adapter, and with the option explicitly to exploit the MFP security model and easily call other MFP adapters.
Personally, if I were coming to a project with no existing JAX/RS services and have commited to MFP and its security model then I would do my JAX/RS in the MFP Adapters.