Seminar: Enterprise Application Programming Model Martin Lorenz.

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

Service Oriented Architectures for Remote Instrumentation
PRESENTATION HEADLINE
Vernetzung von Repositorien : DRIVER Guidelines Dr Dale Peters, SUB Goettingen 4. Helmholtz Open Access Workshop Potsdam, 17 Juni 2008.
PSI and Competition The General Framework
Finding the Pattern You Need: The Design Pattern Intent Ontology
E-Solutions mySchoeller.com for Felix Schoeller Imaging
Automated IT Change Planning
H - A - M - L - E - IC T Teachers Acting Patterns while Teaching with New Media in the Subjects German, Mathematics and Computer Science Prof. S. Blömeke,
R. Zankl – Ch. Oelschlegel – M. Schüler – M. Karg – H. Obermayer R. Gottanka – F. Rösch – P. Keidler – A. Spangler th Expert Meeting Business.
Herzlich Willkommen zum Informations-Forum: SAP Interoperabilität
Institut für Umweltschutz in der Berufsbildung e.V. Folie 1 ALBATROS Ziele Jahreskonferenz 2004 Ziele der Albatros-Jahreskonferenz 2004 Objectives of the.
Steinbeis Forschungsinstitut für solare und zukunftsfähige thermische Energiesysteme Nobelstr. 15 D Stuttgart WP 4 Developing SEC.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Lehrstuhl Informatik III: Datenbanksysteme Andreas Scholz 1 Programming Database Web Applications Web Service Technologies Andreas Scholz.
Regional Support in the context of LCG/EGEE
Institut für Verkehrsführung und Fahrzeugsteuerung > Technologien aus Luft- und Raumfahrt für Straße und Schiene Automatic Maneuver Recognition in the.
Institut für Verkehrsführung und Fahrzeugsteuerung > Technologien aus Luft- und Raumfahrt für Straße und Schiene Driving Manoeuvre Recognition > 19. Januar.
Lancing: What is the future? Lutz Heinemann Profil Institute for Clinical Research, San Diego, US Profil Institut für Stoffwechselforschung, Neuss Science.
Three minutes presentation I ArbeitsschritteW Seminar I-Prax: Inhaltserschließung visueller Medien, Spree WS 2010/2011 Giving directions.
Introduction to BOS Supplier Guidelines v6
Munz – IT/TG - Lörrach. Goals of this intensive lecture To learn: To learn: –What does it means programming in Java ? –What is JAVA good/bad for ? –Which.
CTS2 based Terminology Server – Overview – Project eBPG
Methods Fuzzy- Logic enables the modeling of rule based knowledge by the use of fuzzy criteria instead of exact measurement values or threshold values.
Microsoft Office Forms Server
Studying at ETH Zürich Dauer Graduiertenstufe Untergraduierten stufe Graduiertenstudium Doktorat Masterstudium (Total 3000) Bachelorstudium (Total 6000)
Case Study Session in 9th GCSM: NEGA-Resources-Approach
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Sanjay Patil Standards Architect – SAP AG April 2008
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
Enterprise Applications: Business Processes and Programming Model Dr.-Ing. Jürgen Müller Martin Lorenz.
Centre for Public Administration Research E-Government for European Cities Thomas Prorok
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
| 18. Oktober 2011 | Dr. Alexander Zeier, Martin Lorenz, Matthieu Schapranow, Jürgen Müller | Seminar In-Memory Applications for RFID Data Processing Organisatorisches,
Deutsch 1 G Stunde. Dienstag, der 11. September 2012 Deutsch 1 (G Stunde)Heute ist ein E - Tag Unit: Introduction to German & Germany Objectives: Learn.
Alp-Water-Scarce Water Management Strategies against Water Scarcity in the Alps 4 th General Meeting Cambery, 21 st September 2010 Water Scarcity Warning.
Deutsch 1 G Stunde. Donnerstag, der 18. Oktober 2012 Deutsch 1, G Stunde Heute ist ein E- Tag Unit: Family & homeFamilie & Zuhause Objectives: Phrases.
Deutsch 1 G Stunde. Unit: Introduction to German & Germany Objectives: Learn phrases about date, weather and time-telling Presentations about the federal.
Deutsch 1 G Stunde. Montag, der 10. September 2012 Deutsch 1 (G Stunde)Heute ist ein D - Tag Unit: Introduction to German & Germany Objectives: Introducing.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Quelle: Standish Group, 2006 Fourth Quarter Research Report, CHAOS Research Results.
Agenda Organisatorisches Rahmenbedingungen Ziele des Projektseminars
Department of Computer Science Homepage HTML Preprocessor Perl Database Revision Control System © 1998, Leonhard Jaschke, Institut für Wissenschaftliches.
INTAKT- Interkulturelle Berufsfelderkundungen als ausbildungsbezogene Lerneinheiten in berufsqualifizierenden Auslandspraktika DE/10/LLP-LdV/TOI/
DEUTSCHLAND UND DIE MEDIEN
DEUTSCHLAND UND DIE MEDIEN
SIT-MOON ESPRIT Project Nr st Review, Brussels, 27th of April 1998 slide 1 Siemens AG Österreich Robotiker Technische Universität Wien Politecnico.
Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Web Application Engineering & Content Management.
Kölner Karneval By Logan Mack
Einführung Bild und Erkenntnis Einige Probleme Fazit Eberhard Karls Universität Tübingen Philosophische Fakultät Institut für Medienwissenschaft Epistemic.
4th Symposium on Lidar Atmospheric Applications
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
1 von 10 ViS:AT Abteilung IT/3, IT – Systeme für Unterrichtszwecke ViS:AT Österreichische Bildung auf Europaniveau BM:UKK Apple.
Enterprise Applications: Business Processes and Programming Model Dr. Matthias Uflacker Martin Lorenz.
Greetings and goodbyes Deutschland v. USA
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
Agile ALM for Plex/2E CM MatchPoint ALM. Themen Agenda CM MatchPoint ALM Übersicht CM MatchPoint 5.2 Web und Mobile Entwicklung Agile ALM / DevOps CM.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
1 Stevens Direct Scaling Methods and the Uniqueness Problem: Empirical Evaluation of an Axiom fundamental to Interval Scale Level.
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
Selectivity in the German Mobility Panel Tobias Kuhnimhof Institute for Transport Studies, University of Karlsruhe Paris, May 20th, 2005.
NATURAL & INDUSTRIAL FOOD. Natural & Industrial Food2 TIMELINE & ORGANIZATION  2 groups of 11 pupils  2 lessons per week (120 min)  4 lessons in each.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
TUM in CrossGrid Role and Contribution Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation.
Developer Day Entwicklung und Betrieb näher zusammen dank Team Foundation Server 2012 und System Center 2012 Hansjörg Scherer ALM Spezialist, Microsoft.
EUROPÄISCHE GEMEINSCHAFT Europäischer Sozialfonds EUROPÄISCHE GEMEINSCHAFT Europäischer Fonds für Regionale Entwicklung Workpackage 5 – guidelines Tasks.
 Präsentation transkript:

