Überblick. Geschichte Basics Lightweight Container Inversion of Control (IoC) Dependency Injection (DI) Beans Spring Framework Module Referenzen

Størrelse: px
Starte visningen fra side:

Download "Überblick. Geschichte Basics Lightweight Container Inversion of Control (IoC) Dependency Injection (DI) Beans Spring Framework Module Referenzen"

Transkript

1 Spring Framework

2 Überblick Geschichte Basics Lightweight Container Inversion of Control (IoC) Dependency Injection (DI) Beans Spring Framework Module Referenzen Stefan Bühler für Infopoint 2

3 Geschichte Grundlage: Rod Johnson, Expert One-on- One: J2EE Design and Development Komplexität von JEE-Projekten reduzieren Modularer Aufbau -> Cherry Picking Unabhängig von JEE, aber gute Integration mit verschiedenen JEE- Technologien Stefan Bühler für Infopoint 3

4 Basics: Lightweight Container Keine bzw. minimale Abhängigkeit zu Container API Basiert auf Plain Old Java Objects (POJOs) Kurze Turn-around-Zeiten in der Entwicklung Kein komplexes Deployment Problemlose Integration in andere Umgebungen Stefan Bühler für Infopoint 4

5 Basics: Inversion of Control (IoC) Hollywood principle, Don t call us, we ll call you. Implementierung von Framework- Callback-Methoden Beispiele im JDK: ActionListener Interface in Swing Runnable Interface Stefan Bühler für Infopoint 5

6 Basics: Dependency Injection (DI) Spezielle Anwendung von IoC Erzeugung und Initialisierung von Objekten inklusive deren Abhängigkeiten zu anderen Objekten Ctor / Setter Injection Stefan Bühler für Infopoint 6

7 Basics: Beans POJOs, mittels Konfiguration zusammengesetzt Grundsätzlich keine Beziehung zum Spring- Framework Evtl. deklarativ mit zusätzlichen Diensten wie Transaktionssteuerung angereichert Instanzierung via Ctor / Factory Early / Lazy Initialisierung Stefan Bühler für Infopoint 7

8 Spring Framework: Module I Core IoC Container / Dependency Injection Resourcen Validierung AOP Testing Stefan Bühler für Infopoint 8

9 IoC Container / DI I public interface PizzaOrderService { public Integer createorder (Integer apizzaid); } public class PizzaOrderServiceImpl implements PizzaOrderService { private PizzaDAO m_pizzadao = null; } public Integer createorder (Integer apizzaid) { System.out.println ("Pizza [" + m_pizzadao.getpizzaname (apizzaid) + "] bestellt!"); return apizzaid; } public void setpizzadao (PizzaDAO pizzadao) { m_pizzadao = pizzadao; } Stefan Bühler für Infopoint 9

10 IoC Container / DI II <?xml version="1.0" encoding="utf-8"?> <beans xmlns=" xmlns:xsi=" xsi:schemalocation=" <bean id="pizzadao" class="de.opiz.service.pizzadaoimpl"/> <bean id="pizzaorderservice" class="de.opiz.service.pizzaorderserviceimpl"> <!-- ctor dependency injection --> <constructor-arg> <ref bean="pizzadao"></ref> </constructor-arg> <!-- end ctor dependency injection --> <!-- setter dependency injection --> <!-- <property name="pizzadao"> <ref bean="pizzadao"></ref> </property> --> <!-- end setter dependency injection --> </bean> </beans> Stefan Bühler für Infopoint 10

11 IoC Container / DI III package de.opiz.service; import org.springframework.context.support.abstractapplicationcontext; import org.springframework.context.support.classpathxmlapplicationcontext; import junit.framework.testcase; public class SimpleTest extends TestCase { public void testpizzaservice () throws Exception { AbstractApplicationContext ctx = new ClassPathXmlApplicationContext ("application-context.xml"); ctx.registershutdownhook (); PizzaOrderService myservice = (PizzaOrderService) ctx.getbean ("pizzaorderservice"); assertnotnull (myservice); } } assertequals (new Integer ("1001"), myservice.createorder (new Integer ("1"))); Stefan Bühler für Infopoint 11

