En

JazzTeam Software Development Company

Agile Java Development

Портфолио

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

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


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

Mule-приложение по сбору и обработке информации о звонках и передаче данных с сервиса Webbing

GetAddressByIP – сервис по определению геолокации устройства по IP-адресу

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

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

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

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

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

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

Проект миграции телеком ориентированной информации о платежах клиентов из одной системы в другую с комплексной трансформацией структуры данных

Система учета, анализа и принятия решений по финансовому состоянию клиентов и абонентов

Система учета и контроля расходов телекоммуникационных услуг

Редизайн портала системы учета и контроля расходов телекоммуникационных услуг

Корпоративное мобильное приложение по учету трафика и управлению расходами на коммуникации

Разработка компонент облачной IoT платформы по учету энергоресурсов и управлению приборами учета энергоресурсов


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

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

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

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

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

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

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

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

Доработка веб-приложения «Электронный паспорт лаборатории»

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


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

Тестирование единой международной электронной системы учета движимого имущества

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

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

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

Веб-приложение для просмотра личных дел сотрудников и студентов

Тестирование системы по управлению закупочной деятельностью предприятия


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

Консалтинг по стабилизации процесса разработки программного продукта с целью улучшения его качества

Создание электронного справочника продуктов и его автоматическая синхронизация с ERP системой предприятия

CI/CD для инженерного приложения

Разработка системы интеграции для торговой компании

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

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

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

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

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

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

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

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

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

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

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

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

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

Система для прогноза курса криптовалют на основе анализа текста

Интеграция Distribution Management System с ERP системами региональных дистрибьюторов

Перенос коммерческих интеграционных Mule-приложений c on-premise в облачную среду

Система автоматического мониторинга цен конкурентов, оптимизации цен в своих магазинах

Апплет для цифровой подписи документов

Система управления ресурсами предприятия

Приложение для оценки и управления стоимостью реализации масштабных промышленных проектов

BIG DATA-система формирования отчетности

Интеграция JDE с eCommerce платформой Magento

Создание электронного справочника продуктов и его автоматическая синхронизация с ERP системой предприятия


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

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

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

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

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

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

Веб-приложение для покупки и продажи недвижимости

Реализация расширяемой игровой механики для клиента ролевой игры

Разработка модуля образовательной онлайн платформы

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

Автотестирование web-приложения сервиса по обслуживанию автомобилей

Автоматический анализатор бренда в социальных сетях и других ресурсах 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, разрешения экрана от 320×240 до 1280×768, portrait и landscape форматы).

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

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

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

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

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

Краткое описание проекта: наша компания принимала участие в кастомизации CRM-системы для крупной телеком-компании. Масштаб части проекта, разработанной нами, составлял около 5 человеко-лет, масштаб всей системы – десятки человеко-лет. Работа включала в себя ряд задач по кастомизации UI и серверной части CRM-системы Amdocs Clarify, интеграции её с другими системами заказчика посредством SOAP веб-сервисов и шины 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-сервисов.
Вся бизнес-логика перенесена в клиентскую часть, что значительно увеличивает производительность и отзывчивость приложения и уменьшают нагрузку на сервер.

Технологии:

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

Скриншоты:

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

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

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

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

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

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

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

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

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

Краткое описание проекта: внедрение, разработка и поддержка Continuous Integration для крупного, динамично меняющегося, многокомпонентного веб-приложения в сфере телекоммуникаций. Создание автоматизированных тестов для сложного веб-интерфейса и покрытие 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.

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

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

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

Для отображения результатов было реализовано веб-приложение. Серверная часть приложения реализована на языке 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.

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

Краткое описание проекта: система отслеживания положения людей и других физических объектов на Google-карте. У отслеживаемого объекта имеется специальное GPS-устройство, которое отправляет информацию на сервер. Сервер сохраняет и обрабатывает географические координаты. Созданные нами веб-интерфейс позволяет размечать на Google-карте специальные области. При попадании физического объекта в эти географические области, срабатывают нотификации. GPS-устройства так же могут быть оснащены тревожными кнопками. Это может быть применено для присмотра за детьми или престарелыми родителями, чтобы определить, находились ли они на определённой территории. Задачей команды была разработка веб-интерфейса, расширяющего стандартные возможности Google-карт. Был добавлен инструмент рисования геозоны, после того как зона была нарисована, выполнялся алгоритм аппроксимации фигуры (сглаживания). Пользователь может редактировать геозоны, растягивать их, добавлять новые точки, а так же присваивать текстовые метки. Веб -интерфейс отображает созданные пользователем геозоны, используя 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-координаты мобильного устройства.

В ходе разработки было реализовано более 3000 тестов, что значительно увеличило стабильность релизов, была создана инфраструктура для автоматической сборки и тестирования приложения. Во время работы на проекте использовались 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, Нью-Йорк, США

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

Разработчики всегда серьезно относились к своей роли на проекте и были ориентированы на достижение наилучших результатов благодаря активной работе со всеми членами команды. Специалисты 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
Виталий Малышев, Ведущий инженер лаборатории, Nexign JSC (ранее 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).

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

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

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

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


Андрей Войнов, Директор по разработке программного обеспечения, Nexign JSC (ранее Peter-Service Inc), Информационные технологии и услуги, Санкт-Петербург, Российская Федерация

Peter-Service Inc рекомендует инженеров компании JazzTeam как высококвалифицированных специалистов.

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

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

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

Желаем компании JazzTeam успехов в профессиональной деятельности.

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


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

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

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

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

