Automated creation of customer urls for GAE web application - google-app-engine

i am new to GAE and currently evaluating if i can use GAE for deploying my java web application. When my application is finished a new user has to be able to register on my website for the usage and then he gets his private url ( user1.myapp.com) with an instance of my application. Is it difficult to realize this with GAE.
best regards
Peter

It should be possible according to the documentation:
https://developers.google.com/appengine/docs/domain#more_about_wildcard_subdomain_mapping
After that, it's up to your application. Any decent framework you use should be able to handle multiple domains and generate content based on them.

Related

Salesforce: is it possible to develop a web application on top of Salesforce

Let me start with a bit of background: I'm helping a non-profit organization that would like to have a browser-based application that is backed by Salesforce, but has very specific requirements.
I see Salesforce has a REST API that we can call, so we can develop a standalone application to serve the web pages they want and use the REST API to call Salesforce when needed.
I'm wondering if there is a way to host a web application directly on Salesforce; this way we don't have to have a separate application server. Any recommendations or pointers to documentation/open source products is greatly appreciated.
Yes, you can create services that will allow your app to hit Salesforce
Depending on the type of application, yes you can host it on salesforce using the Salesforce Sites feature, also you can develop and host your app on Heroku which is owned by salesforce and can sync data to and from salesforce using Heroku Connect, or you can build and host it on another service like AWS and connect via the REST API. You just need to investigate and choose the option that best fits your use-case. One thing to be aware of is that there are API limits (the number of calls you can make to salesforce in a rolling 24hr period). Depending the the needs of the app be sure to see if those limits will be an issue. Because if the app makes constant calls to salesforce that could be an issue. But there are things you can do to get around that, like caching.
Yes, both Force.com Sites and Site.com features allow you to host webpages on the Force.com Platform. The markup is stored in Visualforce Pages and can use Apex to access records in the Database. I have migrated multiple websites (including our company's www.mkpartners.com) to Force.com using Force.com Sites.
One thing to keep in mind is that you are limited to 500,000 views per month and the rendering of a page with images that are also stored on the platform will incur a single view for the page and a single view for each image. If you already have a very popular website, I wouldn't migrate. If you're a small business or nonprofit, then it should be fine.
Another thing to keep in mind is that dynamic functionality based on records in the database will not work during maintenance windows. There is the ability to upload a static version of your website to be rendered during these windows though.

How to access mysql database from android application in order to create login and logout using Java i.e., without php?

I have made the android app for my college. In that I have made the Login Activity page. Also, I have designed one web portal for my college consisting of the details of students such as their name, admission no., roll no, contact no. etc. using Mysql workbench. Now I want to access this Mysql database from my android application in so that I can login into the application using roll no. as the username and contact no. as the password.
I want to do this whole thing using Java and without php.
You may consider developing a Servlet to run on a container (e.g. TOMCAT). The Servlet (which is developed in Java) would access the database. Here you have an example of how this is done.
EDIT:
First, you need to add to your app the ability to send HTTP(S) requests. Plenty of examples in the Web.
Second, you need to deploy a Servlet container software product (I suggest TOMCAT).
Third develop a simple Servlet to handle post requests and access MySQL (again, plenty of examples in the Web, including some that you can almost copy-paste as-is).
Fourth, create a WAR file of the Servlet and deploy it into your Servlet container (if TOMCAT, under the folder webapps).
You will have to fine-tune configurations, but it should be straightforward.
Good luck!!!

Scaling AppEngine applications

I've been thinking lately about the pros and cons of using AppEngine.
My concern would be, when we create application for GAE, the front-end code (the UI stuff) is served from the same application instance in the GAE cloud as with the Datastore codes.
The question would be when my applications grows:
For GAE:
Do I need to create multiple instance of my application?
If so, what do I need to manually update all instances?
For Appscale:
Do I also need to create multiple instance of my application?
If so, what do I need to manually update all instances?
GAE starts new frontend instances automatically, you even can't create or update frontend instances. You just need to configure min/max latency, min/max idle instances in Application Settings. See docs for performance settings
Btw, there are also Backend Instances that can be Resident and started manually from Admin Console. But it's useful only when you need something very specific
You seem to have missed the whole point of AppEngine, which is that Google takes care of scaling your app for you automatically. You seem to be confusing 'instance' with 'version' - you have control over which version of your app is serving, but Google dynamically creates and kills instances of that app depending on load. That's the main benefit of using AppEngine in the first place.

Mobile web app deployment

I want to create a limited version of my app on mobile.
My app is at www.accountingguru.in (appid: accountingguru-india.appspot.com). It is using Servlets/GWT/Objectify 3.1
I am figuring out how to move forward with the design/development choices for a limited mobile app
What is a good url for Mobile User experience.
www.accountingguru.in/mobile
mobile.acccountingguru.in
-Aswath
It can be both if you properly set your domain names (and GAE mapping) and use some url rewriting. The first option might be easier from the authentication perspective.
If you use GWT/GAE it needs to be a common project if you want to have one GAE instance. In practical terms you can not have two different GWT projects and upload them to same GAE instance. As far as GWT goes - you can have two separate entry points: one for desktop and the other for mobile browsers.
You can have same url.
Use deferred binding to achieve different UI according to user.agent
Define a module .gwt.xml to detect the user.agent
On your applications's module use the return value to choose the appropriate implementation.
Have a look at the sample projects in gwt.

Add my appengine application to Moodle

I'm new with moodle in fact create java application using GWT and deployed it to appengine, really it was about keystroke authentication in which detect the unauthorized users from their typing behavior on keyboard, so I make a text area that takes some data form key and send it to the server side and make some comparisons with data in the app store, i found that it would be Awesome if i add that to module meanwhile this application is my graduation project so when i integrate with moodle it is useful point for me. My question is how can i integrate my application to moodle taking in consideration that i use the appstore .
I suggest you look into something called IMS LTI. Here is a good video introduction to it:
http://vimeo.com/14100773
Before IMS LTI in order to hook into Moodle you needed to write a Moodle plugin. But using IMS LTI you should be able to just enter in some details about your app, like the url and a shared key and using IMS LTI user data and responses should be passed between Moodle and your app. Future versions of the IMS LTI standard will also allow you to pass grading information.

Resources