Seminar: Enterprise Application Programming Model Martin Lorenz

Organisatorisches Rahmenbedingungen – Verantwortlich: Prof. Hasso Plattner – Tutoren: Martin Lorenz, Franziska Häger, Arian Treffer, Stephan Müller – Ort: SNB-E 9/10, Hasso Plattner High-Tech Park – Zeit: Dienstag, 11h00-12h30 – 4 Semesterwochenstunden – 6 benotete Leistungspunkte – Einschreibefrist 31. Oktober

Organisatorisches Ziele des Projektseminars – Gesamtüberblick über das Themengebiet erlangen und das eigene Projektthema einordnen können – eigenständiges Einarbeiten in eine Themenstellung – spezielles Wissen im Projektthema gewinnen – Projekterfahrung sammeln – Präsentationstechniken aneignen – Grundlagen des wissenschaftlichen Arbeitens erlernen 3

Organisatorisches Inhalte des Projektseminars – Vorstellung des Themengebietes – Einführung in wissenschaftliches Arbeiten – Präsentationen der Projektgruppen zu projektrelevanten Themen Leistungserfassung – Projektergebnisse & Ausarbeitung 60% – Zwischen- und Endpräsentation 20% – Wissenschaftliches Arbeiten und persönliches Engagement 20% Besonderheit: Keine Präsenzveranstaltungen. Ca. 60min Treffen pro Woche mit Betreuer. 4

Organisatorisches Auswahlprozess für die Seminarthemen 1.Für Projektseminarthemen bewerben *Prioritätenliste abgeben *Im Seminar oder per Mail an Martin *Inhalt: drei priorisierte Wünsche *Deadline: 22. Oktober Zuordnung von Projektteams zu Projektseminarthemen ( ) 5

Fragen zur Organisation?

What is Enterprise Software? Enterprise applications are about the display, manipulation, and storage of large amounts of often complex data and the support and automation of business processes with that data. Martin Fowler Patterns of Enterprise Application Architecture Patterns (2002)

