Integration von Business Rules in eine Standardapplikation

Größe: px
Ab Seite anzeigen:

Download "Integration von Business Rules in eine Standardapplikation"

Transkript

1

2 Integration von Business Rules in eine Standardapplikation

3

4

5 Inhaltsverzeichnis

6

7 Abbildungsverzeichnis

8

9 Tabellenverzeichnis

10

11 Beispiele

12

13 Vorwort

14

15 Kapitel 1. Einleitung 1.1. Problemstellung 1.2. Aufgabenstellung und Zielsetzung 1.3. Lösungsansatz

16 1.4. Gliederung der Arbeit

17

18

19 Kapitel 2. Business Rules 2.1. Definition

20 2.2. Darstellung von Business Rules Einleitung

21 Ontologie

22 Allgemeiner Aufbau einer Business Rule IF the value of all transactions of a customer is more than 100 $ in one year THEN he qualifies for a discount of 10%.

23 RuleML - XML Sprache zur Repräsentation von Fakten/Regeln Allgemein RuleML Design

24 rules / \ 1. / \ 2. / \ reaction rules transformation rules 3. derivation rules facts queries 6. integrity constraints Wenn eine Aktie x um mehr als 5 % verliert Dann verkaufe Aktie x und schicke eine Info per

25 Hier die Darstellung in RuleML: <imp> <_body> <atom> <_opr><rel>eine Aktie x um mehr als 5 % verliert</rel></_opr> </atom> </_body> <_head> <and> <atom> <_opr><rel>verkaufe Aktie x</rel></_opr> </atom> <atom> <_opr><rel>schicke eine Info per </rel></_opr> </atom> </and> </_head> </imp> Wenn eine Aktie x um mehr als 5 % verliert Dann verkaufe Aktie x Wenn eine Aktie x um mehr als 5 % verliert Dann schicke eine Info per <imp> <_body> <atom> <_opr><rel>eine Aktie x um mehr als 5 % verliert</rel></_opr> </atom> </_body> <_head> <atom> <_opr><rel>verkaufe Aktie x</rel></_opr> </atom> </_head> </imp> <imp> <_body> <atom> <_opr><rel>eine Aktie x um mehr als 5 % verliert</rel></_opr> </atom> </_body> <_head> <atom> <_opr><rel>schicke eine Info per </rel></_opr> </atom> </_head>

26 </imp> Das Beispiel if medium(abwasser) then ort(rostock)

27 <?xml version="1.0" encoding="utf-8"?> <rulebase> <imp> <_head> <atom> <_opr> <rel>orte</rel> </_opr> <ind>rostock</ind> </atom> </_head> <_body> <and> <atom> <_opr> <rel>medium</rel> </_opr> <ind>abwasser</ind> </atom> </and> </_body> </imp> </rulebase> if medium(abwasser) and not ort(rostock) then send("message") Zusammenfassung

28

29 Kapitel 3. Busines - Rule - Managment - Systeme 3.1. Einführung

30

31 3.2. Auswahl

32 3.3. ILog - JRules Allgemein ILOG`s Rule Engine

33

34 A(x) ^ B(x) ^ C(y) ) add D(x) A(x) ^ B(y) ^ D(x) ) add E(x) A(x) ^ B(x) ^ E(y) ) delete A(x) Arbeitsspeicher(WM): {A(1); A(2); B(2); B(3); B(4); C(5)}

35

36

37

38

39 ILOG`s JRules - Das Business-Rule-Management-System

40

41

42

43

44

45

46

47 ILOG's - Business Rule Language

48

49

50 BAL Wenn Dann das abzurechnende Medium ist : Abfall und nicht der Abrechnungsort : Rostock Sende diese Nachricht : "Die Abrechnung von Abfall ist nur in Rostock gestattet!" TRL When Then there is a [ ] Abrechnung [ ] [ called?abrechnung] [where] such that Medium equals Abfall and not Abrechnungsort equals Rostock modify [ ]?abrechnung so that Nachricht = "Die Abrechnung von Abfall ist nur in Rostock gestattet!" IRL when {?abrechnung1: Abrechnung(Medium equals "Abfall" ;! (Ort equals "Rostock")); } then { modify?abrechnung } { Nachricht = "Die Abrechnung von Abfall ist nur in Rostock erlaubt!"; }

51 Repository

52

53

54

55 Zusammenfassung

56 3.4. Mandarax und Oryx Allgemein Mandarax

57 If the value of all transactions of a customer is more than 100 $ in one year then he qualifies for a discount of 10%.

