Статьи

Начало работы со Scala на Jelastic

Язык программирования Scala , который также работает на JVM, прекрасно работает со многими инструментами управления и мониторинга, а также с Java и другими языками. Scala обладает многими простыми и удобочитаемыми синтаксическими возможностями других языков программирования. Он имеет различные преимущества производительности и позволяет разработчикам работать более эффективно. Разработчики часто характеризуют Scala как более функциональный язык, чем Java. На самом деле это смесь объектно-ориентированного и функционального программирования. Такие языки, как Scala, часто привлекают гибких, высококвалифицированных и инновационных разработчиков, которые образуют отличные технические команды. Итак, давайте посмотрим, как этот очень гибкий язык работает в облаке!

Создать среду

1. Войдите в Jelastic и нажмите кнопку Создать среду.

2. Создайте свою среду в Jelastic, например, с помощью Tomcat 7 и Java 7.

скала среда

Создать приложение

1. Прежде всего загрузите и установите  sbt  для вашей ОС. Это инструмент для сборки проектов Scala и Java.

2. Теперь давайте создадим простое приложение сервлета Scala для тестирования. Файл Helloworld.scala  ( src / main / scala / helloworld.scala ) будет выглядеть следующим образом:

import javax.servlet.http._
 
class HelloWorldServlet extends HttpServlet {
                override def doGet(req: HttpServletRequest, resp: HttpServletResponse) = {
                resp.getWriter().print("Hello World!")
                }
}

3. В   каталоге src / main / webapp создайте  файл web.xml  для своего проекта:

<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
 
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
 
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

Построить и развернуть проект

Xsbt-веб-плагин

1. Добавьте специальный плагин для сборки WAR-файла,  xsbt-web-plugin , в project / plugins.sbt :

addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "0.3.0")

2. Создайте  файл build.sbt  в базовой директории вашего проекта. Укажите название вашего приложения, его версию, версию Scala и введите настройки плагина:

name := "helloworld"
 
version := "1.0"
 
scalaVersion := "2.9.2"
 
seq(webSettings :_*)
 
libraryDependencies ++= Seq(
 "javax.servlet" % "servlet-api" % "2.5",
 "org.mortbay.jetty" % "jetty" % "6.1.22" % "container"
)

Примечание. Для разделения каждого элемента требуются пустые строки.

3. Создайте файл  build.properties  в директории based и укажите там версию sbt, чтобы избежать возможной путаницы:

sbt.version=0.12.4

4. Выполните следующую команду из вашего базового каталога, чтобы создать файл WAR:

>compile:package-war

Архив WAR, который вы только что создали, будет храниться в каталоге target / scala-xxx  .

5. Вернитесь на панель управления Jelastic и загрузите пакет WAR в диспетчер развертывания.

загрузка скалы

6. Разверните приложение Scala в только что созданной среде.

Scala развертывания

Sbt-jelastic-deploy плагин

1. Добавьте в свой проект специальный плагин для Jelastic для дальнейшего его развертывания. Плагин Sbt-jelastic-deploy  зависит от xsbt-web-plugin и развертывает архив WAR, сгенерированный xsbt-web-plugin, в среду Jelastic. Чтобы включить sbt-jelastic-deploy, укажите соответствующий параметр в   файле plugins.sbt (project / plugins.sbt) :

addSbtPlugin("com.github.casualjim" % "sbt-jelastic-deploy" % "0.1.2")

2. Перейдите в базовый каталог вашего проекта и создайте  файл build.sbt  . Укажите название вашего приложения, его версию, версию Scala и укажите ключи для плагина Jelastic.

import JelasticKeys._
 
name := "helloworld"
 
version := "1.0"
 
scalaVersion := "2.9.2"
 
seq(webSettings :_*)
 
libraryDependencies ++= Seq(
 "javax.servlet" % "servlet-api" % "2.5",
 "org.mortbay.jetty" % "jetty" % "6.1.22" % "container"
)
 
seq(jelasticSettings:_*)
 
email in deploy := "your_email_address"
 
password in deploy := "your_jelastic_password"
 
apiHoster := "your_hoster's_api"
 
environment in deploy := "your_jelastic_environment_name"
 
context in deploy := "context_for_your_app"

Примечание. Для разделения каждого элемента требуются пустые строки.

3. Создайте файл  build.properties  в  каталоге helloworld  и укажите там версию sbt, чтобы избежать возможной путаницы:


1
sbt.version
=
0.12
.
4

4. С помощью   задачи загрузки создайте файл WAR и загрузите его в Jelastic Deployment Manager для дальнейшего развертывания. Используйте   задачу развертывания, чтобы создать файл WAR, загрузить и развернуть его в указанной среде и контексте.


>sbt upload
>sbt deploy

Вуаля! Смотрите свое приложение Scala в облаке!

приложение scala в облаке

Это был просто простой пример, чтобы показать вам, как начать. Вы можете использовать любой из вышеупомянутых плагинов для создания вашего пакета Scala WAR и его развертывания в вашей среде. Если у вас есть какие-либо вопросы по этой теме, пожалуйста, сообщите нам об этом в разделе комментариев ниже.