Pull to refresh
  • by relevance
  • by date
  • by rating

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

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

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

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


Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Views975
Comments 17

Лучшее на Siggraph 2007

Lumber room


С 7 по 9 августа в Сан-Диего проходила ежегодная выставка достижений в области технологий компьютерной графики и визуализации Siggraph 2007. Традиционно самая зрелищная часть выставки — это секция экспериментальных разработок в смежных областях технологий (секция Emerging Technologies). Именно здесь можно найти удивительные, пусть и бессмысленные, устройства с самым инновационным дизайном, которые несколько выходят за рамки главной специализации выставки. Техножурналист BBC News побывал в этом заповеднике хайтека и выбрал самое интересное.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Views266
Comments 7

Работа с веб-серверами на php посредством SOAP

PHP
Не буду останавливаться на вопросе, что такое веб-сервисы и зачем они нужны. В сети очень много статей на эту тему. Просто постараюсь вкратце показать, каким простым способом возможно создание клиента к любому веб-сервису на php.
Читать дальше →
Total votes 56: ↑35.5 and ↓20.5 +15
Views54K
Comments 23

Как подружить java-ws и php4 не используя никаких дополнений и немножко попучить свой мозг.

Lumber room
Читал про Работу с веб-сервисами на php посредством SOAP.
Хочу рассказать очень занятную историю. Как-то раз передо мной встала задача расковырять админку поисковой системы FastSearch. Как говорится — не привыкать. Единственное, что меня смущало, так это то, что админка была написана на пхп 4.0, а я пишу на Джаве.
Ну что же, пхп так пхп. Естественно, гугль мне сразу выдал Pear:Soap. Как бы скормишь ему wsld от веб-сервиса и все начнут смеяться и плакать от счастья. Либо от того, что я не умею читать примеры, либо потому что веб-сервис был написан на Джаве и болтался на IBM WebSphere Application Server 6.0, а, IBM, как вы знаете — впереди планеты всей, очень любит делать стандартизованные вещи по-своему, в общем Pear:Soap не работал.

Ну что же, веб-сервис ты, или не веб-сервис, а работаешь по http и шлешь xml-ку.
Думаю так — вряд ли пхп4 не даст мне послать xml-ку по http.
Для того, чтобы не изобретать велосипед и не наступить на грабли я сосниффил заголовок soap-сообщения, которое отправляет Жабийный ws-client. Эта сволочь, кстати, кушает линк на wsdl (описание веб-сервиса) и предлагает доступные методы сервиса, указывая их тип.
Читать дальше →
Total votes 21: ↑13 and ↓8 +5
Views276
Comments 9

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

PHP

Что такое веб-сервисы?



Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.

Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.

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

Но и сам Интернет — разнороден, т. е. различные приложения на различных узлах сети функционируют на разных аппаратно-программных платформах, и используют различные технологии и языки.

Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы.
Читать дальше →
Total votes 62: ↑61 and ↓1 +60
Views477.7K
Comments 30

SoapClient: параллельные асинхронные запросы, реконнект, обработка тайм-аутов

High performance
Dklab_SoapClient — это расширенная версия стандартного PHP-класса SoapClient, предназначенная для параллельного (асинхронного) удаленного вызова процедур в высоконагруженных проектах.

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

По сравнению со встроенным в PHP SoapClient, поддерживаются дополнительные возможности:
  • Одновременное, параллельное выполнение запросов к нескольким удаленным процедурам — ключевая особенность библиотеки. Если страница на вашем сайте собирается из 5 удаленных блоков, каждый из которых генерируется по 100ms, их можно запустить параллельно и получить всю страницу целиком не за 500ms, а за те же самые 100ms.
  • Реконнект при невозможности установления связи. К сожалению, мир несовершенен, и из-за случайной потери пакетов первая попытка соединения с SOAP-сервером может закончиться тайм-аутом. Это особенно часто происходит, когда проект располагается в нескольких датацентрах. Dklab_SoapClient позволяет задать тайм-аут на время открытия соединения (например, 1 секунду) и, в случае неудачи, повторить попытку указанное число раз. На практике это снижает вероятность итогового сбоя в тысячи раз, т.к. реконнект почти всегда помогает при утере пакета.
  • Поддержка тайм-аута на получение данных. Если страница собирается из удаленных блоков, то в случае «подвисания» одного из них «зависает» и вся страница. В то же время, отсутствие одного из блоков при наличии остальных — не такая большая беда. Вы можете указать, сколько времени Dklab_SoapClient должен ждать ответа от удаленной процедуры; если время превышено, возникает исключение PHP, которое вы можете обработать по своему усмотрению, не прерывая загрузку остальных блоков.
Читать дальше →
Total votes 38: ↑34 and ↓4 +30
Views6.4K
Comments 29

API для загрузки музыки на Вебораму

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

Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Views3.5K
Comments 22

SOAP, генерация прокси класса

PHP
Преамбула:

SOAP — протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался, в основном, для реализации удалённого вызова процедур (RPC), а название было аббревиатурой: Simple Object Access Protocol — простой протокол доступа к объектам. Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. Официальная спецификация последней версии 1.2 протокола никак не расшифровывает название SOAP. SOAP является расширением протокола XML-RPC.


Итак, делаем proxy-class
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Views5.7K
Comments 17

HTTP4E

Eclipse
Translation
Eclipse HTTP Client (http4E) — дополнение для Eclipse позволяющее производить HTTP и REST запросы. Он упрощает тестирование и разработку веб сервисов. Очень удобен для фальсификации заголовков.

image
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Views861
Comments 15

EHcache RESTful сервер, РНР и просто эксперименты…

