Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Einleitung
1 Einführung
2 Installation
3 Erste Schritte
4 Einführung in Ruby
5 Eine einfache Bookmarkverwaltung
6 Test-Driven Development
7 Rails-Projekte erstellen
8 Templatesystem mit ActionView
9 Steuerzentrale mit ActionController
10 Datenbankzugriff mit ActiveRecord
11 E-Mails verwalten mit ActionMailer
12 Nützliche Helfer mit ActiveSupport
13 Ajax on Rails
14 RESTful Rails und Webservices
15 Rails mit Plug-ins erweitern
16 Performancesteigerung
17 Sicherheit
18 Veröffentlichen einer Rails-Applikation auf einem Server
Ihre Meinung?

Spacer
 <<   zurück
Ruby on Rails 2 von Hussein Morsy, Tanja Otto
Das Entwickler-Handbuch
Buch: Ruby on Rails 2

Ruby on Rails 2
geb., mit DVD
699 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-89842-779-1
Online bestellenPrint-Version Jetzt Buch bestellen
* versandkostenfrei in (D) und (A)
Pfeil 14 RESTful Rails und Webservices
  Pfeil 14.1 Was sind Webservices?
  Pfeil 14.2 REST
  Pfeil 14.3 RESTful Rails
  Pfeil 14.4 Einen Webservice anbieten
  Pfeil 14.5 Zugriff auf einen Webservice mit ActiveResource


Rheinwerk Computing - Zum Seitenanfang

14.5 Zugriff auf einen Webservice mit ActiveResource  topZur vorigen Überschrift

ActiveResource ist eine Technologie in Rails, die es erlaubt, auf die Ressourcen einer anderen Applikation zuzugreifen.

Ziel ist es, eine Applikation zu entwickeln, die als Client für die Airport- Service-Applikation fungiert. Im letzten Beispiel haben wir diese Applikation bereits erstellt. Im Folgenden wird demonstriert, wie über eine Model-Klasse auf die entfernte Ressource zugegriffen werden kann.

Dazu generieren wir zunächst eine neue Rails-Applikation:

rails airport-client

ActiveResource:: Base

Wir erstellen nun eine Model-Klasse, mit der wir auf die entfernte Ressource zugreifen können. Dieses Model verwendet als Elternklasse jedoch nicht ActiveRecord::Base, sondern ActiveResource::Base . Erstellen Sie dazu im Verzeichnis app/models die Datei airport.rb:

Listing  app/models/airport.rb

class Airport < ActiveResource::Base
  self.site = "http://localhost:3000"
end

In der Klassenvariablen site wird die URL der Server-Applikation, die die Ressource Airport anbietet, angegeben. Wenn Sie die Applikation lokal testen möchten, achten Sie darauf, dass die Server-Applikation läuft.

Rails übernimmt Kommunikation

Das war es schon. Rails übernimmt die Kommunikation zwischen der Client-Applikation und der Server-Applikation, die die Ressource anbietet.

Sie können nun in der Client-Applikation auf das entfernte Model fast genauso zugreifen wie bei einem normalen ActiveRecord-Model. In der Rails-Konsole ruby script/console kann man z. B. folgende Befehle ausführen:

>> airport = Airport.find(1)
=> #<Airport:0x1a89d7c @prefix_options={},
@attributes={
"name"=>"Flughafen Düsseldorf International",
"updated_at"=>Mon Feb 04 22:35:14 UTC 2008, "code"=>"DUS",
"id"=>1, "created_at"=>Mon Feb 04 22:33:21 UTC 2008
}>

>> airport.code
=> "DUS"
>> airport.name
=> "Flughafen Düsseldorf International"
>> airport.name="Airport Düsseldorf International"
=> airport.save
>> true

>> Airport.create(:code=>"DXB",
:name=>"Dubai International Airport")
=> #<Airport:0x1a02a5c @prefix_options={},
@attributes={"name"=>"Dubai International Airport",
"updated_at"=>Tue Feb 05 03:30:33 UTC 2008, "code"=>"DXB",
"id"=>4, "created_at"=>Tue Feb 05 03:30:33 UTC 2008
}>

Wenn Sie jetzt wieder die URL

http://localhost:3000/airports aufrufen, können Sie die Änderungen, die gemacht wurden, sehen.

Abbildung  

Verwendung

Als Letztes möchten wir noch den Service nutzen, der uns zu einem Code eines Flughafens den Namen liefert:

>> Airport.get(:with_code,:code=>'DXB')
=> {"name"=>"Dubai International Airport", "updated_at"=>
Tue Feb 05 03:30:33 UTC 2008, "code"=>"DXB", "id"=>4,
"created_at"=>Tue Feb 05 03:30:33 UTC 2008}

Der Aufruf erfolgt über die Methode get, da wir im Routing festgelegt haben, dass Anfragen zu :with_code über die GET-Methode erfolgen.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 <<   zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Ruby on Rails 2
Ruby on Rails 2
Jetzt Buch bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Ruby on Rails 3.1






 Ruby on Rails 3.1


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern