Как стать автором
Обновить

Проектирование интеграции с веб-сервисом

Время на прочтение7 мин
Количество просмотров16K

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Автоматизированное тестирование баз данных в Java с помощью JdbcTemplate

Время на прочтение11 мин
Количество просмотров11K

Бывает, и достаточно часто, что во время автоматизированного тестирования наши тесты должны взаимодействовать с базами данных. Иногда нам нужно установить какие-либо тестовые данные. В других случаях нам нужно совершать запросы в базу данных, чтобы получить те самые тестовые данные. И давайте не будем забывать об очистке данных, которые мы использовали и которые больше нам не нужны. В этой статье я покажу, как вы можете использовать класс Spring JdbcTemplate для упрощения работы с базой данных MySQL из ваших автоматизированных тестов на Java.

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

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии3

Selenium для игр: автоматизируем крестики-нолики

Время на прочтение7 мин
Количество просмотров5.7K

На тему моего стрима на этой неделе меня вдохновила демонстрация Судхарсана Селвараджа, где он использовал Selenium для игры на виртуальном пианино. Я тоже хотела использовать Selenium, чтобы немного развлечь вас и себя, поэтому составила этот «рецепт», наглядно демонстрирующий, как автоматизировать игру в крестики-нолики (tic-tac-toe) онлайн!

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

Читать далее
Всего голосов 9: ↑6 и ↓3+3
Комментарии0

PHPConf 2007: новые темы докладов, регистрация тезисов продлена до 5 февраля

Время на прочтение2 мин
Количество просмотров1.2K
Активно продолжается подготовка к 6-й конференции ведущих web-разработчиков PHPConf 2007 (Москва 24-25 мая 2007)

В связи с большим потоком интересных докладов — прием тезисов продлен до 5 февраля.

Новые тезисы:
  • Практика независимой WEB-разработки (freelance)
  • Достоинства применения служб LDAP на предприятии
  • Аспектно-ориентированное программирование(AOP) в PHP
  • Управление зависимостями в программном коде


Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии17

KISS + Ruby = нагрузим сервер по быстрому

Время на прочтение8 мин
Количество просмотров1.6K
Опишу я тут историю как на коленках сделал «нагрузочное» тестирование сервиса, и некоторые соображения по поводу Ruby;)

Жила-была себе одна большая система, жила уже не первый год, не первый релиз.
Система представляет из себя центральные сервера, через которые бегает информация и набор desktop приложений которые эту информацию и порождают/потребляют, так сказать gateways и destination.

Однажды с сервером случилась беда, для локализации дефекта нужно было нагрузить сервер — имитировать работу БОЛЬШОГО кол-ва одновременных активных клиентов.

Читать дальше
Всего голосов 34: ↑29 и ↓5+24
Комментарии25

Отправляем SMS со своего номера Мегафон без GSM-аппарата

Время на прочтение1 мин
Количество просмотров25K
Приветствую!

Некоторое время назад Yastrebon опубликовал найденную фичу отправки sms\mms через шлюз Мегафона. Причем отправлять со своего номера и оплачивать со своего-же счета (включая разные бонусные программы и пакеты).

Выдалось свободное время и я решил написать библиотечку-враппер над этим сервисом.

Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии48

Пишем веб сервис используя gSOAP

Время на прочтение6 мин
Количество просмотров23K

О чем речь?


Иногда в старом и добром C++ возникает потребность в реализации SOAP сервисов. Конечно, истинные любители программирования бросаются писать сервер самостоятельно, я же предпочитаю не тратить время впустую и использовать готовые библиотеки. Сегодня я хочу осветить (совсем чуть-чуть) тему использования библиотеки gSOAP в своих приложениях на C++ в качестве сервера.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии17

Ws-security в SoapUI Pro

Время на прочтение8 мин
Количество просмотров36K
В области разработки различных платежных шлюзов и при решении других интеграционных задач (не думаю, что этим ограничивается область применения данной технологии, но я столкнулся именно в этой области) может встретиться аутентификация в системе согласно спецификации Ws-security (подробное описание в docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf). В этой статье будет рассмотрен случай доступа к веб-сервисам, аутентификация клиента в которых производится по данной спецификации.
Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Самодокументированный JAX-WS с поддержкой XSD Restrictions

Время на прочтение8 мин
Количество просмотров15K
В этой статье я расскажу о создании самодокументируемого web сервиса (jax-ws), который использует элементы XSD Restrictions.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии5

