Wednesday, 16 May 2012

Web Services Computing WS 11/12

Leitung: Andreas Wolke

Entwicklungspraktikum WS 11/12

Internetbasierte Geschäftssysteme -
Web Services Computing (IN2131/IN2106)

Erste Veranstaltung am 18.10.2011 16:30 Uhr

Zimmer MI 01.10.11 (IBIS/SEBIS Seminar Raum) 

Weitere Informationen

Die weitere Verwaltung der Veranstaltung wird über eine Projektmanagement-Software abgewickelt: WSC WS11/12

Hintergrund

Moderne IT-Infrastrukturen basieren immer häufiger auf gängigen Inter-/Intranetprotokollen und -standards. Diesem Trend folgend wird heutzutage zum einen die Internetfähigkeit neu zu entwickelnder Anwendungen bereits in deren Planungsphase mit berücksichtigt, zum anderen werden Services vorhandener Legacy-Systeme über Integrationsmechanismen oder Middleware-Broker über das Internet/Intranet zugreifbar gemacht.

Das Web Services Konzept entspricht einer Integrationsarchitektur, welche eine dynamische Zusammenarbeit verschiedener Anwendungen über Netzwerkgrenzen hinweg unter Nutzung etablierter Internet-Standards erlaubt. Diese Softwarekomponenten können in XML-Notation beschrieben werden (WSDL) und tauschen Nachrichten im XML-Format miteinander aus (SOAP). Diese Technologie haben bereits weite Verbreitung im betrieblichen Umfeld ggefunden, wurde aber auch in technisch orientierten Feldern wie dem Grid-Computing eingesetzt. Das Praktikum führt über die Arbeit im Umfeld von betriebswirtschaftlichen Anwendungsbeispielen in relevante Techniken ein.

Inhalt

Wir werden die grundlegenden Technologien besprechen, die für eine Entwicklung von Web-Anwendungen und Web-Services mit Java benötigt werden. Dazu zählen:

  • Eclipse IDE, Subversion, Maven, Jetty- und Apache Tomcat-Server, MySQL
  • Webapplikationen mit Java Servlets, Java Server Pages (JSP), Java Standard Tag Library (JSTL)
  • Design-Patterns: MVC, Factory, Dependency Injection, Data Access Objects
  • Webapplikationen mit dem Spring-Framework und Spring-MVC
  • Datenbankzugriff mittels JDBC und Spring JDBC-Templates
  • XML & XML-Parsing, Document Type Definition, XML Schema, XPath-Queries
  • SOAP-Services mit Apache CXF auf Basis von WSDL und JAX-WS
  • Entwurf einer größeren Anwendung in Gruppenarbeit

Teilnahmevoraussetzungen

  • Fundierte Programmierkenntnisse in Java oder einer anderen objektorientierten Programmiersprache
  • Grundverständnis für das Prinzip dynamischer Serverkomponenten oder Web-Anwendungen sind nützlich
  • Vordiplom bei Diplom-Studenten

Teilnehmerkreis

Das Praktikum kann u.a. von Studenten nachfolgend genannter Studienrichtungen absolviert werden:

  • Wirtschaftsinformatik (Master) - Wahlpflichtpraktikum
  • Informatik (Diplom) - Wahlpflichtpraktikum, Bereich 1. Praktische Informatik (1.6 Betriebl. Infomationssysteme)
  • Informatik (Master)- Schwerpunkt: DBS oder SWE

Anmeldung

Die Anmeldung zu dieser Veranstaltung erfolgt über TUMonline. Eine Benachrichitigung über die Zuweisung eines Praktkumsplatzes erfolgt nicht. Wir verteilen Plätze nach dem "first come - first served"-Prinzip, d.h. nach erfolgreicher Anmeldung sind Sie automatisch zur Teilnahme angemeldet. Sollten die Kapazitätgrenzen unseres Labors erreicht werden, schliessen wir die Anmeldung vorzeitig.

Umfang

6 P (SWS)

Ort und Zeit der Lehrveranstaltung

Steht noch nicht fest. 

Durchführung

Das Praktikum gliedert sich in zwei Teile. Zunächst lernen Sie anhand einzelner Teilaufgaben das Know-How, welches zur Entwicklung von Web-Anwendungen und Web-Services notwendig ist. Anschließend werden Sie in Teams eine komplexere Anwendung aus dem Bereich des Service Management entwickeln.

