Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Größe: px
Ab Seite anzeigen:

Download "Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal"

Transkript

1 Groovy und CouchDB Ein traumhaftes Paar Thomas Westphal

2 Herzlich Willkommen Thomas Westphal Software adesso AG Projekte, Beratung, Schulung Groovy und CouchDB

3 Agenda Warum? Groovy CouchDB 4 Wege Was haben wir davon? Groovy und CouchDB

4 Warum? Ausdrucksschwacher Code Altlasten in Java RDBMS Groovy und CouchDB

5 Ausgangsbasis Groovy und CouchDB

6 Ausgangsbasis Groovy Daten CouchDB Wie? Groovy und CouchDB

7 Arten von Daten Strukturiert Unstrukturiert Beispiel Kommentar Beispiel Kommentar Beispiel Umfragen Groovy und CouchDB

8 Strukturierte Daten Beispiel Kommentar class Artikel { String titel String text Map<String, Kommentar> kommentare } class Kommentar { String String text Date erstellungszeitpunkt } Groovy und CouchDB

9 Unstrukturierte Daten Beispiel Umfragen def formulardaten1 = [ formularname: 'Umfrage1' name: 'Westphal' vorname: 'Thomas' ] def formulardaten2 = [ formularname: 'Testformular2' kanal: '1' nutzer: [ name: 'Westphal' vorname: 'Thomas'] ] Groovy und CouchDB

10 Groovy Was ist Groovy? Groovy und CouchDB

11 Groovy ist eine dynamische Sprache für die JVM. Elemente aus Sprachen wie Python, Ruby und Smalltalk Java-ähnliche Syntax seit 2003 aktuelle Version Groovy und CouchDB

12 Groovy Dynamisch optionale Typisierung (Keyword def) Skriptfähigkeit Meta-Programmierung (Meta Object Protocol) AST-Transformation Java Plattform läuft auf jeder JVM Zugriff auf jegliche Java-Bibliotheken (Jakarta Commons, JUnit) Zugriff von Java auf Groovy-Objekte Groovy und CouchDB

13 Groovy Features (Auswahl): Expressive Syntax Native Schreibweise für Listen und Maps Builder (HTTPBuilder, JsonGroovyBuilder) GPath Grails Groovy und CouchDB

14 CouchDB Was ist CouchDB? Groovy und CouchDB

15 CouchDB ist eine dokumentenorientierte Datenbank. Cluster of unreliable commodity hardware Data Base seit 2005 aktuelle Version Groovy und CouchDB

16 CouchDB Ein anderer Weg! JSON: { } rechnungsnummer : 19881, rechnungsbetrag : 35.75, kunde : { name : Firma Pahl & Co., adresse : { ort : Braunschweig, strasse : Kaiserstr. 19 } } Reale Daten Reale Dokumente Groovy und CouchDB

17 CouchDB Ein anderer Weg! Adresse 1:... adresse : { ort : Braunschweig strasse : Kaiserstr. 19 }... Adresse 2:... adresse : { ort : Halle/Saale postfach : 0815 }... Schemafrei Groovy und CouchDB

18 CouchDB Zugriff! Create Read Update Delete POST GET PUT DELETE REST-HTTP-Schnittstelle Groovy und CouchDB

19 CouchDB Zugriff! Die Datenbank für Rechnungen erstellen: curl -X PUT Antwort: {"ok":true} REST-HTTP-Schnittstelle Groovy und CouchDB

20 CouchDB Zugriff! Eine Rechnung erstellen: curl -X POST -H 'Content-Type: application/json -d '{"rechnungsnummer": 19881,...}' Antwort: {"ok":true,"id":"a6fb0ae60611d87ced0c0dd6b30c023c", "rev":"1-8dd d5dfc6b55a9e57a8a4d3"} REST-HTTP-Schnittstelle Groovy und CouchDB

21 CouchDB Zugriff! Die Rechnung abrufen: curl -X GET Antwort: {"_id":"a6fb0ae60611d87ced0c0dd6b30c023c", "_rev":"1-8dd d5dfc6b55a9e57a8a4d3", "rechnungsnummer":19881,...} REST-HTTP-Schnittstelle Groovy und CouchDB

22 CouchDB Zugriff! Eine Rechnung ändern: curl -X PUT -d '{"_id":"a6fb0ae60611d87ced0c0dd6b30c023c","_rev":"1-8dd d5dfc6b55a9e57a8a4d3","rechnungsnummer":... }' Antwort: {"ok":true,"id":"a6fb0ae60611d87ced0c0dd6b30c023c", "rev":"2-06d624eadf589bd8d2eaf99af36641af"} REST-HTTP-Schnittstelle Groovy und CouchDB

23 CouchDB Zugriff! Eine Rechnung löschen: So nicht! curl -X DELETE Antwort: {"error":"conflict","reason":"document update conflict."} Eine Rechnung löschen: curl -X DELETE Antwort: {"ok":true,"id":"a6fb0ae60611d87ced0c0dd6b30c023c", "rev":"3-1fd ff9c32fec6b9bbd4545c"} REST-HTTP-Schnittstelle Groovy und CouchDB

24 CouchDB Zugriff? Views! = Ansichten MapReduce JavaScript Ergebnis: Schlüssel-Werte Paare temporäre Views permanente Views = Designdokumente Query-Engine Groovy und CouchDB

25 CouchDB Zugriff? Views! Rechnungen filtern und nach Rechnungsnummer sortieren: function(doc) { if (doc.rechnungsnummer) { emit({"rechnungsnummer":doc.rechnungsnummer}, doc); } } Query-Engine Groovy und CouchDB

26 CouchDB Zugriff? Views! Rechnungen filtern und nach Rechnungsnummer sortieren: curl -X GET _design/rechnungen/_view/alle Antwort: {"total_rows":3,"offset":0,"rows":[ {"id":"a6fb0ae60...","key":{"rechnungsnummer...}}, {"id":"a6fb0ae60...","key":{"rechnungsnummer...}}, {"id":"a6fb0ae60...","key":{"rechnungsnummer"...}} ]} Query-Engine Groovy und CouchDB

27 CouchDB Zugriff? Views! Rechnungen filtern mit Parameter (Browser): _design/rechnungen/_view/alle?key={rechnungsnummer:19882} Antwort: {"total_rows":3,"offset":1,"rows":[ {"id":"a6fb0ae ","key":{"rechnungsnummer...}} ]} Query-Engine Groovy und CouchDB

28 CouchDB Zugriff? Views! Rechnungen und Artikel in getrennten Dokumenten - alle Rechnungen mit deren Artikel (JOIN) anzeigen: function(doc) { if (doc.rechnungsnummer &&!doc.artikelnummer) { // Dies ist eine Rechnung emit({"rechnungsnummer":doc.rechnungsnummer}, doc); } if (doc.rechnungsnummer && doc.artikelnummer) { // Dies ist ein Artikel emit({"rechnungsnummer":doc.rechnungsnummer, "artikelnummer":doc.artikelnummer}, doc); } } Query-Engine Groovy und CouchDB

29 4 Wege Groovy und CouchDB

30 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

31 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

32 jcouchdb jcouchdb ist ein Java 5 CouchDB Treiber. für dynamische Daten und POJOs nutzt die svenson JSON Bibliothek aktuelle Version Groovy und CouchDB

33 jcouchdb Kontakt! Verbindung zur CouchDB herstellen: def couchdb = new Database( localhost, artikel ) org.jcouchdb.db.database Groovy und CouchDB

34 jcouchdb Java: Strukturierte Daten public class Kommentar extends org.jcouchdb.document.basedocument { private String ; private String text; private Date = "type", readonly = true) public String gettype() { return Kommentar.class.getSimpleName(); } } public String get () { return ; }... Beispiel Kommentare Groovy und CouchDB

35 jcouchdb Java: Strukturierte Daten Kommentar kommentar1 = new Kommentar(); kommentar1.settext("reaktion 1");... Map<String, Kommentar> kommentare = new HashMap<String, Kommentar>(); kommentare.put("kommentar1", kommentar1); kommentare.put("kommentar2", kommentar2); Artikel artikel = new Artikel(); artikel.settitel("java und jcouchdb"); artikel.settext("objekte mit Java und jcouchdb in die CouchDb speichern..."); artikel.setkommentare(kommentare); couchdb.createdocument(artikel); Beispiel Kommentare Groovy und CouchDB

36 jcouchdb Groovy: Strukturierte Daten Artikel artikel = new Artikel( titel: "Groovy und jcouchdb", text: "Objekte mit Groovy und jcouchdb in die CouchDb speichern...", kommentare: [ kommentar1: new Kommentar( text: "Reaktion 1"), kommentar2: new Kommentar( text: "Reaktion 2") ]) couchdb.createdocument(artikel) Beispiel Kommentare Groovy und CouchDB

37 jcouchdb Java: Unstrukturierte Daten Map<String, String> kommentar1 = new HashMap<String, String>(); kommentar1.put(" ", kommentar1.put("text", "Reaktion 1");... Map<String, Map<String, String>> kommentare = new HashMap<String, Map<String, String>>(); kommentare.put("kommentar1", kommentar1); kommentare.put("kommentar2", kommentar2); Map<String, Object> artikel = new HashMap<String, Object>(); artikel.put("titel", "Java und jcouchdb"); artikel.put("text", "Maps mit Java und jcouchdb in die CouchDb speichern..."); artikel.put("kommentare", kommentare); couchdb.createdocument(artikel); Beispiel Kommentare Groovy und CouchDB

38 jcouchdb Groovy: Unstrukturierte Daten couchdb.createdocument([ titel: "Groovy und jcouchdb", text: "Maps mit Groovy und jcouchdb in die CouchDb speichern...", kommentare: [ kommentar1: [ text: "Reaktion 1"], kommentar2: [ text: "Reaktion 2"] ] ]) Beispiel Kommentare Groovy und CouchDB

39 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

40 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

41 Ektorp Ektorp ist eine Java Persistenz API für CouchDB. für dynamische Daten und POJOs nutzt die Jackson JSON Bibliothek aktuelle Version Groovy und CouchDB

42 Ektorp Kontakt! Verbindung zur CouchDB herstellen: def httpclient = new StdHttpClient.Builder().host( localhost ).port(5984).build() def instance = new StdCouchDbInstance(httpClient) CouchDbConnector couchdb = new StdCouchDbConnector( artikel, instance) org.ektorp.couchdbconnector Groovy und CouchDB

43 Ektorp Groovy: Strukturierte ['id', 'revision'] class Kommentar String String revision } String String text Date erstellungszeitpunkt String type = Kommentar.class.getSimpleName() Beispiel Kommentare Groovy und CouchDB

44 Ektorp Java: Strukturierte Daten Kommentar kommentar1 = new Kommentar(); kommentar1.settext("reaktion 1");... Map<String, Kommentar> kommentare = new HashMap<String, Kommentar>(); kommentare.put("kommentar1", kommentar1); kommentare.put("kommentar2", kommentar2); Artikel artikel = new Artikel(); artikel.settitel("java und Ektorp"); artikel.settext("objekte mit Java und Ektorp in die CouchDb speichern..."); artikel.setkommentare(kommentare); couchdb.create(artikel); Beispiel Kommentare Groovy und CouchDB

45 Ektorp Groovy: Strukturierte Daten Artikel artikel = new Artikel( titel: "Groovy und Ektorp", text: "Objekte mit Groovy und Ektorp in die CouchDb speichern...", kommentare: [ kommentar1: new Kommentar( text: "Reaktion 1"), kommentar2: new Kommentar( text: "Reaktion 2") ]) couchdb.create(artikel) Beispiel Kommentare Groovy und CouchDB

46 Ektorp Java: Unstrukturierte Daten Map<String, String> kommentar1 = new HashMap<String, String>(); kommentar1.put(" ", kommentar1.put("text", "Reaktion 1");... Map<String, Map<String, String>> kommentare = new HashMap<String, Map<String, String>>(); kommentare.put("kommentar1", kommentar1); kommentare.put("kommentar2", kommentar2); Map<String, Object> artikel = new HashMap<String, Object>(); artikel.put("titel", "Java und Ektorp"); artikel.put("text", "Maps mit Java und Ektorp in die CouchDb speichern..."); artikel.put("kommentare", kommentare); couchdb.create(artikel); Beispiel Kommentare Groovy und CouchDB

47 Ektorp Groovy: Unstrukturierte Daten couchdb.create([ titel: "Groovy und Ektorp", text: "Maps mit Groovy und Ektorp in die CouchDb speichern...", kommentare: [ kommentar1: [ text: "Reaktion 1"], kommentar2: [ text: "Reaktion 2"] ] ]) Beispiel Kommentare Groovy und CouchDB

48 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

49 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

50 HTTPBuilder ist ein Groovy Modul für HTTP-basierende Dienste. bietet einen RESTClient bietet Builder und Parser für JSON nutzt Apache's HttpClient Bibliothek aktuelle Version Groovy und CouchDB

51 HTTPBuilder Kontakt! Verbindung zur CouchDB herstellen: def couchdb = new RESTClient( ) groovyx.net.http.restclient Groovy und CouchDB

52 HTTPBuilder Groovy: Strukturierte Daten class Kommentar { } String String text Date erstellungszeitpunkt String type = Kommentar.class.getSimpleName() Beispiel Kommentare Groovy und CouchDB

53 HTTPBuilder Groovy: Strukturierte Daten Artikel artikel = new Artikel( titel: Groovy und HTTPBuilder, text: Objekte mit Groovy und HTTPBuilder in die CouchDb speichern..., kommentare: [ kommentar1: new Kommentar( text: Reaktion 1 ), kommentar2: new Kommentar( text: Reaktion 2 ) ]) def response = couchdb.post( path: artikel, contenttype: JSON, requestcontenttype: JSON, body: artikel) Beispiel Kommentare Groovy und CouchDB

54 HTTPBuilder Groovy: Unstrukturierte Daten def response = couchdb.put(path: "artikel/${uuid}", contenttype: JSON, requestcontenttype: JSON, body: [ titel: 'Groovy und HTTPBuilder', text: 'Maps mit Groovy und HTTPBuilder in die CouchDb speichern...', kommentare: [ kommentar1: [ text: 'Reaktion 1' ], kommentar2: [ text: 'Reaktion 2' ] ] ]) Beispiel Kommentare Groovy und CouchDB

55 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

56 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

57 Grails CouchDB Plugin CouchDB Plugin ist ein Grails Plugin für CouchDB. bietet GORM-Funktionalität nutzt die jcouchdb Bibliothek aktuelle Version Groovy und CouchDB

58 Grails CouchDB Plugin Kontakt! Datei DataSource.groovy: couchdb { host = "localhost" port = 5984 database = "artikel" username = "" password = "" } datasource { configclass = CouchDomainConfiguration.class } Konfigurationsdatei Groovy und CouchDB

59 Grails CouchDB Plugin Grails: Strukturierte class Kommentar { String String text Date erstellungszeitpunkt } static constraints = { } Beispiel Kommentare Groovy und CouchDB

60 Grails CouchDB Plugin Grails: Strukturierte Daten def kommentarinstance = new Kommentar(params) kommentarinstance.save(flush: true) Beispiel Kommentare Groovy und CouchDB

61 Grails CouchDB Plugin Grails: Strukturierte Daten Speichern und Löschen: kommentarinstance.save( flush: true) kommentarinstance.delete(flush: true) Zusätzliche Felder: def id = kommentarinstance.id def version = kommentarinstance.version Auslesen: def instance = Kommentar.get(id) def instancelist = Kommentar.list(params) def instancetotal = Kommentar.count() Beispiel Kommentare Groovy und CouchDB

62 4 Wege jcouchdb Ektorp Groovy Grails Groovy und CouchDB

63 4 Wege jcouchdb Ektorp Groovy Grails Grails + strukturierte Daten CouchDB + Groovy jcouchdb und Ektorp jcouchdb und Ektorp jcouchdb CouchDB Plugin auch ohne Treiber möglich flexibel durch Annotations Out-of-the-Box CRUD CouchdDBUpdater Groovy und CouchDB

64 Groovy und CouchDB Was haben wir davon? Groovy und CouchDB

65 Groovy und CouchDB Was haben wir davon? starke Ausdrucksmöglichkeiten in Groovy > Listen und Maps > JSON > Groovy-Objekte Verständlich! Groovy und CouchDB

66 Groovy und CouchDB Was haben wir davon? sehr einfacher Zugriff auf die CouchDB > viele Wege > einfaches JSON-Format Dokumente passen besser zu OOP und realen Objekten Einfach! Groovy und CouchDB

67 Groovy und CouchDB Was haben wir davon? CouchDB ist > schemalos > sehr einfach replizierbar Flexibilität! Groovy und CouchDB

68 Groovy und CouchDB Was haben wir davon? Einfachheit ermöglicht den Blick für das Wesentliche Groovy und CouchDB

69 Vielen Dank für Ihre Aufmerksamkeit. Relax! Groovy und CouchDB

70 Wir suchen Sie als Software-Architekt (m/w) Projektleiter (m/w) Senior Software Engineer (m/w)

NoSQL Datenbanken am Beispiel von CouchDB

NoSQL Datenbanken am Beispiel von CouchDB NoSQL Datenbanken am Beispiel von CouchDB OIO - Hauskonferenz 2011 Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thomas Bayer Programmierer

Mehr

Grails Der Gral der Webentwicklung

Grails Der Gral der Webentwicklung Grails Der Gral der Webentwicklung Stefan Roock stefan.roock@akquinet.de Bernd Schiffer bernd.schiffer@akquinet.de 03.07.2008 JFS 1 2 FAIL! 2 3 FAIL! 3 4 4 FAIL!5 5 6 6 7 7 8 8 9 9 10 FAIL! 10 11 12 11

Mehr

Einführung in CouchDB

Einführung in CouchDB Einführung in CouchDB Zurücklehnen und entspannen! http://slog.io Thomas Schrader (@slogmen) 12/2010 Übersicht Bestandsaufnahme Ansatz Geschichte Technologien Features Skalierbarkeit Kurz & Gut Fazit Relationale

Mehr

1 Einführung... 25. 2 Die Grundlagen... 55. 3 Praxis 1 das Kassenbuch (zentraler CouchDB-Server)... 139. 4 Praxis 2 das Kassenbuch als CouchApp...

1 Einführung... 25. 2 Die Grundlagen... 55. 3 Praxis 1 das Kassenbuch (zentraler CouchDB-Server)... 139. 4 Praxis 2 das Kassenbuch als CouchApp... Auf einen Blick 1 Einführung... 25 2 Die Grundlagen... 55 3 Praxis 1 das Kassenbuch (zentraler CouchDB-Server)... 139 4 Praxis 2 das Kassenbuch als CouchApp... 161 5 CouchDB-Administration... 199 6 Bestehende

Mehr

Auf einen Blick. 1 Einführung 25. 2 Die Grundlagen 55. 3 Praxis 1 - das Kassenbuch. (zentraler CouchDB-Server) 139

Auf einen Blick. 1 Einführung 25. 2 Die Grundlagen 55. 3 Praxis 1 - das Kassenbuch. (zentraler CouchDB-Server) 139 Auf einen Blick 1 Einführung 25 2 Die Grundlagen 55 3 Praxis 1 - das Kassenbuch (zentraler CouchDB-Server) 139 4 Praxis 2 - das Kassenbuch als CouchApp 161 5 CouchDB-Administration 199 6 Bestehende Anwendungen

Mehr

CouchDB & CouchApps. Strukturlose Speicherung von Daten und Anwendungen. B1 Systems GmbH. March 18, 2012. http://www.b1-systems.de

CouchDB & CouchApps. Strukturlose Speicherung von Daten und Anwendungen. B1 Systems GmbH. March 18, 2012. http://www.b1-systems.de CouchDB & CouchApps Strukturlose Speicherung von Daten und Anwendungen B1 Systems GmbH http://www.b1-systems.de March 18, 2012 c B1 Systems GmbH 2004 2012 Chapter -1, Slide 1 CouchDB Grundlagen CouchDB

Mehr

2 Problemlöser: Groovy und Grails. Thomas Westphal 25. Juni 2015

2 Problemlöser: Groovy und Grails. Thomas Westphal 25. Juni 2015 2 Problemlöser: Groovy und Grails Thomas Westphal 25. Juni 2015 Wer ist das? Thomas Westphal westphal@it-factum.de @twest72 twest-log.blogspot.com 2 gplus.to/twest Prologue Why? (i) 3 Warum? 4 Warum? Sie

Mehr

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011 Weiterführende Themen zu Internet- und WWW-Technologien 06. Juni 2011 Übersicht 1 Was ist? 2 Übersicht über 3 MVC-Konzept 4 Groovy Beispiele 5 Tutorial: Kleiner Notizblock Web Application Framework Übersicht

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

RESTful Web. Representational State Transfer

RESTful Web. Representational State Transfer RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten

Mehr

Continuous Delivery mit OpenShift, 2nd Edition

Continuous Delivery mit OpenShift, 2nd Edition Daniel Tschan CTO Continuous Delivery mit OpenShift, 2nd Edition OpenShift Tech Lab, Bern, 27.10.2014 1 Grundlagen Kleine Geschichte «Integration Hell» und «Works on My Machine» 1991: Object Oriented Design:

Mehr

Die Alternative zum Web-Form Modell

Die Alternative zum Web-Form Modell Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services?

Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services? Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services? Web APIs Wo kommen wir her? Remote Procedure Calls (RPC) Verben/Aktionen im Endpunkt enthalten GetCustomer InsertInvoice

Mehr

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen Wolkig bis heiter APEX als Drehkreuz für Web Service-Anwendungen Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express In APEX Informationen von "woanders"

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Dokumentenorientierte Datenbanken - MongoDB

Dokumentenorientierte Datenbanken - MongoDB Dokumentenorientierte Datenbanken - MongoDB Jan Hentschel Ultra Tendency UG Übersicht Dokumente sind unabhängige Einheiten Bessere Performance (zusammengehörige Daten werden gemeinsam gelesen) Objektmodell

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1 Groovy on Grails Informatik-Seminar WS06/07 Alexander Treptow Groovy on Grails Alexander Treptow (minf2622) 1 Übersicht Groovy on Grails Projektstruktur Controllers Views & Layout Dynamic Tag Libraries

Mehr

Verwendung der PayJoe -API zum externen Upload von Belegen und Zahlungen

Verwendung der PayJoe -API zum externen Upload von Belegen und Zahlungen Verwendung der PayJoe -API zum externen Upload von Belegen und Zahlungen Um über die PayJoe -API Belege bzw. Zahlungen hochladen zu können, müssen Sie zunächst einen entsprechenden Zugang anlegen, bei

Mehr

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN Android VPN Am Beispiel eines Netzwerktunnels für das Domain Name System () 1 Inhalt VPN Framework in Android Übersicht zu Iodine Funktionsweise Demonstration 2 VPN und Android Verfügbar seit Android 4.0

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch

Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch Dr. Halil-Cem Gürsoy halil-cem.guersoy@adesso.de www.adesso.de ...über mich 15 Jahre Entwicklung und Beratung 'Software Architect' bei adesso AG, Dortmund

Mehr

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe MySQL 4, 5 Kapitel 06: Datenbanken Gliederung 1 Datenbanken erstellen 2 3 Datenbanken erstellen CREATE DATABASE erstellt. Optional kann der Parameter IF NOT EXISTS die Datenbank bereits existiert.

Mehr

Struts 2 Das Imperium schlägt zurück?

Struts 2 Das Imperium schlägt zurück? Struts 2 Das Imperium schlägt zurück? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software

Mehr

goalio Documentation Release 1.0.0 goalio UG

goalio Documentation Release 1.0.0 goalio UG goalio Documentation Release 1.0.0 goalio UG 18.11.2014 Inhaltsverzeichnis 1 Erste Schritte mit goalio 1 1.1 Benutzeroberfläche............................................ 1 1.2 Suche...................................................

Mehr

REST Grundlagen. Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web. Olga Liskin

REST Grundlagen. Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web. Olga Liskin <olga.liskin@gmail.com> REST Grundlagen Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web Olga Liskin Übersicht Motivation, Einführung Architekturstil REST RESTful Webservices Patterns,

Mehr

XML und SOAP Einführung und Grundlagen

XML und SOAP Einführung und Grundlagen XML und SOAP Einführung und Grundlagen Matthias Böhmer 16.12.2005 Agenda 1. XML 2. SOAP 3. Seife im Buchladen?! E-Commerce :: XML und SOAP Matthias Böhmer 16.12.2005 2 XML :: Einführung (1) extensible

Mehr

Programmieren von Webinformationssystemen

Programmieren von Webinformationssystemen Programmieren von Webinformationssystemen Wolfgang Gassler Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 HTML Hypertext Markup

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Tipps & Tricks für das Testen von Microservices

Tipps & Tricks für das Testen von Microservices Tipps & Tricks für das Testen von Microservices Jörg Pfründer Hypoport AG EUROPACE EUROPACE 15% der Immobilienkredite Deutschlands EUROPACE 15% der Immobilienkredite Deutschlands ca. 3 Mrd Euro / Monat

Mehr

Eclipse und EclipseLink

Eclipse und EclipseLink Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als

Mehr

Auszug aus JAX-WS Folien

Auszug aus JAX-WS Folien Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Scala & Lift. Ferenc Lajko 04.02.2010

Scala & Lift. Ferenc Lajko 04.02.2010 Scala & Lift Ferenc Lajko 04.02.2010 Gliederung 1. Scala 1.1. Allgemein 1.2. Merkmale 1.3. Unterschiede zu Java 1.4. Code-Beispiel 1.5. Vorteile zu anderen Sprachen 2. Lift 2.1. Allgemein 2.2. Idee 2.3.

Mehr

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring Dennis Schulte / Tobias Flohre Enterprise Java Batch mit Spring Dennis Schulte Düsseldorf @denschu www.github.com/denschu blog.codecentric.de/author/dsc tel +49 (0) 1515 _ 288 2395 dennis.schulte@codecentric.de

Mehr

MyHolidays.com. Seminararbeit mit Ruby on Rails. Author: Fabian Merki

MyHolidays.com. Seminararbeit mit Ruby on Rails. Author: Fabian Merki MyHolidays.com Seminararbeit mit Ruby on Rails Author: Fabian Merki Inhaltsverzeichnis Idee...3 Implementierung...4 Tipps & Tricks...5 Combobox...5 Passwörter...5 Kein 'show'...5 Layouts...6 Problem: HTML-Tags

Mehr

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy Über Ant und Maven zu SBT und Gradle Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy 07.04.2011 Speaker Andreas Hartmann [hartmann@adesso.de] Principal Software Engineer

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Session-IDs im FRITZ!Box Webinterface

Session-IDs im FRITZ!Box Webinterface Session-IDs im FRITZ!Box Webinterface Session-IDs und geändertes Login-Verfahren im FRITZ!Box Webinterface Ab der FRITZ!Box Firmware-Version xx.04.74 wurde der vorhandene Kennwortschutz verbessert sowie

Mehr

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Software Engineering I

Software Engineering I Software I Übungsblatt 1 + 2 Claas Pinkernell Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Welche Werkzeuge? Programmiersprache Java Integrierte Entwicklungsumgebung Eclipse

Mehr

Swetlana Stickhof. Universität Heidelberg 03.02.2013

Swetlana Stickhof. Universität Heidelberg 03.02.2013 Modellierung einer Testdokumentation mit Suchfunktionen in Semantic MediaWiki und Implementierung einer Jira-Anbindung als Semantic MediaWiki Extension Universität Heidelberg 03.02.2013 1 Inhalt Motivation

Mehr

Endlich! Mission Control und Flight Recorder für Hotspot

Endlich! Mission Control und Flight Recorder für Hotspot Endlich! Mission Control und Flight Recorder für Hotspot Es war einmal Es war einmal Es war einmal Mark Reinhold, 2010 HotRockit Marcus Hirt, Java One 2011 Mission Control Marcus Hirt, Java One 2013 Mission

Mehr

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de

Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de NoSQL für Java-Entwickler Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de 23.06.2013 Agenda Datengröße Key-value Stores 1. Wide Column 2. Cassandra Document

Mehr

A-Trust REGISTRIERKASSE mobile Developer Manual

A-Trust REGISTRIERKASSE mobile Developer Manual A-Trust Gesellschaft für Sicherheitssysteme im elektronischen Datenverkehr GmbH Landstraÿer Hauptstraÿe 5 A-1030 Wien https://www.a-trust.at E-Mail: oce@a-trust.at A-Trust REGISTRIERKASSE mobile Developer

Mehr

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung Matthias Bethke bethke@linguistik.uni-erlangen.de Linguistische Informatik Universität Erlangen-Nürnberg Sommersemester

Mehr

Agenda. Anwendungsfälle. Integration in Java

Agenda. Anwendungsfälle. Integration in Java Florian Hopf @fhopf Agenda Anwendungsfälle Integration in Java Agenda Vorbereitung Installation # download archive wget https://download.elastic.co/ elasticsearch/elasticsearch/elasticsearch-1.7.1.zip

Mehr

Adobe Flex & Grails RIA, REST und XML

Adobe Flex & Grails RIA, REST und XML Adobe Flex & Grails RIA, REST und XML Pascal Schudel Consultant pascal.schudel@trivadis.com Mischa Kölliker Principal Consultant mischa.koelliker@trivadis.com JUGS Zürich, 8. Juli 2010 Basel Bern Lausanne

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java)

10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java) 10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Suchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012

Suchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012 Suchen und Finden mit Lucene und Solr Florian Hopf 04.07.2012 http://techcrunch.com/2010/08/04/schmidt-data/ Suche Go Suche Go Ergebnis 1 In Ergebnis 1 taucht der Suchbegriff auf... Ergebnis 2 In Ergebnis

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider Jakarta Lucene Eine Java-Bibliothek zur Suchindex-Erstellung Seminararbeit Tilman Schneider 2004 Tilman Schneider Seminararbeit: Jakarta Lucene Folie 1 Agenda Definition: Suchmaschine Vorstellung von Jakarta

Mehr

Entspannt auf der Couch lümmeln

Entspannt auf der Couch lümmeln Database CouchDB Ein PHP-Wrapper für die CouchDB Entspannt auf der Couch lümmeln Dokumentbasierte Datenbanken sind nicht nur ein Hype, sondern eine sehr ernst zu nehmende Alternative für Webapplikationen.

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Stefan Roock stefan.roock@akquinet.de. Bernd Schiffer bernd.schiffer@akquinet.de. Beispiel Grails

Stefan Roock stefan.roock@akquinet.de. Bernd Schiffer bernd.schiffer@akquinet.de. Beispiel Grails Stefan Roock stefan.roock@akquinet.de Bernd Schiffer bernd.schiffer@akquinet.de Beispiel Grails Brauchen wir neue Technologien für agile Entwicklung? Herzlich Willkommen! Stefan Roock akquinet AG, Hamburg

Mehr

Testgetriebenes Ajax. Johannes Link unabhängiger Softwarecoach http://johanneslink.net. Marco Klemm andrena objects ag http://andrena.

Testgetriebenes Ajax. Johannes Link unabhängiger Softwarecoach http://johanneslink.net. Marco Klemm andrena objects ag http://andrena. Johannes Link unabhängiger Softwarecoach http://johanneslink.net Marco Klemm andrena objects ag http://andrena.de Agenda Was ist Testgetriebene Entwicklung (TDD)? Herausforderungen bei Ajax-Applikationen

Mehr

Eine Einführung in Apache CouchDB. Java-Forum Stuttgart 2011

Eine Einführung in Apache CouchDB. Java-Forum Stuttgart 2011 Eine Einführung in Apache CouchDB Java-Forum Stuttgart 2011 Johannes Schneider, cedarsoft GmbH js@cedarsoft.com http://blog.cedarsoft.com http://cedarsoft.com Vielen Dank CouchDB The VERY Basics Vorerfahrung?

Mehr

JavaScript in Drupal

JavaScript in Drupal JavaScript in Drupal JavaScript JavaScript ist nicht Java JavaScript ist keine reine Web-Sprache JavaScript ist benutzbar Web 1.0 Dreamweaver Mouseover-Scripts Dinge, die dem Cursor nachfliegen Schneeflocken

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann - ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery

Mehr

EHCache und Terracotta. Jochen Wiedmann, Software AG

EHCache und Terracotta. Jochen Wiedmann, Software AG EH und Terracotta Jochen Wiedmann, Software AG Autor Perl-Contributor DBD::mySQL 2, DBI::Proxy, DBI::Shell, DBD::CSV, Net::Daemon, RPC::Pl(Client Server) (Autor) DBI (Developer) ASF-Member (Apache Software

Mehr

Groovy eine dynamische Ergängzung zu Java

Groovy eine dynamische Ergängzung zu Java Groovy eine dynamische Ergängzung zu Java Johannes Hellrich 12. Juni 2013 Johannes Hellrich Groovy 1 / 30 Alternativen zu Java Groovy Möglichkeiten der Sprache Groovy und Java im Vergleich Domain Speciffic

Mehr

Datenbanksysteme 2015

Datenbanksysteme 2015 Datenbanksysteme 2015 Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access Embedded SQL JDBC Application SQLJ

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Automatisierung und Integration von Request Tracker Systemen mittels REST-Schnittstelle. Stefan Hornburg. Perlworkshop 2008

Automatisierung und Integration von Request Tracker Systemen mittels REST-Schnittstelle. Stefan Hornburg. Perlworkshop 2008 Automatisierung und Integration von Request Tracker Systemen mittels REST-Schnittstelle Stefan Hornburg Perlworkshop 2008 split() Request Tracker REST-Schnittstelle Automatisierung Integration Kunden Deutschland:

Mehr

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

Mehr

Java Persistence API 2.x. crud + relationships + jp-ql

Java Persistence API 2.x. crud + relationships + jp-ql Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

Mehr

IntelliJ IDEA. Gliederung. Was ist IntelliJ IDEA? Lizenzmodell Warum IntelliJ einsetzen? IntelliJ und Eclipse Demo. Blick über den Eclipse-Tellerrand

IntelliJ IDEA. Gliederung. Was ist IntelliJ IDEA? Lizenzmodell Warum IntelliJ einsetzen? IntelliJ und Eclipse Demo. Blick über den Eclipse-Tellerrand IntelliJ IDEA Blick über den Eclipse-Tellerrand Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Gliederung 2007 Orientation in Objects GmbH IntelliJ IDEA:

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Continuous Delivery in der Praxis

Continuous Delivery in der Praxis Dr. Halil-Cem Gürsoy @hgutwit! adesso AG Continuous Delivery in der Praxis Über mich Principal Architect @ adesso AG seit 15 Jahre Software-Entwicklung > davor in wissenschaftlichem Umfeld Verteilte Enterprise-Systeme

Mehr

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 XPages Good to know Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 Agenda 1. Einführung Was sind XPages? 2. Allgemeine Tipps Allgemeine Tipps für die Verwendung von XPages 3. Designer Tipps Tipps für

Mehr

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Sicherheit von Webapplikationen Sichere Web-Anwendungen Sicherheit von Webapplikationen Sichere Web-Anwendungen Daniel Szameitat Agenda 2 Web Technologien l HTTP(Hypertext Transfer Protocol): zustandsloses Protokoll über TCP auf Port 80 HTTPS Verschlüsselt

Mehr

CDT bei Bosch Rexroth (Ein Erfahrungsbericht)

CDT bei Bosch Rexroth (Ein Erfahrungsbericht) CDT bei Bosch Rexroth (Ein Erfahrungsbericht) DCC/EDF Harald Kästel-Baumgartner Agenda Firmenpräsentation Ausgangslage Zielsetzung Know How Toolchain Projektstruktur Positive und negative Erfahrung 2 Das

Mehr

CD! jquery mobile. CouchDB-Daten. Der neue Personalausweis. Das Web im Smartphone. Webarchitekturen mit JavaScript

CD! jquery mobile. CouchDB-Daten. Der neue Personalausweis. Das Web im Smartphone. Webarchitekturen mit JavaScript inkl. CD! Deutschland 6,50 Österreich 7,00 Schweiz sfr 13,40 Entwickler Magazin 3.11 CD-INHALT: 3BJMT t $POUJOVPVT *OUFHSBUJPO NJU )VETPO t +BWB t 3FWFSTF &OHJOFFSJOH t $PVDI%# t.z42- t 0QFO4PDJBM t )5.-

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Wir automatisieren und optimieren Ihre Geschäftsprozesse DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Thomas Brandstätter 06.03.2012 www.dccs.at Agenda Theorie Was sind XPages

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

Über mich. Daniel Bälz. Softwareentwickler (inovex GmbH) github.com/dbaelz

Über mich. Daniel Bälz. Softwareentwickler (inovex GmbH) github.com/dbaelz Quo vadis Dart? Über mich Daniel Bälz Softwareentwickler (inovex GmbH) dbaelz.de plus.dbaelz.de github.com/dbaelz Agenda Was Wie Warum Wohin Was ist Dart? Übersicht Einsatzgebiet Client (Browser, CLI)

Mehr

RESTful Services mit Java EE

RESTful Services mit Java EE RESTful Services mit Java EE Thilo Frotscher thilo@frotscher.com Vorstellung Freiberuflicher Softwarearchitekt und Trainer Fachliche Schwerpunkte Java Plattform Services und Integration Kundenspezifische

Mehr

XMLBeam. Einfach XML-Handling. W3L AG solutions@w3l.de

XMLBeam. Einfach XML-Handling. W3L AG solutions@w3l.de 1 XMLBeam Einfach XML-Handling W3L AG solutions@w3l.de 2015 2 Inhaltsverzeichnis Was ist XMLBeam XML lesen XML schreiben Weitere Features zurück 3 Was ist XMLBeam Java Library ohne Abhängigkeiten Vereinfacht

Mehr

WEBPROGRAMMIERUNG DATEN AUS DEM WEB AUTOMATISIERT VERARBEITEN

WEBPROGRAMMIERUNG DATEN AUS DEM WEB AUTOMATISIERT VERARBEITEN WEBPROGRAMMIERUNG DATEN AUS DEM WEB AUTOMATISIERT VERARBEITEN Martin Guggisberg 5.9.2015 Weiterbildung: Programmieren im Unterricht mit Python AGENDA Fakten und Grundlagen zum Web Strukturierte Daten (JSON)

Mehr

CamelCaseCon 2011 Vortrag von Stefan Glase am 07.09.2011. Statische Code-Analyse für Groovy & Grails mit CodeNarc

CamelCaseCon 2011 Vortrag von Stefan Glase am 07.09.2011. Statische Code-Analyse für Groovy & Grails mit CodeNarc Statische Code-Analyse für Groovy & Grails mit CodeNarc CamelCaseCon 2011 Vortrag von Stefan Glase am 07.09.2011 OPITZ CONSULTING GmbH 2011 Folie 1 Stefan Glase, OPITZ CONSULTING Software-Entwickler Java

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Ablauf Unit2. Walkthrough

Ablauf Unit2. Walkthrough Ablauf Unit2 Vertiefendes Uebungsprojekt - SQL II Gerhard Wohlgenannt Test Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Gruppeneinteilung + Themenvergabe Vorstellung der Arbeitsumgebung

Mehr

Java EE 6 Ein Überblick

Java EE 6 Ein Überblick Java EE 6 Ein Überblick Bernd Müller Fakultät Informatik Ostfalia Hochschule Braunschweig/Wolfenbüttel GI-Regionalgruppe Braunschweig, 16.2.2012 Bernd Müller, Fakultät Informatik, Ostfalia, 16.2.2012 1/31

Mehr

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling Open-Xchange Authentication & Sessionhandling Version Date Author Changes 1.0 28.08.2006 Stephan Martin Initiale Version 1.1 29.08.2006 Marcus Klein Details Authentication via JSON 1.2 04.09.2006 Stephan

Mehr

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

Mehr