magazin Concurrency JAVA Mag Konzepte für nebenläufi ge Programmierung» 42 Java EE 6 ausgepackt Generational Garbage Collection CD-INHALT

Größe: px
Ab Seite anzeigen:

Download "magazin Concurrency JAVA Mag Konzepte für nebenläufi ge Programmierung» 42 Java EE 6 ausgepackt Generational Garbage Collection CD-INHALT"

Transkript

1 inkl. JAVA Mag CD CD-INHALT Mashups mit Flex: Implementierung eines Editors»54 magazin Java Architekturen SOA Agile JSR 330 Wie weit geht die Standardisierung wirklich?»34 Deutschland 8,50 Österreich 9,80 Schweiz sfr 16, Grails 1.2 Welche Features einen Blick wert sind»14 Alle Infos im Heft From Java to Groovy Video von der W-JAX 2009 in voller Länge HIGHLIGHT Concurrency Konzepte für nebenläufi ge Programmierung» 42 in-step Scrum Edition WEITERE INHALTE GPars Java EE 6 ausgepackt Enterprise JavaBeans 3.1» 85 Jet Profiler BlazeDS Alle CD-Infos ab Seite 3 Amazon Web Services Get into my Cloud»16 Generational Garbage Collection Memory-Management» 26

2 Enterprise Web Services mit Spring WS Zu Ihren Diensten, Monsieur Für den Datenaustausch oder das Anbieten von Diensten zwischen Anwendungen werden oft Web Services verwendet. Um einen Web Service anzubieten oder zu verwenden, gibt es sehr viele Möglichkeiten und Vorgehensweisen. Dieser dreiteilige Artikel stellt Ihnen die Möglichkeiten vor, die Spring WS Ihnen bietet. von Thorsten Kamann Quellcode auf CD as Spring Framework [1] bietet nativ eine Unterstützung für die Verwendung von Web Services. Sie können dabei das zugrunde liegende Framework selbst bestimmen, z. B. Axis [2] oder Apache XCF [3]. Artikelserie Teil 1: Basics zu Spring WS Teil 2: Spring WS und JaxB Teil 3: Spring WS und Spring Security Spring WS [4] ist ein Projekt aus dem SpringSource-Umfeld und hat das Ziel, die Entwicklung von Web Services zu vereinfachen. Dabei werden viele der etablierten JAXP-Frameworks, z. B. DOM, SAX und StAX, aber genauso JDOM, dom4j und XOM unterstützt. Darüber hinaus existiert innerhalb von Spring WS ein Modul, das für das XML-Mapping (O/X Mapper) verantwortlich zeichnet. Dieses Modul unterstützt JAXB 1/2, Castor, XMLBeans, JiBX und XStream. Das OXM-Modul ist inzwischen in das Spring Framework übernommen worden und steht somit auch für andere Anwendungen zur Verfügung. Alle Features des Spring Frameworks können hier ebenfalls genutzt werden. Das betrifft nicht nur die Konfiguration und Dependency Injection, sondern auch Sicherheitsaspekte, wenn Sie Spring Security verwenden wollen oder können. Abgerundet wird die Featureliste mit der Unterstützung für WS-Security, wenn Sie die SOAP-Nachrichten ver- und entschlüsseln oder signieren wollen. Die ganze Featureliste wird von den Entwicklern als Makes the Best 66 javamagazin