58 LogicFactory factory = LogicFactory.getDefaultFactory(); Term term1 = factory.createvariableterm("a customer", Customer.class); Discount discount = new Discount(5); Term term2 = factory.createconstantterm(discount); Term[] terms = {terms1,term2}; Class[] predicatestructure = {Customer.class,Discount.class}; Predicate predicate = new SimplePredicate("gets discount", predicatestructure); Fact fact = factory.createfact(predicate,terms); org.mandarax.example.crm org.mandarax.kernel.kowledgebase public Discount getdiscount (Customer customer) { //Erzeuge Anfrage(Parameter sind die Klassen des Objektmodells) Class[] parameters = {Customer.class, Discount.class}; Predicate getsdiscount = new SimplePredicate ("get discount", parameters); Fact query = factorysupport.fact (getsdiscount, customer, "a discount"); // Anfrage stellen InferenceEngine ie = new ResolutionInferenceEngine (); KnowledgeBase kb =...; // hier sind die Regeln gespeichert Result result = ie.query (query, kb);

59 Replacement replaced = result.getreplacements ()[0]; Discount discount4customer = (Discount) replaced.replacement.getobject (); return discount4customer; } org.mandarax.kernel.inferenceengine org.mandarax.kernel.resultset Derivation getproof();

60 clauses nextclause(); next(); java.util.iterator

61 String[] struct = {String.class}; DataSource datasource =..; SQLFunction function = new SQLFunction(); function.setdatasource(datasource); function.setquery( "SELECT COUNT(*) FROM CUSTOMER_TRANSACTIONS WHERE CUSTOMER=?" ); function.setobjectrelationalmapping(new OneColumnMapping (Integer.class) ); function.setname("number of all transactions of a customer"); function.setstructure(struct);

62

63 Oryx 2 - Knowledge Editor/Repository Allgemein /plugins /plugins com.jbdietrich.oryx.gui.plugin.plugin

64 plugins/joi.zip plugins/pluginviewer.jar plugins/log4jconfig.jar plugins/lfconfig.jar plugins/sysinfo.jar Knowledge Editor

65 ExtendedKnowledgeBase Repository

66

67 3.5. Fazit

68

69 Kapitel 4. Implementation 4.1. Die Standardapplikation kvasy

70 4.2. Prototyp Voraussetzungen

71 Wenn das abzurechnende Medium Abwasser ist und der Abrechnungsort nicht Rostock ist Dann sende die Nachricht: "Abwasser kann nur in Rostock abgerechnet werden!" Wenn der abzurechnende Tarif Abfallentsorgung ist und der Abrechnungsort nicht Rostock ist Dann sende die Nachricht: "Die Abfallentsorgung existiert nur in Rostock!"

72 Clientseitige Integration Abrechnung

73 Abrechnung

74 addinfo(string arg) comparemedium(balmedium arg) compareort(balort arg) comparetarif(baltarif arg)

75

76 Regelmaschine.java public static int processabrechnung(abrechnung a) (1) { if (handler == null) { System.err.println("generateContext aufgerufen" ); handler = new RegelMaschine("Abrechnung.irl"); (2) } context.insert(a); (3) int i = context.fireallrules(); (4) context.retractall(); return i; } processabrechnung(abrechnung a)

77 Abrechnung Regelmaschine declare lv_fire number; lv_obj_a ORA_JAVA.JOBJECT; lv_error ORA_JAVA.JEXCEPTION; begin al_id Alert; al_button Number; lv_obj_a:= abrechnung.new(:sweiss_rule.kund_kunden_nr, (1) :sweiss_rule.kund_name1, :sweiss_rule.ort_o_name, :sweiss_rule.abzu_bezeichnung, :sweiss_rule.prei_bezeichnung); lv_fire:= REGELMASCHINE.processAbrechnung(lv_obj_a); (2) message('fire? :' lv_fire); if lv_fire > 0 (3) then al_id := Find_Alert('Alert'); Set_Alert_Property(al_id, ALERT_MESSAGE_TEXT, abrechnung.getnachricht(lv_obj_a)); al_button := Show_Alert(al_id); end if; exception when ORA_JAVA.EXCEPTION_THROWN then lv_error:= ORA_JAVA.LAST_EXCEPTION; ORA_JAVA.CLEAR_EXCEPTION; when ORA_JAVA.JAVA_ERROR then message(ora_java.last_error); end; Abrechnung processabrechnung(lv_obj_a) processabrechnung(lv_obj_a)

78 Wenn das abzurechnende Medium ist: Abwasser ist und der Abrechnungsort ist nicht: Rostock Dann sende die Nachricht: "Abwasser kann nur in Rostock abgerechnet werden!" Weiterentwicklung der clientseitigen Integration

79 Serverseitige Integration

80 when {?boe_debitorenv: Boe_debitorenv(); } then { System.out.println(?boe_debitorenv + "gefunden"); }

81 Kapitel 5. Zusammenfassung und Ausblick 5.1. Zusammenfassung

82 5.2. Ausblick

83

84

85 Anhang A. RuleML-DTD Version 0.8 <!-- An XML DTD for a Datalog RuleML Sublanguage: Monolith Version --> <!-- Last Modification: > <!-- ELEMENT Declarations --> <!-- 'rulebase' root element uses 'imp' rules and 'fact' assertions as top-level elements --> <!ELEMENT rulebase ((imp fact)*)> <!-- 'imp' rules are usable as general implications on the top-level --> <!-- 'imp' element uses a conclusion role _head followed by a premise role _body, or equivalently --> <!-- (since roles constitute unordered elements), uses a premise role _body followed by a conclusion role _head --> <!-- "<imp>_head _body</imp>" stands for "_head is implied by _body", i.e., "_head is true is implied by _body is true", or equivalently, --> <!-- "<imp>_body _head</imp>" stands for "_body implies _head", i.e., "_body is true implies _head is true" --> <!ELEMENT imp ((_head, _body) (_body, _head))> <!-- 'fact' assertions are usable as degenerate rules on the top-level --> <!-- 'fact' element uses just a conclusion role _head --> <!-- "<fact>_head</fact>" stands for "_head is implied by true", i.e., "_head is true" --> <!ELEMENT fact (_head) > <!-- _head role is usable within 'imp' rules and 'fact' assertions --> <!-- _body role is usable within 'imp' rules --> <!-- _head uses an atomic formula --> <!-- _body uses an atomic formula or an 'and' --> <!ELEMENT _head (atom)> <!ELEMENT _body (atom and)> <!-- an 'and' is usable within _body's --> <!-- 'and' uses zero or more atomic formulas --> <!-- "<and>atom</and>" is equivalent to "atom"--> <!-- "<and></and>" is equivalent to "true"--> <!ELEMENT and (atom*)> <!-- atomic formulas are usable within _head's, _body's, and 'and's --> <!-- atom element uses an: --> <!-- _opr ("operator of relations") role followed by a sequence of zero or more arguments, or similarly --> <!-- (since roles constitute unordered elements, and