12 Resourcen I Abstraktion von Zugriff auf low-level Resourcen durch Resource Interface public interface Resource extends InputStreamSource { boolean exists(); boolean isopen(); URL geturl() throws IOException; File getfile() throws IOException; Resource createrelative(string relativepath) throws IOException; String getfilename(); String getdescription(); } Stefan Bühler für Infopoint 12

13 Resourcen II Implementierungen UrlResource ClassPathResource AbstractApplicationContext ctx = new ClassPathXmlApplicationContext ("application-context.xml"); FileSystemResource ServletContextResource InputStreamResource ByteArrayResource Stefan Bühler für Infopoint 13

14 Testing Unterstützung für Mock Objects Generische Testinfrastruktur Abstrakte Hilfsklassen für JUnit, TestNG Stefan Bühler für Infopoint 14

15 Spring Framework: Module II Middle Tier Transaction Management DAO JDBC ORM Stefan Bühler für Infopoint 15

16 Transaction Management Abstraktion von Transaction APIs wie JTA, JDBC, Hibernate, JPA, JDO Deklaratives Transaktionsmanagement (XML/Annotations, AOP) Einfache API für programmatisches Transaktionsmanagement Integration mit Datenzugriffs-Abstraktionen von Spring Transaktionsmanager durch Konfigurationsänderung austauschbar Stefan Bühler für Infopoint 16

17 DAO Abstraktion von Datenzugriffstechnologien wie JDBC, Hibernate, JDO Stefan Bühler für Infopoint 17

18 JDBC I Abstraktion von low-level Details Resourcen-Management (Statements / ResultSets schliessen) Stefan Bühler für Infopoint 18

19 JDBC II Collection actors = this.jdbctemplate.query( "select first_name, surname from t_actor", new RowMapper() { public Object maprow(resultset rs, int rownum) throws SQLException { Actor actor = new Actor(); actor.setfirstname(rs.getstring("first_name")); actor.setsurname(rs.getstring("surname")); return actor; } }); Stefan Bühler für Infopoint 19

20 JDBC III public int countofactorsbyfirstname(string firstname) { String sql = "select count(0) from T_ACTOR where first_name = :first_name"; SqlParameterSource namedparameters = new MapSqlParameterSource("first_name", firstname); return namedparameterjdbctemplate.queryforint(sql, namedparameters); } Stefan Bühler für Infopoint 20

21 ORM Integration mit verschiedenen ORM Frameworks: Hibernate JDO Oracle TopLink ibatis SQL Maps JPA Stefan Bühler für Infopoint 21

22 Spring Framework: Module III Web Web MVC Framework Integration von View Technologien JSP / JSTL Tiles Velocity / Freemarker XSLT Document Views (Excel / PDF) JasperReports Integration von anderen Web Frameworks JSF Struts Tapestry WebWork Portlet MVC Framework Stefan Bühler für Infopoint 22

23 Spring Framework: Module IV Integration Remoting / Web Services EJB Integration Java Message Service (JMS) Java Management Extensions (JMX) Java Connector Architecture (JCA) Scheduling, Thead Pooling Unterstützung von dynamischen Sprachen (JRuby, Groovy, BeanShell) Annotations, Metadaten auf Sourcecode-Ebene Stefan Bühler für Infopoint 23

24 Referenzen IoC / DI Spring Framework Oates, Langer, Wille, Lueckow, Bachlmayr: Spring & Hibernate, Eine praxisbezogene Einführung, 2007 Carl Hanser Verlag München Stefan Bühler für Infopoint 24

Oracle8i R8.1.5 JAVA. Oracle8i R Oracle8i Enterprise Edition Oracle8i R Oracle8i R Oracle8i R8.1.

Oracle8i R8.1.5 JAVA. Oracle8i R Oracle8i Enterprise Edition Oracle8i R Oracle8i R Oracle8i R8.1. 2000 6 Oracle8i R8.1.7 Oracle8i R8.1.5 Oracle8i R8.1.6 Oracle8i Enterprise Edition Oracle8i R8.1.6 http://otn.oracle.co.jp/ Oracle8i R8.1.7 Oracle8i Oracle8i R8.1.7 Java XML JAVA Oracle8i R8.1.7 Java Oracle

Læs mere