3 Web Services mit Spring WS Enterprise Practice an Easy Practice bezeichnet. Die Artikelserie wird zeigen, ob sie Recht behalten. Der erste Teil der Serie enthält die Basics zu Spring WS. Hier werden wir ein kleines Projekt entwickeln, indem Sie einen Web Service implementieren, der die Funktionsweise und Features von Spring WS beleuchtet. Der zweite Teil der Serie knüpft nahtlos an den ersten Teil an und diskutiert die Schwachstellen der Lösung. Danach werden wir gemeinsam eine bessere Lösung entwickeln. Im dritten Teil werden wir den Web Service mit Spring Security etwas sicherer machen, zusätzlich einen Blick auf die Architektur von Spring-WS-Projekten werfen und das Thema Integrationstest betrachten. Abb. 1: Der ProductService Abb. 2: Domänenmodell für den ProductService Doch nun genug geredet,... Contract First vs. Contract Last... beginnen wir mit einem Beispielprojekt. Wir wollen in diesem Projekt einen Web Service entwickeln, wie er in Abbildung 1 dargestellt ist. Der ProductService enthält lediglich eine Web- Service-Methode. Diese findet Produkte anhand der Warengruppe (Category), des Lieferanten (Supplier) und einer frei konfigurierbaren Zeitspanne (Date- Range). Das dazu gehörende Domänenmodell ist in Abbildung 2 zu sehen. Die Warengruppe (Category) und der Lieferant (Supplier) haben lediglich eine ID und name-property. Das gefundene Produkt hält Referenzen auf den Lieferanten und die Warengruppe. Auf diese beiden Referenzen komme ich später noch genauer zu sprechen. Schritt 1: Projekt erstellen Spring WS bietet einen Maven-Archetypen, auf den wir hier aber bewusst verzichten, um die Schritte besser nachvollziehen zu können, die benötigt werden, um ein solches Projekt zu erstellen. Als Erstes brauchen wir ein Eclipse-Projekt. Da dieses später auf einem Tomcat deployt werden soll, bietet sich als Projekttyp ein Dynamisches Webprojekt an. Beenden Sie den Projekt-Wizard nicht mit Finish schon auf der ersten Seite, sondern gehen Sie alle drei Seiten mit Next durch. Auf der zweiten Seite ändern Sie den Pfad zu Es gibt zwei Ansätze, wie Web Services entwickelt werden können. Entweder man beginnt, eine WSDL zu definieren und erzeugt aus dieser den benötigten Java- Quellcode (Contract First), oder man schreibt zuerst den Java-Quellcode und erzeugt daraus eine WSDL (Contract Last). Doch welche Methode ist die bessere? Wie bei Vielem kann man das nicht abschließend beantworten. Doch es gibt einige Argumente für den Contract-First- Ansatz. Definieren Sie zuerst die WSDL, dann haben Sie viel mehr Steuerungsmöglichkeiten, um die WSDL zu optimieren. Oft referenzieren Klassen ja andere Klassen, die nicht in der WSDL definiert werden sollen. Dies kann besser in einer WSDL umgangen werden. Ein anderer Punkt ist die Interoperabilität. Beschränkt man sich bei den Datentypen auf die Typen, die in einem XML Schema definiert werden können, dann wird es in den wenigsten Fällen zu Problemen in den verschiedenen Sprachen kommen, die den Web Service später konsumieren. Es gibt noch einige andere Punkte zu diesem Thema, die die Spring-WS-Entwickler unter [5] zusammengetragen haben. dem Source-Verzeichnis auf src/main/ java und auf der dritten Seite das Verzeichnis für den Web-Content auf src/ main/web. Zusätzlich brauchen Sie ein weiteres Source-Verzeichnis, das weitere Ressourcen aufnehmen kann. Nennen Sie das Verzeichnis src/main/ resources. Schritt 2: Ein XML Schema erstellen XML Schema? Wofür das denn? Spring WS geht streng nach dem Ansatz Contract-First (Kasten: Contract-First vs. Contract-Last ) vor. Deswegen benötigen Sie zuerst einen Vertrag. Dieser Vertrag, der die Schnittstelle des Web Service beschreibt, kann eine WSDL sein oder in diesem Fall ein XML Schema. Der Vorteil eines XML Schemas gegenüber einer WSDL ist, dass man sich bei der Definition des Vertrags auf die eigentliche Schnittstelle konzentrieren kann, ohne von den technischen Details einer WSDL abgelenkt zu werden. In Abbildung 3 sehen Sie eine Darstellung des Schemas. Da wir lediglich eine Web-Service-Methode anbieten wollen, brauchen wir auch nur ein Ele- Abb. 3: Schematische Darstellung des verwendeten XML- Schemas javamagazin

4 Enterprise Web Services mit Spring WS Listing 1 ment. Im Sinne der Namensgebung in WSDLs nennen wir das Element hier ProductRequest. Wie in Abbildung 1 zu sehen ist, benötigt dieser Request drei <?xml version="1.0" encoding="utf-8"?> <schema targetnamespace="http://www.itemis.de/hoa/ spring/ws/product"elementformdefault="qualified" xmlns="http://www.w3.org/2001/xmlschema" xmlns:p="http://www.itemis.de/hoa/spring/ws/product"> <element name="productrequest"> <complextype> <all> <element name="category" type="p:categorytype" /> <element name="supplier" type="p:suppliertype"> </element> <element name="daterange" type="p:daterange"> </element> </all> </complextype> </element> <complextype name="categorytype"> <sequence> <element name="id" type="int"></element> <element name="name" type="string"></element> </sequence> </complextype> <complextype name="suppliertype"> <sequence> <element name="id" type="int"></element> <element name="name" type="string"></element> </sequence> </complextype> <complextype name="daterange"> <sequence> <element name="startdate" type="date"></element> Parameter: Category, Supplier und Date- Range. Diese werden in dem Schema als anonyme komplexe Datentypen angelegt. Diese Typen bekommen noch die <element name="enddate" type="date"></element> </sequence> </complextype> </schema> Listing 2 public class ProductService { public List<Product> findproductsforsupplierandcategory InDateRange( Category category, Supplier supplier, DateRange daterange) { List<Product> products = new ArrayList<Product>(); products.add(new Product(12345, "Product1", category, supplier)); products.add(new Product(12346, "Product2", category, supplier)); return products; Listing 3 <dependencies> <dependency> <groupid>org.springframework.ws</groupid> <artifactid>spring-ws-core</artifactid> <version>1.5.8</version> </dependency> <dependency> <groupid>org.jdom</groupid> <artifactid>jdom</artifactid> <version>1.1</version> </dependency> </dependencies> Abb. 4: Dialog zum Aktivieren des Maven- Dependency- Managements benötigten Attribute (Abb. 2), und fertig ist das Schema (Listing 1). Das Schema speichern Sie am besten unter src/main/resources/meta-inf/ schema/products.xsd. Schritt 3: Domänenmodell und Serviceklasse implementieren Insgesamt müssen Sie dafür fünf Klassen implementieren. Wir verzichten für dieses Beispiel komplett auf Interfaces. Die vier Domänenklassen sind einfache PO- JOs mit Gettern und Settern. Diese finden Sie natürlich schon implementiert in dem mitgelieferten Beispiel. Die Serviceklasse implementiert die eigentliche Businesslogik. In einem realen Projekt würde die Servicemethode über Datenzugriffskomponenten auf eine Datenbank zugreifen und die in Frage kommenden Produkte dort abfragen. Für dieses Beispiel habe ich es uns etwas einfacher gemacht und gebe immer eine Liste mit zwei Produkten zurück (Listing 2). Schritt 4: Maven konfigurieren Bisher haben wir nur die Bordmittel der JVM verwendet. Der nächste Schritt ist allerdings die Implementierung des Endpoints. Der Endpoint ist die Instanz, die die Anfragen von einem Web- Service-Konsumenten beantwortet. In diesem Teil verwenden wir JDOM, um die Anfrage zu analysieren und aus dem SOAP-Body die benötigten Daten zu extrahieren. Außerdem greifen wir zum ersten Mal auf Spring-WS-Funktionen zurück. Um die benötigten Bibliotheken in das Projekt zu integrieren, verwenden wir Maven. Dazu aktivieren wir für unser Projekt das Maven Dependency Management (Rechtsklick auf Projekt Maven Enable Dependency Management). Daraufhin erscheint ein Dialogfenster, wie in Abbildung 4 zu sehen ist. Tragen Sie hier die gewünschten Daten ein und klicken auf Finish. Um den Endpoint zu implementieren, benötigen wir zuerst nur zwei Abhängigkeiten: spring-ws-core jdom Mit Maven ist es sehr einfach, diese Abhängigkeit hinzuzufügen. Sie brauchen 68 javamagazin

5 Anzeige

6 Enterprise Web Services mit Spring WS Listing 4 Abb. 5: Typhierarchie des Interfaces Payload- Endpoint nur die pom.xml und in dem POM-Editor die Quellansicht zu öffnen (der rechte Tab mit der Beschriftung pom.xml). Dort fügen Sie den Inhalt aus Listing 3 ein. Nun haben Sie alles beisammen, um mit der Implementierung des Endpoints zu beginnen. Schritt 5: Implementierung des Endpoints Ein Endpoint wird benötigt, damit die Anfragen beantworten werden können. public class ProductServiceEndpoint extends private XPath categoryexpression; private Namespace namespace; private XPath supplierexpression; private XPath daterangeexpression; AbstractJDomPayloadEndpoint { public ProductServiceEndpoint () throws JDOMException { namespace = Namespace.getNamespace("prod", "http://www.itemis.de/hoa/spring/ws/product"); categoryexpression = XPath.newInstance("//prod:Category"); categoryexpression.addnamespace(namespace); supplierexpression = XPath.newInstance("//prod:Supplier"); supplierexpression.addnamespace(namespace); daterangeexpression = XPath.newInstance ("//prod:daterange"); protected Element invokeinternal(element requestelement){ return null ; Listing 5 Der Endpoint muss den SOAP-Request verarbeiten können und auch wissen, was er mit den Daten anfangen soll. Damit Spring WS eine Klasse als Endpoint erkennt, muss diese das Interface org. springframework.ws.server.endpoint. PayloadEndpoint implementieren. Aber Spring wäre nicht Spring (das gilt auch für Spring WS), wenn es da nicht schon was vorbereitet hätte. Es gibt schon einige abstrakte Implementierungen, die Sie direkt verwenden können und die Ihnen viel Arbeit ersparen. Abbildung 5 zeigt die verfügbaren Implementierungen. Da wir für diesen Artikelteil jdom verwenden wollen, benutzen wir die AbstractJDomPayloadEndpoint-Implementierung. Die einzige Methode, die wir implementieren müssen, ist die protected Element invokeinternal(element requestelement) throws Exception {. Listing 4 zeigt eine erste Implementierung unseres Endpoints. Im Konstruktor des Endpoints definieren wir schon die protected Element invokeinternal(element requestelement) throws Exception { Category category = null; Supplier supplier = null; DateRange daterange = null; Element categoryelement = (Element) categoryexpression.selectsinglenode(requestelement); category = new Category(); category.setid(integer.parseint (categoryelement.getchildtext("id", namespace))); category.setname(categoryelement.getchildtext ("name", namespace)); Element supplierelement = (Element) supplierexpression.selectsinglenode(requestelement); supplier = new Supplier(); supplier.setid(integer.parseint (supplierelement.getchildtext("id", namespace))); supplier.setname(supplierelement.getchildtext("name", namespace)); SimpleDateFormat dateformat = new SimpleDateFormat ("MM-dd-yy"); Element daterangeelement = (Element) daterangeexpression.selectsinglenode(requestelement); daterange = new DateRange(); daterange.setstartdate(dateformat. parse(daterangeelement.getchildtext( "startdate", namespace))); XPath Expressions, mit denen wir später den Body des SOAP-Requests parsen wollen, um an die notwendigen Daten zu kommen. Die Methode invokeinternal bekommt als Parameter den Body des SOAP-Requests. Mit den drei XPath Expressions werden die Elemente für die drei Parameter für die Servicemethode ermittelt. Doch halt! Wie rufen wir diese Servicemethode überhaupt auf? Wir haben noch keine Referenz auf die Serviceklasse. Das erledigen wir schnell, indem wir ein Feld und eine zugehörige Setter-Methode für den ProductService definieren. Nachdem dies erledigt ist, können wir uns der Implementierung der invokeinternal-methode widmen. Der eigentliche Serviceaufruf geschieht mit Java-Mitteln, d. h. aus den Daten des SOAP-Bodys müssen die entsprechenden Objekte erzeugt werden. In Listing 5 finden Sie eine mögliche Lösung dieser Aufgabe. Die Vorgehensweise ist einfach. Erst wird das Element mit der XPath Expression (z. B. Category) ermittelt. Die Properties der zugehörigen Klasse werden dann mit der Funktion get- ChildText ermittelt. Etwas aufwändiger ist die Erzeugung des DateRange-Objekts. Hier müssen wir den Inhalt der Kindelemente in ein Datum wandeln. Dazu können Sie am besten das Simple- DateFormat aus dem java.text Package verwenden. Nun ist es an der Zeit, den Service mit den frisch erstellten Objekten abzufragen: List<Product> products = productservice.findproductsforsupplierandcategoryindaterange (category, supplier, daterange); Jetzt ist das Meiste schon getan. Wir haben eine Liste mit den gefundenen Produkten. Allerdings stellt uns diese Liste vor einige Probleme. Wenn Sie sich das Klassendiagramm aus Abbildung 2 noch einmal ansehen, erkennen Sie, dass die Klasse Product Referenzen auf Category und Supplier hält. Da die Methode invokeinternal ein jdom- Element als Rückgabe liefert, muss der ganze Objektbaum, der an dem Product hängt, in XML bereitgestellt werden. Diesen Vorgang nennt man 70 javamagazin

7 Web Services mit Spring WS Enterprise Marshalling. Spring WS liefert einen leistungsfähigen O/X Mapper. Wie bei Spring üblich, ist dies nur eine Abstraktionsschicht über vorhandene Frameworks: JAXB 1 und 2 Castor XMLBeans JiBX XStream Um nun in unserem Endpoint einen Marshaller zu verwenden, reicht es, ein Feld vom Typ org.springframework. oxm.marshaller (ist ein Interface) und die zugehörige Setter-Methode zu erstellen. Im nächsten Schritt erstellen wir die zugehörige Spring-Konfiguration, die eine konkrete Implementierung in unseren Endpoint injiziert. Das Interface hat nur folgende interessante Methode: Spiel. Einmal die abstrakte Klasse AbstractJDomPayloadEndpoint, mit der wir unseren Endpoint erweitert haben. Das andere Mal als wir den Marshaller des Spring O/X Mappers verwendeten. Doch nun ist es an der Zeit, sämtliche Komponenten miteinander zu verdrahten. Es gibt zwei Klassen, die typische Spring Beans sind: die ProductServiceund die ProductServiceEndpoint-Klasse. Der ProductServiceEndpoint hält eine Referenz auf den ProductService. Somit muss dies ebenfalls in der Spring- Konfiguration abgebildet werden (Listing 7). Diese Spring-Konfiguration können wir als spring-ws-servlet.xml unter ME- TA-INF/spring abspeichern. Im nächsten Schritt wird die web.xml dahingehend konfiguriert, dass diese Datei beim Start der Anwendung herangezogen und der Spring-Kontext aufgebaut wird. Zusätzlich ist bereits der Marshaller injiziert worden. Der CastorMarshaller kommt ohne jegliche weitere Konfiguration aus. Erst wenn das XML-Format, in das der Marshaller die Objekte bereitstellen soll, angepasst werden muss, kann der CastorMarshaller konfigurativ angepasst werden. Neben den beiden Klassen, die jetzt miteinander verdrahtet wurden, müssen noch der Endpoint und die WSDL- Generierung konfiguriert werden. Die Konfiguration des Endpoints ist recht einfach mit einem Mapping zwischen Namespace und der konfigurierten Bean hergestellt. Optional können Sie noch einen Logging Interceptor hinzufügen (Listing 8). In Listing 9 sehen Sie die Konfiguration für die automatische WSDL- Generierung. Über die Properties port- TypeName und locationuri können Sie die generierte WSDL beeinflussen. Im nächsten Schritt sehen Sie noch, wie die void marshal(object graph, javax.xml.transform. Result result) throws XmlMappingException, IOException; Um diese Methode aufzurufen, brauchen wir lediglich das Objekt, das in XML bereitgestellt werden soll und eine Implementierung des Interface javax. xml.transform.result. jdom liefert bereits eine passende Implementierung dieses Interface, sodass wir die Methode nur um einige Zeilen erweitern müssen (Listing 6). Damit der Endpoint nun verwendet werden kann, brauchen wir noch ein paar weitere Bibliotheken. Die wichtigsten davon sind Castor und Jaxen. Castor ist für das Marshalling zuständig und Jaxen wird für die Auswertung der XPath Expressions benötigt. Allerdings ist die pom.xml von Jaxen nicht sonderlich gut gepflegt. Aus diesem Grund müssen einige Abhängigkeiten, die Jaxen definiert, ausgeschlossen werden. Die vollständige pom.xml kann auf der Heft-CD eingesehen werden. Schritt 6: Spring konfigurieren Bisher haben wir von Spring recht wenig gesehen. Die erstellten Klassen waren allesamt POJOs. Lediglich zweimal kamen schon Spring-Artefakte ins Listing 6 protected Element invokeinternal(element requestelement) throws Exception { JDOMResult result = new JDOMResult(); marshaller.marshal(products, result); return (Element) result.getresult().get(0); Listing 7 <beans xmlns="http://www.springframework.org/schema/ beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.springframework.org/ schema/beans beans/spring-beans-2.5.xsd"> <bean id="productservice" class="de.itemis.hoa.spring.ws.service.productservice"/> <bean id="productserviceendpoint" class="de.itemis.hoa.spring.ws.endpoint. ProductServiceEndpoint"> <property name="productservice" ref="productservice"/> <property name="marshaller" ref="castormarshaller"/> </bean> <bean id="castormarshaller" class="org.springframework.oxm.castor.castormarshaller"/> </beans> Listing 8 <bean class="org.springframework...mapping. PayloadRootQNameEndpointMapping"> <property name="mappings"> <props> <prop key="{http://www.itemis.de/hoa/spring/ws/product ProductRequest"> ProductServiceEndpoint</prop> </props> </property> <property name="interceptors"> <bean class="org.springframework...interceptor. PayloadLoggingInterceptor"/> </property> </bean> Listing 9 <bean id="product" class="org.springframework.ws.wsdl.wsdl11. DefaultWsdl11Definition"> <property name="schema" ref="schema" /> <property name="porttypename" value="productresource" /> <property name="locationuri" value="/productservice/" /> <property name="targetnamespace" value="http://www.itemis.de/hoa/spring/ws/product/ definitions" /> </bean> <bean id="schema" class="org.springframework.xml.xsd. SimpleXsdSchema"> <property name="xsd" value="classpath:meta-inf/schema/ Product.xsd" /> </bean> javamagazin

8 Enterprise Web Services mit Spring WS locationuri an die wirkliche Serverumgebung angepasst werden kann. Die Klasse DefaultWsdl11Definition bietet noch einige andere Konfigurationsparameter, die Sie im entsprechenden Javadoc nachlesen können. Schritt 7: Konfiguration des Web Descriptors Anwendung enthält noch keinen Clientcode. Wir können den Web Service nicht ausprobieren. Jetzt kommt SoapUI [6] ins Spiel. SoapUI ist ein Web-Service-Testing-Tool. Damit können SOAP-Requests abgesetzt werden und genau diese Funktion verwenden wir auch, um den Web Service aufzurufen. Im Beispielprojekt finden Sie ein Verzeichnis soapui. Die dort enthaltene XML-Datei ist ein SoapUI-Projekt. Wenn Sie dieses Projekt öffnen, finden Sie links im Navigator einen vorbereiteten Request. Diesen können Sie ausführen und erhalten einen Response mit zwei Products. Mit dem Testing-Tool SoapUI können SOAPRequests abgesetzt werden. Der letzte Schritt ist es, den Web Descriptor (web.xml) zu konfigurieren. Die web.xml befindet sich im Verzeichnis src/main/web/ WEB-INF. In dieser web.xml werden nur das MessageDispatcherServlet aus dem Spring WS Framework und die zugehörigen Mappings konfiguriert (Listing 10). Das MessageDispatcherServlet hat in unserem Beispiel zwei Parameter: contextconfiglocation und tarnsformwsdllocations. Der erste Parameter gibt an, wo die initiale Kontextkonfiguration zu finden ist. In unserem Beispiel ist das die spring-ws-servlet.xml, die wir im vo- Listing 10 <web-app id="webapp_id" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee <display-name>product Catalogue Service</display-name> rangegangenen Schritt erstellt haben. Der zweite Parameter ist fast noch interessanter. Hiermit können Sie angeben, ob die URIs, die in der WSDL enthalten sind, so umgewandelt werden, dass der aktuelle Servername, Port und Anwendungsname enthalten sind. Schritt 8: Starten der Webanwendung und Testen des Web Service mit SoapUI In den letzten 7 Schritten haben wir eine Anwendung erstellt, die einen Web Service zur Verfügung stellt. Der letzte Teil unseres Vorhabens besteht darin, die Anwendung auf einem Tomcat zu deployen. Mit Eclipse geht das sehr einfach mit Run as... Run On Server. Die Server-Runtime haben Sie bereits bei der Erstellung des Projekts festgelegt. Die Anwendung wird automatisch auf dem Server deployt und gestartet. Nach wenigen Sekunden ist das erledigt. Ein Aufruf des URLs articles-spring-ws-dom/productservice/ product.wsdl zeigt die von Spring WS generierte WSDL. Doch was nun? Die Zusammenfassung In diesem ersten Teil der Artikelserie haben wir bereits einen funktionsfähigen Web Service erstellt. Allerdings sind viele Dinge noch nicht optimal. Zum einen haben wir noch keinen richtigen Client. Zum anderen arbeiten wir direkt auf dem SOAP-Body. Das ist bei größeren Requests nicht zielführend. Viel lieber wollen wir direkt mit JavaObjekten arbeiten. Deswegen werden wir im nächsten Teil den Web Service auf JAXB 2 umstellen und einen Client implementieren, sodass wir SoapUI nicht mehr für das Testen der Anwendung brauchen. <servlet> <servlet-name>spring-ws</servlet-name> <servlet-class> org.springframework.ws.transport.http.messagedispatcherservlet </servlet-class> <init-param> <param-name>contextconfiglocation</param-name> <param-value> classpath:meta-inf/spring/spring-ws-servlet.xml </param-value> Thorsten Kamann ist als Softwarearchitekt und als Coach bei itemis tätig. Seine Schwerpunkte sind webbasierte Technologien, MDSD, leichtgewichtige und flexible Architekturen und Open Source. Er ist Project Lead bei der Fornax Platform, einer Plattform für die Entwicklung von MDSD-related Tools und Groovy Commiter. Darüber hinaus schreibt er Bücher, veröffentlicht regelmäßig Artikel in Fachmagazinen und hält Vorträge auf Fachkonferenzen zu obigen Themen. </init-param> <init-param> <param-name>transformwsdllocations</param-name> <param-value>true</param-value> Links & Literatur </init-param> [1] </servlet> [2] <servlet-mapping> <servlet-name>spring-ws</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> [3] [4] [5] why-contract-first.html [6] [7] 72 javamagazin

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen.

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen. Praktikum Spring MVC Aufgabe 1 Im ersten Teil des Praktikums wird eine Test Webapplikation entwickelt, anhand derer einige Konzepte von Spring nachvollzogen werden können. Dabei handelt es sich um Spring

Mehr

Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz von Web Services:

Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz von Web Services: 0BBA Karlsruhe, Vorlesung Programmieren, Web Services 1BAufgabe 1 Tomcat um das AXIS-Framework erweitern : Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz

Mehr

Java Web Services mit Apache Axis2 Entwickler

Java Web Services mit Apache Axis2 Entwickler Thilo Frotscher, Dapeng Wang, Marc Teufel Java Web Services mit Apache Axis2 Entwickler Vorwort 15 1 Einleitung 25 1.1 Entstehung 26 1.2 Unterstützte Standards 28 1.3 Was beinhaltet Axis2? 29 1.4 Warum

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

Webtests mit Selenium, Groovy, TestNG und Maven

Webtests mit Selenium, Groovy, TestNG und Maven mit Selenium, Groovy, TestNG und Maven Im ersten Teil dieser Artikelserie [1] wurden Testkonzepte und Selenium [2] näher vorgestellt. Dieser zweite Teil stellt die Integration in ein Projekt vor und rundet

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Starten und Auswahl des Workspaces Starten Sie Eclipse als die Entwicklungsumgebung. Wählen Sie als Workspace

Mehr

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring Dennis Schulte / Tobias Flohre Enterprise Java Batch mit Spring Dennis Schulte Düsseldorf @denschu www.github.com/denschu blog.codecentric.de/author/dsc tel +49 (0) 1515 _ 288 2395 dennis.schulte@codecentric.de

Mehr

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2010 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

PROKOM Web Service Schnittstelle

PROKOM Web Service Schnittstelle PROKOM Web Service Schnittstelle PROKOM WS Seite 1 von 15 Versionsgeschichte Aktuelle Version: 0.1 Datum: 01.03.2011 Versions Versionsdatum Zusammenfassung der Änderungen nummer Änderungen markiert 0.1

Mehr

Web-Services Implementierung

Web-Services Implementierung Web-Services Implementierung Praktikum Informationsintegration 8.11.2005 Agenda Aktueller Stand / Abgabe Implementierung Wie geht das mit Java und Tomcat? Service Client 2 Abgabe Teil 1 Ein paar Zahlen

Mehr

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool JBoss vorbereiten Wir haben ein zip-archiv mit JBoss 4.0.5 in /opt/jboss-4.0.5.zip hinterlegt. Entpacken Sie dieses in ihrem Homeverzeichnis an

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann Sitzungszustand Gruppierung von Anfragen zu Sitzungen (Sessions) Klasse HttpServletRequest Methode HttpSession getsession (bool create) liefert aktuelle Sitzungsobjekt Zustand lokal zur Anwendung (ServletContext)

Mehr

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI Servlet II Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI 3-1 1. Grundlagen 2. Servlets 3. JSP 4 1.1. JAR Files 4 1.2. TCP/IP, Sockels 4 1.3.

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

Java-basierten Web Service erstellen

Java-basierten Web Service erstellen Java-basierten Web Service erstellen Einleitung Dieses Tutorial zeigt, wie der Web Service AutoKauf erstellt werden kann. Dieser Web Service bildet die Grundlage für alle anderen Tutorials. Deshalb ist

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Portlets Was sind Portale? Aufgaben von Portalsystemen Integration unterschiedlicher Anwendung Schwerpunkt liegt auf der Präsentationsebene Ermöglichung personalisierter

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

E-Business Architekturen

E-Business Architekturen E-Business Architekturen Übung 3b Entwicklung eigener Service-Angebote 01.03.2015 Prof. Dr. Andreas Schmietendorf 1 Ziele der Übung Möglichkeiten zur Serviceimplementierung (ggf. auch Cloud) Umgang mit

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany Enterprise JavaBeans Einführung Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Inhalt Allgemeines Motivation Rollen Aufbau einer EJB Arten von Beans Enterprise JavaBeans

Mehr

Architektur iterativ auf Basis von OSGi entwickeln

Architektur iterativ auf Basis von OSGi entwickeln Architektur iterativ auf Basis von OSGi entwickeln Ein Vortrag von Sven Jeppsson (syngenio AG) und Karsten Panier (Signal Iduna Gruppe) 1 Inhalt Motivation Architektur Architektur Evolution OSGi Refactoring

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Betriebswirtschaftliche Anwendungen 2: Serviceorientierte Anwendungsintegration Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Umrechnung von Währungen Steffen Dorn, Sebastian Peilicke,

Mehr

G s e a s m a t m ar a ch c i h tek e tur u I und IoC

G s e a s m a t m ar a ch c i h tek e tur u I und IoC Gesamtarchitektur I und IoC Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell!

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2014 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

Mehr

Benutzerhandbuch für FaxClient für HylaFAX

Benutzerhandbuch für FaxClient für HylaFAX Benutzerhandbuch für FaxClient für HylaFAX Vielen Dank, daß Sie entschlossen haben, dieses kleine Handbuch zu lesen. Es wird Sie bei der Installation und Benutzung des FaxClients für HylaFAX unterstützen.

Mehr

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal Groovy und CouchDB Ein traumhaftes Paar Thomas Westphal 18.04.2011 Herzlich Willkommen Thomas Westphal Software Engineer @ adesso AG Projekte, Beratung, Schulung www.adesso.de thomas.westphal@adesso.de

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November 2011. www.jax.de. Eclipse meets. Plus CD! The Westin Grand München Arabellapark

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November 2011. www.jax.de. Eclipse meets. Plus CD! The Westin Grand München Arabellapark M Plus CD! JE TZ ER T N! 4.11 Deutschland 9,80 Österreich 10,80, Schweiz sfr 19,20 4.2011 KE Neue Serie: The Making of an Eclipse Project eclipse magazin VO R The Westin Grand München Arabellapark Anmeldung

Mehr

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE DOKUMENTATION MAAS - MONITORING AS A SERVICE DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE Dokumentation MaaS - Monitoring as a Service Inhalt 1. MaaS - Monitoring as Service... 3 1.1 Einleitung...

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

Kommunikation ist alles

Kommunikation ist alles Kommunikation in verteilten Systemen mit Kommunikation ist alles >> alexander ziegler In einem verteilten System müssen die Anwendungsbestandteile miteinander interagieren nur so funktioniert ein großes

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

C# - PROGRAMME MIT PLUGINS ERWEITERN C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt,

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

Mehr

Die Rückkehr der Einfachheit 62

Die Rückkehr der Einfachheit 62 7.09 Plus CD! Stellenmarkt S. 58 Das war die JAX 2009 S. 15 Deutschland 7,50 Österreich 8,60 Schweiz sfr 15,80 Java Magazin Java Architekturen SOA Agile www.javamagazin.de CD-Inhalt JavaRebel 2.0 Squish

Mehr

Web Services mit Java

Web Services mit Java Web Services mit Java Neuentwicklung und Refactoring in der Praxis Torsten Langner new technology Markt+Technik Verlag Inhaltsverzeichnis Vorwort 13 Warum ausgerechnet dieses Buch? 13 An wen richtet sich

Mehr

Java API for XML Binding

Java API for XML Binding Java API for XML Binding Eine Einführung Tim Speier Fachbereich MNI Fachhochschule Gießen-Friedberg 24. Juni 2010 1 / 27 XM und Java Teil 1: Aufgabenstellung Aufgabenstellung: In einem XML-Dokument werden

Mehr

Java Batch Der Standard für's Stapeln

Java Batch Der Standard für's Stapeln Java Batch Der Standard für's Stapeln Berlin Expert Days 18.09.2015 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption und Realisierung von IT-Lösungen GEDOPLAN

Mehr

PDF-AS Webanwendung Dokumentation

PDF-AS Webanwendung Dokumentation Dokumentation PDF-AS Webanwendung Dokumentation Dokumentation zur PDF-AS Webanwendung ab Version 4 Version 0.5, 10.10.2014 Andreas Fitzek andreas.fitzek@egiz.gv.at Tobias Kellner tobias.kellner@egiz.gv.at

Mehr

Einführung in den NetBeans Profiler

Einführung in den NetBeans Profiler Let s talk about IT Wenn s mal wieder länger dauert Einführung in den NetBeans Profiler Dominik Hofmann 14.01.2010 Themenüberblick Themen Grundlagen und Features des NetBeans Profilers CPU Profiling Memory

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Auszug aus Axis2 Schulung

Auszug aus Axis2 Schulung Auszug aus Axis2 Schulung Dieses Dokument ist ein Auszug aus unserem Skript zur Axis2- Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen Mehr

Mehr

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013 JBoss AS 7 Installation, Konfiguration und Betrieb Alexander Pacnik Karlsruhe, 13.12.2013 Jboss 7 AS... worum es in diesem Vortrag geht. Einführung Installation Konfiguration Management Deployment Betrieb

Mehr

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt

Mehr

Etablierung serviceorientierter Architekturen mit Web Services

Etablierung serviceorientierter Architekturen mit Web Services Etablierung serviceorientierter Architekturen mit Web Services Vorlesung im (Entwicklung von Serviceangeboten) 1 Agenda Einsatzbereiche von Web Service basierten Angeboten Übersicht zur Java-System Application

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

MOCCA. Installation und Konfiguration der Online-BKU

MOCCA. Installation und Konfiguration der Online-BKU www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria MOCCA Installation und Konfiguration der Online-BKU Change History V1.0

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

In diesem Dokument wird Tomcat als Beispiel Servletengine und Apache als Beispiel Webserver verwendet.

In diesem Dokument wird Tomcat als Beispiel Servletengine und Apache als Beispiel Webserver verwendet. JArt Administration Installation Voraussetzungen: 1. Java Rutime Environment Version 1.4.2 oder höher 2. Java Servletengine (Tomcat wird empfohlen) (anbindung der Servletengine an Apache oder IIS empfohlen)

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Einfache GUIs mit Python und Qt Qt lernt JavaScript

Einfache GUIs mit Python und Qt Qt lernt JavaScript Angriffe über USB: Der unsichere Serial Bus >>> S. 54 Deutschland 6,50 Österreich 7,00 Schweiz sfr 13,40 www.entwickler-magazin.de Juli/August 4.2011 Mai/Juni 3.2013 Qt Einfache GUIs mit Python und Qt

Mehr

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

Execution Server Integrationshandbuch

Execution Server Integrationshandbuch Execution Server Integrationshandbuch Visual Rules Execution Server 4.7 Innovations Software Technology GmbH www.visual-rules.com Execution Server Integrationshandbuch Visual Rules Execution Server 4.7

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

Eclipse Smart Client Beyond Eclipse RCP. Christian Campo, compeople, 24.April 2007

Eclipse Smart Client Beyond Eclipse RCP. Christian Campo, compeople, 24.April 2007 Eclipse Smart Client Beyond Eclipse RCP Christian Campo, compeople, 24.April 2007 1 Übersicht Definition / Architektur Smart Client Smart Client mit RCP Gesamtfazit 2 Fat - Thin - Smart Fat Client lokale

Mehr

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte: Installation des GeoShop Redirector für IIS (Stand 24.8.2007) ============================================================= 0 Überblick ----------- Die Installation des GeoShop Redirector für IIS (Internet

Mehr

Konfiguration von OSGi- Anwendungen

Konfiguration von OSGi- Anwendungen Konfiguration von OSGi- Anwendungen mit dem Configuration Admin Service 1 Agenda Konfiguration Konfiguration und OSGi Konfiguration und Declarative Services Konfiguration und Spring Dynamic Modules 2 Wo

Mehr

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de ANT Kurzvortrag von Manuel Schulze mschulze@inf.fu-berlin.de ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Ant in Eclipse Starthilfe

Ant in Eclipse Starthilfe IN DIESER KURSEINHEIT Einleitung o Um was geht's eigentlich? Hello World o Das Ant Skript Mehrere Targets und Properties o Hello World Ausgabe Ant Launch Configurations o Definition o Modifikation o Nutzung

Mehr

Gerd Wütherich Nils Hartmann. OSGi Service Platform by example

Gerd Wütherich Nils Hartmann. OSGi Service Platform by example Gerd Wütherich Nils Hartmann OSGi Service Platform by example Die OSGi Service Platform Das Buch» Detaillierte Einführung in OSGi-Technologie» April 2008, dpunkt.verlag» ISBN 978-3-89864-457-0» Website:

Mehr

Hibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate

Hibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate Hibernate Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen Nabil janah 1 Hibernate Inhalt Hibernate allgemeines Vorteile von Hibernate Hibernate-Architektur

Mehr

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung Allgemeines Architektur der Anwendung Grundsätzlich führen viele Wege nach Rom bzw. es gibt nicht den einen Weg, wie die gestellte Aufgabe mit Magnolia gelöst werden muss. Es wäre problemlos möglich, eine

Mehr

Erstellen sicherer ASP.NET- Anwendungen

Erstellen sicherer ASP.NET- Anwendungen Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen

Mehr

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Dipl.

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

Security Technologien in Java EE 6

Security Technologien in Java EE 6 Security Technologien in Java EE 6 Java Forum Stuttgart 2010 Sebastian Glandien Acando GmbH sebastian.glandien@acando.de Agenda I. Einleitung II. Java Authentication SPI for Containers (JSR-196) I. Message

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Beispiel Framework: Struts Was ist? Open Source Framework zum Bau von Web Applikationen Home Page http://jakarta.apache.org/struts Teil des Apache Jakarta Project Unterstützt

Mehr

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go

Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go Thema Autor Entwicklung einer mobilen webbasierten Anwendung mit Oracle9i Lite Web-to-Go Christian Antognini (christian.antognini@trivadis.com) Art der Information Produktübersicht (Mai 2002) Quelle Trivadis

Mehr