9
Semesterarbeit SOA CRYSTL-PIM P roduct I nformation S ystem Sandrine Ferrari Benjamin Bäni

Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

Embed Size (px)

Citation preview

Page 1: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

Semesterarbeit SOA

CRYSTL-PIMProduct Information System

Sandrine FerrariBenjamin Bäni

Page 2: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

CRYSTL-PIM (Product Information System)Ablauf

Ausgangslage??Ziele

LösungsansatzImplementierung

KomponentenDemonstration

Page 3: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

ZieleLösungsansatz

ImplementierungKomponenten

CRYSTL-PIM (Product Information System)Ausgangslage ???

Ausgangslage

• Vertieb von Bier und Kleinartikel• Heutige Informatik in schlechtem

Zustand• Kunden-Informations-System für

Kundenberater fehlt

Demonstration

Page 4: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

ZieleLösungsansatz

ImplementierungKomponenten

CRYSTL-PIM (Product Information System)Ziele

Ausgangslage

• Lösung für das Lesen von Produktinformationen via Webservice

• Eingabemaske• Request und Response über HTTP

(SOAP und XML)• Implementierung• Ausgabemaske• Manuelle und automatisierte Tests

Demonstration

Page 5: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

ZieleLösungsansatz

ImplementierungKomponenten

CRYSTL-PIM (Product Information System)Lösungsansatz (Grundidee)

Ausgangslage

• Webservice mit SOAP• Service-Methoden zum Abfragen von

einzelnen oder allen Produkten• Client mit JSP

Demonstration

GrundideeAufbau

Page 6: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

ZieleLösungsansatz

ImplementierungKomponenten

CRYSTL-PIM (Product Information System)Lösungsansatz (Aufbau)

Ausgangslage

Demonstration

GrundideeAufbau

Lösung mit SOAP via HTTP

SOAP Server-Client Architektur

Page 7: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

ZieleLösungsansatz

ImplementierungKomponenten

CRYSTL-PIM (Product Information System)Implementierung

Ausgangslage

Demonstration

HSQL

PIM-Server

DAO

Service

Sche

ma

PIM-Client

Service (Skeleton)

Servlet/JSP

Browser

http://localhost:8080/PimServer/ProductService

SOAPMessage

Page 8: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

ZieleLösungsansatz

ImplementierungKomponenten

CRYSTL-PIM (Product Information System)Product Web Service with JAX-WS

Ausgangslage

Demonstration

@WebServicepublic interface ProductService {

@WebMethod(action="getProductById")ProductTO getProductById(@WebParam(name="id") Long id);

}

@WebService(endpointInterface = "ch.crystl.pim.service.ProductService")public class ProductServiceImpl implements ProductService {

@Overridepublic ProductTO getProductById(Long id) { .. }

}

@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name = "productTO", propOrder = { "results", "message", "returncode"})public class ProductTO { @XmlElement(nillable = true) protected List<Product> results; protected String message; protected String returncode;}

Page 9: Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage?? Ziele Lösungsansatz Implementierung Komponenten Demonstration

SoapUI

TestSuiteTestSuite

ZieleLösungsansatz

ImplementierungKomponenten

CRYSTL-PIM (Product Information System)Unit-Testing mit SoapUI

Ausgangslage

Demonstration

ServerClient

DatenbankWSDL

PIM-Server Junit-Tests

TestProductDAO

Endpoint: http://localhost:8088/mockProductServiceImplPortBinding

MockService

TestSuite

TestMockService

TestProductService

start/stop

run

HSQL

PimDB