Spring Schema Extension eller Spring Domain Specific Languages

Spring Schema Extension eller Spring Domain Specific Languages Spring Schema Extension eller Spring Domain Specific Languages Forfatter: Jeppe Cramon Cramon Consulting (http://www.cramon.dk) Dato: 23/7-2005 Efter at have arbejdet med Spring i lang tid, har jeg lagt

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Prepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.

Prepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC. Denne guide er oprindeligt udgivet på Eksperten.dk Prepared Statements Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC. Skrevet den 18. Feb 2010

Læs mere

IT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S

IT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S IT-Basecamp 2013 Real World Java EE Patterns Adam Bien 1 Indhold Lidt om mig Baggrund for valg af emnet Bogens opbygning Fra J2EE til JEE 5/6 Overflødiggjorte patterns Fremhæve et par patterns 2 Kenneth

Læs mere

Model Drevet Design i Praksis

Model Drevet Design i Praksis Model Drevet Design i Praksis Dansk IT - På Vej Hjem møde d. 8/9-2009 Jeppe Cramon - TigerTeam ApS Lidt om mig 15 års erfaring som software udvikler Partner i TigerTeam Første erfaring med model drevet

Læs mere

Eksempel på en database: studenter, kurser, eksamener

Eksempel på en database: studenter, kurser, eksamener Udvidet Programmering 1999 Forelæsning 20, fredag 12. november 1999 Relationsdatabaser: relationer, tupler, attributter Forespørgselssproget SQL Databasesystemet PostgreSQL Tilgang til relationsdatabaser

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Web- og serverprogrammering Databasekommunikation - dag 7 Strategier til databaseadgang JDBC (Java DataBase Connectivity)

Læs mere

Spring Beans. Traditionelle Spring Beans <bean id="espressoservice" class="it.bezzera.bz07p"/> Spring custom beans <si:channel id="orders"/>

Spring Beans. Traditionelle Spring Beans <bean id=espressoservice class=it.bezzera.bz07p/> Spring custom beans <si:channel id=orders/> Spring Integration Agenda Spring Beans, Messaging Message Channel Message Endpoints Pause med sandwich Channel Adaptors Leveringssikerhed og transaktioner Test Tooling Afrunding Spring Beans Traditionelle

Læs mere

SigmaT.

SigmaT. Java + Groovy Disposition Om SigmaT Eksempel på indlejring af Groovy Overvågning af PEM Ønske om dynamisk loaded Java uden at fifle med classloaderen Groovy til hjælp Opsamling hvad jeg ikke har fortalt

Læs mere

Geografisk lokalisering i JSP

Geografisk lokalisering i JSP Denne guide er oprindeligt udgivet på Eksperten.dk Geografisk lokalisering i JSP Denne artikel forklarer lidt om hvorfor og hvordan man laver geografisk lokalisering og viser noget kode. Der er andre artikler

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Curriculum Vitae Jack Petersen

Curriculum Vitae Jack Petersen Curriculum Vitae Jack Petersen Jeg er løsningsarkitekt og erfaren Java-udvikler i de sidste 15+ år har jeg arbejdet i den finansielle sektor, hvor jeg har bygget både frontend og backend systemer. De sidste

Læs mere

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

J2EE for begyndere. Denne artikel introducerer J2EE. Den fortæller lidt om de forskellige teknologier i J2EE og kommer med små simple eksempler.

J2EE for begyndere. Denne artikel introducerer J2EE. Den fortæller lidt om de forskellige teknologier i J2EE og kommer med små simple eksempler. Denne guide er oprindeligt udgivet på Eksperten.dk J2EE for begyndere Denne artikel introducerer J2EE. Den fortæller lidt om de forskellige teknologier i J2EE og kommer med små simple eksempler. Den forudsætter

Læs mere

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge

Læs mere

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University

Læs mere

RMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.

RMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Denne guide er oprindeligt udgivet på Eksperten.dk RMI avanceret Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Den forudsætter

Læs mere

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 5 Model View Controller arkitekturen Model View Controller arkitekturen (MVC) Evt.: Rekursion Læsning: VP 19 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter

Læs mere

Curriculum Vitae for Søren Brønsted

Curriculum Vitae for Søren Brønsted Curriculum Vitae for Søren Brønsted Person oplysninger Søren Brønsted Kirkebjergvej 2 4623 Lille Skensved Tlf: 52 19 14 10 email: soren@bronsted.dk Født: 1963 Profilbeskrivelse Jeg er er en senior Java/J2EE

Læs mere

Nye features i Java 1.7/7.0

Nye features i Java 1.7/7.0 Denne guide er oprindeligt udgivet på Eksperten.dk Nye features i Java 1.7/7.0 Denne artikel beskriver nye features i Java 1.7/7.0, som blev releaset 28. juli 2011. Den forudsætter et vist kendskab til

Læs mere

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter..

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter.. 9.8 Kildekode Pakke Klasse Sidenummer db Aktivitetstype 91 Behandler 91 ConnectDB 92 DagensKommentar 93 Helligdag 94 IkkePrimaerTid 94 Patient 96 Patientaftale 96 PatientAktivitet 97 Patientgruppe 98 PatientgruppeItem

Læs mere

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

Forskellige databaser

Forskellige databaser Denne guide er oprindeligt udgivet på Eksperten.dk Forskellige databaser Denne artikel beskriver kort forskellige database typer, produkter og API'er. Målet er at give et overblik over hvad der findes

Læs mere

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance)

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance) Software 1 with Java Recitation No. 7 (Servlets, Inheritance) Servlets Java modules that run on a Web server to answer client requests For example: Processing data submitted by a browser Providing dynamic

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

Integration einer ADF-Applikation im Forms-Umfeld

Integration einer ADF-Applikation im Forms-Umfeld MT AG MANAGING TECHNOLOGY IMPROVING BUSINESS PERFORMANCE Integration einer ADF-Applikation im Forms-Umfeld Referenten: Guido Neander, Senior-Berater, MT AG, Ratingen Arne Platzen, Berater, MT AG, Ratingen

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Erhvervserfaring 2000 - Senior IT Specialist, IBM 1995 2000 Systemudvikler, Dan Net 1987 1995 Systemudvikler, KMD

Erhvervserfaring 2000 - Senior IT Specialist, IBM 1995 2000 Systemudvikler, Dan Net 1987 1995 Systemudvikler, KMD Personlige data Navn: Kurt Koch Nielsen Adresse: Holmeås 8, 2670 Greve Telefon hjem: +45 43 90 50 75 Telefon mobil: +45 28 80 94 17 E-mail: kurt@kochnielsen.dk Fødselsdato: 19-02-1967 Civilstand: Gift,

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 7 Swing og MVC Swing: MVC, Datamodeller, JTable, evt. JTree Evt.: Swing: Præsentations og kontroldel Læsning: VP 6 Dette materiale er under Åben Dokumentlicens, se

Læs mere

SWC Elementer i klassedefinition

SWC Elementer i klassedefinition SWC Elementer i klassedefinition Indhold Eksempel... 2 Karakteristika for en klasse... 3 Karakteristika for et instance field... 4 Karakteristika for en constructor... 5 Karakteristika for en property...

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

Automatisk build og deploy med Maven. Geek Night hos VP SECURITIES - 26. januar 2011 Mads Pultz <mpz@trifork.com>

Automatisk build og deploy med Maven. Geek Night hos VP SECURITIES - 26. januar 2011 Mads Pultz <mpz@trifork.com> Automatisk build og deploy med Maven Geek Night hos VP SECURITIES - 26. januar 2011 Mads Pultz 1 Agenda Introduktion til case (kontekst) Byg demoer - Bamboo, Nexus og RAD Modulopbygning

Læs mere

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Gode praksisser og arkitekturer i Android-programmering. Android - praksisser og arkitekturer Copyright Lund & Bendsen A/S

Gode praksisser og arkitekturer i Android-programmering. Android - praksisser og arkitekturer Copyright Lund & Bendsen A/S Gode praksisser og arkitekturer i Android-programmering 1 Om oplægsholderen Jacob Nordfalk nordfalk@lundogbendsen.dk Instruktør for Lund&Bendsen Ekstern lektor på IHK Underviser i Java SE, Java EE, Webserverprogrammering,

Læs mere

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11 DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void