High performance
logoСегодня мы продолжим исследования различных новых и не очень технологий, необычного их применения или просто оригинальных вещей. Возможно, вы вспомните, я когда-то писал о проекте распределённого кеша EHcache для платформы Java. Сегодня настало время продолжить эту тему, однако в другом ракурсе — в виде отдельного RESTful сервера.

читать дальше
Total votes 20: ↑19 and ↓1 +18
Views3.2K
Comments 9

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Website development
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

Чуть ниже под катом я подпишу смертный приговор всем велосипедам в универсальных API. Чтобы не быть голословным, я все проиллюстрирую примерами.
Но должен предупредить сразу — после прочтения статьи вы не сможете без рвотного рефлекса смотреть на очередной велосипед Васи Пупкина под гордым названием «универсальное API сайта».

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед
Total votes 315: ↑289 and ↓26 +263
Views52.9K
Comments 206

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

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

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

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

Читать дальше
Total votes 34: ↑29 and ↓5 +24
Views1.5K
Comments 25

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

PHP
Приветствую!

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

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

Читать дальше →
Total votes 60: ↑53 and ↓7 +46
Views22.8K
Comments 46

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

C++

О чем речь?


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

Синхронизация статуса учетной записи LanBilling и RTU class 4&5

PHP
Sandbox
Добрый день, уважаемые хабропользователи.

Возникла задача по синхронизация статуса учетной записи в LanBilling и RTU.
Хочу поделиться с Вами вариантом реализации.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views1.8K
Comments 3

Немного о том как организовывать API веб-службы

Website development
Возникла задача организовать веб-службу, к которой будут обращать обычные клиенты из браузера и другие веб-службы.

Предположим, я продаю билеты в театр клиентам. Клиентом может быть только агентство, которое имеет свою учётную запись у меня на сервисе. Агентства бывают маленькие, в котором сидит тетёчка и ручками в личном кабинете с помощью барузера осуществляет покупку билета, а также большие, у которых всё автоматизированно. Большие хотят иметь возможность подсоединиться ко мне с помощью API и осуществить покупку.

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

Вопрос: как лучше всего организовать API?
А вот так
Total votes 58: ↑46 and ↓12 +34
Views19.4K
Comments 19

Быстрое прототипирование веб-сервиса на платформе 1C:Enterprise 8

Website development
Sandbox
Доброго времени суток, уважаемые хабралюди!

Некоторые из вас наверное знают, что на платформе 1C:Enterprise 8 (1С: Предприятие 8) некоторые безумцы умельцы, помимо приложений для бухгалтеров, делают, например еще и игры. Но речь пойдет не о разработке игр, хотя в какой-то мере веб-сервисы можно использовать и для этого.

Хотя платформа 1C:Enterprise 8 и предметно ориентирована, но благодаря наличию в ней технологий COM, OLE, XML, HTML, SOAP и некоторых других, может использоваться и для задач не связанных напрямую с автоматизацией бизнеса. Лично меня в ней привлекает очень быстрая скорость разработки, отладки и разворачивания приложения. Эти характеристики для меня являются ключевыми при выборе платформы для прототипирования.

Под катом я на простом примере покажу насколько быстро на платформе 1C:Enterprise 8 можно реализовать веб-сервис, разработать для него базу данных и опубликовать на веб-сервере. Приведенный пример, в немного измененном виде, используется в большом и реальном проекте, прототип которого было решено реализовать на 1C. Проект еще находится в стадии разработки, но я все больше склоняюсь к тому, чтобы и финальную реализацию сделать на этой платформе.
Читать дальше →
Total votes 15: ↑8 and ↓7 +1
Views12.4K
Comments 13

REST vs SOAP. Часть 1. Почувствуйте разницу

Website development
Sandbox
Некоторое время назад я гуглил интернет по поводу “REST vs SOAP”, прочитал пару статей и вроде бы все понял, но не почувствовал от этого никакого удовлетворения. Что-то было не так, то ли я не почувствовал основную идею, то ли просто читал, одновременно слушая новый музон и думая о новой фиче в проекте. Как появилось время, решил восполнить этот пробел, заодно написав полезную статью по этому поводу.
Читать дальше →
Total votes 117: ↑106 and ↓11 +95
Views399.4K
Comments 101

REST vs SOAP. Часть 2. Как проще и эффективнее организовать общение платформ?

Website development
После написания первой части статьи аппетит разыгрался и захотелось продолжить изучение, на этот раз больше с уклом в практическую часть. Весь сыр-бор у нас разгорелся из-за необходимости взаимодействии приложений и платформ, поэтому именно этому в основном и будет посвящена статья.
Читать дальше →
Total votes 34: ↑28 and ↓6 +22
Views92.1K
Comments 122

SOAP-сервер на Rails 3.x (WashOut)

Round Lake
Поддержка SOAP (как сервера) в Rails ухудшалась от версии к версии. В версии 1.x рельсы комплектовались AWS. В версии 2.x AWS распался на несколько форков, которые поддерживали энтузиасты. До версии 3.х, в стабильно работающем исполнении, AWS не дожил. Идеологически подобное отношение к SOAP может нравиться или не нравиться, но в реальной жизни мы окружены великим и ужасным Enterpris'ом. И поддержка двустороннего SOAP'а может понадобиться в любой интеграции: от 1С, до автоматизированных банковских систем.

Вместо поддержки еще большего количества (мертворожденных?) форков AWS для 3-ей версии, мы написали WashOut.
WashOut превратит ваши контроллеры в SOAP-сервисы.
Total votes 19: ↑16 and ↓3 +13
Views5.3K
Comments 14