Все больше и больше аналитиков, проджектов и продактов приходят в айти из маркетинга, консалтинга, продаж и других нетехнических индустрий, да и вообще без опыта работы. И я тут не стал исключением. Существует проблема, что в первые годы на тебя падает немерено технических терминов и концепций, ты пытаешься в них разобраться, но не понимаешь до какого уровня деталей тебе надо опускаться в каждой из них. Надо ли разбираться, что значит обнаруженный тобой термин WSDL и какие бывают виды асинхронного выполнения запроса, или достаточно знать, что у веб-сервиса просто есть запрос и ответ? Статья нужна, чтобы решить эту проблему для одной из самых частых фичей – научиться работать с веб-сервисом для обмена данными, выполнения целевых действий в других системах и прочих интеграций.
Автоматизированное тестирование баз данных в Java с помощью JdbcTemplate
Бывает, и достаточно часто, что во время автоматизированного тестирования наши тесты должны взаимодействовать с базами данных. Иногда нам нужно установить какие-либо тестовые данные. В других случаях нам нужно совершать запросы в базу данных, чтобы получить те самые тестовые данные. И давайте не будем забывать об очистке данных, которые мы использовали и которые больше нам не нужны. В этой статье я покажу, как вы можете использовать класс Spring JdbcTemplate для упрощения работы с базой данных MySQL из ваших автоматизированных тестов на Java.
Вам также следует взглянуть на это замечательное дополнение к базе данных MySQL, созданное сообществом для библиотеки дополнений TestProject, позволяющее расширить возможности тестирования с помощью предварительно созданных автоматизированных экшенов, которые вы можете мгновенно внедрить в ваши написанные и закодированные тесты.
Selenium для игр: автоматизируем крестики-нолики
На тему моего стрима на этой неделе меня вдохновила демонстрация Судхарсана Селвараджа, где он использовал Selenium для игры на виртуальном пианино. Я тоже хотела использовать Selenium, чтобы немного развлечь вас и себя, поэтому составила этот «рецепт», наглядно демонстрирующий, как автоматизировать игру в крестики-нолики (tic-tac-toe) онлайн!
Что особо примечательно в этом рецепте, так это то, что он выходит за рамки привычного использования Selenium для тестирования и способствует развитию навыков проектирования.
PHPConf 2007: новые темы докладов, регистрация тезисов продлена до 5 февраля
В связи с большим потоком интересных докладов — прием тезисов продлен до 5 февраля.
Новые тезисы:
- Практика независимой WEB-разработки (freelance)
- Достоинства применения служб LDAP на предприятии
- Аспектно-ориентированное программирование(AOP) в PHP
- Управление зависимостями в программном коде
KISS + Ruby = нагрузим сервер по быстрому
Жила-была себе одна большая система, жила уже не первый год, не первый релиз.
Система представляет из себя центральные сервера, через которые бегает информация и набор desktop приложений которые эту информацию и порождают/потребляют, так сказать gateways и destination.
Однажды с сервером случилась беда, для локализации дефекта нужно было нагрузить сервер — имитировать работу БОЛЬШОГО кол-ва одновременных активных клиентов.
Отправляем SMS со своего номера Мегафон без GSM-аппарата
Некоторое время назад Yastrebon опубликовал найденную фичу отправки sms\mms через шлюз Мегафона. Причем отправлять со своего номера и оплачивать со своего-же счета (включая разные бонусные программы и пакеты).
Выдалось свободное время и я решил написать библиотечку-враппер над этим сервисом.
Пишем веб сервис используя gSOAP
О чем речь?
Иногда в старом и добром C++ возникает потребность в реализации SOAP сервисов. Конечно, истинные любители программирования бросаются писать сервер самостоятельно, я же предпочитаю не тратить время впустую и использовать готовые библиотеки. Сегодня я хочу осветить (совсем чуть-чуть) тему использования библиотеки gSOAP в своих приложениях на C++ в качестве сервера.
Ws-security в SoapUI Pro
Самодокументированный JAX-WS с поддержкой XSD Restrictions
WSO2: Настройка прокси к сервису с аутентификацией по логину и паролю
Задача
Есть приложение, которое может запрашивать данные по определённому протоколу и есть сервис, который может отдавать данные, но по другому протоколу и требует авторизации по логину и паролю.
В приложении нет учётных данных необходимых для доступа к сервису. Необходимо подружить приложение и сервис.
Решение
Использовать шину: WSO2 Enterprise Service Bus, на которой настроить прокси-сервис.
Как ServiceStack помогает поставить разработку веб-сервисов на поток
Если интересно, прошу под кат.
Приемы разработки ASMX веб-сервисов
Пять очевидных ошибок, которые почему-то продолжают совершать
Пролог
Сайты иногда падают. Такое случается. Но вот то, что описано в статье, случаться не должно.
#1
Недавно зашёл на сайт одной компании и увидел (в очередной раз, замечу) вместо него сообщение об ошибке:
Почему сайт упал — это отдельный разговор. Скажу лишь, что это на совести его разработчиков.
Первая ошибка (слишком очевидная, но…): показ сообщений об ошибках. Да, все знают, что нужно отключать дебаг в продакшене. Но, чёрт возьми, почему я регулярно вижу сообщения об ошибках в своём браузере?!
API ХостТрекера: новые возможности сервиса
Автоматизация тестирования Java EE веб-сервисов с помощью SoapUI и Arquillian
Еще один способ тестирования веб-сервисов с использованием AssertJ
Принцип такой:
1. Создаем maven проект.
2. Настраиваем его так, чтобы с каждым запуском выполнялось следующее:
2.1. загружалось WSDL описание сервиса по ссылке
2.2. генерировался код клиента на основе WSDL описания
2.3. генерировался код ассертов для классов, участвующих в проверках, в том числе тех, которые были сгенерированы на предыдущем этапе
3. Пишем тесты.
4. Добавляем проект в jenkins, который и запускает само тестирование.
Нам понадобятся следующие инструменты: Java, maven, AssertJ, TestNG.
AssertJ — интересный фреймворк, который, помимо всего прочего, умеет генерировать асерты для конкретных классов. Это позволяет писать тесты так:
Как реализовать SOAP- сервис для работы с таблицами Google через SQL
Но вот недавно, разбираясь с новыми фичами WSO2 Data Services Server обнаружил, что в нем можно легко реализовать SOAP-сервис для работы с таблицами Google (который потом можно подцепить где угодно). Причем работа с данными в таблице осуществляется через привычный всем SQL.
О том, как это сделать, и хочу рассказать под катом.
Создание бизнес-процесса на языке BPEL с использованием платформы Serena Business Manager
Реализаций движков, позволяющих создавать процессы с использованием этого языка, мне известно не так уж и много. В частности, можно упомянуть Oracle BPEL Process Manager и продукт, о котором пойдет речь дальше – Serena Business Manager (SBM). SBM позволяет быстро создавать web-приложения, автоматизирующие какой-нибудь процесс. В модели процесса (workflow) предусмотрена возможность в момент изменения состояния вызвать внешнюю web службу. А если нужно реализовать какую-нибудь логику и одного вызова недостаточно? Вот тут и пригодится процедура, написанная на языке BPEL и исполняемая средствами той же платформы BPM.
Подробнее на самом языке я останавливаться не буду, в сети можно найти достаточно информации на эту тему, например, здесь. Я же опишу реализацию конкретной задачи.
Опыт автоматизации непростой переписки (Завершение. Выборки и экспорт)
Напомню, что в предыдущих статьях было описано поведение входящих и исходящих писем. Кульминация под катом: много текста, кода и немного анимации.
А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST
Введение
Вот не люблю я изобретать велосипед и статью я бы эту не написал, но пришлось. Про REST сказано уже довольно много. Многие поставщики веб служб готовы клясться, что их службы являются RESTful. Во время собеседования вы точно услышите хотя бы несколько вопросов про REST, независимо от того это собеседования для бэкенд, мобайл или фронтенд разработчика. Я вот помню как-то во время одного собеседования меня задали такой вопрос: «Вот вы написали в своем резюме, что знайте REST․ Ответьте пожалуйста, какой HTTP код вы получите, если при запросе к RESTful сервису ресурс не найден?». Ответ 404 был принят единогласно. Если честно, я так и не понял, как этот вопрос помог понять знаю ли я REST или нет, но одно могу уверенно сказать: REST понимают далеко не все. Вот некоторые вопросы, которые мучали меня долгое время:
- Зачем REST стал таким трендовым? Это архитектура была же предложена еще в 2000 году?
- Что я получу если моя служба будет RESTful?
- Как определить является ли служба RESTful или нет?
- Как правильно должны создаваться URL REST служб?
- Какие http методы и коды должны быть использованы в RESTful службе?
Если вы не можете дать исчерпывающего ответа хотя бы на один из этих вопросов, то продолжайте чтение. Если вы можете однозначно ответить на все эти вопросы, можете привести формат правильного URL, считайте, что GET, POST, PUT, DELETE обязательно должны соответствовать CRUD операциям с ресурсами, то вам обязательно надо продолжать чтение.