{"id":11604,"date":"2014-05-06T12:50:48","date_gmt":"2014-05-06T10:50:48","guid":{"rendered":"https:\/\/blog.trifork.com\/?p=11604"},"modified":"2014-05-06T12:50:48","modified_gmt":"2014-05-06T10:50:48","slug":"elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2","status":"publish","type":"post","link":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/","title":{"rendered":"Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud &#8211; Part 2"},"content":{"rendered":"<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-11672\" style=\"float: left\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg\" alt=\"logo-sencha\" width=\"300\" height=\"160\" srcset=\"https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg 300w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha.jpeg 500w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>This is the second part of my blog on how to develop an application using Elasticsearch, Spring MVC and Sencha Touch 2. In my previous blog post <a href=\"https:\/\/blog.trifork.com\/2014\/04\/15\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-1\/\">part 1<\/a> I showed and explained which technologies I used to accomplish the connection between the frontend and backend. In addition I presented the steps to connect a database service (Elasticsearch) with a Spring MVC service. Part 2 will continue the development, in particular the connection between Sencha Touch 2 and the Spring MVC projects. Finally, I will show how to deploy the developed application into the cloud.<\/p>\n<p><!--more--><\/p>\n<h2>Demo Part 2<\/h2>\n<h3>Step 1: Create Sencha Touch 2 Project<\/h3>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-26-15.08.02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-11556 alignleft\" style=\"float: left;margin-right: 10px\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-26-15.08.02-300x76.png\" alt=\"sencha_cmd\" width=\"300\" height=\"95\" \/><\/a><\/p>\n<p>To create a Sencha Touch 2 project you need to download the <a href=\"http:\/\/www.sencha.com\/products\/touch\/download\/\">Sencha Touch 2 SDK<\/a> and the <a href=\"http:\/\/www.sencha.com\/products\/sencha-cmd\/download\">Sencha CMD<\/a>. Add the Sencha CMD command to your path variables and you should be able to type \u2018sencha\u2019 in your terminal.<\/p>\n<p>The next step is to create a new folder for example on the desktop and name it \u201csencha\u201d and copy the downloaded SDK in this folder. Create a second folder in the sencha folder with the name of your application I used the name \u201cDemoApp\u201d. Now it is time to generate the application. Go in the folder of the SDK and type the command \u201csencha generate app -name DemoApp -path ..\/DemoApp\u201d. Sencha Touch 2 is handling the rest.<\/p>\n<p>Open your new created Sencha Touch 2 project in your preferred IDE. The structure should be similar to the screenshot below.<\/p>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-27-13.09.44.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-11557\" style=\"margin-left: 25%\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-27-13.09.44-214x300.png\" alt=\"sencha_touch_structure\" width=\"214\" height=\"300\" srcset=\"https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-27-13.09.44-214x300.png 214w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-27-13.09.44.png 301w\" sizes=\"auto, (max-width: 214px) 100vw, 214px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.32.30.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-11564 alignright\" style=\"margin-left: 10px;float: right\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.32.30-300x284.png\" alt=\"Main_view_code\" width=\"300\" height=\"284\" srcset=\"https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.32.30-300x284.png 300w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.32.30.png 623w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The purpose of the demo was the login and registration of a user, so let us start building the views for it. Sencha Touch 2 creates a default main view. I will be using this view as the login view.<\/p>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.35.05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-11565 alignleft\" style=\"margin-left: 10px;float: left\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.35.05-300x268.png\" alt=\"Register_view_code\" width=\"300\" height=\"268\" srcset=\"https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.35.05-300x268.png 300w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.35.05.png 642w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The second view is the register view. As you will notice the view is very similar to the login view. For the purpose of the demo that is okay. Normally, a register view could have more fields that need to be filled in by the user.<\/p>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-10.29.33.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-11561 alignright\" style=\"float: right;margin-left: 10px\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-10.29.33-300x262.png\" alt=\"sencha_touch_controller\" width=\"300\" height=\"262\" \/><\/a><\/p>\n<p>The next step is to create a controller that is responsible for handling when a button is pressed. This controller, <code>RegistrationController<\/code> has two methods <code>backToLogin<\/code> and <code>openRegisterView<\/code>.<\/p>\n<h3>Step 2: Connect Sencha Touch 2 with Spring MVC<\/h3>\n<p>Until now our mobile app has no connection to our Spring MVC service so let us change this. To solve this problem we are going to add two new functions in the <code>RegistrationController<\/code>.<\/p>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.09.37.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-11562\" style=\"margin-left: 25%\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.09.37-300x130.png\" alt=\"login_function\" width=\"300\" height=\"130\" srcset=\"https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.09.37-300x130.png 300w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.09.37.png 658w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.10.55.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-11563\" style=\"margin-left: 25%\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-28-11.10.55-300x137.png\" alt=\"register_user\" width=\"300\" height=\"137\" \/><\/a><\/p>\n<p>Now we just need to build our Sencha Touch 2 application in production mode, copy the folder and paste it into the static folder in our Spring MVC and we are done.<\/p>\n<h3>Step 3: Create Cloudbees Account &amp; Application<\/h3>\n<p>To create the Cloubees account visit <a href=\"http:\/\/www.cloudbees.com\/\">Cloudbees<\/a>. Click on the SIGN UP button and fill out the form or you can sign up with your github or google account as well.<\/p>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-27-15.01.40.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-11537 alignleft\" style=\"float: left;margin-right: 10px\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-27-15.01.40-300x176.png\" alt=\"Cloudbees\" width=\"300\" height=\"200\" \/><\/a><\/p>\n<p>To create a new application on Cloudbees go to your personal dashboard and select on the left side Apps. There are several possibilities to create a new application. But before the creation we should change our region. Cloudbees deploys by default in the US region if you want to deploy in the EU region you need to change it. It is not possible to change this later one. Click on the button in the top right corner and select the option \u201cCloudbees \u2013 EU\u201d.<\/p>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-27-15.01.48.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-11538 alignright\" style=\"float: right\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-27-15.01.48-300x194.png\" alt=\"cloudbees_2\" width=\"300\" height=\"194\" \/><\/a><\/p>\n<p>The next step is to create our application. Click on the \u201c+ Add\u201d button and give your application a new name. In this demo, I used the name \u201cSencha-Touch-Elastic-Search-Demo\u201d and as a stack I took a Tomcat 7. Click on continue and your application will be created.<\/p>\n<p>&nbsp;<\/p>\n<h3>Step 4: Deploy to the Cloud<\/h3>\n<p><a href=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-26-12.36.45.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-11558 alignleft\" style=\"float: left;margin-right: 10px\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/03\/Screenshot-2014-03-26-12.36.45-300x159.png\" alt=\"cloudbees_deploy\" width=\"300\" height=\"190\" \/><\/a><\/p>\n<p>Cloudbees has two ways to deploy an application. You can use the cloudbees SDK or you can use the normal web interface. In this demo we are using the normal web interface. It is quite easy to deploy the application, you just need to find the .war file of the spring MVC project (usually located in the project under the <code>target<\/code> directory). The second step is to login to cloudbees and to select our created application in step 3.<\/p>\n<h2>Conclusion<\/h2>\n<p>As already mentioned in part 1 of this blog series, it is possible and easy to connect the used technologies with each other. Obviously, the chosen technologies can be replaced by other, similar ones. For instance, we could easily use another mobile framework such as jQueryMobile, Appcelerator Titanium, etc. instead of Sencha Touch 2. The same counts for Spring MVC and Elasticsearch, but I think these combine really good. I hope these blog entries have shown you how easy it is to create a simple application using these technologies and get them up and running in the cloud.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the second part of my blog on how to develop an application using Elasticsearch, Spring MVC and Sencha Touch 2. In my previous blog post part 1 I showed and explained which technologies I used to accomplish the connection between the frontend and backend. In addition I presented the steps to connect a [&hellip;]<\/p>\n","protected":false},"author":92,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[15,55,65,10,94],"tags":[61],"class_list":["post-11604","post","type-post","status-publish","format-standard","hentry","category-enterprise-search","category-mobile","category-big_data_search","category-development","category-spring","tag-elasticsearch"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud - Part 2 - Trifork Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud - Part 2 - Trifork Blog\" \/>\n<meta property=\"og:description\" content=\"This is the second part of my blog on how to develop an application using Elasticsearch, Spring MVC and Sencha Touch 2. In my previous blog post part 1 I showed and explained which technologies I used to accomplish the connection between the frontend and backend. In addition I presented the steps to connect a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Trifork Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-05-06T10:50:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg\" \/>\n<meta name=\"author\" content=\"Philipp Darkow\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Philipp Darkow\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/\",\"url\":\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/\",\"name\":\"Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud - Part 2 - Trifork Blog\",\"isPartOf\":{\"@id\":\"https:\/\/trifork.nl\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg\",\"datePublished\":\"2014-05-06T10:50:48+00:00\",\"author\":{\"@id\":\"https:\/\/trifork.nl\/blog\/#\/schema\/person\/f0f730670b3fd7af44d237f16fe86339\"},\"breadcrumb\":{\"@id\":\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#primaryimage\",\"url\":\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg\",\"contentUrl\":\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/trifork.nl\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud &#8211; Part 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/trifork.nl\/blog\/#website\",\"url\":\"https:\/\/trifork.nl\/blog\/\",\"name\":\"Trifork Blog\",\"description\":\"Keep updated on the technical solutions Trifork is working on!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/trifork.nl\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/trifork.nl\/blog\/#\/schema\/person\/f0f730670b3fd7af44d237f16fe86339\",\"name\":\"Philipp Darkow\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trifork.nl\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/152ad8e94d7e45cb38952736dafe9c76?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/152ad8e94d7e45cb38952736dafe9c76?s=96&d=mm&r=g\",\"caption\":\"Philipp Darkow\"},\"url\":\"https:\/\/trifork.nl\/blog\/author\/philippd\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud - Part 2 - Trifork Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/","og_locale":"en_US","og_type":"article","og_title":"Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud - Part 2 - Trifork Blog","og_description":"This is the second part of my blog on how to develop an application using Elasticsearch, Spring MVC and Sencha Touch 2. In my previous blog post part 1 I showed and explained which technologies I used to accomplish the connection between the frontend and backend. In addition I presented the steps to connect a [&hellip;]","og_url":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/","og_site_name":"Trifork Blog","article_published_time":"2014-05-06T10:50:48+00:00","og_image":[{"url":"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg","type":"","width":"","height":""}],"author":"Philipp Darkow","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Philipp Darkow","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/","url":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/","name":"Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud - Part 2 - Trifork Blog","isPartOf":{"@id":"https:\/\/trifork.nl\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#primaryimage"},"image":{"@id":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg","datePublished":"2014-05-06T10:50:48+00:00","author":{"@id":"https:\/\/trifork.nl\/blog\/#\/schema\/person\/f0f730670b3fd7af44d237f16fe86339"},"breadcrumb":{"@id":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#primaryimage","url":"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg","contentUrl":"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2014\/04\/logo-sencha-300x160.jpeg"},{"@type":"BreadcrumbList","@id":"https:\/\/trifork.nl\/blog\/elasticsearch-spring-mvc-sencha-touch-2-in-the-cloud-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trifork.nl\/blog\/"},{"@type":"ListItem","position":2,"name":"Elasticsearch, Spring MVC &#038; Sencha Touch 2 in the Cloud &#8211; Part 2"}]},{"@type":"WebSite","@id":"https:\/\/trifork.nl\/blog\/#website","url":"https:\/\/trifork.nl\/blog\/","name":"Trifork Blog","description":"Keep updated on the technical solutions Trifork is working on!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/trifork.nl\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/trifork.nl\/blog\/#\/schema\/person\/f0f730670b3fd7af44d237f16fe86339","name":"Philipp Darkow","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trifork.nl\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/152ad8e94d7e45cb38952736dafe9c76?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/152ad8e94d7e45cb38952736dafe9c76?s=96&d=mm&r=g","caption":"Philipp Darkow"},"url":"https:\/\/trifork.nl\/blog\/author\/philippd\/"}]}},"_links":{"self":[{"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/posts\/11604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/users\/92"}],"replies":[{"embeddable":true,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/comments?post=11604"}],"version-history":[{"count":0,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/posts\/11604\/revisions"}],"wp:attachment":[{"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/media?parent=11604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/categories?post=11604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/tags?post=11604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}