Die Aufgabenblätter werden jeweils zu den angekündigten Terminen besprochen. Das Aufgabenblatt und die Besprechungsunterlagen sollten Sie vorher ausdrucken und durchlesen. Die Aufgaben aus Teil I des Praktikums sind von jedem Praktikanten selbständig und alleine zu lösen und zum angegebenen Zeitpunkt abzugeben. Abgegebene Quellcodes werden daraufhin überprüft. Mit Beginn des zweiten Praktikumsabschnitts (Gruppenaufgabe) werden die Teilnehmer in 15-minütigen Einzelgesprächen auf ihr erarbeitetes Wissen hin überprüft. Hierbei werden auch die, von den Teilnehmern generierte Codefragmente besprochen.

Die Aufgaben sollen im PC-Labor (MI 01.10.036) bearbeitet werden. In den betreuten Stunden werden für Fragen Betreuer anwesend sein. Es ist wichtig, dass die entwickelten Aufgaben in der bereitgestellten Infrastruktur gespeichert bzw. installiert sind. Andernfalls kann keine Benotung stattfinden.

Betreute Zeiten

Zu folgenden Zeiten sind im Computerlabor voraussichtlich Betreuer für Fragen anwesend: Montags 13:00 - 14:30 Uhr

Teil I: Einzelaufgaben

1: Einführung IDE, SVN, Maven, Web Application Engineering (HTML, Servlets

2: Java Server Pages, JSTL, Model View Controller, Session Handling

3: Session Hijacking, Dependency Injection Pattern, Spring MVC, Spring Taglibs

4: JSTL-SQL, JDBC, Data Access Objects, Spring JDBC Template, (Ausblick OR-Mapping und No-SQL)

5: XML, DTD, XSD, XPath, XML-Parsing<

6: SOAP, WSDL, JAX-WS

Teil II: Use Cases

1: Vorbesprechung

2: Mehrere Milestones zur Präsentation des zwischenstandes

3: Abschlusspräsentation

Schein

Die Ausstellung des Scheins setzt die erfolgreiche Teilnahme an dem Praktikum voraus. Für eine erfolgreiche Teilnahme müssen mindestens 50% der Gesamtpunkte aus den Übungsaufgaben des 1. Praktikumsabschnitts (Einzelaufgaben) erreicht werden. Zudem muss mindestens eine der Spezifikation entsprechende Umsetzung des Use Case erfolgt sein.

Neben der Funktionalität des erstellten Codes wird ebenfalls dessen Qualität im Sinne der Einhaltung gängiger Richtlinien für Java Sourcecode-Strukturierung sowie dessen Dokumentation (Kommentierung) berücksichtigt.

In einer Abschliessenden Präsentation (siehe oben) wird ein grundlegendes Verständnis des Teilnehmers bzgl. der Übungsaufgaben bzw. des von ihm erstellen Quellcodes überprüft.

Literatur

Unter Anderem sind folgende weiterführende Bücher zu empfehlen:

springinaction Craig Walls, Ryan Breidenbach
"Spring in Action"
Manning Publications; Second Edition (August 16, 2007)

Spring Framework
enterprise_nutshell Jim Farely, William Crawford, David Flanagan
"Java Enterprise in a Nutshell"
O`Reilly

Java Servlets, Java Server Pages, JDBC, Java and XML
alt Sanjiva Weerawarana, Francisco Curbera and others
"Web Services Platform Architecture"
Prentice Hall

SOA, SOAP, WSDL, UDDI, BPEL
alt Dan Woods, Thomas Mattern
"Enterprise SOA"
O`Reilly

SOA, Enterprise Services Architecture, Web Services
alt David Chappell, Tyler Jewell
"Java Web Services"
O`Reilly

SOAP, WSDL, UDDI
alt Neil Gray
"Web Server Programming"
Wiley

HTTP, Java Servlets, Java Server Pages, XML


Weitere Referenzen zu kontextrelvanten Inhalten werden in den Sitzung angegeben.

Ansprechpartner:

Andreas Wolke
Raum 01.10.058 (Boltzmannstraße/Garching)
Tel.: 089-289-17528
andreas.wolke (at) in.tum.de

Decision Sciences & Systems (DSS), Department of Informatics (I18), Technische Universität München, Boltzmannstr. 3, 85748 Garching, Germany
©2002-2012 DSS All Rights Reserved
Impressum, Copyright Information and Disclaimer