How to deploy a local eclipse worklight project in cloud server? - ibm-mobilefirst

I developed an android based hybrid app in the IBM MFP-7.0., My app is fetching the data from the Java service which is running in Tomcat Server. Here the app adapters are running in my local system MFP server to get the data from the Java service, So that I can only run the app in my local system android emulator. Now, we want to deploy the app in the cloud so that we can give this app to our users. Can some body help me how to run our MFP app in the cloud? Is it required to place eclipse in the cloud to run my MFP server like the way I am running in my local system?
Thanks in advance.

It looks to me like your understanding is completely lacking in this subject matter. Also note that this question has got nothing to do with programming.
You need a host machine. On this server you will run an application server (Tomcat, WebSphere Full profile, WebSphere Liberty profile - either single or a farm, depending on your required network topology and security & scalability needs).
On this application server you deploy MobileFirst
You will also need a database
This host machine needs to be accessible (with appropriate security) to the public Internet so that it could serve apps installed in end-users' devices
The application needs to be configured to send requests to the server (or to any front-side server like a Load Balancer, again, depending on your topology)
The generated application needs to be submitted to an App Store so that users could download and install it on their devices
I suggest that you will do some reading before asking any question. Since you're using IBM MobileFirst, start by reading the user documentation: http://www-01.ibm.com/support/knowledgecenter/SSNJXP/welcome.html

Related

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/

Push notification does not work on mobilefirst platform 7.1 server

We have develop a cross platform app with mobilefirst studio 7.0 and test it on production environment.
It was fine before we upgrade our project with mobilefirst studio 7.1.0.00-201510120-1525 and test it on clean staging server (7.1.0.0 20151012-1525).
It seems that the push notification functionality dedicated on mobilefirst 7.0 did not work properly on production server of mobilefirst platform version 7.1. The source code and configuration file of our mobilefirst push notifcation adapter and configuration files are here.
Inorder to fix the issue, we refer to official push notification tutorial which was documented here.
Surprisingly, although the source project in official tutorial looks fine on development server, it still not work on production server either.
We have test this project using iphone5s with ios 8.4 and HTC 816h phone with android 4.4.2, both of them fail to register push notification service after we login to the HybridEventSource sample application and tap the “Subscribe Notification” button.
The Mobilefirst server logs down internal server error message during the registration process of client devices.
I am wondering how to let the push notification mechanism work again on mobilefirst 7.1?
Either a valid push notification sample code of mobilefirst 7.1 or any fix pack which we do not know is welcomed.
Since we did not authenticate users via mobilefirst server, and devices were connected through vpn to server,
we prefer to have a solution which does not depends on particular mobilefirst server side authentication mechanism.
The server log message generated during this test is in this file.
The log file generated while we run EventSourceNotification app as xcode project is in this file.
For detail system log from ios device, please refer to device log file
And the Log message generated by HTC 816h android 4.4.2 phone is here
Information about our server environment:
Operating system : centos 5.8 linux
Java development kit : Oracle jdk 1.8 update 65 x86-64
Application server : Apache tomcat server 7.0.63
Worklight environment database : oracle database 11g.
Apple push notification service certificate : sandbox version
Well that's kinda suspicious, isn't it?
Since we did not authenticate users via mobilefirst server, and devices were connected through vpn to server, we prefer to have a solution which does not depends on particular mobilefirst server side authentication mechanism.
You are using the push mechanism provided by MFPF but you do not want to go through MFPF? You are required to go through MFPF if you want to use the push mechanism provided by MFPF... What did you mean by the above?
That said, did your DBA examine mf7-1-EventSourceNotifications-catalina.out.log? There are quite a few Oracle-related exceptions there that you should look at.
If you are still unable to resolve it I suggest to open a PMR instead so that the development team will be able to further investigate.

Windows Store Application unable to access localhost WCF service and throws EndpoingNotFoundException