The Essence Large amounts of complex data derived from real world entities Automation of business processes based on data Business intelligence and decision support based on data

The essential Questions How do we represent the data?How do we interact with the data? APP-Server Database Class PurchaseOrderProcess {... public void releaseAllPurchaseOrders() { List orders = getOpenP_Orders(); for(Order o : orders) { o.setStatus(Order.RELEASED); saveP_Order(order); }... }

How do we represent the Data? Order Customer Receipt Product Raw Material

Real World Entities Order Attributes: Date Due Date Customer Line Items Signature etc.

Programming Constructs Example: domain model for oo programming environment Order - Date - Due Date - Status -... Customer - Name - Address -... Line Item - Product - Amount -... Product - Name - Price -... Raw Material - Name - Inventorylevel -... Receipt - Date * 1 * 1 * * * Objects capture the relevant information of real world entities and give them a logical structure.

Persistent Storage Example: Relational Database Management Systems (RDBMS) normalization - id - date - due_date - status receipt - id - date - fk_order_id orderlineitem - id - fk_product_id - fk_cutomer_id - amount customer - id - name - fk_address address - id - city - zipcode - street product - id - name - price raw material - id - name - inventorylevel

The Mapping Problem Real World Programming Environment Database

How do we interact with the Data? There are two interaction models – Online Transaction Processing (OLTP) Entity management – Online Analytical Processing (OLAP) Analytics Single Record Processing vs. Set Operations

Challenges for Enterprise Software Massive code base Handle a lot of data Access data concurrently Conceptual dissonances within data – Customer structure for dept. 1 <> customer structure for dept. 2 Complex business illogic Data schema evolution triggered from – inside (e.g., change DB) – outside (entity evolution, new business functions)

Fragen zum Inhalt?

Seminar Topics 1.SQL Pattern Search 2.SQL4JAVA 3.Object Inheritence in RDBMS 4.Visualization of Execution Traces 5.Immediate Feedback for Programmers 6.Application Characteristics 7.Materialized Aggregates Maintenance

SQL Pattern Search SOURCE CODE: LOOP AT TOTAL.... SELECT SINGLE FOR UPDATE * FROM WHERE ENDLOOP. SQL: SELECT * FROM AST as AST1, AST as AST2, INCLUDE, SOURCE WHERE AST1.vertex_value = SELECT_STMT AND AST2.vertex_value = LOOP_COMP AND AST1.origin = AST2.origin AND AST1.pre_order <= AST2.pre_order AND AST1.post_order >= AST2.post_order AND INCLUDE.hash = AST1.hash AND SOURCE.origin = INC.hash;

SQL4JAVA public static Double calculateAmount() { Double amount = 0; Connection conn = PersistencyManager.getConnection(); try { Statement stmt = conn.createStatement(); ResultSet result = stmt.executeQuery("SELECT SUM(amount) as amount FROM orders"); while(result.next()) { amount = result.getDouble(amount); } stmt.close(); conn.close(); } catch(SQLException e) { e.printStackTrace(); } return amount; } public static Double calculateAmount() { Double amount = SELECT SUM(amount) FROM orders; return amount; }

SQL4JAVA

Object Inheritance in an In-Memory Database Vehicle Car Motorcycle Bicycle BusTruckSUV Programming Environment Database ???

Visualization of Execution Trace Data testCanMoveNavalBase (20 incovations) + name="Bonin" water=false + name="4 Sea Zone" water=true + … testCanLandAirfield (20 incovations) + name="Bonin" water="false"

Immediate Feedback for Programmers Introduction Do you know that? What if you could see how your code changes the outcome immediatly? Check out Bret Victors approach:

Immediate Feedback for Programmers Research Questions How could enterprise application development benefit from immediate feedback? Which programming tasks benefit most from immediate feedback (e.g. debugging, programming, testing)? How can immediate feedback be implemented and integrated into common IDEs?

Application Characteristics Motivation: Database should know how the application behaves to tune data model and materialization strategies for optimal performance Research Questions: – How can app characteristics be extracted from an application workload (SQL traces, dictionary access)? – Evaluate different languages to describe app characteristics in a way consumable for a caching/materialization manager within the database

Materialized Aggregates Maintenance Data updates need to be propagated to corresponding materialized aggregates (transparent for application) Research Questions – Evaluate existing maintenance strategies within the context of an IMDB (Hyrise, HANA) – Focus on correlation with the Merge process – Discuss garbage collection strategies for aggregates