Læs mere

CV for Christian Plougmann Hag

CV for Christian Plougmann Hag CV for Christian Plougmann Hag Navn Christian Plougmann Hag Født 1970 Civilstand Gift, 2 børn IT-erfaring siden 1991 Personlig profil Christian er en kapacitet, der med sine mange års erfaring med J2EE/JavaEEsystemudvikling,

Læs mere

Webserverprogrammering

Webserverprogrammering Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 13 valgfrie emner Evt: Introduktion til J2EE og EJB Hvordan definere egne generics Evt.: Værktøjer til forbedring af kodekvalitet kodemetrikker og audit Projektvejledning

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

Bookie. IT-Universitetet i København. Grundlæggende Programmering. Eksamensprojekt. Forfattere: Sigrid Gyldenkærne Dalsgard Kasper Kronborg Isager

Bookie. IT-Universitetet i København. Grundlæggende Programmering. Eksamensprojekt. Forfattere: Sigrid Gyldenkærne Dalsgard Kasper Kronborg Isager IT-Universitetet i København Grundlæggende Programmering Eksamensprojekt Bookie Forfattere: Sigrid Gyldenkærne Dalsgard Kasper Kronborg Isager Vejleder: Jesper Wendel Madsen 17. december 2014 Resumé Indhold

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java VPJ dag 1 Introduktion og overblik over kurset Datastrukturer: Lister, mængder og iteratorer Opsamling: Grafikprogrammering, komponenter, containere og layout Bruge komponenter

Læs mere

Java-opgraderingskursus

Java-opgraderingskursus Java-opgraderingskursus Danmarks Meteorologiske Institut Gang 2 Webprogrammering Klient server og forespørgsel/svar HTML og HTML formularer Servletter og JSP sider Fælles biblioteker Programmere i pakker

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Web- og serverprogrammering EJB dag 9 EJB (Enterprise Java Beans) Entitetsbønner til databasekommunikation Evt.: EJBQL (EJB Query Language) Evt.: EJB: Transaktioner og sikkerhed Læsning: WJSP kapitel 12

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

Læs mere

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne. Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning

Læs mere

Curriculum Vitae for Hardy Henneberg

Curriculum Vitae for Hardy Henneberg Curriculum Vitae for Hardy Henneberg Opdateret 20.5. 2012 Ledig nu Alder 56 Familie Gift og to børn Adresse Grønnevej 44, 2830 Virum Telefon 30704565 Email hh@hhenne.dk Resume: Min primære kompetence er

Læs mere

Forskellige Java versioner

Forskellige Java versioner Denne guide er oprindeligt udgivet på Eksperten.dk Forskellige Java versioner Denne artikel beskriver lidt om de forskellige Java versioner. Den forklarer J2SE/J2ME/J2EE, plugin/jre/sdk og Sun Java/Microsoft

Læs mere

Certificate Revocation Authority. Certificate Revocation Authority

Certificate Revocation Authority. Certificate Revocation Authority Certificate Revocation Authority i Certificate Revocation Authority Certificate Revocation Authority ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 1.0.6 Februar 2015 AA Certificate Revocation Authority

Læs mere

Who s to blame? Jeppe Rørbæk. Jeppe.rorbaek@teknologisk.dk +45 22 70 55 07. Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT

Who s to blame? Jeppe Rørbæk. Jeppe.rorbaek@teknologisk.dk +45 22 70 55 07. Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT Who s to blame? Jeppe Rørbæk Jeppe.rorbaek@teknologisk.dk +45 22 70 55 07 Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT Introduktion til ATLAS AJAX Intro / hensigten med ATLAS Hvordan

Læs mere

Rigtig SQL Programmering

Rigtig SQL Programmering Rigtig SQL Programmering 1 SQL i Rigtige Programmer Indtil nu har vi brugt SQL direkte i kommandolinje promt/gui program, hvor vi kan lave forespørgsler til databasen I virkeligheden: Programmer kontakter

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 2 Objektorienterede principper Fastlæggelse af emne for projekt Ansvarsområder, kobling og indkapsling Programmere i pakker Specificere funktionalitet i et interface

Læs mere

Linguistic support for unit testing