I have a solution which basically contains three components:
• WCF Service that is hosted locally having a back-end SQL Server Express DB and this WCF service is hosted from a Windows Service
• A console application
• A Windows Store Application
This is what they are meant to do:
• WCF service his hosted locally and is used by the console app and the store app for communicating with the database
• The console app adds an image for processing to the database by contacting the WCF service
• The store app will at regular time look for unprocessed images in database via the WCF service and will process them
Now, the difficulty is:
• The WCF service is hosted successfully and is working absolutely fine and I can check that by hitting its URL http://localhost:8081/XYZ
• The console app is also able to submit images to the WCF service and add their local paths to the database
• The store app however always throws the EndpointNotFoundException when accessing the service at that same localhost path
What have I tried:
• I have tried almost everything from searching through stackoverflow to googling and haven't found a solution yet
• I was thinking that it might be a port issue and so I turned off the firewall to check this, but it did not work, and the store app kept throwing the EndpointNotFoundException
What have worked:
• The complete set-up has, however, worked perfectly on my machine. It is strange that its not working on my client's Windows 8 machine.
Point to be noted:
• The complete solution has been developed in Visual Studio 2013 and the App is for Windows 8.1
• I am not sure, but it seems my client has a Windows 8 machine and we are installing the app on that. (Possibly, that might be a problem. But I'll check)
If there is any help someone could provide me, I'll be really greatful. Thanks in advance!
This is expected. Windows Store apps cannot connect back to the local system in production. This loopback prohibition is disabled for debugging.
See How to enable loopback and troubleshoot network isolation
If your app is to be side-loaded rather than deployed through the store then see Using network loopback in side-loaded Windows Store apps

Disable Direct Update for worklight6.1 development platform

Right now i am developing an app on remote DEV server. Every time when i update the code (js,html,css etc) then test on the device locally. There is a popup to force me to update the app. But my app need to connect DEV server for testing some backend feature like login.
DEV server is a remote Websphere running WL6.1 for development purpose. Why i need it because my app connect to some web services like Auth server via internal environment (actually is VPN). And those services i cannot set up easily in local environment. That makes using localhost for development is not really possible.
My problem is feeling the development process not really handy. Every time i change the code and want to run on the devices. I need to upload the .wlapp via console. It takes time! Everyday i change the code thousands time. That's why i need a solution.
And now i am seeking for 2 possible ways:
Auto push the .wlapp to remote server when i run and build. Can ANT do that? i read the Doc and find it's a bit of complicated.
Disable Direct Update. Actually i do a tricky hack inside worklight.js to override this feature. But i think it is not a good solution. So, is there any server config can switch the that off?
And i read this thread IBM Worklight - How to disable Direct Update?
Not working.
From what you are describing, things seem to work exactly as they should.
You have your local Worklight Development Server (that's the Worklight Studio plug-in you've installed in your Eclipse).
You have a remote server - here I am presuming this is actually some application server with Worklight Server deployed on it (that is, not the plug-in, but an actual installation of the server component) as well as your deployed project's .war file.
If that's not your setup, you need to think again about your 'testing setup'.
Auto push the .wlapp file to remote server. So the dev server always
keep the latest resource. Not to force me "update" the older version
on the server.
No. You can't do this. You need to manually build your app with the correct connectivity settings for the remote server via Run As > Build Settings and Remote Target.
In addition to the native project that will now contain these connectivity settings for the actual app, you will also have a .wlapp file in the bin folder. You will need to manually deploy it each time you're changing your app's contents. That's why you do development testing in the local development server... when moving to a remote server, that's for QA/UAT/PROD purposes usually.
Just disable this annoying feature in DEV environment.
You will need to do this in both servers via their respective Worklight Console as described in the question you've linked to, so that once you deploy the .wlapp file, it will not send a Direct Update request.
Instead, you'll need to manually re-install the app each time.
I suspect you didn't do this action on the remote server?
If you did, then you need to explain your setup, as the only thing you've wrote about was its name... "dev".
No. You need to manually deploy the .wlapp to your remote server.

how to setup worklight on public http server

I am building worklight project using eclipse environment when i run the project , i need to connect my tablet to local network then only i works for me for all the server updates and all.
I just want to move worklight server on http server which i can access using http://publicurl/anyprject which runs on apache. Now i want to work on eclipse but whenever i deploy the project it should deploy on public so that i can access it from anywhere.
Just tell me the process and what the thing i need to move on public server.
Since you've come here to ask a question, please also take a moment to write properly structured and coherent sentences in English. This will only benefit everyone and you will get a better answer, and faster too.
Try the following:
Instead of choosing Build All and Deploy, try choosing Build for Remote Server; there you should input the external (public) IP address of your machine. Next, run the generated project in your device. This should allow it to connect to the Worklight Server.
Note that both the Worklight Server (or rather, the machine that hosts it) and the device must be on the same network, in this case - connected to the public Internet.
Based on your comment, you can:
I would seriously try to open your own machine to public access
If not possible, I would try to move to develop on the Linux machine instead
If not possible, then you must install Worklight Server on the Linux machine and whenever you make changes to the project - deploy the updated .war, .wlapp and .adapter files to your installation on the Linux machine
Build the app with Build for Remote Server so that it will connect to the Linux machine instead of the local development machine
Step 3 above means you'll need to maintain 2 development environments, which is not so easy.
If you are during development, you should aspire for options 1 or 2; in other words, create a proper development environment. In Mobile, this requires public Internet access (usually).
Are you a stand alone developer, Business Partner or a Customer of IBM?