Технологии: 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. В итоге, каждый в распределенной команде был заинтересован в эффективной реализации проекта, что позволило выйти на стабильные итерации.

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

Реализация расширяемой игровой механики для клиента ролевой игры

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

Целью проекта была разработка новой расширяемой системы игровой логики, которая позволяет автоматизировать сложные расчеты взаимодействия персонажей в игре. Была переработана система игровых взаимодействий персонажей, все статичные предустановленные конструкции заменены обобщенным настраиваемым поведением. Для создания скриптов используется JavaScript. Выполнение производится средствами Java Nashorn.

Технологии: Java, Spring, JavaFX, Swing, Jackson, Jetty, Log4j, HTML, XML, JSON, Nashorn API, JS, Git.

Скриншоты:

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

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

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

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

Вадим Кастрицкий, заместитель директора, VironIT, компания по разработке программного обеспечения, Минск, Беларусь

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


Веб-приложение для просмотра личных дел сотрудников и студентов

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

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

Сжатые сроки и бюджет послужили мотивом сделать упор на максимальное использование готовых типовых решений при сохранении высокого качества приложения. В связи с этим основой приложения служит Spring Boot, в качестве базы данных используется H2, которая запускается в embedded режиме. Использование шаблонизатора Thymeleaf позволило сократить время на разработку, а соответствие современному стилю Material Design обеспечила css-библиотека MaterializeCSS.

Технологии: Java, Spring Boot, H2, Thymeleaf, MaterializeCSS.

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

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

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

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


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

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

Система для прогноза курса криптовалют на основе анализа текста

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

Для обучения нейронной сети использовалась открытая программная библиотека для машинного обучения, разработанная компанией Google — Tensor Flow. Система обучается на известном нам участке времени (за последние несколько лет), а после обучения может сама предсказывать итоговое значение курса.

Технологии: Python, Tensor Flow, Natural Language Toolkit, Twitter/VK API, Git, Jenkins.

Скриншоты:

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

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

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

Интеграция Distribution Management System с ERP системами региональных дистрибьюторов

Краткое описание проекта: В связи с ростом дистрибьюторской сети крупного поставщика товаров стояла задача интегрировать внутреннюю end-to-end систему управления региональными рынками продаж (Distribution management system – DMS) с ERP системами распределенных по всему миру дистрибьюторов для более оперативного и менее затратного способа двухстороннего обмена информацией. При проектировании и разработке было учтено, что сеть дистрибьюторов будет расширяться и в дальнейшем. Это позволяет с минимальными затратами интегрировать ERP новых участников сети c DMS поставщика.

В качестве платформы для интеграционной системы была выбрана MuleESB (Enterprise Service Bus), позволяющая объединять различные уже существующие информационные системы поставщика. Интеграционная система была развернута в облаке на платформе CloudHub. Чтобы не ограничивать себя конкретными протоколами передачи данных, использовался архитектурный стиль REST API.

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

Технологии: MuleESB, REST API, RAML, SFTP, CloudHub, Maven, Jenkins, AnypointMQ, ActiveMQ.

Cкриншоты: 

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

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

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

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


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

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

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

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

Веб-приложение для покупки и продажи недвижимости

Краткое описание проекта: Веб-сервис по размещению объявлений о продаже недвижимости – это приложение, которое позволяет покупателям и продавцам недвижимости находить интересующие их предложения и заключать сделки.

Основная функциональность приложения:

Приложение построено из серверной и клиентской частей. Клиентская часть – веб-приложение, реализованное с использованием фреймворка React и различных его плагинов. Адаптивная верстка осуществлена с применением CSS-фреймворка Bootstrap и языка стилей LESS. Серверная часть представляет из себя набор REST сервисов.

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

Технологии:

Instruments: GIT, BitBucket, Redmine, JetBrains WebStorm.
Web & JavaScript: React, HTML5, CSS, LESS, Bootstrap, jQuery, AJAX, npm.
React plugins: react, react-bootstrap-multiselect, react-dom, react-google-map, react-redux, react-responsive-carousel, react-router, react-scripts, react-simple-month-picker, react-simple-popover.
External API: LinkedIn Authentication API, Google Maps API.

Скриншоты:

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

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

Заказчику осуществлена поставка фронтенд части приложения, реализованная в соответствии со всеми входящими требованиями.

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

Статьи, созданные на основе проектного опыта:

Проект миграции телеком ориентированной информации о платежах клиентов из одной системы в другую с комплексной трансформацией структуры данных

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

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

Финансовая информация в области телекоммуникации,
Детализированная информация о структуре компании.
Также выполнена интеграция данного компонента с существующей инфраструктурой заказчика.

Техническое описание проекта

Приложение включает несколько конвертеров для разных форматов файлов:

Для обработки XML-файлов в многопоточной среде был выбран подход “конвейерной обработки данных” и реализовано несколько Pipeline Processor-ов. Для поиска необходимой информации в XML-файле используется специальный язык запросов XPath.

Выборка данных из XLS-файлов осуществляется с помощью Apache POI – популярной библиотеки от Apache Software Foundation.

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

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

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

C самого начала разработки весь код компонента покрывался Unit и Data Driven тестами, что позволило нам сделать процесс разработки нового функционала стабильным и быть уверенными, что наши изменения не повлияют на существующую систему. Написаны Load тесты для того, чтобы исключить возможные проблемы с памятью, отладить компонент на большом количестве загружаемых файлов, т.к. заказчик одновременно загружает более 25 000 файлов в многопоточной среде.

Технологии: Java, Maven, JPA(Hibernate), JDBC Connection, Spring, Quarz, JAXB, Xpath, Apache commons, Apache POI, Gson, JUnit, Data Driven Tests, SVN, XmlSpy, IntelliJ IDEA.

Скриншоты:

Что делали на проекте, наши обязанности

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

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

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

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

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

Система учета, анализа и принятия решений по финансовому состоянию клиентов и абонентов

Бизнес составляющая проекта

МФД (Многофункциональный финансовый диспетчер) – это продукт, который входит в группу биллинг и финансы. Эта группа обеспечивает бизнес процессы по расчету услуг, информированию клиентов, формированию нотификаций клиентов для телеком компаний, мобильных операторов и прочих крупных заказчиков в телекоммуникационной сфере.

Продукт МФД предназначен для принятия решений о формировании управляющих воздействий на внешние системы на основании анализа финансовых данных и ключевых характеристик клиентов, полученных из различных источников данных.

Функции МФД:

МФД – это система для отслеживания и анализа биллинговой и финансовой информации по клиентам и абонентам и реагирование на эту информацию путем взаимодействия со сторонними отправителями/получателями (продуктами или внешними системами).

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

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

Техническое описание проекта

Проект включает в себя три приложения:

  1. HTTP-server c RESTful API сервисами,
  2. сервер, принимающий/отправляющий RabbitMQ сообщения,
  3. приложение для восстановления/актуализации NoSQL локальной базы данных.

В реализованной конфигурации МФД получает RabbitMQ сообщения от многочисленных отправителей в крупной биллинговой системе.

Происходит анализ поступившей информации от внешних отправителей с помощью бизнес-правил, написанных на фреймворке Drools. Далее, в соответствии с реализованной бизнес-логикой, МФД приступает к управлению фичами/услугами абонентов, а также отправкой заявок на создание/удаление различных нотификаций (sms сообщения, e-mail, fax, phone).

После принятия решений МФД отправляет ответные RabbitMQ сообщения в соответствующие внешние продукты. На следующем этапе продукт сохраняет измененные бизнес-объекты (абонентов) в локальную NoSQL базу данных Couchbase, которая служит для быстрого доступа к абонентам.

Также у МФД есть специальный инструмент для восстановления/актуализации NoSQL базы в случае, например, запуска в новом окружении и/или восстановления после аварий.

Какие работы выполнялись командой в части разработки:

Какие работы выполнялись командой в части тестирования:

За время работы на проекте QA командой было создано более 3000 автотестов.
Технологии, которые использовались для создания и запуска авто-тестов:
Java SE + JDBC, Spring, XML, JSON и др., Robot Framework, PostgreSQL, Oracle, TestNG, Allure Framework, CI (Jenkins, TeamCity, VRA), Maven, Git.

Технологии, используемые на проекте

Stack: Groovy, Java SE 7, Java SE 8, Spring, Apache Maven, Apache Tomcat.
Infrastructure: Jenkins, Git, IntelliJ IDEA,Teamcity, Stash, TestRail, Jira, Confluence.
Frameworks: RabbitMQ, Drools, Akka, Apache Karaf, Apache Zookeeper, Apache CXF.
Test Automation libraries: Robot Framework, JUnit + Mockito, TestNG, Allure Framework.
DB: PL/SQL (Oracle database), Couchbase.
Other libraries: Apache HTTP Client, Logback, Slf4j, Jackson, Xstream, Fiddler.

Скриншоты

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

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

Хочется отметить ряд особенностей, которые сопровождали нашу работу на данном проекте:

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

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

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


Александр Золотарев, начальник лаборатории Биллинг и финансы, Nexign JSC (ранее Peter-Service Inc), Компания-разработчик программного обеспечения для телекоммуникационной отрасли, Санкт – Петербург, Россия

С компанией JazzTeam мы работаем уже много лет. За это время команда JazzTeam стала для нас не только исключительными разработчиками и тестировщиками, но и верными партнерами, друзьями.
Способность выявлять скрытые проблемы и тут же устранять их максимально оперативно и качественно – мне кажется, это естественная составляющая любого проекта, в которых принимает участие JazzTeam.
Стабильная и уверенная работа команды, обдуманные действия, четко поставленные вопросы – это то, что делает JazzTeam профессионалами своего дела.
Отдельно хочется выделить менеджмент команды, который установил высокую планку ответственности и с каждым днем лишь повышает её: наши требования не только слышали, но и слушали, и, что главное, реализовывали именно в том виде, который нам необходим.
Сотрудничество с JazzTeam – это удовольствие, безграничное доверие, которое ребята заработали не словом, а делом и крепкая дружба. Искренне верю, что наше плодотворное сотрудничество продолжится и будет лишь совершенствоваться. Хочу поблагодарить каждого участника команды и пожелать удачи и дальнейших профессиональных успехов!

Система учета и контроля расходов телекоммуникационных услуг

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

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

Система представляет собой группу приложений:

Веб-приложение для клиентов предоставляет единую точку входа получения информации о всех счетах клиента (mobile, fixed, RAS, data) и выступает как служба ведения отчетности организации на всех уровнях – корпоративном, региональном и в масштабах страны, в рамках компании на уровне менеджмента и на пользовательском уровне. Данное приложение позволяет клиенту управлять информацией об организации, разграничивать права внутри компании между сотрудниками, организовать структуру иерархии компании, контролировать расходы за определенный период и т.д.

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

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

Основными событиями данного приложения являются:

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

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