Linguistic support for unit testing Linguistic support for unit testing Af K. E. Gray & M. Felleisen Mads Bach-Sørensen mbs@cs.aau.dk 1. november 2007 1 Indhold Forfatterne TestJava Traditionel Unit-testing Sproglige Konstruktioner i TestJava

Læs mere

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller

I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft CAPABILITY CONTROL LIST MSE PRESENTATION 2 Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft PRESENTATION OUTLINE Action items from phase 1 presentation tti Architecture

Læs mere

Curriculum Vitae for Søren Brønsted

Curriculum Vitae for Søren Brønsted Person oplysninger Søren Brønsted Løvstikkevej 44 2300 København S Tlf: 31 49 32 22 email: soren@bronsted.dk Født: 1963 Profilbeskrivelse Curriculum Vitae for Søren Brønsted Jeg er en senior fullstack

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

med Java og Linux Jacob Nordfalk Linuxforum 2004 Lørdag 6. marts 17.00-17.45 Center for Videreuddannelse Ingeniørhøjskolen i København

med Java og Linux Jacob Nordfalk Linuxforum 2004 Lørdag 6. marts 17.00-17.45 Center for Videreuddannelse Ingeniørhøjskolen i København Webprogrammering med Java og Linux Jacob Nordfalk Center for Videreuddannelse Ingeniørhøjskolen i København Linuxforum 2004 Lørdag 6. marts 17.00-17.45 Program Om Jacob Nordfalk Reklame Intro til Java

Læs mere

Serialization i Java

Serialization i Java Serialization i Java Tutorial lavet af Jákup W. Hansen TSU 2006 1.semester 06.novemter 2006 Hvad er Serialization? I vores tekstbog Objects First with Java bliver denne del af Java ikke gennemgået. Men

Læs mere

Tabeller (I) Tabeller

Tabeller (I) Tabeller Tabeller (I) Klassediagrammer (III) Tabeller og qualified associations Michael R. Hansen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark En tabel fra en mængde A til

Læs mere

MAKING MODERN LIVING POSSIBLE. Danfoss Air PC Tool. Installation guide. Danfoss Heating Solutions

MAKING MODERN LIVING POSSIBLE. Danfoss Air PC Tool. Installation guide. Danfoss Heating Solutions MAKING MODERN LIVING POSSIBLE Danfoss Air Tool Installation guide Danfoss Heating Solutions 1. How to connect your to the Installer: Connection by USB cable (standard mini USB cable) USB cable End user:

Læs mere

Nye Java XML API'er

Nye Java XML API'er Denne guide er oprindeligt udgivet på Eksperten.dk Nye Java XML API'er Denne artikel beskriver nye XML features i Java 1.6 - StAX og JAXB, samt XStreams. Den forudsætter kendskab til Java og brug

Læs mere

Forelæsning Uge 6 Mandag

Forelæsning Uge 6 Mandag Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring

Læs mere

Grundlagen Software Engineering

Grundlagen Software Engineering GSE: Grundlagen Software Engineering Rational Unified Process () Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der

Læs mere

Forelæsning Uge 12 Mandag

Forelæsning Uge 12 Mandag Forelæsning Uge 12 Mandag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse

Læs mere

Forelæsning Uge 5 Mandag

Forelæsning Uge 5 Mandag Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere

Læs mere

Singleton pattern i C#

Singleton pattern i C# Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er

Læs mere

Servlets, Tomcat & BlueJ

Servlets, Tomcat & BlueJ Servlets, Tomcat & BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 05.october 2007 Hvad er Servlets: For at forstå det, må vi først få styr på to begreber, nemlig statiske og dynamiske hjemmesider

Læs mere

webbasiertes kollaboratives Konfigurationssystem André Goldflam

webbasiertes kollaboratives Konfigurationssystem André Goldflam webbasiertes kollaboratives Konfigurationssystem André Goldflam Aufbau des Vortrags Szenario Abstrahierung des Szenarios Knowledge Engineering Constraints Computer Supported Collaborative Work (CSCW) Technologie

Læs mere

Torbjörn Eriksson 1 af 6

Torbjörn Eriksson 1 af 6 Torbjörn Eriksson 1 af 6 Alder: IT-erfaring: Resumé: Nøglekvalifikationer: 41 år 16 år Udvikler og datamatiker med 16 års erfaring. Specialist på Java, J2EE. SCBCD (Sun Certified Business Component Developer)

Læs mere

Ribe Amts forslag til EPJ-arkitektur

Ribe Amts forslag til EPJ-arkitektur EPJ og integration: Ribe Amts forslag til EPJ-arkitektur Esben Dalsgaard IT-leder, Sundhedsområdet, Ribe Amt eda@ribeamt.dk Problemstillinger - set fra en datalogisk-arkitektonisk synsvinkel 2-delt arkitektur

Læs mere

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation Plan 12.3. Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Hvad er et

Læs mere

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.

Læs mere

Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet. MOX og APOS2 Forord Dette dokument er en del af APOS version 2 manualerne. APOS version 2 (APOS2 herefter) er et organisation, klassifikation og personale system baseret på Sag & Dokument standarderne.

Læs mere

Database. lv/

Database. lv/ Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList Collection (samling af objekter) med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel på brug af ArrayList

Læs mere

RMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007

RMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007 RMI med BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007 Hvad er RMI? Når man arbejder med Distribuerede Systemer, som igen vil sige at man ønsker at flere end én komputer

Læs mere

Objektorienterede metoder

Objektorienterede metoder Objektorienterede metoder Denne gang: Designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Singleton eksempel: Forskellige slags

Læs mere

Solvation Consulting tlf: 36173404 email: henrik@solvation.net

Solvation Consulting tlf: 36173404 email: henrik@solvation.net : Henrik Eiriksson Adresse: Landsbyen 9a, 2970 Hørsholm e-mail: henrik@solvation.net Telefon: 36173404 Født: 04-02-1973 Prof. it-erfaring siden: 1998 Resumé: Jeg arbejder koncentreret - både selvstændigt

Læs mere

Udvikler på diverse web-baserede systemer der anvender teknologier som: Servlets, JSP, Ajax, XMLBeans, XML, XSL, CSS, HTML, JQuery, JavaScript.

Udvikler på diverse web-baserede systemer der anvender teknologier som: Servlets, JSP, Ajax, XMLBeans, XML, XSL, CSS, HTML, JQuery, JavaScript. CURRICULUM VITAE Michael Balieu 46 år Profil Java J2EE udvikler med lang erfaring i web og client-server applikationer. Udvikler på diverse web-baserede systemer der anvender teknologier som: Servlets,

Læs mere

Perspektiverende Datalogi Internetalgoritmer. MapReduce. Gerth Stølting Brodal

Perspektiverende Datalogi Internetalgoritmer. MapReduce. Gerth Stølting Brodal Perspektiverende Datalogi Internetalgoritmer MapReduce Gerth Stølting Brodal MapReduce Implementationer Dean, F. and Ghemawat, S. (2004) MapReduce: Simplified Data Processing on Large Clusters. In: Sixth

Læs mere

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Web- og serverprogrammering Arkitekturer i webprogrammer - dag 6 Model-View-Controller-arkitukturen Flerlags-arkitekturer Læsning: WJSP 10 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Konsulenten har deltaget i flere store SOA projekter (Oracle Weblogic/AquaLogic), der involverer systemer fra forskellige leverandører.

Konsulenten har deltaget i flere store SOA projekter (Oracle Weblogic/AquaLogic), der involverer systemer fra forskellige leverandører. Navn: David Taxgaard (f. 1979) Profil: DT er en erfaren Java/J2EE systemudvikler og systemdesigner med solid erfaring med SOA, web og client-server løsninger samt web sikkerhed (SAML). Konsulenten har

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

Introduction til.net remoting i VB.NET

Introduction til.net remoting i VB.NET Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter

Læs mere

public Set(int size) { this.listelement = new LinkedList<Integer>(); }

public Set(int size) { this.listelement = new LinkedList<Integer>(); } // Henri AYCARD import java.util.linkedlist; public class Set { private LinkedList listelement; public Set(int size) { this.listelement = new LinkedList(); public boolean contains(int

Læs mere

Forelæsning Uge 12 Torsdag

Forelæsning Uge 12 Torsdag Forelæsning Uge 12 Torsdag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse

Læs mere