• Kotlin DSL: Теория и Практика

    • Tutorial

    Sql, RegExp, Gradle — что их объединяет? Всё это примеры использования проблемно-ориентированных языков или DSL (domain-specific language). Каждый такой язык решает свою узконаправленную задачу, например, запрос данных из БД, поиск совпадений в тексте или описание процесса сборки приложения. Язык Kotlin предоставляет большое количество возможностей для создания собственного проблемно-ориентированного языка. В ходе статьи мы разберемся, какие инструменты есть в арсенале программиста, и реализуем DSL для предложенной предметной области.


    Весь синтаксис, представленный в статье, я объясню максимально просто, однако, материал рассчитан на практикующих инженеров, которые рассматривают Kotlin, как язык для построения проблемно-ориентированных языков. В конце статьи будут приведены недостатки, к которым нужно быть готовым. Используемый в статье код актуален для Kotlin версии 1.1.4-3 и доступен на GitHub.


    Читать дальше →
  • Что нового в CUBA Platform 6.5

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

      Под катом:

      • Uber JAR
      • UI-компонент для предиктивного поиска
      • Версионирование REST API
      • Балансировка нагрузки в кластере
      • Компонент приложения ZooKeeper
      • Улучшения в Polymer UI
      • Поддержка Bean Validation в CUBA Studio
      • Поддержка Groovy в слушателях сущностей
      Читать дальше →
    • Миграция устаревшей информационной системы на платформу CUBA

      • Tutorial


      Быстрое развитие технологий и инструментов разработки ПО приводит к тому, что технологии, лежащие в основе информационной системы, теряют свою актуальность и становятся тяжелой ношей. Взять, к примеру, какую-нибудь разработку компании для автоматизации процессов, написанную на Visual Basic 6.0 или Delphi 7, которая, мягко говоря, не сочетается с новыми трендами “все в web, все в облака”, да и не соответствует амбициям разработчиков.


      Проблема перевода старой ИС на новые технологии, доходя до руководства, традиционно упирается в деньги: “поживем и так...”. Для разработчиков, в свою очередь, уже перенос модели данных и шаблонное программирование стандартных экранов вызывает негатив. При этом зачастую все усложняется требованием сохранения работоспособности старой ИС на этапе разработки и внедрения новой. Так или иначе, по моему опыту, продукт либо умирает совсем, вызывая мучения как программистов, так и пользователей, либо все же приходит понимание, что обновление ИС — неотложная необходимость.


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


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


      Читать дальше →
      • +13
      • 3,9k
      • 4
    • Что нового в CUBA Platform 6.4

        CUBA Generic UI templates


        Недавно мы выпустили новый релиз CUBA Platform и CUBA Studio. Если в версии 6.3 мы сделали акцент на архитектурных и технических новшествах, то этот релиз прибавил к платформе много фич, с которыми процесс разработки стал быстрее и удобнее. Мы добавили новые визуальные компоненты универсального пользовательского интерфейса, централизованный механизм валидации данных, движок для генерации альтернативного фронт-энда на основе Google Polymer и другие важные улучшения. Подробности — под катом.


        Disclaimer: статья в первую очередь адресована разработчикам, уже знакомым с платформой CUBA.


        Читать дальше →
        • +18
        • 4,9k
        • 5
      • 2016: год радикальных изменений для платформы CUBA

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

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

          image
          Активные проекты на платформе CUBA
          Читать дальше →
          • +21
          • 5,5k
          • 5
        • Разработка системы электронного документооборота изнутри: Как мы готовим СЭД ТЕЗИС к релизу

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

            Но для того чтобы создать инструмент, способный что-то систематизировать и упорядочивать, нужно для начала самим научиться систематизировать и упорядочивать свои дела. Для нас главное дело — разработка системы документооборота ТЕЗИС. Поэтому неудивительно, что работа над каждым новым релизом системы тоже движется по четкому маршруту — как работа над любым документом в нашей СЭД.

            В этой статье мы хотим ненадолго пустить читателя на внутреннюю кухню разработки системы документооборота. Мы расскажем об этапах подготовки к релизу СЭД ТЕЗИС и покажем, как выстроена работа над новыми версиями. Возможно, наш организационный опыт окажется кому-то полезным.
            Читать дальше →
          • Платформа CUBA: Java RAD фреймворк с открытым кодом

              image Незаметно пролетели почти три года с момента публикации первой статьи о платформе на Хабре. За это время многое изменилось: мы вышли на международный рынок, перешли к open source лицензии, обновили стек технологий и внесли множество улучшений во фреймворк и средства разработки. Поэтому вместо длинного списка изменений мы решили опубликовать ещё одну обзорную статью о платформе CUBA, которая, я надеюсь, будет интересна разработчикам кровавого энтерпрайза корпоративных информационных систем — как ещё не знакомым с платформой, так и тем, кто уже что-то слышал о ней.

              Итак, под катом вы узнаете:
              • Что представляет из себя платформа CUBA и какова её архитектура
              • Какие решения эффективнее всего разрабатывать на CUBA
              • Как платформа помогает сэкономить время разработки корпоративных систем
              • Какое окружение необходимо для развертывания CUBA-приложений
              • Как мигрировать устаревшую систему на CUBA
              • Под какой лицензией распространяется платформа
              • Как организована поддержка разработчиков
              Читать дальше →
              • +18
              • 11,5k
              • 9
            • «Сапожник в своих сапогах»: как мы писали модуль управления финансовыми ресурсами для внутренней СЭД

                image

                Не секрет, что мы в Хоулмонт сами используем СЭД ТЕЗИС. Странно было бы, имея в руках современный и надежный инструмент для хранения и согласования документов, пользоваться чем-то еще. Неудивительно и то, что для любой достаточно крупной компании штатной функциональности СЭД порой не хватает. В этой статье мы расскажем, как создавался дополнительный модуль к нашей внутренней СЭД ТЕЗИС — модуль управления финансовыми ресурсами, или просто модуль финансовых заявок, как мы его зовем. А заодно воспользуемся случаем и немного покажем, как проводится проектное внедрение системы на примере отдельно взятой организации.
                Читать дальше →
              • Три столпа платформы для системы документооборота

                  «Мы есть то, что мы едим» — к этому выводу пришли еще древнегреческие мудрецы. Именно они подметили, что пища, из которой, как из кирпичиков, складывается фундамент организма, влияет не только на самочувствие человека, но также и на его настроение, умственную деятельность и даже отвечает за «духовное здоровье».
                  image
                  У системы документооборота тоже может быть свой фундамент — технологическая платформа. Выбор платформы и принципов, на которых она построена, в буквальном смысле влияет на то, как СЭД будет дальше жить — ведь эти принципы и есть те самые “кирпичики”, которые обеспечивают ее устойчивость.

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

                  Именно в таких случаях важен выбор платформенного решения. Однако, какой должна быть платформа, лежащая в основе будущей СЭД? Какие фундаментальные принципы должны лежать в ее основе? Мы выделили для себя три основных принципа, которыми должна обладать технологическая платформа системы электронного документооборота, чтобы обеспечить успешное развитие СЭД в будущем.
                  Читать дальше →
                • Платформа CUBA выходит на рынок Свободного ПО

                    Спустя два года присутствия на российском и года на мировом рынках платформа CUBA присоединяется к кругу свободно распространяемого программного обеспечения и переходит на лицензию Apache 2.0. Таким образом, широкий круг разработчиков Java, ориентирующийся на открытые технологии, получит возможность разрабатывать и распространять свои CUBA приложения абсолютно бесплатно, а также изменять и развивать платформу самостоятельно!

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



                    Добро пожаловать под кат, чтобы узнать, как и почему платформа сделала разворот в сторону СПО.
                  Самое читаемое