Agenda. Anwendungsfälle. Integration in Java

Größe: px
Ab Seite anzeigen:

Download "Agenda. Anwendungsfälle. Integration in Java"

Transkript

1 Florian

2 Agenda Anwendungsfälle Integration in Java

3 Agenda

4 Vorbereitung

5 Installation # download archive wget elasticsearch/elasticsearch/elasticsearch zip # zip is for windows and linux unzip elasticsearch zip # on windows: elasticsearch.bat elasticsearch-1.7.1/bin/elasticsearch

6 Zugriff curl -XGET { "status" : 200, "name" : "Bird-Man", "cluster_name" : "elasticsearch", "version" : { "number" : "1.7.1", "build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816", "build_timestamp" : " T09:54:16Z", "build_snapshot" : false, "lucene_version" : "4.10.4", "tagline" : "You Know, for Search"

7 Document Store

8 Document { "title" : "Anwendungsfälle für Elasticsearch", "speaker" : "Florian Hopf", "date" : " T19:00:00.000Z", "tags" : ["Java", "Lucene"], "conference" : { "name" : "JUG-KL", "city" : "Kaiserslautern"

9 Speichern curl -XPOST { "_index":"conferences", "_type":"talk", "_id":"gqjy7l8stxa3jlafx67_aw", "_version":1, "created":true

10 Speichern curl -XPOST { "_index":"conferences", "_type":"talk", "_id":"gqjy7l8stxa3jlafx67_aw", "_version":1, "created":true Index

11 Speichern curl -XPOST { "_index":"conferences", "_type":"talk", "_id":"gqjy7l8stxa3jlafx67_aw", "_version":1, "created":true Type

12 Lesen curl -XGET GqjY7l8sTxa3jLaFx67_aw?pretty=true { "_index" : "conferences", [...] "_source":{ "title" : "Anwendungsfälle für Elasticsearch", "speaker" : "Florian Hopf", "date" : " T19:00:00.000Z", "tags" : ["Java", "Lucene"], "conference" : { "name" : "JUG-KL", "city" : "Kaiserslautern"

13 Sharding Aufteilen eines Index in mehrere Teile Default: 5 Shards pro Elasticsearch-Index Mehrere ES-Instanzen bilden einen Cluster Automatische Verteilung auf die Knoten

14 Sharding

15 Recap Einfache Speicherung von JSON-Dokumenten Index und Type Sharding für große Datenmengen Verteilung ist First-Class-Citizen

16 Nutzer Atlassian HipChat OpenCrowd

17 Volltextsuche

18

19

20 Suche per Parameter curl -XGET " {"took" : 73, [ ] "hits" : { [ ] "hits" : [ { [ ] "_score" : , "_source":{ "title" : "Anwendungsfälle für Elasticsearch", "tags" : ["Java", "Lucene"], [ ] ]

21 Query-DSL curl -XGET " -d' { "query": { "filtered": { "query": { "match": { "title": "elasticsearch", "filter": { "term": { "tags": "java" '

22 Sprache curl -XGET " { [...], "hits" : { "total" : 0, "max_score" : null, "hits" : [ ]

23 Mapping curl -XDELETE " curl -XPUT " curl -XPUT " -d' { "properties": { "title": { "type": "string", "analyzer": "german" '

24 Sprache curl -XGET " { [...], "hits" : { "total" : 1, [...]

25 Was noch? Faceting/Aggregations Suggestions Highlighting Sortierung Pagination...

26 Recap Ausdrucksstarke Suchen über Query DSL Analyzing und Mapping Lucene bietet viele Search-Features

27 Users GitHub StackOverflow XING

28 Flexibler Cache

29 Setup Suche DB Anwendung

30 Nur Suche?

31 Queries DB Anwendung

32 Ergebnislisting curl -XPOST " " -d' { "filter": { "term": { "tags": "java" '

33 Geo-Suche Geo-Suche

34 Anwendungen Zeige nächste Filiale Filialsuche Sortierung Kleinanzeigen Filterung auf Nähe Social Media-Analysen

35 Document { "title" : "Anwendungsfälle für Elasticsearch", "speaker" : "Florian Hopf", "date" : " T19:00:00.000Z", "tags" : ["Java", "Lucene"], "conference" : { "name" : "JUG-KL", "city" : "Kaiserslautern", "coordinates": { "lon": " ", "lat": " "

36 Mapping curl -XPUT " -d' { "properties": { [ ], "conference": { "type": "object", "properties": { "coordinates": { "type": "geo_point" '

37 Filterung curl -XPOST " -d' { "filter": { "geo_distance": { "conference.coordinates": { "lon": , "lat": , "distance": "100km", "distance_type": "arc" '

38 Recap Elasticsearch kann mehr als Volltext Ausgefeilte Geo-Algorithmen Sortierung nach Distanz Filterung nach Distanz oder Bereich Berechnung von Distanz

39 User FourSquare ursquare-now-uses-elastic-search-and-on-arelated-note-slashem-also-works-with-elasticsearch/ Gild

40 Logfile-Analyse Log-Analyse

41 Logfile-Analyse Zentralisierung Logs aus Anwendungen Zentralisierung Logs über Maschinen Auch ohne Zugriff Leichte Durchsuchbarkeit Real-Time-Analysis / Visualisierung Daten für alle!

42 Logfile-Analyse Einlesen Speicherung Logstash Elasticsearch Auswertung Kibana

43 Logfile-Analyse

44 Logstash-Config input { file { path => "/var/log/apache2/access.log" filter { grok { match => { message => "%{COMBINEDAPACHELOG" output { elasticsearch_http { host => "localhost"

45 Kibana

46 Recap Einlesen, Anreichern, Speichern von Logevents Zahlreiche Inputs in Logstash Konsolidierung Zentralisierung Auswertung

47 User CERN Bloomberg

48 Analytics Analytics

49 Analytics Auswertung auch großer Datenmengen Social Media Data Warehouse Aggregationen auf Feldern Datenkonsolidierung aus unterschiedlichen Quellen Visualisierung

50 Aggregations curl -XGET " -d' { "aggs" : { "hashtags" : { "terms" : { "field" : "hashtag.text" '

51 Aggregations "aggregations": { "hashtags": { "buckets": [ { "key": "dartlang", "doc_count": 229, { "key": "java", "doc_count": 216, [...]

52 Aggregations "aggs" : { "hashtags" : { "terms" : { "field" : "hashtag.text", "aggs" : { "hashtagusers" : { "terms" : { "field" : "user.screen_name"

53 Aggregations "key": "scala", "doc_count": 130, "hashtagusers": { "buckets": [ { "key": "jaceklaskowski", "doc_count": 74, { "key": "ManningBooks", "doc_count": 3, [...]

54 Visualisierung

55 Recap Auswertung großer Datenmengen Visualisierung Zahlreiche Aggregationen Bucket-Aggregations Metric-Aggregations

56 User Cogenta The Guardian -guardian

57 Agenda

58

59 Verteilung

60 Suche im Cluster

61 Suche im Cluster

62 Suche im Cluster

63 Standard-Client

64 Java! dependencies { compile group: 'org.elasticsearch', name: 'elasticsearch', version: '1.6.0'

65 Java! TransportAddress address = new InetSocketTransportAddress("localhost", 9300); Client client = new TransportClient(). addtransportaddress(address);

66 Suche per Query DSL curl -XPOST " -d' { "query": { "filtered": { "query": { "match": { "title": "elasticsearch", "filter": { "term": { "publisher.name": "manning" '

67 Suche über Java-Client SearchResponse searchresponse = client.preparesearch("library").setquery(filteredquery( matchquery("title", "elasticsearch"), termfilter("publisher.name", "manning"))).execute().actionget(); assertequals(1, searchresponse.gethits().gettotalhits()); SearchHit hit = searchresponse.gethits().getat(0); assertequals("elasticsearch in Action", hit.getsource().get("title"));

68 Indizierung über Java-Client XContentBuilder jsonbuilder = jsonbuilder().startobject().field("title", "Elasticsearch").field("author", "Florian Hopf").startObject("publisher").field("name", "dpunkt").endobject().endobject(); client.prepareindex("library", "book").setsource(jsonbuilder).execute().actionget();

69 Indizierung über Java-Client

70 Transport-Client Verbindet sich mit bestehendem Cluster Seed-Urls zur Erzeugung TransportAddress address = new InetSocketTransportAddress("localhost", 9300); Client client = new TransportClient(). addtransportaddress(address);

71 Transport-Client

72 Node-Client Node node = nodebuilder().client(true).node(); Client client = node.client();

73 Node-Client Startet eigenen Knoten Anwendung wird Teil des Clusters Node node = nodebuilder().client(true).node(); Client client = node.client();

74 Node-Client

75 Standard-Client Volle API-Unterstützung Effiziente Kommunikation Node-Client Cluster-State spart unnötige Hops

76 Standard-Client Gotchas Elasticsearch-Version Client == Server Node-Client Bei Start und Stop wird Cluster-State übertragen Speicherverbrauch Elasticsearch-Dependency

77 Jest Http Client

78 Jest

79 Jest dependencies { compile group: 'io.searchbox', name: 'jest', Version: '0.1.6'

80 Client JestClientFactory factory = new JestClientFactory(); factory.sethttpclientconfig(new HttpClientConfig.Builder(" JestClient client = factory.getobject();

81 Suche mit Jest String query = jsonstringthatmagicallyappears; Search search = new Search.Builder(query).addIndex("library").build(); SearchResult result = client.execute(search); assertequals(integer.valueof(1), result.gettotal());

82 Suche mit Jest JsonObject jsonobject = result.getjsonobject(); JsonObject hitsobj = jsonobject.getasjsonobject("hits"); JsonArray hits = hitsobj.getasjsonarray("hits"); JsonObject hit = hits.get(0).getasjsonobject(); //... more boring code

83 Suche mit Jest public class Book { private String title; private List<String> author; private Publisher publisher; public Publisher getpublisher() { return publisher; public void setpublisher(publisher publisher) { this.publisher = publisher; // more code

84 Suche mit Jest Book book = result.getfirsthit(book.class).source; assertequals("elasticsearch in Action", book.gettitle());

85 Jest Alternative HTTP-Implementierung Queries als String oder per ElasticsearchBuilder Indizieren und Suchen per Java-Beans

86 Spring Data Elasticsearch

87 Spring Data Abstraktionen für Data-Stores Spezialitäten bleiben erhalten Dynamische Repository-Implementierung Populäre Implementierungen Spring Data JPA Spring Data MongoDB

88 Dependency dependencies { compile group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: '1.2.0.RELEASE'

89 indexname = "library", type = "book") public class Book { private private private private String id; String title; List<String> author; Publisher publisher; // more code

90 Repository public interface BookRepository extends ElasticsearchCrudRepository<Book, String> { public Iterable<Book> findbytitle(string title);

91 Configuration <elasticsearch:node-client id="client" /> <bean name="elasticsearchtemplate" class="o.s.d.elasticsearch.core.elasticsearchtemplate"> <constructor-arg name="client" ref="client"/> </bean> <elasticsearch:repositories base-package="de.fhopf.elasticsearch.springdata" />

92 Indexing Book book = new Book(); book.settitle("elasticsearch"); book.setauthor(arrays.aslist("florian Hopf")); book.setpublisher(new Publisher("dpunkt")); repository.save(book);

93 Searching Iterable<Book> books = repository.findall(); books = repository.findbytitle("elasticsearch");

94 Recap Abstraktion über Elasticsearch Entity-Beans Dynamische Repository-Implementierung Junges Projekt

95 Recap Standard-Client Jest Node- oder Transport-Client Http-Client mit Java-Bean-Unterstützung Spring-Data-Elasticsearch Annotationzentrierte Konfiguration, dynamische Repository-Implementierungen

96 JVM? Clojure: Elastisch Groovy: elasticsearch-groovy Standard-Client oder HTTP Standard-Client, Closure-Unterstützung Scala: große Auswahl, z.b. elastic4s Standard-Client, Type-Safety

97 Links

98 Weitere Infos

99 Vielen

100 Images

Florian Hopf www.florian-hopf.de @fhopf. elasticsearch. Bern 07.10.2015

Florian Hopf www.florian-hopf.de @fhopf. elasticsearch. Bern 07.10.2015 Florian Hopf www.florian-hopf.de @fhopf elasticsearch. Bern 07.10.2015 Agenda Suche Verteilung Elasticsearch und Java Aggregationen Zentralisiertes Logging Suche Installation # download archive wget https://download.elastic.co/elasticsearch

Mehr

Florian Hopf Anwendungsfälle für

Florian Hopf Anwendungsfälle für Florian Hopf - @fhopf Anwendungsfälle für Agenda Vorbereitung Installation # download archive wget https://download.elasticsearch.org/ elasticsearch/elasticsearch/elasticsearch-1.4.4.zip # zip is for windows

Mehr

Florian Hopf www.florian-hopf.de @fhopf. elasticsearch.

Florian Hopf www.florian-hopf.de @fhopf. elasticsearch. Florian Hopf www.florian-hopf.de @fhopf elasticsearch. Agenda Suche Verteilung Elasticsearch und Java Aggregationen Zentralisiertes Logging Suche Suche Installation # download archive wget https://download.elastic.co/elasticsearch

Mehr

Search Evolution von Lucene zu Solr und ElasticSearch

Search Evolution von Lucene zu Solr und ElasticSearch Search Evolution von Lucene zu Solr und ElasticSearch 20.06.2013 Florian Hopf @fhopf http://www.florian-hopf.de Index Indizieren Index Suchen Index Term Document Id Analyzing http://www.flickr.com/photos/quinnanya/5196951914/

Mehr

Search Evolution von Lucene zu Solr und ElasticSearch. Florian

Search Evolution von Lucene zu Solr und ElasticSearch. Florian Search Evolution von Lucene zu Solr und ElasticSearch Florian Hopf @fhopf http://www.florian-hopf.de 04.07.203 Index Indizieren Index Suchen Index Term Document Id Analyzing Such Evolution Von Lucene

Mehr

Umsetzung von BI-Lösungen mit Unterstützung einer Suchmaschine. TDWI Stuttgart 15.04.2015 Tobias Kraft, exensio GmbH

Umsetzung von BI-Lösungen mit Unterstützung einer Suchmaschine. TDWI Stuttgart 15.04.2015 Tobias Kraft, exensio GmbH Umsetzung von BI-Lösungen mit Unterstützung einer Suchmaschine TDWI Stuttgart 15.04.2015 Tobias Kraft, exensio GmbH Suchmaschinen Elasticsearch BI-Stack mit Elasticsearch Use Cases Pharmabranche 2 Funktionen

Mehr

Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch

Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch Dr. Halil-Cem Gürsoy [email protected] www.adesso.de ...über mich 15 Jahre Entwicklung und Beratung 'Software Architect' bei adesso AG, Dortmund

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

Elasticsearch aus OPS-Sicht Teil1. Markus Rodi Karlsruhe, 22.05.2015

Elasticsearch aus OPS-Sicht Teil1. Markus Rodi Karlsruhe, 22.05.2015 Elasticsearch aus OPS-Sicht Teil1 Markus Rodi Karlsruhe, 22.05.2015 Agenda 1.Elasticsearch 2.VM & Storage 3.System 4.Konfigurationsparameter 5.Snapshot/Restore 2 Elasticsearch Cluster Mehrere Nodes Default

Mehr

Hibernate und Elasticsearch Von 0 auf 100 in 40 Minuten

Hibernate und Elasticsearch Von 0 auf 100 in 40 Minuten 1 Hibernate und Elasticsearch Von 0 auf 100 in 40 Minuten Gunnar Morling, Red Hat 2 Gunnar Morling Opensource-Softwareentwickler bei Red Hat Div. Hibernate-Projekte Spec Lead für Bean Validation 2.0 Andere

Mehr

Java Forum Stuttgart 2013 [email protected] 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 [email protected] twitter.com/kspichale spichale.blogspot.de 23.06.2013 Agenda Datengröße Key-value Stores 1. Wide Column 2. Cassandra Document

Mehr

Hibernate Search. Unterstützung laufender Java Projekte. Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing

Hibernate Search. Unterstützung laufender Java Projekte. Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de [email protected] Java, XML und Open Source seit 1998 ) Software Factory ) ) Object Rangers ) ) Competence Center) Schlüsselfertige

Mehr

Elasticsearch und die Oracle Datenbank

Elasticsearch und die Oracle Datenbank Elasticsearch und die Oracle Datenbank Die komfortable Suchmaschine in der Praxis 1. Einleitung 2. Installation 3. Daten aus der Oracle Datenbank 4. praktische Beispiele 5. Fragen & Anregungen Was ist

Mehr

Wie ich lernte die API zu lieben. 19. März 2013. [email protected] 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell

Wie ich lernte die API zu lieben. 19. März 2013. bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Burp- Wie ich lernte die zu lieben 19. März 2013 [email protected] 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Was erwartet uns? Das erwartet euch Theorie:

Mehr

Zentralisiertes Log Management

Zentralisiertes Log Management Zentralisiertes Log Management Ein Erfahrungsbericht Michael Mimo Moratti [email protected] Michael Mimo Moratti 2015 Wer bin ich Michael Mimo Moratti, [email protected], jmimo on Github Java, C, C++, Python, Lua,

Mehr

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0 Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0 Die Beitragssatzdatei in der Version 5.0 wird nur über https Download auf einer frei zugänglichen Webseite auf den folgenden Seiten bereitgestellt.

Mehr

Sprecher. Stephan Krauß Enterprise Portale E-Commerce. Dipl.-Phys. Johannes Knauf Business Analytics Data Science

Sprecher. Stephan Krauß Enterprise Portale E-Commerce. Dipl.-Phys. Johannes Knauf Business Analytics Data Science Sprecher Stephan Krauß Enterprise Portale E-Commerce T +49 (0)911 25 25 68 0 F +49 (0)911 25 25 68 68 [email protected] http://www.ancud.de Dipl.-Phys. Johannes Knauf Business Analytics Data Science T +49

Mehr

Apache Lucene und Oracle in der Praxis Volltextsuche in der Cloud. DOAG 2011 Konferenz + Ausstellung Frank Szilinski & Dominic Weiser, esentri

Apache Lucene und Oracle in der Praxis Volltextsuche in der Cloud. DOAG 2011 Konferenz + Ausstellung Frank Szilinski & Dominic Weiser, esentri Apache Lucene und Oracle in der Praxis Volltextsuche in der Cloud DOAG 2011 Konferenz + Ausstellung Frank Szilinski & Dominic Weiser, esentri Agenda Einleitung Oracle Text Lucene Projekte Apache Solr Elasticsearch

Mehr

Hibernate Portfolio Neuerungen in Hibernate ORM Hibernate Search Hibernate

Hibernate Portfolio Neuerungen in Hibernate ORM Hibernate Search Hibernate 1 Hibernate - State of the Union Gunnar Morling @gunnarmorling Thorben Janssen @thjanssen123 2 Hibernate - State of the Union Agenda Hibernate Portfolio Neuerungen in Hibernate ORM Hibernate Search Hibernate

Mehr

Peter Roßbach Systemarchitekt. Logging Best Practice formulieren, ausgeben und analysieren

Peter Roßbach Systemarchitekt. Logging Best Practice formulieren, ausgeben und analysieren Peter Roßbach Systemarchitekt Logging Best Practice formulieren, ausgeben und analysieren Logging Best Practice formulieren, ausgeben und analysieren Peter Roßbach 1 Peter Roßbach Gründer der bee42 solutions

Mehr

Search-Driven Applications. Florian Hopf, freiberuflicher Softwareentwickler Tobias Kraft, exensio GmbH

Search-Driven Applications. Florian Hopf, freiberuflicher Softwareentwickler Tobias Kraft, exensio GmbH Search-Driven Applications Florian Hopf, freiberuflicher Softwareentwickler Tobias Kraft, exensio GmbH Agenda Motivation Aufbau der Such-Datenstruktur Anwendungsfälle Fallstricke Was ist Suche? Was wollen

Mehr

MODERNES LOGGING DATENSAMMELN OHNE REUE. Bert Radke Marco Grunert T-Systems Multimedia Solutions GmbH

MODERNES LOGGING DATENSAMMELN OHNE REUE. Bert Radke Marco Grunert T-Systems Multimedia Solutions GmbH MODERNES LOGGING DATENSAMMELN OHNE REUE Bert Radke Marco Grunert T-Systems Multimedia Solutions GmbH System.out.println("Customer " + 637208 + " not found"); VIELEN DANK FÜR EURE AUFMERKSAMKEIT! FRAGEN?

Mehr

Auf den Elch gekommen

Auf den Elch gekommen Auf den Elch gekommen Log le-analyse mit dem ELK-Stack Vanessa Rex 22.11.2016 Agenda 1 Einleitung Vorstellung Log les Fallbeispiel 2 Vorbereitung Software Lagerung der Daten 3 Setup Überblick Agent Server

Mehr

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG SODA Die Datenbank als Document Store Rainer Willems Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG vs No Anforderungskonflikte Agile Entwicklung Häufige Schema-Änderungen Relationales

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

Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate

Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate 1 von 43 Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate 27.11.11 Agenda Einleitung Ist-Zustand Bookstore Was ist Hibernate? Wie funktioniert Hibernate? Was ist Spring? Architektur

Mehr

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

Oliver Paulus, [email protected]. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, [email protected]. Was ist Spring?

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring? [email protected] 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2

Mehr

Build Management Tool?

Build Management Tool? Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation

Mehr

Ich liebe Java && Ich liebe C# Rolf Borst

Ich liebe Java && Ich liebe C# Rolf Borst Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String

Mehr

Build Management Tool

Build Management Tool Build Management Tool Build-Prozess? Source Code 3rd Party libraries Veröffentlichung Download all 3rd Party libs by hand Compile your sources: javac -sourcepath./src1;./src2 Byte Code -cp lib1.jar;lib2.jar

Mehr

Datenaustausch mit JSON

Datenaustausch mit JSON Datenaustausch mit JSON Datenaustausch Kodierung von Daten Binärformate (PNG, MP4, Word,... ) effizient, aufwändig, nicht menschenlesbar Textformate (Java,... ): menschenlesbar, Aufwand für Ein- und Ausgabe

Mehr

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer

Mehr

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal Groovy und CouchDB Ein traumhaftes Paar Thomas Westphal 18.04.2011 Herzlich Willkommen Thomas Westphal Software Engineer @ adesso AG Projekte, Beratung, Schulung www.adesso.de [email protected]

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 [[email protected]] Principal Software Engineer

Mehr

Graphdatenbanksysteme

Graphdatenbanksysteme Graphdatenbanksysteme Ein Überblick Benjamin Gehrels [email protected] GitHub: @BGehrels Was ist das? WITH RECURSIVE manager ( level, managerid) AS ( SELECT 1 AS depth, employees.managerid AS managerid

Mehr

Java I Vorlesung Generics und Packages

Java I Vorlesung Generics und Packages Java I Vorlesung 9 Generics und Packages 21.6.2004 Generics Packages Qualifizierte Namen Mehr zu Zugriffsklassen Generics (Java 1.5) Die Klassen im Java Collections Framework sind mit dem Typ ihrer Elemente

Mehr

Kommunikation. Björn und Georg

Kommunikation. Björn und Georg Kommunikation Björn und Georg CORBA CORBA (Common Object Request Broker Architecture) Entwicklung der OMG ( Object Management Group) Zusammenschluss von 800 Firmen Hardware- und Progammiersprachen-unabhängiges

Mehr

Bean-Mapping mit MapStruct

Bean-Mapping mit MapStruct Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much [email protected] www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000

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

Schneller als Hadoop?

Schneller als Hadoop? Schneller als Hadoop? Einführung in Spark Cluster Computing 19.11.2013 Dirk Reinemann 1 Agenda 1. Einführung 2. Motivation 3. Infrastruktur 4. Performance 5. Ausblick 19.11.2013 Dirk Reinemann 2 EINFÜHRUNG

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 [email protected]

Mehr

Build Management Tool?

Build Management Tool? Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation

Mehr

Einführung in Apache Solr

Einführung in Apache Solr Einführung in Apache Solr Markus Klose & Daniel Wrigley O'REILLY Beijing Cambridge Farnham Köln Sebastopol Tokyo Inhalt Vorwort IX Einleitung XI 1 Schnelleinstieg in Solr 1 Was ist Solr? 1 Was ist Lucene?

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

Java Persistence API. Phillip Ghadir Oliver Tigges

Java Persistence API. Phillip Ghadir Oliver Tigges Phillip Ghadir [email protected] Oliver Tigges [email protected] Was wissen Sie in 45 Minuten? Wie man mit JPA entwickelt. Dass wir viele Eigenschaften von JPA ausgelassen haben. Dass Sie nicht

Mehr

DataTables LDAP Service usage Guide

DataTables LDAP Service usage Guide DataTables LDAP Service usage Guide DTLDAP Usage Guide [email protected] / www.ktn.ch Benutzung des DTLDAP Service DataTables Der Service stellt einen JSON Feed für DataTables (http://www.datatables.net)

Mehr

Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland

Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c Robin Müller-Bady Systemberater, Oracle Deutschland The following is intended to outline our general product direction. It is intended

Mehr

Agenda. (1) Einleitung (2) neo4j. (3) Beispiel + Demo

Agenda. (1) Einleitung (2) neo4j. (3) Beispiel + Demo Agenda (1) Einleitung (2) neo4j (1) neo4j Embedded (2) neo4j Server (REST-Interface) (3) Cypher Query Language (4) High Availability Cluster (3) Beispiel + Demo 2 Einleitung 3 Einleitung: Geschichte 1960er:

Mehr

Diplom Verteidigung. Entwicklung einer webbasierten Benutzerschnittstelle für das Netplan-Tool TECHNISCHE UNIVERSITÄT DRESDEN 1 / 35

Diplom Verteidigung. Entwicklung einer webbasierten Benutzerschnittstelle für das Netplan-Tool TECHNISCHE UNIVERSITÄT DRESDEN 1 / 35 Diplom Verteidigung Entwicklung einer webbasierten Benutzerschnittstelle für das Netplan-Tool Bearbeiter: Betreuer: Verantwortlicher Hochschullehrer: Jens Kempe Dr.-Ing. Jörn Plönnigs Dipl.-Inf. (FH) Jana

Mehr

Tobias Flohre / Dennis Schulte codecentric AG. Spring Batch Performance und Skalierbarkeit

Tobias Flohre / Dennis Schulte codecentric AG. Spring Batch Performance und Skalierbarkeit Tobias Flohre / Dennis Schulte Spring Batch Performance und Skalierbarkeit Dennis Schulte Düsseldorf @denschu www.github.com/denschu blog.codecentric.de/author/dsc tel +49 (0) 1515 _ 288 2395 [email protected]

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

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

Javaaktuell. Sonderdruck. Java hebt ab. iii iii iii ijug. iii. Praxis Prinzipien des API-Managements, Seite 27

Javaaktuell. Sonderdruck. Java hebt ab. iii iii iii ijug. iii. Praxis Prinzipien des API-Managements, Seite 27 01-2014 Frühling www. ijug.eu Praxis. Wissen. Networking. Das Magazin für Entwickler Java hebt ab Javaaktuell Javaaktuell D: 4,90 EUR A: 5,60 EUR CH: 9,80 CHF Benelux: 5,80 EUR ISSN 2191-6977 Praxis Prinzipien

Mehr

So legen Sie eine gelöschte Resource wieder an

So legen Sie eine gelöschte Resource wieder an NetWorker - Allgemein Tip 547, Seite 1/5 So legen Sie eine gelöschte Resource wieder an Besonders bei der Verwendung mehrerer Bildschirme ist es schnell geschehen - einmal haben Sie den Fokus nicht richtig

Mehr

Lucene in a Nutshell. Wie erstelle ich eine Suchanwendung mit Hilfe von Lucene? Bonsai-Tagung vom Conni Poppe

Lucene in a Nutshell. Wie erstelle ich eine Suchanwendung mit Hilfe von Lucene? Bonsai-Tagung vom Conni Poppe Lucene in a Nutshell Wie erstelle ich eine Suchanwendung mit Hilfe von Lucene? Bonsai-Tagung vom 17.11. -18.11.08 Conni Poppe Problemstellung Suchmöglichkeiten in eigenen Anwendungen eigene Suchmaschine

Mehr

Apache Lucene und Oracle in der Praxis - Volltextsuche in der Cloud

Apache Lucene und Oracle in der Praxis - Volltextsuche in der Cloud Apache Lucene und Oracle in der Praxis - Volltextsuche in der Cloud Frank Szilinski, esentri software GmbH Dominic Weiser, esentri consulting GmbH Ettlingen Schlüsselworte: Apache Lucene, Apache Solr,

Mehr

Systemmanagement mit Puppet und Foreman

Systemmanagement mit Puppet und Foreman Foreman CommitterConf Essen 2014 28.10.2014 Ralph Dehner Gründer & CEO [email protected] - Linux/Open Source Consulting, Training, Support & Development Vorstellung B1 Systems gegründet 2004 primär

Mehr

Linux (min. Kernel 2.4) min. Java 1.5 MPJ (http://dsg.port.ac.uk/projects/mpj/soft/download.php)

Linux (min. Kernel 2.4) min. Java 1.5 MPJ (http://dsg.port.ac.uk/projects/mpj/soft/download.php) MPJ Installation und Konfiguration Voraussetzungen Linux (min. Kernel 2.4) min. Java 1.5 MPJ (http://dsg.port.ac.uk/projects/mpj/soft/download.php) Installation Auf kompatible Java-Version prüfen $ java

Mehr

Neue Wege mit Contao 4

Neue Wege mit Contao 4 Neue Wege mit Contao 4 Schöne neue PHP-Welt Contao Konferenz 2016 Über mich Andreas Schempp / terminal42 gmbh Schweiz Contao Core Entwickler Vorstand (Schatzmeister) Contao Association Hauptentwickler

Mehr

Dominik Helleberg inovex GmbH. Auf Augenhöhe mit Android Studio und Gradle

Dominik Helleberg inovex GmbH. Auf Augenhöhe mit Android Studio und Gradle Dominik Helleberg inovex GmbH Auf Augenhöhe mit Android Studio und Gradle Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+ The new Dream Team Gradle + Android

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

Persistenz Muster. Muster rund um den Datenbank Zugrif

Persistenz Muster. Muster rund um den Datenbank Zugrif Persistenz Muster Muster rund um den Datenbank Zugrif Einleitung Persistenz Muster beschreiben verschiedene Lösungen von Problemen rund um das Speichern und Lesen (Persistieren) von Objekten. o Sie zeigen,

Mehr

Infinispan - NoSQL für den Enterprise Java Alltag

Infinispan - NoSQL für den Enterprise Java Alltag Infinispan - NoSQL für den Enterprise Java Alltag Version: 1.1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Gliederung NoSQL und Java EE Infinispan Integrationsszenarien

Mehr

BIW Wahlpflichtmodul. Einführung in Solr, Pipeline und REST. Philipp Schaer, TH Köln (University of Applied Sciences), Cologne, Germany

BIW Wahlpflichtmodul. Einführung in Solr, Pipeline und REST. Philipp Schaer, TH Köln (University of Applied Sciences), Cologne, Germany BIW Wahlpflichtmodul Einführung in Solr, Pipeline und REST Philipp Schaer, TH Köln (University of Applied Sciences), Cologne, Germany Version: 2018-05-29 Überblick über gängige Lösungen 2 3 in a nutshell

Mehr

Seminararbeit. Konzept einer Schnittstelle zur Benutzerverwaltung in RiskShield-Server. Christoph Laufs INFORM GmbH INFORM GmbH 1

Seminararbeit. Konzept einer Schnittstelle zur Benutzerverwaltung in RiskShield-Server. Christoph Laufs INFORM GmbH INFORM GmbH 1 Seminararbeit Konzept einer Schnittstelle zur Benutzerverwaltung in RiskShield-Server Christoph Laufs INFORM GmbH 2016 - INFORM GmbH 1 Agenda 1. RiskShield-Server 2. Motivation und Anforderungen 3. Web

Mehr

Batch Access. Batch Access IACBOX.COM. Version Deutsch

Batch Access. Batch Access IACBOX.COM. Version Deutsch Version 1.1.0 Deutsch 11.07.2016 In diesem HOWTO wird beschrieben, wie bestimmte Daten auf der IACBOX via HTTP POST abgefragt werden können. TITEL Inhaltsverzeichnis Inhaltsverzeichnis... 1 1. Hinweise...

Mehr

IdP Cluster Strukturen und zentrales Logging

IdP Cluster Strukturen und zentrales Logging IdP Cluster Strukturen und zentrales Logging Agenda Agenda Kurzvorstellung RWTH Aachen Shibboleth Kennzahlen an der RWTH Aachen IdP Cluster Strukturen an der RWTH Aachen Aufbau IdP Cluster Kurzvorstellung

Mehr

Anleitung zur Integration der /data.mill API in SAP Java Applikationen

Anleitung zur Integration der /data.mill API in SAP Java Applikationen Anleitung zur Integration der /data.mill API in SAP Java Applikationen Inhalt 1. Anlage einer HTTP Destination 1 1.1. Anmelden an SAP Cloud Platform 1 1.2. Destination Konfiguration 3 1.3. Eintragen der

Mehr

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit

Mehr

ELO Click & Find. Technische Dokumentation ELO Click & Find. Inhalt. [Stand: 22.07.2014 Programmversion: 9.00.000]

ELO Click & Find. Technische Dokumentation ELO Click & Find. Inhalt. [Stand: 22.07.2014 Programmversion: 9.00.000] [Stand: 22.07.2014 Programmversion: 9.00.000] Mit dem Modul ELO Click&Find können Sie beliebige digitale Begriffe in Anwendungsprogrammen auf Ihrem PC erst kopieren und nachfolgend nach dem kopierten Inhalt

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

Grails Ein modernes MVC Framework zur Erstellung von Webanwendungen Gabriel Münch

Grails Ein modernes MVC Framework zur Erstellung von Webanwendungen Gabriel Münch Grails Ein modernes MVC Framework zur Erstellung von Webanwendungen = + + ( 1 ) Grundlagen Geschichte von Groovy und Grails Groovy Warum Groovy? Warum Grails? Geschichte von Groovy und Grails 2003 von

Mehr

Powershell DSC Oliver Ryf

Powershell DSC Oliver Ryf 1 Powershell DSC Oliver Ryf Partner: 2 Agenda Begrüssung Vorstellung Referent PowerShell Desired State Configuration F&A Weiterführende Kurse 3 Vorstellung Referent Seit 1991 IT-Trainer 1995 MCSE und MCT

Mehr

RavenDB, schnell und skalierbar

RavenDB, schnell und skalierbar RavenDB, schnell und skalierbar Big Data & NoSQL, Aydin Mir Mohammadi bluehands GmbH & Co.mmunication KG [email protected] Immer mehr Mehr Performance Mehr Menge Mehr Verfügbarkeit Skalierung http://www.flickr.com/photos/39901968@n04/4864698533/

Mehr

Persistenz unter Kontrolle mit JDBI für Java

Persistenz unter Kontrolle mit JDBI für Java .consulting.solutions.partnership Persistenz unter Kontrolle mit JDBI für Java DOAG Konferenz 2016 17. November 2016 Persistenz unter Kontrolle mit JBDI für Java 1 2 3 SQL - effizienter Zugriff auf die

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

Sinn (und Unsinn) für Informix Benutzer

Sinn (und Unsinn) für Informix Benutzer NoSQL : Sinn (und Unsinn) für Informix Benutzer Martin Fürderer IBM Informix Entwicklung München Agenda Was bedeutet NoSQL für Informix Benutzer? Was bedeutet NoSQL? Fragen? Welche NoSQL Funktionalität

Mehr

Java Einführung Vererbung und Polymorphie. Kapitel 13

Java Einführung Vererbung und Polymorphie. Kapitel 13 Java Einführung Vererbung und Polymorphie Kapitel 13 Inhalt Klassifikation (UML) Implementierung von Vererbungshierarchien Überschreiben von Methoden Polymorphismus: Up-Casting und Dynamisches Binden Schlüsselwort

Mehr

Forms 12c und der Oracle SB

Forms 12c und der Oracle SB Forms 12c und der Oracle SB Gerd Volberg OPITZ CONSULTING Deutschland GmbH Nürnberg, 19. November 2015 OPITZ CONSULTING Deutschland GmbH Seite 1 Agenda 1. Oracle Service Bus 2. Installation Pre-built Virtual

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

Enterprise Search. Präsentation zur Seminararbeit. im Seminar Moderne Entwurfsmethoden für Innovative Softwaresysteme

Enterprise Search. Präsentation zur Seminararbeit. im Seminar Moderne Entwurfsmethoden für Innovative Softwaresysteme Enterprise Search Präsentation zur Seminararbeit im Seminar Moderne Entwurfsmethoden für Innovative Softwaresysteme Michael Hübschmann 14. Januar 2014 Betreuung: Dr. Hella Seebach Überblick 1. Motivation

Mehr

Microsoft Azure: Ein Überblick für Entwickler. Malte Lantin Technical Evangelist, Developer Experience & Evangelism (DX) Microsoft Deutschland GmbH

Microsoft Azure: Ein Überblick für Entwickler. Malte Lantin Technical Evangelist, Developer Experience & Evangelism (DX) Microsoft Deutschland GmbH Microsoft Azure: Ein Überblick für Entwickler Malte Lantin Technical Evangelist, Developer Experience & Evangelism (DX) Microsoft Deutschland GmbH Moderne Softwareentwicklung Microsoft Azure unterstützt

Mehr

JAX-RS 2.0 REST mit Java EE 7

JAX-RS 2.0 REST mit Java EE 7 Enterprise Java, Web Services und XML JAX-RS 2.0 REST mit Java EE 7 Java User Group Darmstadt 13. Juni 2013 http://www.frotscher.com [email protected] Vorstellung Freiberuflicher Softwarearchitekt und

Mehr

1.1 Motivation. 1.2 Geschichte von Elasticsearch. 1 Einführung

1.1 Motivation. 1.2 Geschichte von Elasticsearch. 1 Einführung 1 1 Einführung 1.1 Motivation In den letzten Jahren ist für viele Anwendungen das Suchfeld immer wichtiger geworden. War die Suche früher noch ein Teilaspekt einer Anwendung, wird heutzutage immer mehr

Mehr

NotesSession.GetPropertyBroker( )

NotesSession.GetPropertyBroker( ) Bestandteile von CA Laufen im Rich Client (Notes oder Expeditor) oder via Portal Server im Browser NSF-Komponenten sind Notes-Designelemente Eclipse Komponenten sind Eclipse ViewParts lokale oder Websphere

Mehr

Inhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN:

Inhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN: Inhaltsverzeichnis Bernd Müller, Harald Wehr Java Persistence API 2 Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN: 978-3-446-42693-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42693-1

Mehr