Техническое описание проекта

Система представляет собой многомодульное Maven приложение. С помощью Maven организована автоматическая сборка проектов с настройкой профилирования.

Веб-приложения реализованы на основе MVC-паттерна, который разделяет модель (бизнес-логику), представление (HTML-страницы) и контроллер (отвечающий за передачу данных от модели к представлению и обратно).Серверная часть приложений реализована на языке Java c использованием широко известных фреймворков Struts2 и Spring.

Клиентская часть реализована с применением технологий HTML, CSS, JavaScript, JQuery, AJAX, Struts2 tags, JSTL tags.

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

Для поддержки ролей пользователей и их управления используется Spring Security.

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

Связь между двумя веб-приложениями организована через технологию единого входа (Single Sign-On), что позволяет администратору переходить в другое приложение без повторной аутентификации.

Реализована защита приложений от различных уязвимостей и хакерских атак (к примеру: CSRF, XSS) с поддержкой кроссбраузерности с использованием CSP2.0 для более новых версий браузеров, а также реализовано собственное решение с использованием MutationObserverAPI для старых версий браузеров. В качестве сервера веб-приложений использовался Tomcat.

Серверный компонент для обработки событий представляет собой многопоточное консольное приложение. Данное приложение позволяет обрабатывать и загружать файлы нескольких форматов (CSV, PDF, XML), также принимает справочные данные из XLS и JSON-файлов. Связь с другими приложениями системы организована посредством сложной событийной модели. Количество потоков для обработки событий определяется пользователем. Управление потоками организовано с помощью стандартного пакета java.util.concurrent.

Система использует базу данных Oracle. В базе данных присутствуют 2 вида таблиц:

Для выполнения сложных операций с данными в БД используются хранимые процедуры на языке PL/SQL, что повышает производительность, расширяет возможности программирования и поддерживает функции безопасности данных.

Взаимодействие с базой данных осуществляется с помощью Hibernate и JPA. В некоторых случаях для достижения лучшей производительности используется JDBC Connection.

Технологии

Stack: Java, Maven, JPA (Hibernate), JDBC Connection, Servlet API,  TagLib, JSTL, Jaxb, SuperCSV, JAX-WS, Apache commons, Apache POI.
Infrastructure: Jenkins, SVN.
Frameworks: Struts2, Spring, Spring security.
Test Automation libraries: Mockito, JUnit.
DB: Oracle, PL/SQL.
Other libraries: Ehcache, Achartengine.

Скриншоты

Что делали на проекте, наши обязанности

Силами нашей команды выполнялись следующие работы:

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

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

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

Разработка модуля образовательной онлайн платформы


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

Данная платформа позволяет:

Приложение состоит из клиентской и серверной частей. Клиентская часть – Single Page Application, реализованное на React JS. Пользовательский интерфейс разработан на основе Ant Design – UI-фреймворк для React JS и LESS.

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

Технологии:
Web & JavaScript: React, Redux, WebPack 3, Babel, ESLint, HTML5, CSS, LESS, Ant Design, Axios, AJAX, Lodash, DraftJS, Slugify, Yarn.
Instruments: GIT, GitLab, YouTrack, Jira, Swagger, JetBrains WebStorm.
React plugins: react, react-addons-shallow-compare, react-color, react-cookie, react-cursor-position, react-dom, react-draft-wysiwyg, react-dropzone, react-loader-advanced, react-redux, react-router, react-router-dom, react-router-redux, react-sortable-hoc, react-toolbox.

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

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

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

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


Виктор БуровРуководитель отдела разработки, компания ООО “ДиБиАй”, Россия, Ростовская область

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


Редизайн портала системы учета и контроля расходов телекоммуникационных услуг

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

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

Основные задачи, которые мы должны были решить и успешно решили в рамках данного проекта:

После выполненных работ по редизайну обновленная система представляет единую точку входа получения информации о всех счетах клиента (mobile, fixed, RAS, data) и выступает как служба ведения отчетности организации на всех уровнях – корпоративном, региональном и в масштабах страны, местном и на пользовательском уровне.

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

Техническое описание проекта

Система представляет собой многомодульное Maven-приложение.

В качестве базы данных система использует Oracle. Взаимодействие с базой данных осуществляется с помощью Hibernate и JPA. В некоторых случаях для достижения лучшей производительности задействован JDBC Connection.

Серверная часть всей системы реализована на языке Java c использованием широко известных фреймворков Struts2 и Spring.

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

Разработана веб часть для обновленного формата файлов на основе MVC паттерна, были реализованы новые страницы с использованием JSP, CSS, JS, TAGS, и их внутренняя логика с использованием следующих фреймворков Struts2, Spring, Hibernate, JPA.

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

Технологии:

Stack: Java, Maven, JPA (Hibernate), JDBC Connection, Servlet API, TagLib, JSTL, Jaxb, SuperCSV, Apache commons, Apache POI.
Infrastructure: Jenkins, SVN.
Frameworks: Struts2, Spring, Spring security.
Test Automation libraries: Mockito, JUnit.
DB: Oracle, PL/SQL.
Other libraries: Ehcache, Achartengine.

Скриншоты:

Что делали на проекте, наши обязанности:

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

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

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

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


Корпоративное мобильное приложение по учету трафика и управлению расходами на коммуникации

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

Разработанное нами мобильное приложение работает на платформе Android и является корпоративным рабочим инструментом по учету трафика и управлению расходами на коммуникации для любого сотрудника телеком компании.

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

Функции приложения:

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

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

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

