15

Click here to load reader

Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Embed Size (px)

DESCRIPTION

This presentation is about current state and usage module Services. Main aim of the presentation is to give overview of the API of Services module and available instruments to build API for connection from other third party applications. I have already given talk about Services. You can review my slides on http://www.slideshare.net/ygerasimov/drupalcafe4-kiev-services, http://www.slideshare.net/heyrocker/drupal-services-3-drupal-dev-days-2011-brussels I will also share my experience building interface for iPhone applications we have built. Presentation is for beginner, intermediate level developers but can be interested for everyone. Темой этой презентации является модуль Services (drupal.org/project/services). Этот модуль позволяет создавать интерфейс для взяимодействия с сторонними приложениями например написанные под iPhone или для Android. Я расскажу про возможности и уже реализованный функционал модуля и поделюсь опытом создания REST интерфеса для iPhone приложения. Вы можете так же ознакомиться с уже существующими слайдами предыдущих презентаций на эту тему http://www.slideshare.net/ygerasimov/drupalcafe4-kiev-services, http://www.slideshare.net/heyrocker/drupal-services-3-drupal-dev-days-2011-brussels Презентация расчитана на начальный и средний уровень разработчиков (на презнетации будет код). Но думаю, будет так же полезно послушать всем.

Citation preview

Page 1: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Drupal Services

Page 2: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Gold Sponsor ofDrupalCamp Kyiv 2011

Page 3: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Silver Sponsors ofDrupalCamp Kyiv 2011

Page 4: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Presentation plan

What is Services for? Resources out-of-box. Services API Building REST interface with Services Future of Services

Page 5: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Architechture

Page 6: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x

resource oriented (CRUD = create, retrieve, update, delete, index)

different formatters (php, json, jsonp, xml, ...) separate endpoints (exportable to features)

Page 7: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x resources

Node resource Taxonomy vocabulary resource (getTree) Taxonomy term resource (selectNodes) User resource (login, logout, register) Comment resource (loadNodeComments,

countAll, countNew) System resource (no CRUD) (connect,

get_variable, set_variable)

Page 8: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x resources

File resource (CRUD) (nodeFiles)

Page 9: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x hook_services_resources

Page 10: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x hook_services_resources

Page 11: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x REST server formatters

http://<your_domain>/<your_endpoint_path>/<your_resource_path>.<formatter>

Standard: php, json, jsonp, xml, yaml, bencode (see RESTServerViewBuiltIn)

Page 12: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Build REST interface

Implement CRUD functionality. Use actions, relationships

resource/node/X/comments Use aliases if needed. Write unit tests (TDD)

Page 13: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Future of Services

Context objects Entities Views Core

Page 14: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Tools & Resources

Poster https://addons.mozilla.org/en-US/firefox/addon/2691

Services Handbook http://drupal.org/handbook/modules/services

Tests A future for Services. http://goodold.se/blog/tech/future-

services-3x

Groups http://groups.drupal.org/services

Page 15: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Questions

Ваша фотка email: [email protected]

twitter: ygerasimov

skype: yuriy_gerasimov

d.o.: http://drupal.org/user/257311