#WMFra  @OpenDDR  @wernerkeilGeräteerkennung für Mobile WebanwendungenWerner Keil (werner@openddr.org)16. Januar 2012     ...
AGENDAEinleitungProjektübersichtProjektvergleicheVorteileCode und ForumAnwendungsbeispieleZusammenfassung                 ...
Einleitung                                                                          OpenDDR    OpenDDR: Lasst uns Mobile I...
Projektübersicht            Was ist ein DDR?                   Titolo presentazione - data                                ...
Projektübersicht            Was ist ein DDR?                   Titolo presentazione - data                                ...
Projektübersicht            Was ist ein DDR?                   Titolo presentazione - data                                ...
Projektübersicht                                                        Was ist ein DDR? Wenn Sie komfortable Benutzererle...
Projektvergleiche                                                  Verschiedene DDR Projekte/Produkte PROJECT       STRENG...
Projektvergleiche          WURFL Mauerbau                    Titolo presentazione - data                                  ...
Projektvergleiche   WURFL Mauerbau August 2011                        Titolo presentazione - data                         ...
Projektvergleiche   WURFL nicht mehr Open Source                         Titolo presentazione - data                      ...
Vorteile                                                                   Warum Offene Standards?  OpenDDR basiert auf Of...
Vorteile                                                             Was ist anders bei OpenDDR?  Anwender können der Betr...
Code und Forum                                                Open Source Projekt  Die offizielle OpenDDR Website:  http:/...
Anwendungsbeispiele                                                                   Konfiguration  OpenDDR implementiert...
Anwendungsbeispiele                                                                                      Implementation  Z...
Anwendungsbeispiele               Montagsdemo                      Titolo presentazione - data                            ...
Zusammenfassung                                                                  Warum OpenDDR?  Offen, Frei und basierend...
Ausblick                                                                     Apache DeviceMap   Ende 2011 wurde ein paar M...
Nächste SlideShare
Wird geladen in …5
×

OpenDDR Deutsch

1.289 Aufrufe

Veröffentlicht am

Präsentation vom WebMontag Frankfurt

2 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Thanks for the input. While the table is an image in this presentation from an earlier OpenOffice format (Powerpoint does that unfortunately, just like some closed source solutions are hostile to Open Source alternatives among DDRs ;-) Before Mobile Developer Conference I should be able to add the information. And either on the conference site or here updates are likely to be published after the event. Stay tuned.
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • The above table should now include 51Degrees.mobi. The major benefits of 51Degrees.mobi are:

    1. API and some data free for commercial use (Mozilla Public License).
    2. One click installation for .NET.
    3. Support for Apache/Perl via the Apache Mobile Filter project.
    4. Low cost Premium data including weekly updates.

    See this link for more details:

    http://51degrees.mobi/products/devicedata.aspx

    James
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
Keine Downloads
Aufrufe
Aufrufe insgesamt
1.289
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
6
Kommentare
2
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

