Actions On Google Deployment using webhook - java

I am using Java Client Library to use google Dialogflow. My questions is what happens when we use "appEnginedeploy" using gradle? Where is the code stored and more importantly how the implemented database and other files of code stored and accessed by our agent?
Thanks!

appEngineDeploy is setup to deploy the code to App Engine, a computing platform on Google Cloud. Code and associated project files are stored as they are in your project.
It's not entirely a VM, so you shouldn't necessarily think of App Engine as locating filepaths. If the project can make the links locally, then it should behave the same way in App Engine.
With regards to databases, it would depend if you're using an embedded database or using a hosted solution through another Google Cloud service. Presumably you'd use the database APIs for a Cloud service as shown in the documentation.

Related

How to deploy and host prebuilt Stripe checkout backend java code

I have recently tried to create my first E-Commerce site. Its is made with React on the frontend, and then I implemented a stripe pre-built checkout page to handle payments using java, following this guide: https://stripe.com/docs/checkout/integration-builder
I am trying to deploy the application to firebase to host it, I can deploy the React very easily, however I do not know how to deploy the Java, or if I even can on firebase.
Any help would be appreciated on how to deploy it.
Unfortunately Firebase currently does not support Java:
Cloud Functions current supports the Node.js 8 JavaScript Runtime, and the Node.js 10 Engine is in beta. You can choose a Node version it from your package.json. You can also choose to write your functions in TypeScript, using either Node.js version. The Python 3.7 runtime and Go 1.11 runtime is also avalible, but is currently only accessible from the Google Cloud Console.

CouchDB with Android application

We have a web application developed iin GWT using couchDb as database, now we want to develop android application for the same web application. So we want to use same coucDB database for the android application also, in order to keep the one database for both applications (web & android).
So how to configure android application with couchDB.
Thank You
If your app does not need to work offline, you can just use your favorite HTTP client library, or a CouchDB-specific Java library to access your database over the network.
If you want to have your app maintain its own copy of your database (for offline and/or peer-to-peer usage), check out Couchbase Lite for Android — it can replicate with Apache CouchDB (which it sounds like you're using) or with Couchbase Sync Gateway (which has a few extra permissions management features).
You can also do similar from JS, if you're making a PhoneGap/Cordova app instead of native Java, by using the PouchDB library instead of the native Couchbase Lite library.

How to upload Servlet/JSP website through Amazon Web Services?

I am working on a Servlet/JSP project and I want to host it on aws.amazon.com. I have already signed up for Amazon Web Services and after signing in this page opens up and I have no idea what to do or which option to select.
I think AWS provides a lot of customization with a lot advanced technical options to choose from, but this is difficult for beginners who just want to make their site running.
My project will use these:-
JSP/Servlets
CSS
MySQL
Struts2
Tomcat WebServer
I would suggest these approaches to study:
Elastic BeanStalk - This is AWS simply hosting model. If you're not IT savy you should pursue this approach
EC2 with MySQL RDS - In this case you'll create a Virtual Machine(s) (EC2) install Tomcat and other dependencies and deploy your app. You'll then use RDS to store your data (which is MySql as a service)
EC2 only - YOu'll do the same as 2. but install your own instance of MySql. There may be AMI's offered that you can provision that will meet your application requirements.
Other reading:
Route53 if your going to use AWS for your domain records
Elastic Load Balancing if your going to need High Availability
Elastic Block Store if you want persistent disks accross VMs
Network Security Groups to secure your VMs (for 1. and 2.)
Virtual Private Cloud for additional security
CloudFormation if you want to automate provisioning
There are many articles on: AWS Architecture
There is a eclipse plugin for Amazon web services.
The AWS Toolkit provides an AWS Java web project template for use in Eclipse. The template creates a web tools platform (WTP) dynamic web project that includes the AWS SDK for Java in the project's classpath. Your AWS account credentials and a simple index.jsp file are provided to help you get started. The following instructions assume you have installed both the Eclipse IDE for Java EE Developers and the AWS Toolkit plug-in. For more information, see Setting Up the AWS Toolkit for Eclipse.
Also check this & this
I would recommend 1st approach using Beanstalk to deploy your jsp application. There you are going to leverage all the advantages of AWS like load balancing, auto scaling, ddb and DW support and many other technologies. With Beanstalk you setup dev environment on your local machine and deploy the changes in AWS and once setup is done you are done...
May be you will need to spend some time on migrating from MySQL but that will be work on longer duration when you are going to have lot of users.

Docker support - Google App Engine (Java)

I recently learned about Docker and from a press release that Google App Engine supports it.
The question is,
Does it mean that we can now "package" our app using Docker (may it contain non-GAE white-listed jars) and expect it to work with Google App Engine?
How a docker app can access the Datastore API, the TaskQueue API is there a way, or this question is irrelevant?
If I package with Docker, say, a Spring app that access MongoDB, MySQL or whatever would it work GAE, if yes how come?
Or otherwise if this idea is not correct,
What is the integration of Docker and Google App Engine?
This is part of an ongoing Limited Preview Managed VMs, you can subscribe to it with the following form
Does it mean that we can now "package" our app using Docker (may it contain non-GAE white-listed jars) and expect it to work with Google App Engine?
Yes
How a docker app can access the Datastore API, the TaskQueue API is there a way, or this question is irrelevant?
Using the regular API jars.
If I package with Docker, say, a Spring app that access MongoDB, MySQL or whatever would it work GAE, if yes how come?
Because the underlying container run on a Google Compute Engine VMs, see the Managed VMs documentation referenced earlier for more details.

How to connect to the local google cloud Datastore db?

I've GAE application which creates some data in the Google Cloud Datastore and stores some binary files into the Google Cloud Storage - let's call the application WebApp.
Now I have a different application running on the Google compute engine. Let's call the application ComputeApp.
The ComputeApp is a backend process which is processing data created by the WebApp. I asked here in this question previously which API can I use to communicate with Datastore from the ComputeApp. As suggested by #proppy, I implemented the Datastore communication using of the Google Cloud Datastore API.
Everything works fine as far as I'm communicating with the Datastore in the Google cloud. I'm using the service account authentication.
Now I need to run my ComputeApp locally, on my development PC so I'll take data created by my local WebApp and stored into the local debug Datastore. I need it because I want to have a testing environment so I can debug may GAE app locally.
How should I modify my ComputeApp code to force it to connect to my local debug Datastore instead of connect to the Google cloud?
I googled a lot and didn't find any advice nor example. Only possible way I found that I should rewrite my code completely and use a different API to do that. Such is Datastore Remote API.
Is this really only way? Should I really rewrite whole ComputeApp to connect to the local DB?
Really?
I hope that I just overlooked something important and It's not true...
Google Cloud Datastore has a local development server that you can use: https://developers.google.com/datastore/docs/tools/devserver
You can create and start the local datastore using the gcd tool which is linked to in the doc above.
If you use DatastoreHelper.getDatastoreFromEnv(); to build your Datastore, you can tell it to connect to your local database by exporting the env variable DATASTORE_HOST:
export DATASTORE_HOST=http://localhost:8080

Categories