Presentation is loading. Please wait.

Presentation is loading. Please wait.

Service Oriented Architecture Bryan Ollendyke.

Similar presentations


Presentation on theme: "Service Oriented Architecture Bryan Ollendyke."— Presentation transcript:

1 Service Oriented Architecture btopro @btopro http://btopro.com/ http://drupal.psu.edu/blog/1 Bryan Ollendyke

2 Topics My problem space for building web services Modules to build Services into Drupal Just a couple, there are others Drupal / Non-drupal security precautions Showcase functionality Step through some endpoint code Questions

3 Problem Space LMS while serving a purpose, does not meet needs of all Drupal based solutions in A & A since 07 Course = Drupal 6 site Media assets in separate D6 site

4 Problems w/ D6 setup Too much functionality in 1 space New site, new big bucket problem Example: Student social space dependent on content related modules P2 policy must be same for all solutions Drupal version hard to keep up with curve Still in D6 for all old projects Need to bring asset management implementation to all learning tools

5 Over Crowded feature-set

6 Suite of Tools

7 Inflexibility

8 Maximizing flexibility

9 Drupal network

10

11

12 Modules for SOA HTTPRL Services XMLRPC.php Views Data export RestWS cis_connector (example endpoint) Single sign-on (via webaccess)

13 HTTPRL Not a service by itself (helper module) Allows for non-blocking calls Call own cron.php w.o. waiting for cron to execute Allows for queuing Many projects integrate with it D8 uses php lib guzzle which is similar Performance metrics https://drupal.psu.edu/node/790

14 Services https://drupal.org/project/services Most widely used by far Drupal as a backend Think phone app database server An API for building web service APIs Effectively build from scratch A bit complicated Need to document new API entirely Views integration module a plus

15 XMLRPC.php Built into Drupal core (6/7) Limited capabilities need to write a lot of code to use Only example I’ve seen is blog service for remote posting

16 Views Data export https://drupal.org/project/views_data_export Simple to use, lots of formats for export If you know views, you know data feed Works well in conjunction with Feeds module Good for anonymous data access Good for limited data /API interactions

17 RestWS https://drupal.org/project/restws Enable it and you have a mirror of site architecture (easy to test) Works with any Drupal entities {entity_type}/{id}.{format} Built in permissions / security method Has an endpoint module Drupal 8 core webservice components follow a similar methodology

18 RestWS Examples node/7 As xml example.com/node/7.xml As json example.com/node/7.json Support for.rdf (haven’t tried) field_collection_item/13.json Querying support too! user.xml?name=btopro&status=1

19 cis_connector http://drupal.org/project/cis_connector Example of the end-point I’m using Has call wrapper for performing cached http requests

20 Non-Drupal Security IP domain locking "service" domain for data transmission APIs / Call wrappers free of user/pwd while you can write custom pathways to data, stick to well defined pipelines force https everywhere force all other accounts to be webaccess / psu accounts

21 Non-Drupal Security

22 Drupal Security RestWS user locking module Regex comparison of name involved only 1 account for service invoking special role for that account Seckit module make sure elevated roles that can trip remote jobs are well defined field permissions module and other permission metrics important

23 DevOps Hope the internet works

24 Questions? #dcpsu @psu_drupal


Download ppt "Service Oriented Architecture Bryan Ollendyke."

Similar presentations


Ads by Google