OpenDDR Deutsch

  1. 1. #WMFra @OpenDDR @wernerkeilGeräteerkennung für Mobile WebanwendungenWerner Keil (werner@openddr.org)16. Januar 2012 1
  2. 2. AGENDAEinleitungProjektübersichtProjektvergleicheVorteileCode und ForumAnwendungsbeispieleZusammenfassung Titolo presentazione - dataAusblick 2
  3. 3. Einleitung OpenDDR OpenDDR: Lasst uns Mobile Inhalte gemeinsam optimieren Das Wachstum an Mobilen Geräten, die den Markt geradezu überschwemmen erleben wir Tag für Tag. Die Spezifikation jedes Einzelnen genau zu verfolgen ist ein Knochenjob. Diese Mühe kann reduziert werden, wenn zur Verbesserung das Device Description Repository – kurz DDR - beigetragen wird und Anwender dieses selbst verwaltet können. OpenDDR, das beste quelloffene, freie (auch zur kommerziellen Nutzung) Repository für Gerätebeschreibungen zur Nutzung u.a. mit Java APIs, die den W3C Standard DDR Simple API implementieren. Titolo presentazione - data 3
  4. 4. Projektübersicht Was ist ein DDR? Titolo presentazione - data 4
  5. 5. Projektübersicht Was ist ein DDR? Titolo presentazione - data 5
  6. 6. Projektübersicht Was ist ein DDR? Titolo presentazione - data 6
  7. 7. Projektübersicht Was ist ein DDR? Wenn Sie komfortable Benutzererlebnisse schaffen wollen, benötigen Sie dynamisch anpassbare Inhalte nach den Hardware-und Browser Spezifikationen des Geräts. Device Description Repository (DDR) sind Datenbanken, die eine riesige Menge von Informationen über Mobiltelefone, Tabletten, Interactive TV, Set-Top-Boxen und jedes Gerät mit einem Web-Browser speichern. DDR ermöglichen es Entwicklern, Anwendungen zu realisieren mit angemessenem Benutzererlebnis auf jedem Client. Es gibt mehrere DDR-Projekte, aber: die meisten davon verlangen eine Gebühr für ihre Datenbanken und APIs ODER Gewährt Zugriff auf diese Informationen kostenlos nur für die Entwicklung von nicht- kommerzielle Anwendungen Ein Ausweg aus diesem Dilemma: Das OpenDDR Projekt Titolo presentazione - data 7
  8. 8. Projektvergleiche Verschiedene DDR Projekte/Produkte PROJECT STRENGHTS WEAKNESSES LICENSE ● Device repository only with commercial mobileAware DDR ● Repository license: commercial (tha APIs are bundled with a small The interface is a license only MaDDR sample DDR) W3C standard ● API license: commercial license Project ● The maDDR Project cannot offer OR Simple DDR API an adaptation technology that implementation licensed as LGPL uses repository knowledge to guide its processes Data is multi- ● Repository license: commercial sourced from DeviceAtlas Only commercial licenses license industry-leading ● API license: commercial license partners Wide device ● Repository license: commercial Volantis coverage Only commercial licenses license ● API license: commercial license ● Repository license: use not ● the license does not allow to use allowed if accessed without the DDR without accessing Community WURFL APIs WURFL through the WURFL API project ● the API does not allow use in ● API license: dual licensing AGPL Titolo presentazione - data and commercial projects with a proprietary license (Changed since August 2011) 8
  9. 9. Projektvergleiche WURFL Mauerbau Titolo presentazione - data 9
  10. 10. Projektvergleiche WURFL Mauerbau August 2011 Titolo presentazione - data 10
  11. 11. Projektvergleiche WURFL nicht mehr Open Source Titolo presentazione - data 11
  12. 12. Vorteile Warum Offene Standards? OpenDDR basiert auf Offenen Standards: Repository ist kompatibel zum W3C DDR Standard Client Bibliothek implementiert die W3C DDR Simple APIs Aus Entwicklersicht: Erlaubt es Anwendungen im Vertrauen darauf zu entwickeln, dass diese kompatibel ist, mit jeder W3C DDR Simple API Implementation, also man sich nicht fix an jene von OpenDDR binden muss. Adaptiert einen W3C Standard, demnach sind Copyright der Schnittstellen definiert und geschützt durch W3C gegen IP oder Patentansprüche. OpenDDR ist veröffentlicht unter der Open Database License (ODbL), die OpenDDR Simple APIs unter der Lesser General Public License (LGPL). Das bedeutet, dass es ihnen als Entwickler frei steht, sowohl das OpenDDR Repository, als auch die APIs in Open Source bzw. Freier, ebenso wie in Kommerzieller Software zu nutzen. Titolo presentazione - data 12
  13. 13. Vorteile Was ist anders bei OpenDDR? Anwender können der Betriebssysteme ihrer Geräten aktualisieren (auch eigene Builds) und / oder einen neuen Web-Browser installieren. Die Identifizierung eines Gerätes durch den ursprünglichen User Agent, der von Herstellern bereitgestellt wird, ist oft nicht mehr ausreichend. OpenDDR betrachtet das Gerät als ein Kombination dreier wichtiger Aspekte: Physical Device Operating System Web Browser OpenDDR kann spezielle Versionen ihres Betriebssystems und Webbrowser von Drittherstellern erkennen. Falls die Version eines bestimmten Browsers oder ein Betriebssystem nicht genau bekannt ist, liefert OpenDDR die Information der nächst gelegenen Version, statt gar keiner. OpenDDR erkennt ein Gerät, einen Browser oder ein Betriebssystem mit einem gewissen Vertrauensgrad. Sie können den gewünschten Präzisionsgrad beim Erkennungsprozess selbst bestimmen. Größerer Vertrauensgrad kann längere Erkennungszeiten bewirken; während ein geringerer Vertrauensgrad die Erkennung beschleunigt, dabei aber das Risiko weniger präziser Erkennung birgt. OpenDDR erlaubt das Patchen der Datenquelle. 13
  14. 14. Code und Forum Open Source Projekt Die offizielle OpenDDR Website: http://www.openddr.org OpenDDR Quellcode und Ressourcen bei GitHub: https://github.com/OpenDDR-org Ein OpenDDR Forum wurde bei Google Groups gegründet: http://groups.google.com/group/openddr Titolo presentazione - data 14
  15. 15. Anwendungsbeispiele Konfiguration OpenDDR implementiert die W3C Simple API Schnittstelle. Es unterstützt das Basisvokabular, das im DDR W3C Recommendation Dokument festgelegt wurde. Um OpenDDR Simple API zu nutzen, müssen Sie lediglich Werte der folgenden Property Datei anpassen: oddr.ua.device.builder.path=PATH_TO_FILE/BuidlerDataSource.xml oddr.ua.device.datasource.path=PATH_TO_FILE/DeviceDataSource.xml oddr.ua.device.builder.patch.paths=PATH_TO_FILE/BuilderDataSourcePatch.xml oddr.ua.device.datasource.patch.paths=PATH_TO_FILE/DeviceDataSourcePatch.xml oddr.ua.browser.datasource.path=PATH_TO_FILE/BrowserDataSource.xml ddr.vocabulary.core.path=PATH_TO_FILE/coreVocabulary.xml oddr.vocabulary.path=PATH_TO_FILE/oddrVocabulary.xml oddr.limited.vocabulary.path=PATH_TO_FILE/oddrLimitedVocabulary.xml oddr.vocabulary.device=http://www.openddr.org/oddr-vocabulary oddr.threshold=70 Die oddr.threshold Eigenschaft erlaubt dem Entwickler, den gewünschten Vertrauensgrad festzulegen. n diesem Fall wählen wir einen Vertrauensgrad von zumindest 70%. Titolo presentazione - data 15
  16. 16. Anwendungsbeispiele Implementation Zur Erstellung eines Identification Service nutzen wir die ServiceFactory aus der W3C DDR-Simple-API.jar Service identificationService = ServiceFactory.newService("org.openddr.simpleapi.oddr.ODDRService", ODDR_VOCABULARY_IRI, initializationProperties); Das erste Argument ist die implementierende Klasse des DDRService; das zweite Argument ist das Standardvokabular zur Identifikation, falls kein Vokabular explizit angegeben wurde; das dritte Argument ist die OpenDDR Properties Datei. Hier ein kurzes Beispiel um “displayWidth”, “model” und “vendor” Eigenschaften aus dem Standardvokabular zu erhalten. and the default aspect (as specified in vocabulary). PropertyRef displayWidthRef; PropertyRef vendorRef; PropertyRef modelRef; Try { displayWidthRef = identificationService.newPropertyRef("displayWidth"); vendorRef = identificationService.newPropertyRef("vendor"); modelRef = identificationService.newPropertyRef("model"); } catch (NameException ex) { throw new RuntimeException(ex); } PropertyRef[] propertyRefs = new PropertyRef[] {displayWidth, vendorRef, modelRef}; Evidence e = new ODDRHTTPEvidence(); e.put("User-Agent", request.getHeader("User-Agent")); try { PropertyValues propertyValues = identificationService.getPropertyValues(e, propertyRefs); PropertyValue displayWidth = propertyValues.getValue(displayWidthRef); PropertyValue vendor = propertyValues.getValue(vendorRef); PropertyValue model = propertyValues.getValue(modelRef); if (displayWidth.exist() && vendor.exists() && model.exists()) { ... Titolo presentazione - data } } catch (Exception ex) { throw new RuntimeException(ex); } 16
  17. 17. Anwendungsbeispiele Montagsdemo Titolo presentazione - data 17
  18. 18. Zusammenfassung Warum OpenDDR? Offen, Frei und basierend auf W3C Standards. Aktualisierung des DDR erfolgt durch Mitglieder der Gemeinschaft und Gerätehersteller. Die Erkennung erfolgt nicht nur für das Gerät als Einzelnes, sondern in Erweiterter Form gemeinsam mit Webbrowser und Betriebssystem. OpenDDR kann darüber hinaus Browser von Drittherstellern und speziell angepasste Versionen von Betriebssystemen erkennen. Entwickler können das Vokabular zur Erkennung angeben, sowie Aspekte und Eigenschaften, die sie darin nutzen wollen. Basierend auf dem identification threshold. Falls eine bestimmte Version eines Browsers oder Geräts nicht gefunden wird, liefert OpenDDR die Eigenschaften der nächst gelegenen Version, so lange diese Annahme die vom Entwickler gewünschte Genauigkeit erfüllt. Entwickler können entscheiden, welche und wie viele Eigenschaften sie benötigen, und so ein limitiertes Vokabular nutzen → Keine Speicherverschwendung. Patch Unterstützung: Falls eine geänderte oder neuere Version des Repositories erforderlich ist, kann diese Änderung einfach durch Anpassung der entsprechenden Eigenschaften vorgenommen werden. Und neues Repository und Vokabular werden genutzt. 23
  19. 19. Ausblick Apache DeviceMap Ende 2011 wurde ein paar Monate nach dem Start von OpenDDR auch die Apache Foundation auf das Thema aufmerksam. Und beschloss, ein Device Repository sowie APIs für die wichtigsten Plattformen und Sprachen zu schaffen. OpenDDR gehört zu den Gründungsmitgliedern des DeviceMap Inkubators und stellt insbesondere die Java Clients und damit verbundenen Quellcode als Initial Contribution zur Verfügung. Mehr unter: http://incubator.apache.org/devicemap/ Bzw. dem Proposal Wiki: http://wiki.apache.org/incubator/DeviceMapProposal Titolo presentazione - data 24

×