86 the zero-argument case must not cause ambiguity), --> <!-- a sequence of one or more arguments followed by an _opr role --> <!-- the arguments may be ind(ividual)s or var(iable)s --> <!ELEMENT atom ((_opr, (ind var)*) ((ind var)+, _opr))> <!-- _opr is usable within atoms --> <!-- _opr uses rel(ation) symbol --> <!ELEMENT _opr (rel)> <!-- there is one kind of fixed argument --> <!-- individual constant, as in predicate logic --> <!ELEMENT ind (#PCDATA)> <!-- there is one kind of variable argument --> <!-- logical variable, as in logic programming --> <!ELEMENT var (#PCDATA)> <!-- there are only fixed (first-order) relations --> <!-- relation or predicate symbol --> <!ELEMENT rel (#PCDATA)>

87 Anhang B. Performancevergleich von Rules Engine

88

89 Anhang C. Prototyp - Quellcode Abrechnung.java public class Abrechnung { public String KundenNummer; public String KundenName; public String Ort; public String Medium; public String Tarif; public String Nachricht = ""; public Abrechnung(String knr, String kn,string o,string m, String t) { KundenNummer = knr; } KundenName = kn; Ort = o; Medium = m; Tarif = t; public void addinfo(string text) { this.nachricht += text+"\n"; } } Regelmaschine.java import java.io.*; import java.util.*; import ilog.rules.engine.*; import ilog.rules.tools.*; import ilog.rules.util.logging.*; import ilog.rules.repository.brm.*; import ilog.rules.repository.model.*; import ilog.rules.repository.facility.*; import ilog.rules.util.ilroperationexception; public class RegelMaschine { private static RegelMaschine handler = null; private static IlrContext context; public RegelMaschine(String rulefile) { IlrRuleset ruleset = new IlrRuleset(); ruleset.parsefilename( rulefile ); context = new IlrContext( ruleset ); System.err.println( "Constr. aufgerufen" );

90 } public static int processabrechnung(abrechnung a) { if (handler == null) { System.err.println("generateContext aufgerufen" ); handler = new RegelMaschine("PATH/Abrechnung.irl"); } context.insert(a); int i = context.fireallrules(); context.retractall(); return i; } }

91 Anhang D. Oracle Form Builder - Start.bat set CLASSPATH=$HOME\jbproject\Abrechnung\classes; \ D:\ILOG\JRules45\lib\jrulesall.jar; \ F:\oracle\orant\FORMS60\java; \ F:\oracle\orant\TOOLS\COMMON60\JAVA\IMPORTER.JAR; \ F:\oracle\orant\jdk\lib\classes.zip; \ D:\ILOG\JRules45\lib\*.jar set path=c:\j2sdk1.4.1\bin;c:\j2sdk1.4.1\jre\bin\client;%path% set NLS_NUMERIC_CHARACTERS=,. set NLS_SORT=BINARY F:\oracle\orant\BIN\ifbld60.EXE '' kvasy/kvasy@local

92

93 Anhang E. Glossar

94

95 Literaturverzeichnis

Ü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

Objektorientierte Programmierung

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

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms

Mehr

ORM & 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 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:

Mehr

Mandarax. Ein OpenSource Projekt zur Unterstützung von regelbasierten Anwendungen

Mandarax. Ein OpenSource Projekt zur Unterstützung von regelbasierten Anwendungen Mandarax Ein OpenSource Projekt zur Unterstützung von regelbasierten Anwendungen Java Forum Stuttgart 2002 27.06.2002 Jochen Hiller, jochen.hiller@bauer-partner.com Überblick Projekt-Verantwortliche Jens

Mehr

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

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

Java Einführung Abstrakte Klassen und Interfaces

Java Einführung Abstrakte Klassen und Interfaces Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

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

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

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF Steuerelemente Listbox, ComboBox, ListView, WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Indexing und Performance Tuning

Indexing und Performance Tuning Indexing und Performance Tuning Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig PostgreSQL Indexing - Jeder hat schon einmal ein Telefonbuch Benutzt - Jeder hat schon einmal Suchen durchgeführt CREATE

Mehr

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08 Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08 Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Technische Dokumentation SilentStatistikTool

Technische Dokumentation SilentStatistikTool Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...

Mehr

Unigraphics Schnittstelle entfernen

Unigraphics Schnittstelle entfernen Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop Sie sind mit dem Betriebsystem vertraut Sie besitzen Administrator-Rechte Die M-Quest Suite ist

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Praktische Übung 'JUnit-Test'

Praktische Übung 'JUnit-Test' Praktische Übung 'JUnit-Test' Starten Sie für die folgende Übung Eclipse und laden Sie das Testprojekt von folgender URL: http://pi.informatik.uni-siegen.de/berlik/swt/currency.zip Darin ist die Klasse

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Rapide An Event-Based Architecture Definition Language

Rapide An Event-Based Architecture Definition Language Rapide An Event-Based Architecture Definition Language Ralf Bettentrup Seminar: Architekturbeschreibungssprachen Wozu Rapide? Computer mit Modem Provider Broker Client Broker PC Prov 1 Client 1 RS-232

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Nathan Burgener. Design by Contract. Modul SWE

Nathan Burgener. Design by Contract. Modul SWE NathanBurgener DesignbyContract ModulSWE NathanBurgener Inhaltsverzeichnis 1 WasistDesignbyContract...3 1.1 Überblick...3 1.2 DesignbyContractmitMethoden...4 1.3 DesignbyContractmitKlassen...5 1.4 Vererbung...6

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

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

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel FB Physikalische Technik Musterlösungen Teil 4 Aufgabe 1 package teil4; import javax.swing.*; public class Ei { int haltung, ident; String

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

DataTables LDAP Service usage Guide

DataTables LDAP Service usage Guide DataTables LDAP Service usage Guide DTLDAP Usage Guide thomasktn@me.com / www.ktn.ch Benutzung des DTLDAP Service DataTables Der Service stellt einen JSON Feed für DataTables (http://www.datatables.net)

Mehr

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Besonderheiten von C#

Besonderheiten von C# Besonderheiten von C# Wert- und Referenztypen int a, b; a = 3; b = a; a++; Debug.Assert( a==4 && b==3 &&!a.equals(b), "int ist doch kein Werttyp" ); RTyp ra, rb; ra = new RTyp(3); rb = ra; ra.inc(); Debug.Assert(

Mehr

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

Mehr

Algorithmen und Datenstrukturen

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

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade HACK #76 Hack APIs mit dem Façade-Muster vereinfachen Durch die Verwendung des Façade-Entwurfsmusters können Sie die anderen Programmierern zugängliche API vereinfachen. #76 Dies ist ein Muster, von dem

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz Oracle 12c: Neuerungen in PL/SQL Roman Pyro DOAG 2014 Konferenz Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit 1996 am Markt Firmensitz: Burscheid (bei Leverkusen) Beratung,

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

Mehr

BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9

BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 BTree.dll Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 INHALT 1. Allgemein... 3 2. Class BTree1 (balanciert)... 3 3. Class BTree2 (balanciert und verkettet)... 4 4. Beschreibung BTree1 und BTree2...

Mehr

Algebraische Spezifikation von Software und Hardware II

Algebraische Spezifikation von Software und Hardware II Algebraische Spezifikation von Software und Hardware II Markus Roggenbach Mai 2008 3. Signaturen 3. Signaturen 2 Grundlegende Frage Wie lassen sich Interfaces beschreiben? Signaturen = Sammlung aller bekannten

Mehr

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die

Mehr

Jürgen Bayer. MDI-Anwendungen in C#

Jürgen Bayer. MDI-Anwendungen in C# Jürgen Bayer MDI-Anwendungen in C# Inhaltsverzeichnis 1 Grundlagen 2 1.1 Einrichten der Formulare 2 1.2 Öffnen von MDI-Childformularen 3 2 Menüs 4 2.1 Erstellen eines Menüs 4 2.2 Programmierung der Menüpunkte

Mehr

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de Web Sockets mit HTML5 Quelle: www.html5rocks.com/de Intensive Client-Server-Kommunikation: Beispiele Online-Spiele mit mehreren Mitspielern Chat-Anwendungen Live-Sport-Ticker Echtzeit-Aktualisierungen

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins

Mehr

Architektur des agimatec-validation Frameworks

Architektur des agimatec-validation Frameworks Development : Implementierung Validierungskonzept (Dokumentation) This page last changed on Apr 03, 2008 by roman.stumm. Architektur des agimatec-validation Frameworks Generierung der Metainformationen

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Die Datenmanipulationssprache SQL

Die Datenmanipulationssprache SQL Die Datenmanipulationssprache SQL Daten eingeben Daten ändern Datenbank-Inhalte aus Dateien laden Seite 1 Data Manipulation Language A DML statement is executed when you Add new rows to a table Modify

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Sichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der

Sichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der Sichere E-Mail der Nutzung von Zertifikaten / Schlüsseln zur sicheren Kommunikation per E-Mail mit der Sparkasse Germersheim-Kandel Inhalt: 1. Voraussetzungen... 2 2. Registrierungsprozess... 2 3. Empfang

Mehr

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

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

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Dokumentation für Popup (lightbox)

Dokumentation für Popup (lightbox) Dokumentation für Popup (lightbox) Für das Popup muss eine kleine Anpassung im wpshopgermany Plugin vorgenommen werden und zwar in der Datei../wp-content/plugins/wpshopgermany/controllers/WarenkorbController.class.php

Mehr

Logik für Informatiker Logic for computer scientists

Logik für Informatiker Logic for computer scientists Logik für Informatiker Logic for computer scientists Till Mossakowski WiSe 2007/08 2 Rooms Monday 13:00-15:00 GW2 B1410 Thursday 13:00-15:00 GW2 B1410 Exercises (bring your Laptops with you!) either Monday

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL 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

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de XML-Namensräume Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 19. Mai 2003 Inhaltsverzeichnis 1 Motivation

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 15. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

SharePoint 2010 Mobile Access

SharePoint 2010 Mobile Access Erstellung 23.05.2013 SharePoint 2010 Mobile Access von TIMEWARP IT Consulting GmbH Stephan Nassberger Hofmühlgasse 17/1/5 A-1060 Wien Verantwortlich für das Dokument: - Stephan Nassberger (TIMEWARP) 1

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere

Mehr

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich? KURZANLEITUNG Firmware-Upgrade: Wie geht das eigentlich? Die Firmware ist eine Software, die auf der IP-Kamera installiert ist und alle Funktionen des Gerätes steuert. Nach dem Firmware-Update stehen Ihnen

Mehr

esms - sms senden & empfangen mit Outlook

esms - sms senden & empfangen mit Outlook esms - sms senden & empfangen mit Outlook Einrichten der SMS Terminerinnerung für Microsoft Outlook 2007/10 Inhalt Einleitung... 1 1 SMS Terminerinnerung einrichten... 2 1.1 Beim Service esms anmelden...

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

SDK zur CRM-Word-Schnittstelle

SDK zur CRM-Word-Schnittstelle SDK zur CRM-Word-Schnittstelle SDK zur CRM Wordinterface für Microsoft Dynamics CRM2011 zur Version 5.2.0 Inhalt 1. Vorwort... 3 2. Voraussetzungen... 4 3. Funktionsbeschreibung... 4 4. Technische Funktionsbeschreibung...

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

8 Zugriffstypen ( Zeiger )

8 Zugriffstypen ( Zeiger ) 8 Zugriffstypen ( Zeiger ) 1. Zugriffstypen, die auf Daten in einem Storage Pool zeigen Heap. 2. Allgemeine Zugriffstypen, die auf (mehr oder weniger) beliebige Daten zeigen. 3. Zugriffsparameter für Unterprogramme

Mehr

Objektorientierung: Klassen und Objekte

Objektorientierung: Klassen und Objekte Vorlesung und Übung Universität Paderborn Wintersemester 2015/2016 Dr. Peter Pfahler Objektorientierung: Klassen und Objekte EWS, WS 2015/16, Pfahler L-1 Objektorientierung behandelt in "Einführung in

Mehr

Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel

Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungsblatt 10 - Lösungshilfe Aufgabe 1. CRC-Karten (7 Punkte) Es geht um die Modellierung der folgenden Bibliotheks-Anwendung:

Mehr

Extracting Business Rules from PL/SQL-Code

Extracting Business Rules from PL/SQL-Code Extracting Business Rules from PL/SQL-Code Version 7, 13.07.03 Michael Rabben Knowledge Engineer Semantec GmbH, Germany Why? Where are the business rules? Business Rules are already hidden as logic in

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

AJAX Implementierung mit Joomla!

AJAX Implementierung mit Joomla! Joomla! DAY TM AUSTRIA 2015 AJAX Implementierung mit Joomla! Inhalt AJAX Implementierung mit Joomla! Inhalt Einleitung Was ist AJAX und wie funktioniert es Joomla! & AJAX AJAX in Templates mit Komponenten

Mehr

Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0

Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0 Objects First With Java A Practical Introduction Using BlueJ Mehr über Vererbung Exploring polymorphism 1.0 Zentrale Konzepte dieses Kapitels Methoden-Polymorphie statischer und dynamischer Typ Überschreiben

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

Design by Contract with JML

Design by Contract with JML Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Dokumentation des Projektes Tic Tac Toe

Dokumentation des Projektes Tic Tac Toe Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.

Mehr

Informatik. Christoph Treude. Elektronisches Geld. Studienarbeit

Informatik. Christoph Treude. Elektronisches Geld. Studienarbeit Informatik Christoph Treude Elektronisches Geld Studienarbeit Universität Siegen Fachbereich 12 Elektrotechnik und Informatik Seminararbeit Elektronisches Geld (Informatik und Gesellschaft) Christoph

Mehr

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011 .procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können

Mehr

Semantic Web. RDF, RDFS, OWL, and Ontology Engineering. F. Abel, N. Henze, and D. Krause 17.12.2009. IVS Semantic Web Group

Semantic Web. RDF, RDFS, OWL, and Ontology Engineering. F. Abel, N. Henze, and D. Krause 17.12.2009. IVS Semantic Web Group Semantic Web RDF, RDFS, OWL, and Ontology Engineering F. Abel, N. Henze, and D. Krause IVS Semantic Web Group 17.12.2009 Exercise 1: RDFS OWL Erstellen Sie mit Hilfe von RDF Schema und OWL eine Ontologie

Mehr

1 Software Engineering 1

1 Software Engineering 1 1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

Log Parser 2.0 HackerScan.js. Beschreibung. Anforderungen. Unterstützte Plattformen. Script-Code. Zurück zur Übersichtsseite

Log Parser 2.0 HackerScan.js. Beschreibung. Anforderungen. Unterstützte Plattformen. Script-Code. Zurück zur Übersichtsseite Zurück zur Übersichtsseite Log Parser 2.0 HackerScan.js (Engl. Originaltitel: HackerScan.js) Beschreibung Dieses Script sucht in allen IIS-Protokolldateien (IIS-, HTTPError- und UrlScan-Protokolldateien)

Mehr

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder

Mehr