WSO2: Настройка прокси к сервису с аутентификацией по логину и паролю

Время на прочтение7 мин
Количество просмотров16K

Задача


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

Решение


Использовать шину: WSO2 Enterprise Service Bus, на которой настроить прокси-сервис.
Подробности
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Как ServiceStack помогает поставить разработку веб-сервисов на поток

Время на прочтение9 мин
Количество просмотров21K
На хабре незаслужено обойден вниманием замечетальный .Net-фреймворк ServiceStack. Упомянут он очень кратко, в одной лишь статье, и то косвенно, мельком, и в самом конце, и упомянута там лишь мизерная его часть. Очевидно, это связано с тем, что основная масса .Net-разработчиков использует стандартные решения от Microsoft для решения задач по разработке веб-сервисов и веб-приложений, а именно ASP.Net MVC/WebAPI или WCF и не заморачивается. Как мы попытаемся показать в этой статье, современный .Net хорош далеко не только своими стандартными технологиями.



Если интересно, прошу под кат.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии5

Приемы разработки ASMX веб-сервисов

Время на прочтение99 мин
Количество просмотров119K
В этой статье я расскажу о различных приемах разработки SOAP веб-сервисов по технологии ASMX, а также об этой технологии в целом. Кроме SOAP, также будет рассмотрена реализация AJAX. Статья будет полезна как тем, кто уже знаком с ней, так и тем, кто только собирается создать свой первый веб-сервис.
Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии71

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

Время на прочтение3 мин
Количество просмотров53K
В этой статье я расскажу, как из одного сообщения об ошибке на сайте я случайно получил доступ к внутренней информации компании (и даже немного больше). Отмечу, что это можно проделать, используя один лишь браузер.

Пролог


Сайты иногда падают. Такое случается. Но вот то, что описано в статье, случаться не должно.

#1


Недавно зашёл на сайт одной компании и увидел (в очередной раз, замечу) вместо него сообщение об ошибке:



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

Первая ошибка (слишком очевидная, но…): показ сообщений об ошибках. Да, все знают, что нужно отключать дебаг в продакшене. Но, чёрт возьми, почему я регулярно вижу сообщения об ошибках в своём браузере?!
Читать дальше →
Всего голосов 75: ↑68 и ↓7+61
Комментарии39

API ХостТрекера: новые возможности сервиса

Время на прочтение3 мин
Количество просмотров2.9K
Сервис мониторинга сайтов ХостТрекер предлагает возможность управления и настройки мониторинга через API, что очень удобно при необходимости проверять большое количетсво сайтов или же для интеграции сервиса в различные приложения или восстановительные сценарии. API существует сразу в двух вариантах: HTTP (REST) и SOAP.



Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии0

Автоматизация тестирования Java EE веб-сервисов с помощью SoapUI и Arquillian

Время на прочтение8 мин
Количество просмотров54K
Одним из преимуществ веб-сервисов является относительная простота тестирования. Действительно, в простейшем случае все, что нам нужно для проверки работы веб-сервиса – это отправить правильно сформированный HTTP-запрос любым удобным способом и проверить, что вернулось в ответ. С помощью SoapUI – инструмента для всевозможных видов тестирования веб-сервисов (более подробно о возможностях можно почитать на официальном сайте) – этот процесс можно сделать еще удобнее, автоматизировав его: мы можем создать набор тестов, указав в нем, какие запросы следует отправлять, и задав набор правил, которым должны удовлетворять ответы от сервиса. Но, тем не менее, эти тесты мы по прежнему должны будем запускать руками, а душа жаждет полной автоматизации. Действительно, почему бы не запускать эти тесты автоматически при сборке приложения (на CI-сервере или прямо на машине разработчика)?
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

Еще один способ тестирования веб-сервисов с использованием AssertJ

Время на прочтение5 мин
Количество просмотров14K
Захотелось поделиться с вами моим способом тестирования веб-сервисов.

Принцип такой:

1. Создаем maven проект.
2. Настраиваем его так, чтобы с каждым запуском выполнялось следующее:
2.1. загружалось WSDL описание сервиса по ссылке
2.2. генерировался код клиента на основе WSDL описания
2.3. генерировался код ассертов для классов, участвующих в проверках, в том числе тех, которые были сгенерированы на предыдущем этапе
3. Пишем тесты.
4. Добавляем проект в jenkins, который и запускает само тестирование.