Техническое описание проекта

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

В качестве базы данных для хранения данных на Android устройстве в приложении используется SQLite. Для связи таблиц базы данных с объектной моделью приложения используется ORMLite фреймворк.

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

Создано несколько наблюдателей для сбора данных о расходах клиента на услуги связи.

Приложение интегрировано с другими системами заказчика с помощью Rest и SOAP веб-сервисов.

Unit-тестирование данного android приложения проведено с помощью фреймворка Robolectric.

Приложение защищено от реверс-инжиниринга с помощью ProGuard библиотеки, а также подписано SSL сертификатом, который создан с помощью BounceCastle библиотеки.

В качестве системы контроля версий на проекте использовался SVN, и Jenkins – как система непрерывной интеграции. С помощью Jenkins также организовано автоматическое обновление приложения в маркете.

Технологии

Stack: Java, Android SDK, Maven, OpenCSV, Gson, Json, Apache commons, Apache POI, Rest, Soap.
Infrastructure: Jenkins, SVN.
Test Automation libraries: JUnit, Robolectriс, Mockito.
DB: SQLite, ORMLite.
Other libraries: Support Library, Achartengine, LibPhoneNumber, ProGuard, BounceCastle.

Скриншоты

Что делали на проекте, наши обязанности

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

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

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

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

Перенос коммерческих интеграционных Mule-приложений c on-premise в облачную среду

Краткое описание проекта:
Задача данного проекта заключалась в переносе интеграционных приложений, соединяющих глобальную Distribution Management System с ERP системами (SAP и JD Edwards) региональных дистрибьюторов, с on-premise среды на облачную платформу CloudHub.

Интеграционные приложения были реализованы при помощи MuleESB. Основная сложность заключалась в том, что каждое приложение запускалось в нескольких экземплярах с отдельными настройками для каждого рынка/дистрибьютора, при этом для некоторых приложений количество таких настроек приближалось к 30. Это не представляло проблемы при работе на серверах заказчика в среде on-premise, но для запуска каждого приложения в облаке создается специальный контейнер с определенным количеством выделенных ресурсов. В рамках платформы CloudHub это называется vCore, и он может иметь значения 0.1, 0.2, 0.5 и т.д. Т.е. даже при условии выделения минимального количества vCores (0.1) на одно приложение, была бы возможность одновременного запуска лишь малой части от всех приложений.
Для решения данной проблемы все приложения были обновлены и адаптированы для работы со специальным Mule-application, которое позволяет динамически деплоить их по расписанию. Кроме этого, были обновлены все используемые библиотеки и Mule Runtime до последних версий.

Технологии: Mule ESB, Anypoint Platform, CloudHub, RAML, Maven, Jenkins.

Скриншоты: 

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

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

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

Доработка веб-приложения «Электронный паспорт лаборатории»

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

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

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

Технологии: Java 6, XML, Maven, Spring Framework 3.2 (context, beans, web, security, ldap, orm, tx), Hibernate 4.2, c3p0, MySQL Connector, HSQL DB (embedded database for development), Jackson JSON mapper, JSP, JSTL, EL, SLF4J, LogBack, P6Spy, jUnit, JavaScript, ExtJS 4.2, JSON, BIRT

Скриншоты:

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

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

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

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


Андрей Романов, Технический директор, компания РМБиТ, Москва, Российская Федерация

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

Система автоматического мониторинга цен конкурентов, оптимизации цен в своих магазинах

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

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

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

При сканировании торговых площадок (например: Amazon, Ebay, Pricerunner), система автоматически находит ваших конкурентов, у которых есть аналогичный товар, что и у вас. При этом система информирует не только о старых конкурентах, но и о появлении новых. Затем пользователь может добавить в систему нового конкурента и настроить новые правила для изменения цен на свои продукты.

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

Система состоит из двух независимых приложений: веб-приложение и краулер.

1. Веб-приложение – приложение, с которым взаимодействует пользователь: настраивает свой кабинет (dashboard), добавляет конкурентов, задает правила регулирования цен продуктов, управляет сканированием продуктов.
Бэкенд реализован на Java c использованием Spring. Используется БД MySQL, для быстрого доступа к данным используется Apache Solr. Приложение разбито на модули, которые можно развернуть на отдельных серверах, для связи между модулями используется RabbitMQ.
Фронтенд разработан с помощью ExtJS и Bootstrap.
Защиту обеспечивает KeyCloak сервер.

2. Краулер – отдельное приложение, которое занимается сканированием интернет магазинов. Разработан на Scala с использованием Apache Spark фреймворка.
Для большинства cms магазинов написаны скрипты для парсинга, которые разбирают структуру магазина, находят информацию о продуктах, сохраняют информацию в БД. Для парсинга новых или нестандартных cms есть возможность указывать индивидуальные парсинг правила, используя определенный шаблон.

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

Технологии:

Backend: Java EE, Hibernate, JPA, Spring, KeyCloak, MySQL, Solr, RabbitMQ, Jackson, Apache Tomcat.
Frontend: ExtJS, JQuery, JavaScript, Bootstrap.
Crawler: JavaScript, Spark, Scala.
Jira, HipChat, GitHub, Jenkins, Maven.

Скриншоты: 

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

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

Достижения:

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

Бизнес составляющая проекта

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

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

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

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

Техническое описание проекта

Оболочка представляет собой desktop-приложение и реализована при помощи фреймворка Electron. Клиентская оболочка и Windows-служба работают в тесной связке и образуют в паре “приложение клиента”. Служба следит за процессом оболочки и перезапускает его каждый раз, когда он аварийно завершается либо несанкционированно закрыт через диспетчер задач. Также в службе реализовано слежение за продолжительностью сеанса. Когда оплаченное время пользователя заканчивается, служба сообщает оболочке, что нужно заблокировать доступ пользователя к Windows.

Служба устанавливается автоматически, во время инсталляции оболочки. Одновременно в системе Windows создается пользователь с ограниченными правами, который устанавливается в качестве “пользователя по умолчанию”. В качестве shell для новой учетной записи прописывается оболочка.

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

Оператор клуба со своего рабочего места может заблокировать любую пользовательскую машину. Для этого приложение кассира пошлет запрос о блокировке на сервер, а сервер по webSocket передаст сообщение приложению клиента.

Компьютеры в приложении кассира идентифицируются по ip-адресу и идентификационному номеру, который формируется путем хэширования mac-адреса компьютера.

Данные о всех сессиях пользователей хранятся в базе данных MySQL и отображаются в приложении кассира.

Технологии

Stack:Apache Maven, Apache Tomcat, Tyrus, ReactJS, Redux, JNA
Programming languages: Java 11, JavaScript, Node.js
Frameworks: Electron, Spring Boot, Spring Data, Spring Security
Infrastructure: Gerrit, IntelliJ IDEA, Jira, Inno Setup, VM VirtualBox, JetBrains WebStorm
DB: MySQL
Test libraries: Junit, DBunit.
Other libraries: Lombok, JsonWebToken, Log4j2.
Protocols: WebSocket, REST.

Скриншоты: 

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

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

За три месяца был выполнен большой объем работ и решение передано заказчику:

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

Что делали на проекте, наши обязанности

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

Апплет для цифровой подписи документов

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

Проект представляет собой java апплет, позволяющий пользователям на их локальных компьютерах осуществлять электронную подпись документов, хранящихся на удаленном сервере. В основе апплета лежит алгоритм электронной подписи, построенный на базе инфраструктуры открытых ключей (англ. PKI – Public Key Infrastructure). Апплет может работать в различных браузерах и не требует никакой дополнительной настройки.

Для электронной подписи документа апплетом предусмотрено использование электронных ключей, соответствующих стандартам PKCS#11 и PKCS#12. Стандарт PKCS#11 описывает интерфейс доступа к криптографическим устройствам. В качестве таких устройств в апплете используются смарт карты и USB-токены. Стандарт PKCS#12, в свою очередь, описывает формат файла, используемого для хранения электронных ключей. Для создания электронной подписи используется Bouncy Castle Crypto API. Подписанные документы загружаются на сервер по протоколу TLS.

Команда JazzTeam осуществила работы в несколько этапов. На первом этапе были успешно реализованы механизмы аутентификации пользователей на основе электронных сертификатов и отправки подписанных документов по протоколу TLS. На данном этапе функционал был разработан для версии Java 1.6 (с поддержкой Java 1.4). Следующим этапом работ по проекту было осуществление поддержки Java 1.8.

Технологии:

Stack: Java, AWT/Swing, JavaScript.

Infrastructure: Maven, IntelliJ IDEA, Jira.

Other libraries: Bouncy Castle Crypto API.

Protocols: TLS.

Скриншоты: 

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

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

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

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

Виталий Петров, Директор по развитию бизнеса, DocLogix, Вильнюс, Литва

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

Система управления ресурсами предприятия

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

Система СПМ

Система СПМ (англ. Название «Lean SCMo ERP») компании Райтстеп (далее Заказчик) предназначена для управления производственно-логистическими цепочками (внутренними и внешними) промышленных предприятий.

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

Позволяет строить ПС (Производственные Системы) на основе концепций: MRP-II (структура планов и объектов), SCM (методы планирования, оптимизация и управления цепочками), Lean (вытягивание, канбан, визуализация), TOC (планирование и приоритизации), APS (синхронное оптимизированное планирование производственно-логистической цепи), обновленная «Новочеркасская система Родова» (доработанное планирование через «картотеку пропорциональности», мониторинг через «график пропорциональности»), и др.

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

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

Система управления ресурсами предприятия (СУР, далее система) предназначена для планирования, управления, мониторинга и анализа работы любого предприятия с использованием информационной системы. При работе с системой конечному пользователю не требуется устанавливать никакое дополнительное ПО, поскольку СУР работает прямо в браузере.

Кратко о функциональности Системы

  1. Ведение нормативно-справочной информации (НСИ). Система позволяет вести или импортировать данные об изделиях, ДСЕ, деталях, материалах; о технологических маршрутах, обеспечивая автоматизированными рабочими местами конструкторско-технологические службы, ПДО, службы МТС и др.
  2. Планирование и управление производством и поставками:
    • Управление выпуском (долгосрочное планирование),
    • Моделирование сложного распределенного производства и межзаводской кооперации,
    • Синхронизированное планирование разработки – производства – поставок – кооперации,
    • Обеспечение МТС, межзаводской кооперации по производству и поставкам,
    • Оперативное планирование и управление производством.
  3. Мониторинг, KPI:
    • On-line мониторинг производства/поставок по всей цепочке. В разрезе заказа/контракта/поставщика /кооператора/цеха/участка.
    • От детального (для мастера) до сводного (для генерального директора), с возможностью “drill-down” до деталей и операций.
    • Контроль общей синхронности работы заводов/цепочки поставок, визуализация экономики и эффективности работы в срезе синхронности и своевременности выполнения планов.
  4. Отчётность. Поддерживается сбор различной информации и выгрузка в виде XLSX-файлов (и др.форматов), в информативном для специалистов и руководителей виде, в различных разрезах.
  5. Открытость и удобство в использовании также и распространенных внешних средств отчетности и бизнес-аналитики.
  6. Поддержка ролевой модели управления доступом. Система позволяет гибко управлять уровнем доступа пользователей к различным функциям и данным.

Заказчик: компания “Райтстеп”

Райтстеп (www.rightstep.ru) – консалтинговая и ИТ компания, фокусирующаяся исключительно на решении проблем в планировании и управлении производством и поставками.

Райтстеп – команда состоявшихся профессионалов. Основные эксперты и специалисты компании – вместе с 2003 года, с большим производственным и ИТ-опытом постановки и запуска в эксплуатацию систем управления на десятках промышленных предприятий.

Цель Райтстеп – сделать каждый производственный бизнес максимально эффективным. Обеспечить, прежде всего, быстрое выполнение заказов клиентов (в т.ч. и ГОС-), причем «точно вовремя», «точно в количестве», с минимальными производственными издержками и высокой производительностью.

Кратко об архитектуре

С точки зрения реализации Система представляет собой web-приложение, состоящее из двух частей:

  1. HTTP-server сервисами, реализованными в стиле REST, с использованием Scala.
  2. Frontend, реализованный с использованием Vue.js.

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

Пользователи взаимодействуют с данными, представленными как в табличной форме, так и в виде интерактивной инфографики (диаграммы). При этом взаимодействии могут выполняться CRUD операции, в результате чего формируются запросы, которые отправляются в виде HTTP-запросов в Backend.

Далее, на стороне Backend выполняется анализ корректности данных и сохранение в БД. Во Frontend возвращается ответ с данными в универсальном для приложения формате, который преобразуется для отображения на стороне пользователя (во Frontend) интерфейсных форм.

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

Проверка корректности данных проводится как на стороне Frontend-а: корректность введенных данных, проверка математических операций и т.д, так и на стороне Backend: корректность полученных данных, вычислений значений бизнес-функции и прочее.

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

Технологии

Stack: Java SE 8, Scala, Node.js, JavaScript.
Frameworks: Vue.js.
Infrastructure: Jenkins, Git, TestLink, Redmine, Confluence, IntelliJ IDEA.
DB: PostgreSQL.
Test libraries: Mocha, Cucumber.
Other libraries: Selenium WebDriver, Selenium-Js, Axios, Moment, Chai, Faker.js, log4js.
Protocols: REST, Http.

Скриншоты

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

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

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

Что делали на проекте, наши обязанности

  1. Написали и внедрили план по внедрению и автоматизации тестирования, организовали и осуществили мануальное и автоматическое тестирование ERP системы.
  2. Написали базовый (60 тестов) и полный наборы тестов (158) для проведения smoke и регрессионного тестирования.
  3. Установили и запустили сервера Jenkins и TestLink, установили и настроили плагин для интеграции результатов из Jenkins в TestLink. Также в процессе работы была выполнена доработка исходного кода плагина под наши потребности.
  4. Проработали и применили схему порядка взаимодействия job на Jenkins.
  5. Создали шаблоны автотестов для последующего переиспользования.
  6. Организовали тестирование средствами TestLink.
  7. Выполнили рефакторинг тестов, на постоянной основе проводили анализ автотестов с их последующей актуализацией.
  8. Выполнили документирование процесса тестирования, создали ряд документов:

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

Светлана Питеркина, к.т.н., Директор по консалтингу, ООО “Райтстеп”, Москва, Россия

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

Начинали с чистого листа, во многом основываясь на опыте и компетенции команды JazzTeam.

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

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

Разработка компонент облачной IoT платформы по учету энергоресурсов и управлению приборами учета энергоресурсов

IoT (Internet of things) – довольно широкое понятие. В самом общем смысле, это сеть, объединяющая различные устройства, бытового или промышленного назначения. Такая сеть может быть использована в сфере ЖКХ (жилищно-коммунального хозяйства), например, для управления приборами учета энергоресурсов, получения показаний, обработки данных показаний, что может привести к снижению операционных издержек энергетических компаний и повышению эффективности их деятельности.

В рамках проекта команда JazzTeam плотно сотрудничала с R&D службой компании заказчика, являющейся крупным оператором на российском рынке услуг по передаче данных в сфере IoT. Данная компания владеет и управляет облачной M2M – телекоммуникационной платформой (межмашинное взаимодействие) и сетью базовых станций. Базовые станции размещены во всех регионах России. Каждая базовая станция принимает пакеты от множества приборов учета через присоединенные к ним радиомодули и передает данные в M2M платформу. Связь между устройствами и базовыми станциями осуществляется через беспроводные соединения, использующие широкополосную модуляцию LoRa. Метод модуляции LoRa применяется в беспроводных сетях LPWAN (от англ. Low Power Wide Area Network), использующих для передачи данных открытый энергоэффективный сетевой протокол LoRaWAN (от англ. Long Range Wide Area Networks).

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

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

  1. “SNMP-агент”, позволяющий подключаться к облачной телекоммуникационной платформе по протоколу SNMP. Реализована поддержка получения и установки динамических показателей устройств IoT по их идентификатору, полученных по gRPC. Все команды агента были описаны в MIB-файле. Было добавлено логирование в различные источники, в том числе syslog. Разработанный агент был успешно внедрен в систему развертывания заказчика в качестве Docker-контейнера.
  2. “Конвертер протоколов”, предназначенный для стандартизированного обмена данными о показаниях приборов учета (вода и электроэнергия) с внешними приложениями. Конвертер приводит сообщения из стандарта, используемого внешними системами, к внутреннему стандарту и наоборот. При отправке всех сообщений используется протокол M-BUS. С помощью Kaitai, на основе спецификаций, были созданы парсеры для обоих стандартов. В процессе реализации парсеров в форке Kaitai были обнаружены критические баги, которые были исправлены. Для всей функциональности конвертера были созданы Unit-тесты.
  3. Прототип “Модуля повторного запроса отсутствующих показаний приборов учета”. Модуль получает запросы показаний от внешних систем. Проверяет наличие данных показаний в базе данных и, если данные показания отсутствуют в системе, формирует запрос на съем показаний с приборов учета. При формировании запросов модуль определял, делать либо запросы единичных показаний, либо запрос показаний на период. Это предназначено для минимизации запросов к базовым станциям.

Технологии:

Programming languages: Java 8, SNMP4J, Scala, Kaitai.

Infrastructure: Maven, Docker, Fabric8, TeamCity, Git, IntelliJ IDEA, Jira.

Test libraries: Junit 4.

Other libraries: Lombok.

Protocols: gRPC, SNMP.

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

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

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

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

Шириков Вячеслав, Технический директор ООО «Лартех Телеком», Санкт-Петербург, Россия

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

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

Все работы выполнены в полном соответствии с требованиями и в указанные сроки.

Желаем компании JazzTeam успехов в профессиональной деятельности.

Автотестирование web-приложения сервиса по обслуживанию автомобилей

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

С точки зрения реализации продукт представляет собой web-приложение, состоящее из трех частей:

  1. HTML-based web-приложение,
  2. Flash-based web-приложение,
  3. HTTP-server c RESTful API сервисами.

Технологии:

Stack: Java, Maven.
Infrastructure: Jenkins, Jira, TestRail.
Test Automation libraries: TestNG.
Other libraries: Selenium Webdriver.
Version control system: SVN.

Скриншоты:

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

Особенность проекта состоит в том, что за несколько месяцев от нас требовалось:

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

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

Наше главное достижение на проекте – это довольный заказчик и его желание продолжать сотрудничество с нашей командой на новых проектах.

Что делали на проекте, наши обязанности:

Приложение для оценки и управления стоимостью реализации масштабных промышленных проектов

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

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

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

Непосредственно в задачи JazzTeam входили/входят:

Технологии проекта:

Stack: Java 8, Active MQ, Swing, Maven
Infrastructure: Jira, Git
Test libraries: JUnit
DB: Microsoft SQL Server

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

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

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

BIG DATA-система формирования отчетности

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

Техническое описание:

Заказчик использует базу данных Oracle, которая содержит большое количество записей. Сложная структура базы и большое количество данных приводили к тому, что формирование отчетов на основе этих данных происходило достаточно медленно. Задача команды JazzTeam состояла в сокращении времени формирования отчетов, при этом не изменяя существующую структуру данных.
На этапе технического анализа было принято решение использовать OLAP подход и внедрить хранилище аналитических данных, не изменяя при этом существующую базу данных Oracle. Отобрали трех кандидатов:

Каждую систему нагружали реальными данными и замеряли тестами показатели производительности. Наилучший результат показала система Apache Druid. Ее архитектура хорошо подходит для быстрого формирования отчетов из большой базы данных.
На следующем этапе мы разработали прототип на основе связки:

Oracle + Java + Spring + Spring Batch + JUnit + Apache Droid 

Прототип выполнял следующие операции:

  1. Выгрузка данных из Oracle Database.
  2. Загрузка данных в Apache Druid.
  3. Формирование отчетов.
  4. Дополнение и корректировка существующих отчетов.

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

Технологии:

Язык программирования: Java
Фреймворки: Spring, Spring Batch, JUnit
Базы данных: Oracle Database, Cassandra, MongoDB, Apache Druid.
Облачный сервис: Amazon Web Services.

Скриншоты:

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

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

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

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

Интеграция JDE с eCommerce платформой Magento

Краткое описание проекта: перед нашей командой было поставлено несколько крупных задач.
Первая задача состояла в разработке решения, которое позволяет произвести первоначальный импорт и последующую синхронизацию данных из уже использующейся ERP-системы JDE в новую eCommerce платформу Magento.
Бизнес-модель компании заказчика предполагает, что его клиенты получают разные, отличные друг от друга, цены на товары и услуги. Таким образом наша вторая задача состояла в предоставлении возможности отображать цены таргетированно – для каждого клиента свой набор цен. Поэтому наше решение также должно предоставлять API для получения информации о ценах для каждого конкретного клиента.

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

Технологии:

Stack: Java SE 8, Mule 4.2 Community Edition.
Infrastructure: Git, Anypoint Studio, Jira, Elasticsearch, Logstash, Kibana.
Frameworks: Spring 5.
Test Automation libraries: MUnit.
DB: MS SQL 2016.

Скриншоты:

Диаграмма, отображающая отношения в Magento-import-component

Ежедневно в определенное время запускается процесс импорта новых записей из БД в Magento. Первоначально компонент отправляет запрос со списком новых артикулов с целью выяснения, какие из них необходимо обновить, а какие создать. После получения ответа процесс разделяется на 2 подпроцесса: обновление и создание продуктов.

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

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

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

Что делали на проекте, наши обязанности: