En

JazzTeam Software Development Company

Agile Java Development

Портфолио

Компания JazzTeam всегда работает на одной стороне со своими клиентами. Мы открыты своим заказчикам и ценим свою деловую репутацию. Хорошо отработанная сервисная модель оказания услуг в сочетании с отличным технологическим уровнем сотрудников компании и профессиональным управлением позволяют нам успешно выполнять самые сложные проекты. Мы всегда действуем проактивно, предлагая нашим заказчикам технологии и процессы, улучшающие их бизнес.

Приведём несколько проектов, которые успешно выполнены компанией.


Телекоммуникация

Центр обработки телекоммуникационных данных.

Биллинговая система для провайдера мультимедийных каналов.

CRM система крупной telecom-компании.

Система управления бизнес-процессами обслуживания клиентов.

Система учёта логических ресурсов мобильного оператора.

Система управления тарифными планами и услугами мобильного оператора.


Индустрия путешествий

Web-интерфейс системы отслеживания географического положения объектов на Google-картах.

Автоматический анализатор бренда в социальных сетях и других ресурсах Internet.

Автоматизированные UI тесты для travel индустрии.


Здравоохранение

Frontend разработка веб-приложения для поддержания здорового образа жизни.

Поисковый сервис по лекарствам.

Java-апплет для обучения и тестирования.


Государственный сектор

Система автоматизации документооборота и бизнес-процессов в природоохранной деятельности.

Cистема мониторинга и управления государственными закупками для тендерно-договорного отдела.


Технологический сектор

Создание коммерческого Mule коннектора к мейнфреймам IBM i (AS/400).

Приложение для управления обновлениями баз данных.

Приложение-эмулятор мыши для Android-устройств.

Разработка SaaS решения для продукта XML2Selenium.

Комплексная кастомизация Android UI.

Система управления ресурсами проектов.

Xml2selenium – собственная разработка компании JazzTeam.

Агрегатор аккаунтов для веб-приложения.

Mule-приложение – прокси для интеграции внутренних систем заказчика и внешних сервисов.

Mule-приложение, предоставляющее API для сканирования файлов на вирусы.

Создание коммерческого Mule коннектора к системе управления мастер-данными

Система объединения облачных хранилищ

Регистратор аккаунтов в облачных сервисах


Коммуникация и развлечения

Веб-приложение в сфере образования.

Социальная сеть для творческих людей.

Автоматизация тестирования веб-приложения, связанного c Geofence Marketing.

Централизованная система онлайн продажи билетов в реальном времени.

Маркетинговая платформа анализа данных сайта stackexchange.com.

Автоматический анализатор бренда в социальных сетях и других ресурсах Internet.

Краткое описание проекта: компания разработала автоматизированную систему поиска и семантического анализа упоминаемости брендов отелей. Данная система была интегрирована в SaaS решение, позволяющее владельцам отелей управлять присутствием своего бренда в Social Media. Система ведёт поиск среди популярных сайтов с отзывами клиентов отелей, таких как booking.com, expedia, tripadvisor, hotels.com, zoover.de, hrs.com и других, а так же из социальных сетей Facebook и Twitter. Система периодически возвращается к сайтам за обновлённой информацией. Для этих целей были реализованы поисковые роботы (краулеры). Текст отзывов анализируется с помощью нейронной сети (был использован проект Apache OpenNLP) с различных сторон: негативные или позитивные, отзыв о wifi, парковке или обслуживании номеров и так далее. Система составляет рейтинг отелей на основе полученной информации и позволяет владельцам отелей просматривать собранные из различных источников отзывы для улучшения качества обслуживания, а так же производить сравнения с рейтингами других отелей.

Технологии: Java, IceFaces, Vaadin, MongoDB, Twitter/Facebook API, Spring (IoC, AoP, Batch), JUnit, Mockito, Apache Tomcat, Eclipse, Git, Maven, Ant, Gerrit (система для ревью кода), Jenkins, Nexus, Apache OpenNLP, shell scripts, Web Driver (UI-tests), Quartz, RegExp.

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Отзывы клиентов:

Friedrich Boeckh
Фридрих Бёкх, Управляющий директор, Infopulse GmbH, Компания, предоставляющая на рынке информационные технологии и услуги, Германия

JazzTeam принимал участие в инновационном проекте под моим руководством. Команда продемонстрировала высокий профессиональный уровень в области архитектурного дизайна, Agile процессах, юнит-тестировании и деятельности в рамках проекта. Вы можете смело положиться на инженеров JazzTeam, доверьтесь им и будьте уверены - Java эксперты обеспечат Вас наилучшим результатом.

 

Система автоматизации документооборота и бизнес-процессов в природоохранной деятельности.

Краткое описание проекта: масштабный проект на 5 человеко-лет, в рамках которого необходимо было создать целый ряд приложений, взаимодействующих между собой по принципам SOA. Отдельным приложением была администраторская часть, которая используется, как полностью независимый компонент, и работает в связке с любым из создаваемых бизнес-приложений. Одной из задач проекта было поддержание Single Sign One, для этого мы разработали сервис предоставления безопасного ключа.

Технологии: Eclipse, Linux, MySql, Maven, JPA (Hibernate), JTA (Spring), Web-Services, Struts, JQuery, JSP, Servlets, JUnit, Selenium/WebDriver, Fitnesse

Скриншоты:

Особенности проекта: проект вёлся по методологии Scrum, что не мешало нам предоставлять компании-заказчику Project Plan на несколько фаз вперёд.

Результат проекта: все проектные работы завершены успешно. Компания-заказчик смогла создать свою команду разработчиков, пользуясь опытом нашей команды, и продолжить разработку самостоятельно. Создание своей команды разработчиков было одной из целей заказчика на старте проекта.

Достижения компании на проекте:

Автоматизированные UI тесты для travel индустрии.

Краткое описание проекта: задачей компании было восстановление неиспользуемых автоматизированных UI Selenium 1.0 тестов для продукта заказчика в области индустрии путешествий. Следующими шагами были перевод существующих тестов на Selenium2/WebDriver, внедрение архитектуры на основе паттерна PageObject, создание новых тестов для большого количество тест кейсов, и внедрение в продукт заказчика принципов, подходов и процессов в области управления автоматизированными тестами и привязки тестов к бизнес-документации.

Технологии: JUnit, Selenium1-2, WebDriver; Jenkins, Maven, Eclipse, Linux.

Особенности проекта: новые тесты, создаваемые командой проекта, необходимо было использовать для тестирования уже существующих инсталяций продукта, поэтому мы применили Data Driven Testing паттерн.

Результат проекта: все фазы проекта были завершены успешно. Компания-заказчик внедрила новые процессы и начала использовать восстановленные и новые автоматизированные тесты.

Достижения компании на проекте:

Отзывы клиентов:

Maria Bondarenko
Мария Бондаренко, Совладелец, GP Software.Travel, Информационные технологии и услуги, Беларусь, Германия

Компания JazzTeam принимала участие в автоматизации тестирования одного из наших проектов.
Хочется отметить высокое знание командой необходимых технологий, уверенное владение инструментарием, включая CI систему Jenkins и хорошее качество оказанных услуг. Инженеры компании предложили и реализовали архитектурные улучшения, участвовали в построении процессов на проекте и всегда шли нам навстречу.

 

Поисковый сервис по лекарствам.

Краткое описание проекта: разработка фармакологического поискового сервиса нового поколения (высоконагруженность, кластерность, гео-локация) с интеграцией со существующей инфраструктурой одного из лидеров фармакологического российского импорта.

Технологии: MongoDB, Spring (JTA, WebServices, SpringData, SpringMVC), JQuery, Oracle, SQL, Quartz, Apache Solr

Особенности проекта: стартапный характер проекта, очень короткие итерации, внешний менеджемент, постоянное изменение требований.

Результат проекта: команда завершила несколько фаз проекта. В рамках этих активностей был создан UI прототип, а также запрототипированы все основные серверные операции по работе с базами данных MongoDB и Oracle. Была создана архитектура для процесса репликации изменений в NoSQL базе данных, в реляционную базу.

Достижения компании на проекте:

 

Комплексная кастомизация Android UI.

Краткое описание проекта: компания принимала участие в создании приложения под Android, которое является одним из лидеров сегмента приложений, управляющих кастомизацией внешнего вида Android платформы. Был разработан интерфейс загрузки контента с серверов заказчика, живые обои, различные виджеты (часы, календари, погода, переключатели функций) на основе предоставленной заказчиком графики. Приложение периодически производит поиск обновления контента на сервере. Была произведена оптимизация приложения под множество разрешений экранов (ldpi, mdpi, hdpi, xhdpi, разрешения экрана от 320x240 до 1280x768, portrait и landscape форматы).

Технологии: Android SDK, JUnit, Eclipse with ADT, Ant (кастомизация билд-системы android-проектов).

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

 

CRM система крупной telecom-компании.

Краткое описание проекта: наша компания принимала участие в кастомизации CRM-системы для крупной телеком-компании. Масштаб части проекта, разработанной нами, составлял около 5 человеко-лет, масштаб всей системы - десятки человеко-лет. Работа включала в себя ряд задач по кастомизации UI и серверной части CRM-системы Amdocs Clarify, интеграции её с другими системами заказчика посредством SOAP web-сервисов и шины Enterprise Service Bus. Разрабатываемая функциональность покрывалась интеграционными и изоляционными unit-тестами. Одним из направлений было покрытие GUI-интерфейса клиентской части автоматизированными тестами на технологии Jubula и запуск их в среде непрерывной интеграции Jenkins. Из-за большого количества пользователей для снижения нагрузки на сервера нами была проведена оптимизация на уровне SQL и БД Oracle. Вся разработка велась по методологии Scrum/Agile с полным соблюдением всех процессов и запуском (deploy in live) каждые 2 недели.

Технологии: Amdocs Clarify CRM, Oracle (database, WebLogic application server, Enterprise Service Bus), SQL, Apache Ant, SOAP Web Services, Jax-WS, Jubula (UI automation tool), JUnit, Eclipse, Red Hat Enterprise Linux, Jira (+ greenhopper), SVN, Cisco CTI (Computer Telephony Integration)

Особенности проекта:

Результат проекта: CRM была внедрена во многие бизнес-процессы крупной телеком-компании (корпоративные и розничные продажи, техническая поддержка, удерживание постоянных клиентов, расчётное обслуживание, регистрация обращений клиентов в call-центрах).

Достижения компании на проекте:

 

Cистема мониторинга и управления государственными закупками для тендерно-договорного отдела.

Краткое описание проекта: приложение представляет собой систему мониторинга и управления государственными закупками для тендерно-договорного отдела. Система позволяет создавать карточки тендеров на поставку товаров, оказание услуг или выполнение работ, вести этапы торгов и подготовки. Также имеется возможность привязать к карточке тендера дополнительную документацию. За каждым тендером закреплен ответственный и предполагаемый исполнитель из реестра организаций. Реестр организаций представлен в виде иерархического дерева, каждая организация включает в себя перечень карточек должностей, подразделений и сотрудников.
Приложение использует Open Source ECM-систему Alfresco (система управления корпоративным контентом) как хранилище данных. В приложении применяются как стандартные сущности Alfresco, так и новые типы данных с расширенными свойствами.
Взаимодействие между клиентом и сервером осуществляется посредством REST-сервисов.
Вся бизнес-логика перенесена в клиентскую часть, что значительно увеличивает производительность и отзывчивость приложения и уменьшают нагрузку на сервер.

Технологии:

Инструменты:

Скриншоты:

Особенности проекта:

Результат проекта: было успешно разработано web-приложение, написанное на JS с использованием библиотеки ExtJS. Команда смогла интегрироваться в методологию и процессы заказчика, при этом также соблюдались принципы и подходы компании JazzTeam. Заказчики остались довольны уровнем производительности команды. Было решено большое количество технических сложностей.

Достижения компании на проекте:

Отзывы клиентов:

Павел Ледковский, Руководитель проектовРАМЭК, Системный интегратор полного цикла, Москва, Россия

С командой JazzTeam мы стартовали разработку ПО на новой для всех нас технологической комбинации: джаваскрипт-клиент ExtJS 4 к веб-сервисам Альфреско. Проект инвестиционный и сроки, за которые надо показать существенный прогресс, весьма сжаты.

В процессе работы команда показала, что может успешно участвовать в разработке в стрессовых условиях нашего процесса, который характеризуется очень короткими спринтами (1 неделя) и высокими требованиями к качеству каждого релиза (через пару часов после релиза система может быть уже обновлена у заказчика). Результат работы был успешно презентован инвестиционной дирекции, поставленные цели признаны достигнутыми.

Хочу особо отметить, что в этом проекте пару раз возникали действительно острые ситуации, которые в высшей степени профессионально переводились в конструктивное русло. В результате принимались и, что существенно, быстро приводились в исполнение важные управленческие решения, вводились корректировки процесса. За это огромное спасибо всем участникам, которые своим понимаем сути проблем и профессиональным отношением к делу позволили достичь действительно высокого уровня взаимодействия и обеспечить достойное качество результата разработки территориально удалённой команды.

 

Центр обработки телекоммуникационных данных.

Краткое описание проекта: внедрение, разработка и поддержка Continuous Integration для крупного, динамично меняющегося, многокомпонентного веб-приложения в сфере телекоммуникаций. Создание автоматизированных тестов для сложного web-интерфейса и покрытие REST сервисов. Создание инфраструктуры для автоматической сборки и тестирования приложения, использование Jenkins и большого количества плагинов к нему, Linux администрирование и автоматизирование администрирования. Выстраивание процессов управления тестами. Стабилизация CI.

Технологии: Linux, NAT, Bash; Jenkins; Maven, Ant, Ivy; TestLink; Jira, Greenhopper; ClearCase, Perforce, GIT, GitLab; TestNG, HtmlUnit, Sikuli, Selenium, WebDriver, JavaScript (Java Applet testing); WireShark; Java, Spring LDAP, ActiveDirectory, Apache POI, Jsoup, PdfBox, XPath, Groovy; HTTPS, SSL.

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

 

Xml2selenium – собственная разработка компании JazzTeam.

Краткое описание проекта: продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java. XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания, и заканчивая управлением тестами. XML2Selenium охватывает все ключевые проблемы автоматизации тестирования, и предлагает элегантное и простое решение - использовать XML в качестве языка написания тестов. XML2Selenium интегрирован с Maven, Jenkins, Junit, Selenium, BrowserStack.

Технологии:

Инструменты:

Особенности проекта:

Результат проекта: была создана платформа, охватывающая все ключевые проблемы автоматизации и тестирования. Продукт имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка записи тестов на видео, снепшотов (исходники html страницы) и скриншотов страниц, Groovy и JavaScript выражений, поддержки объектно-ориентированного программирования на XML, и многих других. Был успешно проведен старт продаж и создан сайт продукта http://xml2selenium.com.
Была произведена инсталляция продукта множеству клиентов и внедрение у них автоматизации тестирования. Пользователи остались довольны уровнем производительности команды и оставили хорошие отзывы как о продукте, так и о работе компании.

Достижения компании на проекте:

Отзывы клиентов:

Hein Remmen
Хайн РемменРуководитель производственного отделаEzwim, Лидер Европейского рынка в технологиях управления телекоммуникационными данными, Нидерланды

Так как мы ежемесячно выпускаем новые версии нашей платформы, нам приходится тратить достаточно много времени на создание регрессионных тестов вручную.

Компания "JazzTeam" помогла нам полностью автоматизировать все наши регрессионные тест-кейсы и выстроила необходимую для нас инфраструктуру тестирования. Продукт компании "JazzTeam" - фреймворк XML2Selenium позволил нашим тестировщикам без знаний Java создавать и использовать новые тест скрипты. А отчеты в XML2Selenium помогают нам быстро определять баги и проблемные области в нашей платформе. В то время как интеграция с BrowserStack позволяет нам осуществлять тестирование в любых желаемых комбинациях браузера и ОС, без дополнительных усилий с нашей стороны.

Компания "JazzTeam" обеспечила прекрасную поддержку своего продукта и оперативно решала все возникающие вопросы и проблемы.

bram-cool
Брэм КулCEOEzwim, Лидер Европейского рынка в технологиях управления телекоммуникационными данными, Нидерланды

Сейчас дела у нас обстоят гораздо лучше: теперь мы работаем на опережение и находим баги раньше, чем сделает это заказчик. Автоматизация тестирования позволила нашим тестировщикам, сэкономив их время, сфокусироваться на других важных аспектах функциональности и качества продукта. И как результат, мы смогли предложить нашим заказчикам сервис более высокого уровня, более качественный и стабильный.

 

Маркетинговая платформа анализа данных сайта stackexchange.com.

Обоснование созданной платформы: в настоящее время системы анализа данных получили широкое распространение:

  1. Корпорации всё большее внимание уделяют анализу своей деятельности с целью оптимизации бизнеса, снижения расходов и, как следствие, повышения прибыли.
  2. Снижение стоимости хранения данных приводит к тому, что данные не удаляются, а сохраняются в архивы. Эта тенденция позволяет осуществлять анализ всё больших и больших объёмов сохранённых данных.
  3. Снижается стоимость вычислительных ресурсов, в том числе предоставляемых через облачные сервисы. При этом нет необходимости в покупке, поддержке и обновлении своих вычислительных систем. Данная тенденция облегчает выход на рынок систем анализа и обработки данных.

Требования к системе:

  1. Возможность масштабирования для сколь угодно больших объёмов данных без необходимости переработки алгоритмов.
  2. При работе системы не должно приостанавливаться функционирование приложения, данные которого анализируем.
  3. Качественая визуализация полученных результатов.
  4. Возможность быстрого поиска по результатам анализа, обеспечиваемая хранение результатов анализа.
  5. Возможность развёртывания системы в облачой среде Amazon Web Services.

Краткое описание проекта: cайт stackexchange.com — это растущая сеть сообществ по интересам, обменивающихся между собой информацией по различным направлениям. Цель ресурса — сбор качественных вопросов и ответов на основе опыта каждого сообщества. Сайт вопросов-ответов stackexchange.com по своей сути является динамическим источником знаний. Поскольку сообщество наполняет сайт информацией ежедневно, сайт можно считать слепком актуальных знаний на сегодняшний день.

Интерес к структурированию информации и получению общей картины может возникать во многих случах:

  1. Я, как производитель комплектующих для велосипедов, делаю маркетинговое исследование: какие вопросы наиболее волнуют людей и какие недостатки они обсуждают в комплектующих. Я хочу это использовать для улучшения продукции, либо как упор для рекламной компании.
  2. Я хочу написать книгу по заданной тематике, например Иудейство. Помимо анализа литературных источников меня интересует, какие вопросы наиболее обсуждаемы, чтобы на них ответить в своей книге.
  3. Я, журналист тематического ресурса, хочу знать актуальные обсуждаемые вопросы и писать полезные обзорные статьи, которые бы привлекали большое внимание и увеличивали популярность моего ресурса.

Технологии и платформы:

Big data analyses: Apache Hadoop, Apache Mahout (machine learning library)
Cloud services: Amazon Elastic Map Reduce, Amazon S3, Amazon EC2 (for databases and web applications)
Databases: Neo4j graph database, MongoDB cluster
Java and Web technologies: core Java, Map-Reduce API, Struts 2, AngularJS, D3.js visualization library, HTML, CSS, Twitter bootstrap
Unit-testing: JUnit, MRUnit, Approval tests for Map-Reduce

Архитектура платформы:

Расчёт данных:

Источником данных является дамп stackexchange.com. Для обработки данных используется кластер вычислительных машин, в завимимости от объёма обрабатываемых данных количество машин может быть изменено. Система была задеплоена в облако Amazon, использовался сервис Amazon Elastic Map Reduce, предоставляющий Hadoop-кластеры по требованию.

Поверх вычислительных машин развёрнута распределённая файловая система HDFS. Данная система позволяет хранить файлы большого размера одновременно на нескольких машин, а также выполнять репликацию данных. Поверх HDFS развёрнут фреймворк Apache Hadoop, который позволяет запускать распределённые вычисления в кластере, пользуясь локальностью данных. Поверх кластера вычислительных машин и фреймворка Apache Hadoop расположено приложение для анализа данных, которое содержит реализованные алгоритмы подготовки, обработки и анализа данных. Приложение использует библиотеку алгоритмов машинного обучения Apache Mahout.

Для всех сайтов stachexchange.com данные представлены в едином XML-формате: вопросы, ответы, комментарии, данные пользователей, рейтинги и многое другое.

Алгоритм обработки и анализа данных stackexchange.com:

  1. Подготовка данных для анализа.
  2. Преобразование текста в векторную форму.
  3. Кластеризация вопросов.
  4. Интерпретация результатов.

Подготовка данных:

Алгоритм предобработки текста выглядит следующим образом:

  1. Выделение из текста токенов (слов), разделённых пробелом.
  2. Приведение текста к нижнему регистру.
  3. Удаление частоупотребимых слов, не несущих смысловой нагрузки, таких как "what", "where", "how","when", "why", "which", "were", "find", "myself", "these", "know","anybody"...
  4. Удаление слов, не входящих в рамки по длине.
  5. Приведение слов в начальную форму, отбрасывание окончаний, падежей, суффиксов и так далее. Для приведения слов в начальную форму удобно использовать алгоритм Стеммера Портера.

Кластеризация:

Кластеризацией, или неконтролируемой классификацией текстовых документов, называется процесс распределения множества текстовых документов по группам на основании схожести их содержания. Группы также должны определяться автоматически. Традиционно в качестве модели документа используется линейное векторное пространство. Каждый документ представлялся как вектор, то есть массив всех и наиболее часто встречающихся слов. Затем для расчета используется, например, евклидово расстояние. Векторное представление представляет собой массив всех или наиболее часто используемых слов документа или n-граммов, то есть последовательностей нескольких слов. Для векторизации был выбран алгоритм TF-IDF, так как он учитывает частоту слов относительно всего набора данных и позволяет уменьшить вес частоупотребимых слов, и, наоборот, увеличить вес уникальных слов для каждого вопроса.

Распределённая версия алгоритма кластеризации К-средних выглядит следующим образом:

  1. Выбирается k случайных точек как центры кластеров.
  2. Данные распределяются равномерно по машинам вычислительного кластера.
  3. Каждая машина итеративно обходит все объекты и вычисляет расстояние до ближайшего центра кластера. На выходе записываются пары объект-кластер.
  4. Объекты группируются по новым назначенным кластерам, перераспределяются по вычислительным машинам.
  5. Каждая машина итеративно обходит пары объект-кластер и пересчитывает центры кластеров.
  6. Вычисляется смещение нового центра кластера относительно предыдущего.
  7. Алгоритм повторяется, пока смещение кластеров не станет меньше заданной величины, либо пока не выполнится заданное количество итераций.

Хранение данных:

Результаты анализа хранятся в нескольких базах данных: граф-ориентированной Neo4j и документно-ориентированной MongoDB. Это позволит эффективно хранить структуру и взаимосвязи объектов в виде графа, в то же время хранить содержание объектов — текстов вопросов в виде документов.

Хранение данных в граф-ориентированной БД Neo4j

Хранение данных в граф-ориентированной БД Neo4j

 

Серверы баз данных были развёрнуты в облаке Amazon, использовался сервис Amazon EC2.

Визуализация и перемещение данных:

Отображение результатов в виде схем, графиков и диаграмм выполняет web-приложение. Для перемещения данных в HDFS предусмотрен сервер миграции. После обработки данных результаты сохраняются в HDFS. Для их добавления в базы данных предусмотрена специальная утилита импорта, которая работает поверх Map-Reduce.

На протяжении работы системы поступают обновления данных. При каждом обновлении нет нужды всякий раз переносить все данные снова в HDFS и запускать снова дорогостоящие вычисления. Для решения этой проблемы предусмотрен Redis - база данных, работающая в памяти с высоким быстродействием. Сервер миграции копирует данные информационной системы и сохраняет хеш-ключ каждой записи. При повторной загрузке данных в HDFS сервер миграции проверяет, не была ли текущая запись загружена ранее, выполняя запрос в базу данных, работающую в памяти.

Для отображения результатов было реализовано web-приложение. Серверная часть приложения реализована на языке Java и выполняет запросы к граф-ориентированной и документно-ориентированной БД. Клиентская часть реализована с применением технологий JavaScript (AngularJS, JQuery) и HTML, CSS, Twitter bootstrap.

Один из скринов приложения визуализации. Группы вопросов обозначены кружками, в центре круга ключевое слово для всех вопросов в группе и количество вопросов.

Один из скринов приложения визуализации. Группы вопросов обозначены кружками, в центре круга ключевое слово для всех вопросов в группе и количество вопросов.

Объем данных, обработанных системой:

Объект Объём архива 7z Объём распакованных данных
Дамп всех данных сайта stackexchange.com ~15,7 ГБ ~448 ГБ
Данные сайта stackoverflow.com ~12,1 ГБ ~345 ГБ
Данные сайта serverfault.com ~303 МБ ~8,6 ГБ

Результат проекта: developed platform позволяет выполнить анализ данных сайта stackexchagne.com и увидеть общую картину содержимого сайта. Система выполняет сбор и загрузку исходных данных, подготовку их к обработке, кластеризацию, а также хранение и интерпретацию результатов анализа. В результате разработки системы были решены задачи cбора и загрузки исходных данных, хранение данных на множестве машин, а также защиты от сбоя в случае выхода из строя одного их жёстких дисков, подготовки данных к обработке с применением фильтрации векторизации, обработки данных на кластере из множества машин, хранения и интерпретации результатов. Большое преимущество даёт использование облачных сервисов Amazon так как они избавляют от необходимости настраивать всю инфраструктуру вручную.

Достижения компании на проекте:

  1. Была освоена и внедрена библиотека машинного обучения Apache Mahout.
  2. Успешно внедрена граф-ориентированная база данных Neo4j.
  3. Разработана серия Map-Reduce задач для предобработки данных.
  4. Подобраны оптимальные коэффициенты для алгоритмов машинного обучения.

 

Java-апплет для обучения и тестирования.

Краткое описание проекта: разработанная система позволяет лечить пациентов с психическими заболеваниями по авторской методике профессора медицины. В качестве реализации была выбрана технология Java Applets. Апплет загружает обучающие и тестовые сценарии с media-сервера. Для описания сценариев используется специализированный DSL (Domain Specific Languages) на основе XML. Апплет поддерживает множество форматов упражнений, таких как Drag and Drop, выбор правильного ответа из предложенных, ввод текста и другие. Внешний вид упражнений создаётся с помощью визуального редактора NetBeans IDE в виде java swing-форм. Апплет динамически загружает swing-формы с media-сервера и отображает их. Это позволяет создавать тестовые сценарии непосредственно медицинским работникам без участия программиста. Кроме форматов упражнений апплет поддерживает различные спецэффекты, такие как скроллинг, флешинг и плавные переходы.

Технологии: Java Applets, AWT/Swing, Restful web-services, NetBeans forms, Custom classloading, Maven, Jenkins, SVN, Jira Agile, JUnit, Applet UI-testing features (FestSwing).

Видео:

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Отзывы клиентов:

Jaume
Хайме Симон, Менеджер проекта, Euglia Telemedicina, Медицинская компания, специализирующаяся на лечении, обучении и научных исследованиях, Испания

IT-аутсорсинг - мощный инструмент в руках профессионалов. Чтобы IT-проект был успешен, необходимо выполнение трех условий: постоянный обмен информацией, техническое совершенство и высокие требования к качеству. Разработчики компании JazzTeam полностью отвечали данным требования в процессе работы над проектом  для компании Euglia Telemedicina.

 

Web-интерфейс системы отслеживания географического положения объектов на Google-картах.

Краткое описание проекта: система отслеживания положения людей и других физических объектов на Google-карте. У отслеживаемого объекта имеется специальное GPS-устройство, которое отправляет информацию на сервер. Сервер сохраняет и обрабатывает географические координаты. Созданные нами web-интерфейс позволяет размечать на Google-карте специальные области. При попадании физического объекта в эти географические области, срабатывают нотификации. GPS-устройства так же могут быть оснащены тревожными кнопками. Это может быть применено для присмотра за детьми или престарелыми родителями, чтобы определить, находились ли они на определённой территории. Задачей команды была разработка web-интерфейса, расширяющего стандартные возможности Google-карт. Был добавлен инструмент рисования геозоны, после того как зона была нарисована, выполнялся алгоритм аппроксимации фигуры (сглаживания). Пользователь может редактировать геозоны, растягивать их, добавлять новые точки, а так же присваивать текстовые метки. Web-интерфейс отображает созданные пользователем геозоны, используя API сервера Wialon Kit.

Технологии: JavaScript, Google Maps API, HTML, CSS, Wialon Kit - saas platform for GPS tracking, Git, Redmine.

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Отзывы клиентов:

Denis Pomozov
Денис ПомозовCEO, IDC Intech, разработка программного обеспечения, Вильнюс, Литва

С компанией JazzTeam мы стартовали разработку проекта с применением технологий и устройств GPS и специализированных серверов, отвечающих за геопозиционирование. Система должна была иметь интерактивный веб-интерфейс на основе Google и яндекс-карт с применением их API.

Команда JazzTeam проявила хорошие способности R & D для разработки и реализации математического алгоритма апроксимации географических областей, рисуемых на картах, что представляло нетривиальную задачу и могло повлечь большие риски. Все задачи были реализованы в срок или с опережением срока. Команда JazzTeam шла нам на встречу, были успешно преодолены все спорные моменты.

Большое внимание разработчики JazzTeam уделяют коммуникации и чётко поставленным проворный-процессам. Ими учитывались все наши пожелания и отзывы, предлагались новые идеи, были выполнены все доработки, которые позволили создать продукт максимально удобным для пользователей.

Дополнительно хочеться отметить, что предыдущие разработчики не смогли реализовать данную задачу.

 

Приложение-эмулятор мыши для Android-устройств.

Краткое описание проекта: исследование возможности реализации следующего функционала на платформе Android: Поверх всех приложений отображается картинка “мыши”, которую можно перемещать по экрану. Мышь содержит большую кнопку, по нажатию на которую выполняется нажатие в соответствующую позицию экрана. Такая мышь может быть полезна, к примеру, девушкам с длинным маникюром, которым из-за этого не удобно пользоваться сенсорным экраном, либо людям с толстыми пальцами, которые не могут нажать на маленькие иконки интерфейса Android.

Технологии: Java, Android, Android NDK, JNI, Eclipse, Linux

Особенности проекта:

В рамках исследования были сделаны следующие задачи:

Результаты исследования:

Достижения компании на проекте:

Отзывы клиентов:

Boris Mamonenko
Борис Мамоненко, CEO, EleganceIt, Информационные технологии и услуги, Беларусь

Дмитрий открытый человек, он полон идей, с ним очень легко работать. Его команда (Jazzteam) выполняла технически довольно сложный исследовательский проект. Дима проявил себя не только как опытный Java разработчик, но и как невероятно талантливый руководитель. Он никогда не скажет вам “НЕТ”, его ответ будет: -  "Дайте мне время и я скажу вам, как это сделать”. Большое ему спасибо!

 

Биллинговая система для провайдера мультимедийных каналов.

Краткое описание проекта: разработка нового функционала для уже успешно работающего приложения. Приложение представляет собой автоматизированную систему учета предоставленных услуг (пакеты мультимедийных каналов для различных типов устройств), их тарификацию и выставления счетов для оплаты. Приложение ориентированно в первую очередь на Великобританию, Европу.

Весь сервис состоит из трёх частей:

Технологии: Java 5 (EJB, DAO, Swing), Oracle, SQL, Quartz, JBoss, Ant, PVCS (Serena PVCS Version Manager), Rally, Timesheet, Eclipce, Oracle SQL Developer.

Скриншоты:

Особенности проекта:

Результат проекта: в рамках работы над проектом был разработан новый функционал (была расширена модель данных, созданы новые контроллеры, функциональные формы, оптимизированы и расширены возможности существующих форм в модуле администрирования), исправлен ряд багов, произведена более тонкая настройка JBoss (шифрование паролей баз данных, безопасная аутентификации и т.д.).

Достижения компании на проекте:

Отзывы клиентов:

Andrey Radkevich
Андрей РаткевичR&D Director, EffectiveSoft, разработка программного обеспечения, резидент Парка высоких технологий, Минск, Беларусь

Мы сотрудничали с компанией JazzTeam на проекте, связанном с разработкой нового функционала комплексной биллинговой системы учета предоставленных услуг в медиаиндустрии. Хотелось бы отметить в рамках реализации этого проекта четкую, конструктивную и квалифицированную работу разработчиков, адекватный менеджмент, прозрачность и оперативность в работе. В условиях удаленной работы и распределенной команды инженеры JazzTeam смогли успешно взаимодействовать со всеми сторонами на проекте, быстро и слажено решать возникшие сложности и обеспечить достойное качество результата разработки.

Спасибо вам за быстрое реагирование на все вопросы в процессе работы, за высокий уровень компетенции и деловой подход.

 

Разработка SaaS решения для продукта XML2Selenium.

Краткое описание проекта: главной целью проекта является предоставление платформы для разработки автоматических тестов на XML2Selenium в виде SaaS-решения. Это позволит существующим клиентам использовать XML2Selenium без необходимости ручной настройки рабочего окружения, тем самым экономя ресурсы и время системных администраторов. Новые клиенты получают возможность сразу же начать пользоваться продуктом после оплаты и регистрации учётной записи. Также пользователи фреймворка теперь могут не покупать полную enterprise-лицензию, а платить за фактическое использование фреймворка, что позволит оптимизировать расходы и привлечь новых клиентов.

В ходе выполнения проекта был разработан удобный интерфейс - личный кабинет пользователя. В системе можно создать сервер с настроенным XML2Selenium. По умолчанию на сервере загружен тестовый проект для демонстрации работы XML2Selenium. Также пользователь может посмотреть статистику по серверу - сколько сервер работал и сколько это стоило. При необходимости можно отключить сервер или удалить его, просмотреть его логи. Есть возможность скачать продукт для локального использования.

Технологии: Java, Spring MVC, Hibernate, Quartz, MySql, Angular JS (JavaScript Framework), Bootstrap (HTML и CSS Framework), Infobox Cloud (создание удаленных серверов), Jenkins, Nexus, SVN.

Особенности проекта:

Достижения компании на проекте:

Система управления ресурсами проектов.

Краткое описание проекта: разработанный программный продукт представляет собой систему для ведения отчетности выполненных работ и затраченного времени исполнителями и их заказчиками. Система позволяет отслеживать результаты работы по различным проектам, представлять отчетность в наглядной форме. Разработанная система призвана упростить взаимодействие компании и ее клиентов, повысить прозрачность процесса выполнения работ, а также увеличить эффективность учета временных затрат.

Технологии: Java, MySQL, Apache Maven, JPA (Hibernate), JTA (Spring), SOAP Web-Services, RESTful-Services(Spring), Spring Security, AngularJS, JUnit, Xml2Selenium, Apache Tomcat, Jenkins, SVN.

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Социальная сеть для творческих людей.

Краткое описание проекта: проект представляет собой тематическую социальную сеть для творческих людей, которые объединяются в хабы (сообщества) для общения/обмена медиа-контентом и совместной работы над проектами как коммерческими, так и некоммерческими. Пользователи обладают различными ролями; имеют в своем распоряжении ленту собственных постов, с возможностью ограничивать права доступа к ней, а  также многофункциональный календарь с большим количеством разных событий.

Основные отличия от других социальных сетей:

Социальная сеть построена из серверной и клиентской частей. Клиентская часть - веб-приложение, построенное в основном на Ajax, вёрстка с применением фрэймворка-шаблонизатора Tiles и языка стилей Less. Серверная часть - предоставляет собой набор REST сервисов, что даёт возможность создать несколько клиентских приложений (web, mobile и т.д.). При разработке приложения активно использовался Hibernate, Spring MVC.

Технологии: JQuery, Less, Tiles, Java 7, Hibernate, Spring MVC, MySQL, Jackson; Apache Tomcat, Maven, Redmine, Git, GitHub, Swagger, IDEA, Bootstrap.

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Отзывы клиентов:

Sergey Kastukevich
Сергей КастюкевичТехнический директор, OCS Innovation Company (OCSICO), разработка программного обеспечения, Минск, Беларусь

Спасибо компании JazzTeam за проделанную работу. Команда разработчиков JazzTeam участвовала в разработке проекта по созданию тематической социальной сети для творческих людей. Несмотря на очень сжатые сроки проекта, команда JazzTeam быстро разобралась в существующих наработках. Сотрудники JazzTeam проявляли инициативу в решении спорных вопросов, постоянно шли на диалог, выступали в качестве консультантов по JavaScript. Работа отличалась прозрачностью и четкостью. Разработчиками был реализован сложный и объемный функционал на Hibernate с учетом всех наших требований.

Рекомендуем JazzTeam как опытного и надежного партнера, ответственно подходящего к работе на каждом этапе и уважающего интересы своих клиентов.

Веб-приложение в сфере образования.

Краткое описание проекта: веб-приложение предоставляет преподавателям и студентам доступ к широкому кругу учебных ресурсов и инструментов. Зарегистрированные участники могут бесплатно просматривать и загружать актуальные учебные материалы. Пользователи разделены на два типа (преподаватели или студенты) и имеют разные роли и доступ к разным ресурсам. Через RSS-ленты и электронную почтовую рассылку пользователей уведомляют о новом контенте.

Основные задачи нашей команды заключались в разработке UI и серверной части приложения. На проекте использовался Adobe Experience Manager фреймворк программной системы (Content Management Framework), предоставляющий огромные возможности для разработки UI веб-сайтов. Особенностью Adobe Experience Manager является возможность разработки приложений, поддерживающих стандарт OSGi, позволяющий динамически переустанавливать компоненты и составные части приложения без необходимости останавливать и перезапускать его. Вместо обычной SQL базы данных был использован Java Content Repository (Apache Jackrabbit). Данные в JCR представляют собой дерево, состоящее из узлов с ассоциированными с ними свойствами. Для представления веб-страниц клиентской части использовались технологии JSP и JavaScript.

Технологии: Java, Adobe Experience Manager, Adobe Search&Promote, Apache Jackrabbit, Apache Sling, Apache Felix, JavaScript, Maven, Intelij IDEA, ExactTarget (переименован в октябре 2014 в "Salesforce Marketing Cloud"), GitHub. Redmine.

Скриншоты:

Особенности проекта:

Достижения компании на проекте:

Отзывы клиентов:

Sergey Kastukevich
Сергей КастюкевичТехнический директор, OCS Innovation Company (OCSICO), разработка программного обеспечения, Минск, Беларусь

Мы считаем, что за время работы на проекте компания «JazzTeam» зарекомендовала себя, как надежный партнер, выполняющий взятые на себя обязательства в обусловленные сроки на должном уровне. В рамках задач по кастомизации UI и серверной части на нашем проекте разработчиками была также проведена интеграция с сервисом ExactTarget для работы с email-рассылками.

Со своей стороны, отметим высокий профессионализм сотрудников, творческий подход и оперативность действий. Все работы были выполнены на высоком уровне с учетом всех наших замечаний и предложений.

Приложение для управления обновлениями баз данных.

 Краткое описание проекта: приложение LiquibaseUpdater представляет собой обёртку над Liquibase. Данное приложение выполняет и контролирует процесс управления миграциями баз данных.

Приложение обеспечивает следующий функционал:

Процедура по заполнению базы данных выполняется по определенным правилам, описанным в схеме данных Liquibase. Заполнение базы данных может выполняться в двух вариантах: до определенного тега схемы изменений либо полного заполнения базы по схеме.

Ведется лог процессов. Лог содержит как информацию, передаваемую на стандартный вывод, так и служебные сообщения об исключительных ситуациях. Каждый запуск приложения порождает отдельный файл лога.

Результат работы приложения выводится в консоли текстовой строкой статуса с указанием времени работы приложения и количества ошибок выполнения.

Состав и структура приложения

image01

Архитектура приложения:

image00

Технологии: Liquibase, Spring, Apache-cli, JUnit, DBCP, MySQL, Oracle, Maven, Maven-jar, Maven-shade, Jacoco, XML, Liquibase log framework, Git, Jira, Confluence.

Особенности проекта:

Результат проекта: Реализована возможность контроля по обновлениям версий баз данных с помощью приложения LiquibaseUpdater.

Достижения компании на проекте:

Примеры:

Пример для накатки базы

 ./liquibase_updater.bat  -verbose  -install=d:/doc/changelog/rollback2tag/master.xml
 ./liquibase_updater.bat -verbose -config=config.properties -install=d:/doc/changelog/rollback2tag/master.xml -tag=version_0.1.0

Пример для роллбека базы

 ./liquibase_updater.bat -verbose -force -config=config.properties -rollback=d:/doc/changelog/rollback/master.xml
 ./liquibase_updater.bat -verbose -config=config.properties -rollback=d:/doc/changelog/rollback2tag/master.xml -tag=version_0.1.0

Откат всей базы требует дополнительного ключа -force.

Пример содержимого лога

log

Автоматизация тестирования веб-приложения, связанного c Geofence Marketing.

Краткое описание проекта: основная цель проекта заключается в покрытии веб-приложения автоматизированными Selenium тестами. Данное приложение позволяет с помощью Geofencing привлекать внимание потенциального покупателя, находящегося в заданном радиусе от объекта, и тем самым получить дополнительные выгоды владельцу бизнеса.

Geofencing — современный сервис, предусматривающий автоматическое обнаружение и выполнение запланированных действий в том случае, если мобильное устройство клиента оказывается на заранее обозначенной территории или покидает таковую.

Клиент создает свой аккаунт в приложении, и в случае, как только он оказывается на определенной территории - ею могут быть торговые центры, рестораны, казино и прочее - ему на смартфон (или планшет) приходят обычные sms рекламного содержания. Все, что нужно для отправки/получения таких сообщений — это мобильное приложение и GPS-координаты мобильного устройства.

В ходе разработки было реализовано более 2000 тестов, что значительно увеличило стабильность релизов, была создана инфраструктура для автоматической сборки и тестирования приложения. Во время работы на проекте использовались Jenkins, Virtual Network Computing (VNC), осуществлялось Linux администрирование серверов.

Технологии: Selenium WebDriver, Virtual Network Computing (VNC), Jenkins, Git, Jira, TestNG, Maven, TestRail, XPath, Linux.

Скриншоты:

Особенности проекта:

Результаты проекта:

Достижения компании на проекте:

Отзывы клиентов:

alex-alexandrov
Александр Александров, Руководитель QA отдела, Ведущий поставщик инновационных мобильных решений для игровой индустрии казино, Санта Клара, США

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

Я также хочу подчеркнуть высокий профессионализм членов вашей команды. Они обладают широким спектром знаний во многих технических навыках программирования, а также могли проанализировать и решить проблемы, с которыми мы столкнулись. Все технологии, реализованные вашей командой, сделали нас сильными и успешными на высококонкурентном рынке Силиконовой долины.

В целом, мы очень довольны нашей совместной работой и с нетерпением ожидаем расширения бизнес отношений с вами, а именно распространения их и на другие технические области.

Frontend разработка веб-приложения для поддержания здорового образа жизни.

Краткое описание проекта: данное приложение помогает пользователю контролировать состояние своего здоровья и советует, какому аспекту своего образа жизни стоит уделить больше внимания. Приложение предоставляет возможность пользователю подробно заполнить анкету, указать свои физические данные, привычки, особенности образа жизни. Проанализировав данные анкеты, приложение выдаст набор советов и рекомендаций по улучшению состояния здоровья, поможет выявить риски возникновения осложнений в результате неправильного образа жизни, подскажет профилактические пути, чтобы предотвратить негативные последствия и ухудшения здоровья.

Веб-приложение реализовано с помощью фреймворков EmberJS и JQuery. Пользовательский интерфейс приложения разработан на основе Bootstrap, SASS и шаблонизатора Handlebars.

Технологии: GruntJS, Ember.js, jQuery, jQuery UI, AJAX, Handlebars, CSS, SASS, LESS, HTML5, Bootstrap, Foundation,  Raphael.js, RequireJS, WOW.js, Parallax.js.

Скриншоты:

Особенности проекта:

Результат проекта:

Отзывы клиентов:

Kirill Altman
Кирилл Альтман, Entrepreneur, Нью-Йорк, США

У меня сформировались глубокое личное и профессиональную уважение к команде Jazz Team и полная уверенность, что они принесут свою необыкновенную энергию, оптимизм и творческий потенциал в любой проект, в котором участвуют. Безусловно, их инженеры по-настоящему талантливы и в техническом плане.

Разработчики всегда серьезно относились к своей роли на проекте и были ориентированы на достижение наилучших результатов благодаря активной работе со всеми членами команды. Специалисты JazzTeam всегда завершали задачи в срок и без ошибок. Они действительно способны успешно выполнять задачи с нужным результатом даже в условиях ограниченного времени.

Создание коммерческого Mule коннектора к мейнфреймам IBM i (AS/400).

Краткое описание проекта: данный коннектор позволяет интегрировать мейнфреймы IBM серии i(AS/400) в обычные Mule приложения и доступен по адресу https://www.mulesoft.com/exchange#!/ibm-as400-integration-connector. Типичное применение коннектора - интеграционные проекты, когда бизнес не желает отказываться от существующей инфраструктуры, но хотел бы внедрить современные технологии или обеспечить интеграцию бизнес-приложений, которые выполняются в мейнфрейме, с другими системами, собственными или сторонними. Коннектор поддерживает синхронный и асинхронный варианты использования, поддерживает сценарии Один-к-одному и Один-ко-многим. Коннектор обеспечивает возможность со стороны мейнфрейма вызвать (опубликовать) событие в Mule или же вызвать Mule сервис. Также, появилась возможность со стороны Mule опубликовать уведомление (notification) в AS/400, вызвать сервис или команду на стороне AS/400.

Компания JazzTeam выполняла разработку коннектора, его тестирование, включая автоматизированное, внедрение системы лицензирования, а также подготовку к сертифицированию со стороны компании MuleSoft.

Технологии: Java, Mule, Mule ESB, Mule DevKit, Anypoint Connector, Anypoint Studio, AS/400, SonarQube, Maven (license maven plugin), BitBucket, GIT, License 4j, CloudBees, TestNG, Mockito.

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Отзывы клиентов:

Dmitriy Kuznetsov
Дмитрий КузнецовВице Президент интеграционных и облачных решений, Infoview Systems Inc, Разработка интеграционных проектов, помогающих заказчикам встраивать инновационные сервисы и системы в существующие корпоративные решения на базе мейнфреймов, Ливония, США

Требуемый результат этого проекта был один - после разработки необходимого функционала коннектор должен был пройти сертификацию. И этот результат был достигнут без особых усилий с нашей стороны, за что большое спасибо команде JazzTeam.

Хочется отметить чуткий, внимательный менеджмент, наши просьбы, замечания не оставались без внимания, а всегда фиксировались, к ним всегда обращались вовремя. Огромное количество требований и нюансов по сертификации были решены с успехом. Мы участвовали в стендапах с командой, где можно было задать любой вопрос по проекту, можно отметить прозрачность работы на проекте для нас. В случае, если команда JazzTeam видела риски - мы о них уведомлялись, а также нам сообщали и стратегию решения тех или иных проблем.

Резюмирую, стабильный, надёжный менеджмент, высокая техническая экспертиза и предсказуемость составляют суть услуг компании JazzTeam, мы с удовольствием продолжим работу с JazzTeam.

Агрегатор аккаунтов для веб-приложения.

Краткое описание проекта: данная система служит для автоматизации использования учётных записей какого-либо веб-приложения. Она позволяет, используя прокси-серверы и различные алгоритмы, выдавать пользователя системы за владельца лишь одного аккаунта веб-приложения. Как пример, может использоваться для того, чтобы обойти ограничения налагаемые веб-приложением на один аккаунт.

Система представляет из себя десктоп-приложение, которое отображает список доступных пользователю аккаунтов. При нажатии на какой-либо аккаунт открывается браузер и происходит автоматический логин в выбранный аккаунт.

В проект внедрен механизм автоматической загрузки списка прокси-серверов через API прокси-провайдеров. Также применена БД в виде Google-таблиц. Это позволило эмулировать работу реальных пользователей, и избежать подозрений, связанных с использованием нескольких аккаунтов с одного IP адреса.

Цель нашей команды было реализовать, протестировать и предоставить заказчику полностью рабочую систему.

Технологии: AWT/Swing, Selenium, Google API (Drive, Spreadsheet), Jenkins, Quartz, Java WEB Start/JNLP, JIRA, JSON, Log4J, Apache commons libraries.

Скриншоты:

Особенности проекта:

Результаты проекта:

Достижения компании на проекте:

Система управления бизнес-процессами обслуживания клиентов.

Краткое описание проекта: система управления бизнес-процессами обслуживания клиентов предназначена для автоматизации бизнес-процессов обслуживания клиентов в компаниях операторов связи.

Какие функции выполняет система:

Какие задачи решает:

Основной задачей системы является регистрация и обработка поступающих от клиентов обращений. Все контакты компании с клиентами регистрируются операторами отделов обслуживания. Информация по таким обращениям принимается и регистрируется операторами, обрабатывается и систематизируется в базе данных с требуемым уровнем детализации. В зависимости от обращения клиента выполняются определенные действия, принимается решение и далее клиенту отправляется уведомление о результатах обработки его обращения. Обращение клиента закрывается, информация сохраняется.

Техническая часть:

Проект имеет frontend и backend части. В наши обязанности входила разработка backend части проекта.

Backend реализован на основе REST API сервисов (Spring MVC), автоматическая сборка – Maven, RESTful web API и XML/JSON сериализация-десериализация – Restlet, логирование - Logback, Unit-тестирование – JUnit, ORM/JDBC – MyBatis, в качестве cервиса имен и для конфигурирования доступа к внешним сервисам/приложениям использовался Apache ZooKeeper.

Наша команда работала над модернизацией уже используемой системы заказчика - разрабатывала интерфейс Открытого API.

Открытый API - это открытый протокол взаимодействия, доступный сторонним разработчикам и позволяющий решать любые внутренние бизнес-задачи оператора связи.

Переход на Открытый API в рамках существующей системы обоснован рядом следующих требований:

Технологии: Spring, Apache Camel, JUnit, Jackson, Log4j, SLF4J, Logback, Java servlets, Mockito, MyBatis, Restlet, Liquibase, Hibernate, Maven, Oracle database, Apache Tomcat, Apache ZooKeeper, Confluence, Jira, Stash, TeamCity, Git, Oracle Client, RubyInstaller Development Kit (DevKit), Bundler (RubyGems), Ruby.

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Централизованная система онлайн продажи билетов в реальном времени.

Краткое описание проекта: cистема предназначена для централизации онлайн-продаж билетов на различные мероприятия. Платформа предоставляет следующие возможности:

Система спроектирована и разработана с учётом использования сервером приложения многокластерности, кэш-серверов, а также использования нескольких баз данных. Применена архитектура, которая позволяет легко поддерживать систему и расширять её функционал.

В качестве сервера приложения использовался WildFly. Приложение предоставляет REST API сервисы для доступа к своему функционалу. API реализовано с использованием библиотеки RESTEasy. Обмен данными между клиентом и сервером производится в формате JSON, что позволяет унифицировать API для всех платформ. Запросы, получаемые REST-сервисами, проходят проверку уровня доступа, за это отвечает фреймворк Picketlink. Далее следует валидация запроса с помощью Bean Validation API.

Приложение использует API Facebook, Google, Vkontakte для регистрации/авторизации через социальные сети.

Взаимодействие с базой данных осуществляется с помощью Hibernate.
В качестве БД использована PostgreSQL. Одновременно происходит работа с двумя БД. Для сокращения времени доступа к некоторым данным используется распределенный кэш Infinispan и технология для индексации баз данных для ускорения поиска по некоторым таблицам (Apache SOLR).

Приложение способно по запросу генерировать отчеты с использованием технологии Birt. Генерация возможна в нескольких форматах: HTML, XLS, PDF. Стандартная подсистема логирования WildFly в приложении заменена на Logback. Утилита Hawtio позволяет собирать и визуализировать информацию о состоянии приложения и сервера.

Работа над проектом была разбита на несколько фаз. Фаза - анализа, и несколько фаз разработки. На каждой фазе разработки велась работа над реализацией определенных use cases.

На фазе анализа проекта был проведен полный анализ предоставленных сценариев использования (use cases), проработаны и минимизированы все возможные риски. Составлена максимально подробная эстимация для всех задач. Созданы сигнатуры REST-сервисов. Сверх этого, была оказана консультативная помощь по улучшению бизнес логики и настройке окружения, оптимизации его работы.

На фазах разработки были реализованы в полном объеме все необходимые части функционала back-end составляющей проекта. Составлена подробная техническая документация, применен фреймворк Swagger, позволяющие визуализировать документацию и компоненты системы, для лучшей синхронизации команды разработчиков.

Технологии: Java, EJB, JAX-RS/RestEasy, JPA/Hibernate, Picketlink, Wildfly (JBoss), PostgreSQL, Facebook/Google+/Vkontakte API, Eclipse BIRT, Hawtio, Swagger, TestNG, Logback, Quartz, Redmine, Microsoft Project

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Mule-приложение – прокси для интеграции внутренних систем заказчика и внешних сервисов.

Краткое описание проекта: проект представляет из себя прокси, разработанный с использованием технологии Mule. Данный прокси служит для интеграции внутренней системы заказчика и внешнего сервиса.

Приложение принимает SOAP-запросы от внутренней системы или внешнего сервиса, обрабатывает их, и перенаправляет получателю. Приложение позволяет безопасно обмениваться сообщениями между двумя системами. И не требует изменений в интегрируемых сервисах.

В проекте применены следующие механизмы:

В приложении использованы подходы, которые позволяют легко переориентировать его для интеграции с другими сервисами. Это сделало приложение универсальным и значительно снизило затраты на интеграцию с другими системами.

Задачей нашей команды было реализовать Mule-приложение, интегрировать его работу с другими системами, протестировать и предоставить заказчику полностью готовый продукт.

Технологии: Java, Mule, Spring, Oracle DB, Log4j, SOAP, JUnit, XPath, XSLT, JDBC, Apache commons libraries

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Mule-приложение, предоставляющее API для сканирования файлов на вирусы.

Краткое описание проекта: веб-приложение, которое предоставляет API для сканирования файлов на вирусы. Данное решение позволяет сделать интеграцию внутренних систем заказчика с внешними сервисами ещё более безопасной.

В качестве программы-антивируса был выбран open source проект ClamAV. Проект является мультиплатформенным, что дает возможность устанавливать наше приложение на различных системах.

Для сканирования файла на вирусы пользователю необходимо отправить HTTP-запрос и загрузить файл на сервер, после чего в качестве ответа будет возвращён результат сканирования.

Приложение было оптимизировано под высокую нагрузку и выдерживает работу с большим количеством одновременных запросов, большими размерами сканируемых файлов.

Задачей нашей команды было реализовать Mule-приложение, интегрировать его с ClamAV, протестировать и предоставить заказчику полностью готовый продукт.

Технологии: Java, Mule, Spring, ClamAV, Log4j, XSLT, Apache commons libraries

Скриншоты:

Результат проекта:

Достижения компании на проекте:

Система учёта логических ресурсов мобильного оператора.

inventoryКраткое описание проекта: система учёта логических ресурсов представляет собой систему инвентаризации и управления телефонными номерами, международными идентификаторами мобильного абонента, IP адресами и т.д. Система позволяет автоматизировать работу подразделений, которые заинтересованы в получении целостной, оперативной и актуальной информации о состоянии логических ресурсов. Оператор системы может, к примеру, вводить в эксплуатацию новые сим-карты, заводить новые номера телефонов, редактировать, удалять их.

Проект имеет модульную структуру, зависимости между модулями реализованы с помощью RequireJS. Интерфейс системы интерактивный, взаимодействие с backend выполняется с помощью асинхронных запросов: например, подгрузка новых данных в таблицу выполняется динамически.

В обязанности команды JazzTeam входила разработка frontend-части, а также комплексное тестирование продукта. Наша команда занималась разработкой визуальных интерфейсов диапазона номеров, управления оборудованием, сим-картами и др.

После реализации проекта также была произведена интеграция с системой централизованного управления бизнес-процесами, которая позволяет формировать и отслеживать выполнение заданий по изготовлению, дефектованию или выведению SIM-карт из эксплуатации и др. Разработчики Jazzteam успешно реализовали объединение front-end частей двух приложений, произвели рефакторинг, в ходе которого была разработана общая структура AngularJS проекта, а также привели код к общему стилю.

Технологии: JavaScript, Angular JS, Require JS, Karma, Jasmine, Apache HTTP server, REST services.

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Отзывы клиентов:

Vitaly Malyshev
Виталий Малышев, Технический директор, Peter-Service Inc, Компания-разработчик программного обеспечения для телекоммуникационной отрасли, Россия

Задача команды JazzTeam состояла в проработке angular составляющей проекта (UI). Уже сейчас, когда основаная часть проекта реализована, можно с уверенностью сказать, что со своей работой ребята успешно справились. В начале проекта были некоторые шероховатости, но с течением времени они были решены, и разработка встала на стабильные рельсы.

Хочется сказать отдельное спасибо frontend-разработчику, который был и остаётся ключевым участником проекта с самого начала. Тестировщику, что борется за качество, а также умеет задавать правильные вопросы и ставить некоторые решения команды под сомнение, что способствует улучшению нашего продукта. И менеджеру компании JazzTeam, что поддерживал процесс разработки и выравнивал его в трудные моменты.

Создание коммерческого Mule коннектора к системе управления мастер-данными

Краткое описание проекта:

Задача проекта, в котором участвовала команда Jazzteam, состояла в проектировании, разработке и внедрении Mule коннектора, являющегося оберткой над облачной системой управления мастер-данными (MDM), выступающей в роли платформы как сервиса (PaaS). Система позволяет создавать промышленные приложения, которые производят глубокую автоматизированную аналитику (в том числе и предиктивную) на основе данных о клиентах, продуктах, услугах, персонале, технологиях, материалах и т.д.

Разработанный нами коннектор значительно упрощает процесс создания Mule-приложений, работающих с системой за счет автоматического обновления токенов доступа к API и динамического DataSense. Делая вызовы API через коннектор, пользователь может загружать данные в систему и удалять их из системы, осуществлять поиск данных на основе фильтров, устанавливать отношения между данными.

В качестве основного средства для построения коннектора использовался Anypoint Connector DevKit. Каждая операция коннектора использует Jersey-client для вызовов API. Ответы со стороны приложения возвращаются в формате JSON. При помощи Jackson-mapper происходит отображение этих ответов в Java-объекты, которые коннектор и выдает на выходе.

В ходе разработки компания JazzTeam выполнила работу по реализации основного функционала коннектора (запросы к API), динамического DataSense, функционального, системного и юнит-тестирования. Коннектор был полностью подготовлен для прохождения сертификации со стороны компании MuleSoft.

Технологии: Java, Mule, Mule ESB, Mule DevKit, Anypoint Connector, Anypoint Studio, SonarQube, Maven, BitBucket, Jersey, Jackson, Mockito, Jayway JsonPath, Apache JMeter, TestLink.

Скриншоты:

Особенности проекта:

Результат проекта:

Достижения команды:

Система управления тарифными планами и услугами мобильного оператора

Краткое описание проекта: Система состоит из двух основных компонентов:

Вся редактируемая информация в системе имеет привязку к:

Сотрудники телеком-оператора заполняют необходимую информацию, после чего запускается механизм выгрузки в биллинговую систему по заданным бизнес-правилам. После этого новые тарифные планы, услуги и скидки доступны для абонентов. Интерфейс системы интерактивный, не требует перезагрузки страницы, сделан по принципу Single page application.

В обязанности команды JazzTeam входила реализация нового функционала, рефакторинг, багфиксинг, покрытие Unit и интеграционными тестами, консультирование заказчика в области улучшения качества кода и процессов.

Технологии:
Java, Vaadin, Hibernate, JPA, Apache Tomcat, PostgreSQL, Oracle, JUnit, DBUnit, Git, Jira, Confluence, Bamboo CI, Selenium, Maven, Flyway (database migration tool).

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Система объединения облачных хранилищ


Краткое описание проекта:
Система объединения облачных хранилищ - это уникальный сервис облачных систем хранения данных для основных десктопных и мобильных платформ. Данный сервис предоставляет пользователям неограниченное и бесконечно масштабируемое облачное пространство для хранения информации, полную синхронизацию между различными устройствами и максимальный уровень защиты данных. Продукт реализован на основе собственных алгоритмов хранения и шифрования данных, которые обеспечивают беспроблемное, равномерное распределение данных пользователей в различных облачных аккаунтах хранения данных.

Система объединения облачных хранилищ имеет уникальную архитектуру, которая позволяет пользователям зарегистрировавшись один раз, указав хотя бы один существующий облачный аккаунт для хранения данных, пользоваться преимуществами неограниченного облачного пространства на период подписки. Система объединяет все пользовательские аккаунты в один контейнер и объединяет его с контейнерами других пользователей, чтобы создать почти бесконечно масштабируемое хранилище в облачных пространствах. При необходимости, программа может автоматически создавать новые учетные записи облачных хранилищ для обеспечения растущих потребностей системы.

В дополнение к неограниченности объемов хранения данных, система объединения облачных хранилищ имеет высокие характеристики отказоустойчивости системы и безопасности хранения информации, что позволяет пользователям получать доступ к данным, даже если исходная облачная учетная запись становится недоступна.

Вот неполный список действий, доступных для пользователей:

Технологии: Spring, JDBC, Quartz, Camel, JavaFX, StealJS, MySql, SQLite, Maven, Gradle, TeamCity, MicrosoftAzure

Скриншоты:

Особенности проекта:

Результаты проекта:

Достижения компании на проекте:

Отзывы клиентов:

Аукционер проекта

Коллектив разработчиков JazzTeam участвовал в бизнес-анализе требований проекта, реализовал все поставленные задачи в полном объеме и в срок, оправдав наши ожидания успешной командной работы.

Продукт был разработан и реализован специалистами JazzTeam на основе уникальных алгоритмов хранения и шифрования данных, что обеспечило беспроблемное, равномерное распределение данных пользователей в различных облачных аккаунтах хранения данных. Было внедрено большое количество архитектурных решений, которые позволили стабилизировать и расширить функционал проекта.

Эффективным решением со стороны компании JazzTeam было налаживание процессов в команде и внедрение методологии Scrum/Agile. В итоге, каждый в распределенной команде был заинтересован в эффективной реализации проекта, что позволило выйти на стабильные итерации.

С нашей точки зрения, это положительно повлияло на повышение качества продукта: был создан уникальный облачный сервис хранения с отличной масштабируемостью и самой современной архитектурой.

Регистратор аккаунтов в облачных сервисах

Краткое описание проекта: проект представляет собой консольную java-утилиту, которая при запуске начинает автоматически регистрировать аккаунты в облачных сервисах (Dropbox, Box, Google Drive и т.д.), и вносить информацию об этих аккаунтах в базу данных. Утилита может запускаться как вручную, так и автоматически - по расписанию или при необходимости в получении какого-либо количества аккаунтов. В утилите продуманы алгоритмы и способы обхода защит от автоматических регистраций и дальнейшего обнаружения автоматически зарегистрированных аккаунтов:

В регистратор аккаунтов входит набор вспомогательных утилит:

Технологии: Java 7, Spring, Selenium, Apache HttpClient, Json, Zabbix, Junit, Maven, SDK облачных сервисов и сервиса ввода антикапчи, JavaScript, MySQL, Swing

Скриншоты:

Особенности проекта:

Результат проекта: в процессе работы над проектом в полном объеме была реализована требуемая функциональность продукта. Кроме того, некоторые новые элементы, предложенные командой разработчиков, также стали частью продукта. Команда полностью оправдала ожидания клиента в отношении производительности, компетентности и способности эффективно координировать деятельность для достижения поставленных целей.

Достижения компании на проекте:

Отзывы клиентов:


Аукционер проекта

Коллектив разработчиков JazzTeam участвовал в бизнес-анализе требований проекта, реализовал все поставленные задачи в полном объеме и в срок, оправдав наши ожидания успешной командной работы.

Продукт был разработан и реализован специалистами JazzTeam на основе уникальных алгоритмов хранения и шифрования данных, что обеспечило беспроблемное, равномерное распределение данных пользователей в различных облачных аккаунтах хранения данных. Было внедрено большое количество архитектурных решений, которые позволили стабилизировать и расширить функционал проекта.

Эффективным решением со стороны компании JazzTeam было налаживание процессов в команде и внедрение методологии Scrum/Agile. В итоге, каждый в распределенной команде был заинтересован в эффективной реализации проекта, что позволило выйти на стабильные итерации.

С нашей точки зрения, это положительно повлияло на повышение качества продукта: был создан уникальный облачный сервис хранения с отличной масштабируемостью и самой современной архитектурой.