Нам понадобятся следующие инструменты: Java, maven, AssertJ, TestNG.

AssertJ — интересный фреймворк, который, помимо всего прочего, умеет генерировать асерты для конкретных классов. Это позволяет писать тесты так:
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Как реализовать SOAP- сервис для работы с таблицами Google через SQL

Время на прочтение5 мин
Количество просмотров15K
Была задача — в ходе подготовки демки одного из решений надо было показать, что клиентскую информацию можно сохранять где угодно — в простом случае, например, в таблицах Google, в более сложном (после полугодового «внедрения»и многомиллионного бюджета) в CRM клиента. В используемой нами WSO2 ESB есть коннектор к таблицам Google — но реализовать требуемый функционал на нем оказалось не очень простой задачей — и тогда я на это забил.

Но вот недавно, разбираясь с новыми фичами WSO2 Data Services Server обнаружил, что в нем можно легко реализовать SOAP-сервис для работы с таблицами Google (который потом можно подцепить где угодно). Причем работа с данными в таблице осуществляется через привычный всем SQL.
О том, как это сделать, и хочу рассказать под катом.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Создание бизнес-процесса на языке BPEL с использованием платформы Serena Business Manager

Время на прочтение3 мин
Количество просмотров13K
Пройдясь поиском по Хабрахабру, удалось обнаружить не так уж и много информации, посвященной, надо сказать, не очень распространённому языку BPEL (Business Process Execution Language). Если говорить в общем, то BPEL – это язык, основанный на формате XML, который позволяет описывать логику бизнес-процессов через использование веб-служб.


Реализаций движков, позволяющих создавать процессы с использованием этого языка, мне известно не так уж и много. В частности, можно упомянуть Oracle BPEL Process Manager и продукт, о котором пойдет речь дальше – Serena Business Manager (SBM). SBM позволяет быстро создавать web-приложения, автоматизирующие какой-нибудь процесс. В модели процесса (workflow) предусмотрена возможность в момент изменения состояния вызвать внешнюю web службу. А если нужно реализовать какую-нибудь логику и одного вызова недостаточно? Вот тут и пригодится процедура, написанная на языке BPEL и исполняемая средствами той же платформы BPM.

Подробнее на самом языке я останавливаться не буду, в сети можно найти достаточно информации на эту тему, например, здесь. Я же опишу реализацию конкретной задачи.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии6

Опыт автоматизации непростой переписки (Завершение. Выборки и экспорт)

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

Напомню, что в предыдущих статьях было описано поведение входящих и исходящих писем. Кульминация под катом: много текста, кода и немного анимации.
Читать дальше →
Всего голосов 5: ↑3 и ↓2+1
Комментарии0

А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST

Время на прочтение18 мин
Количество просмотров145K

Введение


Вот не люблю я изобретать велосипед и статью я бы эту не написал, но пришлось. Про REST сказано уже довольно много. Многие поставщики веб служб готовы клясться, что их службы являются RESTful. Во время собеседования вы точно услышите хотя бы несколько вопросов про REST, независимо от того это собеседования для бэкенд, мобайл или фронтенд разработчика. Я вот помню как-то во время одного собеседования меня задали такой вопрос: «Вот вы написали в своем резюме, что знайте REST․ Ответьте пожалуйста, какой HTTP код вы получите, если при запросе к RESTful сервису ресурс не найден?». Ответ 404 был принят единогласно. Если честно, я так и не понял, как этот вопрос помог понять знаю ли я REST или нет, но одно могу уверенно сказать: REST понимают далеко не все. Вот некоторые вопросы, которые мучали меня долгое время:

  1. Зачем REST стал таким трендовым? Это архитектура была же предложена еще в 2000 году?
  2. Что я получу если моя служба будет RESTful?
  3. Как определить является ли служба RESTful или нет?
  4. Как правильно должны создаваться URL REST служб?
  5. Какие http методы и коды должны быть использованы в RESTful службе?

Если вы не можете дать исчерпывающего ответа хотя бы на один из этих вопросов, то продолжайте чтение. Если вы можете однозначно ответить на все эти вопросы, можете привести формат правильного URL, считайте, что GET, POST, PUT, DELETE обязательно должны соответствовать CRUD операциям с ресурсами, то вам обязательно надо продолжать чтение.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии125