Neo4j. (graphs)-[:are]->(everywhere) Daten natürlich modellieren und verarbeiten mit Neo4j. Patrick
|
|
- Ulrich Vogel
- vor 6 Jahren
- Abrufe
Transkript
1 Neo4j Daten natürlich modellieren und verarbeiten mit Neo4j (graphs)-[:are]->(everywhere) Patrick JavaLand.eu Phantasialand 26. März 2014
2 Speaker Profil Patrick Baumgartner Graph & Code 42talents Spring Framework, OSGi, Neo4j Spring Trainer Co-Autor von "OSGi für Praktiker" Agile Projektmethoden & Praktiken Scrum.org Trainer - PSD 2
3 42talents Qualifiziert in den Bereichen Spring Framework Java EE OSGi Agile Projektmethoden Standort Zürich, 3
4 Agenda Einführung Usecases Neo4j Querying Import / Export Tools und APIs Polyglot Persistence Highlights & Challenges beim Einsatz Q & A 4
5 New Types of Data Stores 5
6 NoSQL Data Size Key-Value Stores Column Family Document Databases Graph Databases 90% aller Usecases Relational Datatabases Data Complexity 6
7 Labeled Property Graph Modell Graphen bestehen aus Knoten / Nodes Beziehungen / Relations Eigenschaften / Properties Labels Bob Person name:bob age:63 sex:male name:alice age:21 sex:female Person Alice type:drives type:owns S Car Model: S vendor:tesla 7
8 Usecases Wo finde ich meinen Graphen? 8
9 Social Data Alice KNOWS Carol KNOWS Luke Bob KNOWS Pete KNOWS Sam 9
10 Social Graph Ein einmaliger Anwendungsfall? 10
11 Spatial Data 1 type:road length:3km ROAD 2 5 type:hotel name:radisson Blu lat: long: type:hotel name:widder lat: long: ROAD ROAD 13 11
12 Schienennetz in Deutschland 12
13 Social & Spatial Data Alice KNOWS LIKES Mat 5 type:hotel name:radisson Blu lat: long: Bob ROAD 8 ROAD 13 13
14 Financial Data Alice OWNS Hotel TRANSFER Luke Bank Pete WITHDRAW ATM 14
15 Eine beliebige Business Domäne Process Device KPI Activity DEPENDS_ON Service DEPENDS_ON Function 15
16 Single Malt Scotch Whisky GraphGist 16
17 Single Malt Scotch Whisky GraphGist 17
18 Neo4j The Big Picture 18
19 Neo4j Big Picture Die verbreitetste Graphendatenbank der Welt Robust: In Betrieb 24/7 seit 2003 Reifegrad: Vielfach in Produktion ausgerollt Community: Ecosystem mit Tools, Bindings, Frameworks Lizenzen AGPLv3 Community Edition OpenSource Advanced/Enterprise für kommerzielle Anwendungen Neo Technology Entwicklung & Support ~ 60 Personen / 6 Länder / 3 Kontinente Total 24 Mio $ VC Finanzierung 19
20 Data Browser 20
21 Eigenschaften Objektorientiert, flexible Netzwerkstruktur Support für ACID Transaktionen Vertikal skalierbar Java API Anbindung mittels Java, Groovy, Scala, JRuby Runtime Standalone Server Embedded Database Diskbasierter Storage Manager Support für Erweiterungen und Testing 21
22 Querying Wie finde ich meine Daten? 22
23 Graph Querying Wie erhalte ich die richtigen Nodes aus dem Graphen? Nenne mir alle Freunde und Freunde von Freunden, welche den Film XY mit mehr als 3 Sternen bewertet haben.... Queryingmethoden Traversing mit Neo4j API Traversal Descriptions Graphalgorithmen Index Queries Cypher Queries 23
24 Neo4j API Node bob =...; for ((Relationship rel: bob.getrelationships(reltypes.knows)) { Node friend = rel.getendnode(); System.out.println(friend.getProperty("name")); } Einfache, aber sehr "low level" API Zu "verbose" für komplexe Traversals 24
25 Traversal API Beschreibt Bewegungen durch den Graphen Callback basiert Abfrage API für Graphen Fluent API Konstrukte Neo4j implementiert folgende Algorithmen: A* Dijkstra pathswithlength shortestpath allsimplepaths allpaths 25
26 Traversal API Konstrukte 26
27 Beispiel: Traversal API TraversalDescription directfriends = Traversal.description().breadthFirst().relationships(RelTypes.KNOWS).evaluator(Evaluators.toDepth(1)).evaluator(Evaluators.excludeStartPosition()); for(path p : directfriends.traverse(bob)) { } System.out.println(p.endNode().getProperty("firstname")); 27
28 Index Queries Unterstützung von Node und Relationship Indices Lucene als Standard-implementierung node id property value 15 name Alice 15 yearofbirth name Bob 46 name Carol 46 yearofbirth
29 Cypher Query Language Graph Query Language ähnlich SQL Deklarative Sprache Definiert das "Was" nicht das "Wie" Nutzt Pattern Matching Support für Filterung Paginierung Update-Funktionalität 29
30 Cypher Query Language Elemente Element START MATCH WHERE SKIP LIMIT RETURN ORDER BY PARAMETERS CREATE Bedeutung Startelement(e) (Angabe von Index- o. Id-Lookup) Pattern für zu findende Knoten, beschrieben durch Pfade auf Identifiern (a) [knows]-> (b) Resultatsfilterung (boolean-ausdruck) Paginierung Definiert Rückgabe-Elemente Sortierung nach Properties Parameter-Map, die im Cypher mittels Key oder Position verwendet werden kann Erzeugt einen Knoten 30
31 Beispiel: Cypher Query & Java String query = "MATCH (person)-[:knows]-(friend) " + "RETURN friend"; KNOWS person friend ExecutionEngine engine = new ExecutionEngine(graphDb); ExecutionResult result = engine.execute(query); Iterator<Object> column = result.columnas("friend"); while(column.hasnext()) { Node friendnode = (Node)column.next(); } System.out.println(friendNode.getProperty(PROP_FIRSTN AME)); 31
32 Example: Cypher Create Query CREATE (carol {name:"carol"}) return carol; carol Node[1]{name:"carol"} Carol CREATE (bob {name:"bob"}), (carol)-[:knows]->(bob) return bob; KNOWS Carol Bob CREATE (apple {name:"apple",type:"fruit"}), (carol)-[:owns {number: 5}]->(apple); Carol OWNS number: 5 Apple type: Fruit 32
33 Import / Export Wie lese und schreibe ich Daten? 33
34 Erzeugung von Nodes mit Java org.neo4j.graphdb.graphdatabaseservice graphdb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH); Transaction tx = graphdb.begintx(); try { Node peter = createnode(graphdb, "Peter"); Node carol = createnode(graphdb, "Carol"); peter.createrelationshipto(carol, RelTypes.KNOWS);.. tx.success(); } finally {tx.finish();} public Node createnode(graphdatabaseservice graphdb, String firstname) { Node person = graphdb.createnode(); person.setproperty("firstname", firstname); return person; } 34
35 Erzeugung von Nodes mit Cypher MERGE (carol:person{name:'carol'}); MERGE (bob:person{name:'bob'}); MERGE (trudy:person{name:'trudy'}); MERGE (apple:fruit{name:'apple'}); MERGE (bob)-[:knows]->(carol); MERGE (bob)-[:knows]->(trudy); MERGE (trudy)-[:knows]->(carol); MERGE (carol)-[:owns{number: 5}]->(apple); 35
36 NeoClipse 36
37 Thinkerpop Blueprint Thinkerpop Blueprint Extensions GraphML Reader/Writer Library GraphSon Reader/Writer Library GML Reader/Writer Library Java Universal Network/ Graph Framework 37
38 GraphML GraphML ( ) Standardisierte Beschreibungssprache für Graphen Modellierungswerkzeuge XML <graph id="g" edgedefault="directed"> <node id="n0"/> <node id="n1"/> <edge source="n0" target="n1"/> </graph> 38
39 Tools & APIs Nützliche Helfer bei der täglichen Arbeit 39
40 Neo4j Bordmittel Admin Console Daten Visualisierung Cypher Neo4j Shell Cypher REST Interface Cypher Neo4j Plugin Eigenentwicklung CSV BatchInserter ParallelBatchInserter 40
41 Tools & APIs Third Party Libraries Thinkerpop Spring Data Neo4j (SDN)... 41
42 Spring Data Verwendet die selben Prinzipien wie das Spring Framework Produktivitätssteigerung Konsistentes Programmiermodell Portabilität Überprojekt für diverse Mapperimplementationen Mappingunterstützung für Java Domainobjekte
43 Spring Data Neo4j (SDN) POJOs auf Nodes & Relationships typensicher gemappt Arbeitet direkt mit der Datenbank, normalerweise im Embedded-Mode Alles passiert innerhalb Braucht AspectJ um die POJOs mit Magie zu erweitern 43
44 Spring Data Neo4j public class Person { private String name; } private int age; // getters/setters Alice Person alice = new Person(); alice.setname("alice"); alice.setage(42); alice.persist(); 44
45 Spring Data Neo4j public class Knows { private int sinceyear; public Knows since(int year) { this.sinceyear = year; return this; } public class Person { public Known knows(person p) { return this.relateto(p, Knows.class, "KNOWS"); } } Person alice =...; Person bob...; KNOWS alice.knows(bob).since(2012); Alice Bob since:
46 Spring Data Neo4j public class Person { private String name; private int = "KNOWS", direction = Direction.OUTGOING) private Set<Person> knownpersons; public void knows(person p) { knownpersons.add(p); } public Set<Person> getfriends() { return knownpersons; } } Person alice =...; alice.knows(bob); alice.knows(carol); Alice KNOWS KNOWS Carol Bob 46
47 Spring Data Neo4j Repository public interface PersonRepository extends GraphRepository<Person> { person = {0} match... return...") Iterable<Product> getownedservices(person person); Iterable<Person> findbyname(string name); Iterable<Person> findbynamelike(string PersonRepository personrepository; Person alice = personrepository.findbyname("alice"); 47
48 Polyglot Persistence Gibt es nur EINEN zentralen Datentopf? 48
49 Polyglot Persistence Applikation User Sessions Shopping Card Recommendations Redis Riak Neo4j Product Catalog Analytics Financial Data MongoDB Casandra MySQL 49
50 Challenges and Highlights 50
51 Challenges Developer Onboarding "Schemaänderungen" -> Migrationen Extrem viele Daten Oft neue Neo4j Releases Bugs keine Showstopper Übersicht im Modell nicht verlieren / Dokumentation pflegen 51
52 Highlights Community mit gutem Support Sourcen auf Github Gute Performance Whiteboard friendliness Spring Programmier-Modell mit Spring Data Neo4j 52
53 Q&A 53
54 Herzlichen Dank! (graphs)-[:are]->(everywhere) Patrick patrick.baumgartner [at] 42talents [dot] com 54
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:
MehrJava 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
MehrGraphdatenbanksysteme
Graphdatenbanksysteme Ein Überblick Benjamin Gehrels benjamin@gehrels.info GitHub: @BGehrels Was ist das? WITH RECURSIVE manager ( level, managerid) AS ( SELECT 1 AS depth, employees.managerid AS managerid
MehrProjektgruppe. Knowledge Representation Persistence and Reasoning
Projektgruppe Seminarvortrag von Stefan Middeke Knowledge Representation Persistence and Reasoning 4. Juni 2010 Überblick Motivation Repräsentation der Daten Speicherung und Abfrage von Daten Folgerungen
MehrAgenda. 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
MehrANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik
ARFA ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten
MehrAbstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015
Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken
MehrAnalyse 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
MehrObjekt-relationales Mapping und Performance-Tuning
Objekt-relationales Mapping und Performance-Tuning Thomas Krüger tkrueger@vanatec.com Agenda Wege um Daten zu lesen Wege um Daten zu modellieren Wege um Datenbanken effizient zu nutzen 2 2 Wege, Daten
MehrMobile Backend in der
Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile
MehrPostgreSQL in großen Installationen
PostgreSQL in großen Installationen Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig Wieso PostgreSQL? - Die fortschrittlichste Open Source Database - Lizenzpolitik: wirkliche Freiheit - Stabilität,
MehrSuchen 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
MehrNoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt
NoSQL & Big Data Datenorientierte Systemanalyse NoSQL Databases and Big Data Gerhard Wohlgenannt Die besprochenen Systeme haben nicht den Anspruch und das Ziel DBS zu ersetzen, sondern für gewisse Anwendungsfälle
MehrNoSQL Databases and Big Data
Datenorientierte Systemanalyse NoSQL Databases and Big Data Gerhard Wohlgenannt NoSQL & Big Data Die besprochenen Systeme haben nicht den Anspruch und das Ziel DBS zu ersetzen, sondern für gewisse Anwendungsfälle
MehrNoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. Architekturtag @ SEACON 2012 Hamburg
NoSQL Was Architekten beachten sollten Dr. Halil-Cem Gürsoy adesso AG Architekturtag @ SEACON 2012 Hamburg 06.06.2012 Agenda Ein Blick in die Welt der RDBMS Klassifizierung von NoSQL-Datenbanken Gemeinsamkeiten
Mehr5. 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
Mehr5. 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
MehrCassandra Query Language (CQL)
Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für
MehrPolyglotte Persistenz & Multi-Model Datenbanken
Polyglotte Persistenz & Multi-Model Datenbanken 192. Datenbankstammtisch 29.10.2014 Michael Hackstein @mchacki www.arangodb.com Michael Hackstein ArangoDB Kern Entwickler Web Frontend Graphen Visualisierung
MehrSpring 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
MehrNeo4J & Sones GraphDB. Graph-Datenbanken. Von Toni Fröschke. Problemseminar NoSQL-Datenbanken (WS 2011/12)
Neo4J & Sones GraphDB Graph-Datenbanken Von Toni Fröschke Problemseminar NoSQL-Datenbanken (WS 2011/12) Gliederung Neo4J Überblick Neo4J-Komponenten Datenhaltung/ -verwaltung Verfügbarkeit & Recovery I/O
MehrEclipse 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
MehrHibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate
Hibernate Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen Nabil janah 1 Hibernate Inhalt Hibernate allgemeines Vorteile von Hibernate Hibernate-Architektur
MehrForeign Data Wrappers
-Angebot Foreign Data Wrappers Postgres ITos GmbH, CH-9642 Ebnat-Kappel Swiss Postgres Conference 26. Juni 2014 Foreign Data Wrapper Postgres -Angebot Foreign Data Wrapper? Transparente Einbindung (art-)fremder
MehrSmartphone 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
MehrDatenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie
Datenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter
MehrWorkshop 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
MehrSpringSource Enterprise & Application Platform: Wo geht die Reise hin?
SpringSource Enterprise & Application Platform: Wo geht die Reise hin? Eberhard Wolff Regional Director & Principal Consultant SpringSource Copyright 2007 SpringSource. Copying, publishing or distributing
MehrÜberblick und Vergleich von NoSQL. Datenbanksystemen
Fakultät Informatik Hauptseminar Technische Informationssysteme Überblick und Vergleich von NoSQL Christian Oelsner Dresden, 20. Mai 2011 1 1. Einführung 2. Historisches & Definition 3. Kategorien von
MehrNoSQL HANSER. Einstieg in die Web 2.0 Datenbanken. Stefan Edlich Achim Friedland Jens Hampe Benjamin Brauer Markus Brückner
Stefan Edlich Achim Friedland Jens Hampe Benjamin Brauer Markus Brückner NoSQL Einstieg in die Web 2.0 Datenbanken 2., akutalisierte und erweiterte Auflage HANSER Geleitwort Vorwort Vorwort zur 2. Auflage
MehrSpring 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
MehrWebentwicklung 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
MehrKein blasses Schema? NoSQL und Big Data mit Hibernate OGM
Kein blasses Schema? NoSQL und Big Data mit Hibernate OGM Thomas Much thomas@muchsoft.com www.muchsoft.com 1 NoSQL und Big Data Herzlich Willkommen in der NoSQL-Welt OnlySQL Not 2 NoSQL und Big Data NoSQL
MehrRein relationale DB in Prod? Datenbanken in produktiven Einsatz? SQL + NoSQL DB in Prod? (MongoDB, Redis, CouchDB, Cassandra)
1 Rein relationale DB in Prod? Datenbanken in produktiven Einsatz? 2 SQL + NoSQL DB in Prod? (MongoDB, Redis, CouchDB, Cassandra) 3 DB-Cluster in der Cloud? NoSQL?!? SQL Normalformen Come as you are Warum
MehrPersistenz 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)
MehrSprecher. 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 info@ancud.de http://www.ancud.de Dipl.-Phys. Johannes Knauf Business Analytics Data Science T +49
MehrÜbersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.
Eclipse WSDL-Editor Übersicht Eclipse Foundation Eclipse Plugins & Projects Eclipse Ganymede Simultaneous Release Web Tools Platform Projekt WSDL Editor Bug #237918 Eclipse Foundation Was ist Eclipse?
MehrStruts 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
MehrIntegration 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.
MehrMit In-Memory Technologie zu neuen Business Innovationen. Stephan Brand, VP HANA P&D, SAP AG May, 2014
Mit In-Memory Technologie zu neuen Business Innovationen Stephan Brand, VP HANA P&D, SAP AG May, 2014 SAP Medical Research Insights : Forschung und Analyse in der Onkologie SAP Sentinel : Entscheidungsunterstützung
MehrFrontend Migration from JSP to Eclipse Scout
Frontend Migration from JSP to Eclipse Scout Peter Nüdling Raiffeisen Schweiz Jérémie Bresson, Peter Barthazy BSI Business Systems Integration AG Eclipse Finance Day, Zürich, 31. Oktober 2014 Seite 1 WebKat:
MehrNoSQL 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
MehrBIW - Überblick. Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004
BIW - Überblick Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004 Annegret Warnecke Senior Sales Consultant Oracle Deutschland GmbH Berlin Agenda Überblick
MehrAnwendungsentwicklung mit Spring
Anwendungsentwicklung mit Spring Eberhard Wolff Managing Director Interface21 GmbH Interface21 - Spring from the Source Interface21 Produkte u.a. Spring Framework Spring from the Source Consulting, Training,
MehrSoftwareentwicklung mit Enterprise JAVA Beans
Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.
MehrWebbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient
Webbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient Zhihang Yao, Kanishk Chaturvedi, Thomas H. Kolbe Lehrstuhl für Geoinformatik www.gis.bgu.tum.de 11/14/2015 Webbasierte Exploration
MehrJava 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.
MehrMobile Backend in. Cloud. Azure Mobile Services / Websites / Active Directory /
Mobile Backend in Cloud Azure Mobile Services / Websites / Active Directory / Einführung Wachstum / Marktanalyse Quelle: Gartner 2012 2500 Mobile Internet Benutzer Desktop Internet Benutzer Internet Benutzer
MehrÜ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
MehrOliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?
oliver@code-project.org 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
MehrAPEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH
APEX und Workflows: Spaghetticode oder Integration Sven Böttcher Consultant, Apps Associates GmbH Apps Associates Apps Associates gegründet 2002 in Boston (HQ) seit 2003 GDC in Hyderabad seit 2006 in Dortmund
MehrSchemaless NoSQL Data Stores Object-NoSQL Mappers to the Rescue?
Schemaless NoSQL Data Stores Object-NoSQL Mappers to the Rescue? Uta Störl, Thomas Hauf, Meike Klettke, Stefanie Scherzinger Hochschule Darmstadt, Uni Rostock, OTH Regensburg Motivation Herausforderungen
MehrOpen Source Data Center Virtualisierung mit OpenNebula. 05.03.2013 CeBIT 2013. Bernd Erk www.netways.de
Open Source Data Center Virtualisierung mit OpenNebula 05.03.2013 CeBIT 2013 Bernd Erk VORSTELLUNG NETWAYS NETWAYS! Firmengründung 1995! GmbH seit 2001! Open Source seit 1997! 35 Mitarbeiter! Spezialisierung
MehrORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel
ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:
MehrErstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java
Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework
MehrGeocom UC 2015. GEONIS: Status und Blick in die Zukunft. Christoph Spörri
Geocom UC 2015 GEONIS: Status und Blick in die Zukunft Christoph Spörri Agenda: - Status Produkte - Einflüsse auf die Entwicklung - GEONIS Architektur 2 http://www.videogamesblogger.com/ Entwicklungsschwerpunkte
MehrIt's time to rethink Datenbank-Design in der schönen neuen Welt
It's time to rethink Datenbank-Design in der schönen neuen Welt Java User Group Hessen 2015 Version: 1.1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher
MehrEinführung in Hadoop & MapReduce. Dr. Kathrin Spreyer Big Data Engineer
Einführung in Hadoop & MapReduce Dr. Kathrin Spreyer Big Data Engineer München, 19.06.2013 Agenda Einleitung 1. HDFS 2. MapReduce 3. APIs 4. Hive & Pig 5. Mahout Tools aus Hadoop-Ökosystem 6. HBase 2 Worum
MehrLINQ. LANGUAGE INTEGREATED QUERY.net 3.5. Bernhard Grojer BernhardG@ppedv.de
LINQ LANGUAGE INTEGREATED QUERY.net 3.5 Bernhard Grojer BernhardG@ppedv.de Agenda Übersicht LINQ Basistechnologien Verschiedene Arten von LINQ LINQ (to Objects) LINQ TO SQL Übersicht LINQ Aggregationen
Mehr23. Januar, Zürich-Oerlikon
23. Januar, Zürich-Oerlikon Apps und Business über die Cloud verbinden Martin Weber Senior Software Engineer / Principal Consultant Cloud Technologies Noser Engineering AG Noser Engineering Noser Engineering
MehrTreffpunkt Semicolon. NoSQL. mit JPA und Hibernate OGM. Thomas Much 09.09.2014
Treffpunkt Semicolon NoSQL mit JPA und Hibernate OGM Thomas Much 09.09.2014 Über... Thomas Much Dipl.-Inform. (Universität Karlsruhe (TH)) Berater, Architekt, Entwickler, Coach (seit 1990) Trainer für
MehrProgrammierprojekt. Anne0e Bieniusa Sommersemester 2014
Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase
MehrDatenhaltung für Android. Model First
Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung
MehrSolaris Cluster. Dipl. Inform. Torsten Kasch <tk@cebitec.uni Bielefeld.DE> 8. Januar 2008
Dipl. Inform. Torsten Kasch 8. Januar 2008 Agenda Übersicht Cluster Hardware Cluster Software Konzepte: Data Services, Resources, Quorum Solaris Cluster am CeBiTec: HA Datenbank
MehrHibernate 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 info@oio.de Java, XML und Open Source seit 1998 ) Software Factory ) ) Object Rangers ) ) Competence Center) Schlüsselfertige
MehrSoziotechnische Informationssysteme
Soziotechnische Informationssysteme 8. NoSQL Relationale Datenbank NoSQL Datenbank Relationale Datenbank? NoSQL Datenbank RDBM 2 Warum? Skalierbarkeit Riesige Datenmengen Performanz und Elastizität Auslastung
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrREST-Schnittstellen Dokumentation und Testing. Adrian Moos (adrian.moos@bedag.ch) Technology Advisor Bedag Informatik AG
REST-Schnittstellen Dokumentation und Testing Adrian Moos (adrian.moos@bedag.ch) Technology Advisor Bedag Informatik AG Inhalt Einleitung Dokumentation und Ad-Hoc-Testing Testautomation Fazit Seite 2 Softwareentwicklung
MehrJava User Group Saxony Dec 2015. Oliver B. Fischer - E-Post Development GmbH Dirk Mahler - buschmais GbR
by Java User Group Saxony Dec 2015 Oliver B. Fischer - E-Post Development GmbH Dirk Mahler - buschmais GbR 2 Eine strukturierte oder hierarchische Anordnung der Systemkomponenten sowie die Beschreibung
MehrWeb Technologien NoSQL Datenbanken
Web Technologien NoSQL Datenbanken Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 10:00 a.m. Room HS 021, B4
MehrGregor Raschke 2008 HIBERNATE. Eine Einführung
1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches
MehrIch 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
MehrOracle BI&W Referenz Architektur Big Data und High Performance Analytics
DATA WAREHOUSE Oracle BI&W Referenz Architektur Big Data und High Performance Analytics Alfred Schlaucher, Oracle Scale up Unternehmensdaten zusammenfassen Noch mehr Informationen
MehrSQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
MehrÜ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,
MehrOpen Source Data Center Virtualisierung mit OpenNebula. 22.05.2013 LinuxTag Berlin. Bernd Erk www.netways.de
Open Source Data Center Virtualisierung mit OpenNebula 22.05.2013 LinuxTag Berlin Bernd Erk VORSTELLUNG NETWAYS NETWAYS! Firmengründung 1995! GmbH seit 2001! Open Source seit 1997! 38 Mitarbeiter! Spezialisierung
Mehr+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!.
+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!. +++ Oracle Mobile Cloud Service (MCS) MCS SDK & MAF MCS
MehrMit Cloud Power werden Sie zum
Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50
MehrWide Column Stores. Felix Bruckner Mannheim, 15.06.2012
Wide Column Stores Felix Bruckner Mannheim, 15.06.2012 Agenda Einführung Motivation Grundlagen NoSQL Grundlagen Wide Column Stores Anwendungsfälle Datenmodell Technik Wide Column Stores & Cloud Computing
MehrSINT Rest App Documentation
SINT Rest App Documentation Release 1.0 Florian Sachs September 04, 2015 Contents 1 Applikation 3 2 Rest Service 5 3 SOAP Service 7 4 Technologiestack 9 5 Deployment 11 6 Aufgabe 1: Google Webservice
MehrRoland Tilgner. Solution Architects & Team Coaching DEVELOPMENT. ORACLE TEXT AUS PL/SQL-SICHT Features und Möglichkeiten
Roland Tilgner Solution Architects & Team Coaching DEVELOPMENT ORACLE TEXT AUS PL/SQL-SICHT Features und Möglichkeiten ZURPERSON Roland Tilgner ZURFIRMA Roland Tilgner Solution Architects & Team Coaching
Mehr.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH
Make Applications Faster.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Agenda Vorstellung InterSystems Überblick Caché Live Demo InterSystems auf einen Blick 100.000
MehrMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler Cebit 2015, Hannover Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 18 FromDual GmbH Support Beratung remote-dba Schulung
MehrObjektorientierte Datenbanken
OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz
MehrProgrammieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008
Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)
Mehrpmmda.net 1 Content Ojb.Net NHibernate Gentle.Net Fazit... 4
1 Content 1 Content... 1 2 Ojb.Net... 1 3 NHibernate... 2 4 Gentle.Net... 3 5 Fazit... 4 2 Ojb.Net Dokumentation http://ojb-net.sourceforge.net Ojb.Net ist die Portierung des Apache Projektes ojb. Die
MehrGroovy 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
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015. NoSQL. http://www.w3resource.com/mongodb/nosql.php. Dr. Christian Senger.
NoSQL http://www.w3resource.com/mongodb/nosql.php NoSQL 1 Short History of Databases 1960s - Navigational DBs CODEASYL (COBOL) IMS (IBM) 1980s to 1990s - Object Oriented DBs Object DB's Object-Relational-
MehrEffiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution
Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Thomas Seiler Product Manager Technology BISON Schweiz AG Agenda Vergleich - Business Software Framework zu.net Framework
MehrDATENBANK LÖSUNGEN. mit Azure. Peter Schneider Trainer und Consultant. Lernen und Entwickeln. www.egos.co.at
DATENBANK LÖSUNGEN mit Azure Peter Schneider Trainer und Consultant Agenda Cloud Services, Data Platform, Azure Portal Datenbanken in Virtuelle Maschinen Azure SQL Datenbanken und Elastic Database Pools
MehrOracle JDeveloper 10 g
Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung
Mehrversus Christian Grobmeier http://www.grobmeier.de @grobmeier
versus Christian Grobmeier http://www.grobmeier.de @grobmeier Programmiersprache von Google Kann JS ersetzen Läuft in einer VM Für ernsthafte Anwendungen Jung und rockt Heavy Metal Band aus England Ersetzt
MehrAndreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch
Eclipse Runtime (OSGi) als Plattform eines Swing Rich Client Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch Zu meiner Person
MehrModulare 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
MehrDesktop Management Interface und andere Initiativen der DMTF
Desktop Management Interface und andere Initiativen der DMTF Gliederung DMI Übersicht Architektur, Organisation Informationsmodell Kommunikationsmodell Sicherheit DMI-Zertifizierung Weitere DMTF-Initiativen
MehrArchitecture Blueprints
Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,
Mehr4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)
4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrNoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de
NoSQL-Databases Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de Klassische SQL-Datenbanken Anwendungsgebiet: Geschäftsanwendungen Behördenanwendungen
Mehr