PLDA – Connectiviteit

19
PLDA – Connectiviteit Rudolf de Schipper Geoffroy Fauveaux 09/11/2004

description

PLDA – Connectiviteit. Rudolf de Schipper Geoffroy Fauveaux 09/11/2004. Agenda. SOAP in het algemeen Error handling Beveiliging PLDA Concreet Q&A. SOAP. Protocol vs. Formaat. Twee zeer verschillende niveaus Formaten EDI XML … Communicatie protocollen TCP/IP SOAP …. SOAP. - PowerPoint PPT Presentation

Transcript of PLDA – Connectiviteit

Page 1: PLDA – Connectiviteit

PLDA – Connectiviteit

Rudolf de SchipperGeoffroy Fauveaux

09/11/2004

Page 2: PLDA – Connectiviteit

AgendaSOAP in het algemeen

Error handling

Beveiliging

PLDA Concreet

Q&A

Page 3: PLDA – Connectiviteit

SOAP.

Page 4: PLDA – Connectiviteit

Protocol vs. Formaat.Twee zeer verschillende niveaus

• Formaten

- EDI

- XML

- …

• Communicatie protocollen

- TCP/IP

- SOAP

- …

Page 5: PLDA – Connectiviteit

SOAP.SOAP: web services

• XML / HTTP

Basis-protocol: Http

• Simpel voor passeren van firewalls

- Geen speciale configuratie nodig

- Geen additionele poorten te openen of protocollen nodig

• Eenvoudig te benaderen via een Internet connectie

• Synchroon protocol (Request / Response)

Page 6: PLDA – Connectiviteit

SOAP.Onafhankelijk van programmeertaal of implementatie

Frameworks beschikbaar in verschillende talen en omgevingen

Open Source Framework beschikbaar (voor Java / J2EE: http://ws.apache.org/soap/)

Page 7: PLDA – Connectiviteit

Presentatie web-page van een Web Service.

Page 8: PLDA – Connectiviteit

Voorbeeld van een WSDL.

Page 9: PLDA – Connectiviteit

Voorbeeld Java class.import weblogic.webservice.client.WLSSLAdapter;

import weblogic.webservice.client.SSLAdapterFactory;

import weblogic.jws.proxies.BiensArticleFrnb_Impl;

import weblogic.jws.proxies.BiensArticleFrnbSoap;

// SSL parameters

System.setProperty("javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");

System.setProperty("java.protocol.handler.pkgs", "weblogic.webservice.client");

SSLAdapterFactory adapterFactory = SSLAdapterFactory.getDefaultFactory();

WLSSLAdapter adapter = (WLSSLAdapter) adapterFactory.getSSLAdapter();

adapter.setStrictChecking(false);

adapterFactory.setDefaultAdapter(adapter);

adapterFactory.setUseDefaultAdapter(true);

// end SSL parameters

BiensArticleFrnb_Impl baf=new BiensArticleFrnb_Impl();

BiensArticleFrnbSoap bafs=baf.getbiensArticleFrnbSoap("test.csv","ijxupiyu");

String result = bafs.findByArticleFRNB(2000,"000000196","NL");

System.out.println(result);

}catch(Exception e){

}

Page 10: PLDA – Connectiviteit

Error Handling

Page 11: PLDA – Connectiviteit

Technische vs. Functionele fouten.Technische fouten

• Soap Exception

• Worden vertaald in een fout (Exception) in de programmeertaal

Functionele fouten

• Resultaat bericht bevat de foutmelding (ex: CUSRES)

Of

• Soap Exception

Page 12: PLDA – Connectiviteit

Voorbeeld Java class.import weblogic.webservice.client.WLSSLAdapter;

import weblogic.webservice.client.SSLAdapterFactory;

import weblogic.jws.proxies.BiensArticleFrnb_Impl;

import weblogic.jws.proxies.BiensArticleFrnbSoap;

// SSL parameters

System.setProperty("javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");

System.setProperty("java.protocol.handler.pkgs", "weblogic.webservice.client");

SSLAdapterFactory adapterFactory = SSLAdapterFactory.getDefaultFactory();

WLSSLAdapter adapter = (WLSSLAdapter) adapterFactory.getSSLAdapter();

adapter.setStrictChecking(false);

adapterFactory.setDefaultAdapter(adapter);

adapterFactory.setUseDefaultAdapter(true);

// end SSL parameters

BiensArticleFrnb_Impl baf=new BiensArticleFrnb_Impl();

BiensArticleFrnbSoap bafs=baf.getbiensArticleFrnbSoap("test.csv","ijxupiyu");

String result = bafs.findByArticleFRNB(2000,"000000196","NL");

System.out.println(result);

}catch(ConnectionLostException e){

}catch(Exception e) {

}

Page 13: PLDA – Connectiviteit

Voorbeeld Java class. BiensArticleFrnb_Impl baf=new BiensArticleFrnb_Impl();

BiensArticleFrnbSoap bafs=baf.getbiensArticleFrnbSoap("test.csv","ijxupiyu");

String result = bafs.findByArticleFRNB(2000,"000000196","NL");

System.out.println(result);

}catch(ConnectionLostException e){

}catch(Exception e) {

}

@to do: Parsing result

@to do: Functional error handling

if (…) then {

} else if (…) then {

} else {

}

Page 14: PLDA – Connectiviteit

Beveiliging

Page 15: PLDA – Connectiviteit

Beveiliging.Applicatiebeveiliging

• Authentification

• Autorisation

Gegevensbeveiliging

Page 16: PLDA – Connectiviteit

Data beveiliging.SSL Encryptie

• Confidentialiteit

Digitaal certificaat

• Digitale handtekening (client-side en server-side)

• Verificatie

• Data integriteit

Page 17: PLDA – Connectiviteit

PLDA Concreet.Wat met EDI berichten?

• Blijven behouden, gebruiken bestaande interface(s)

- Op termijn zal dit gerationaliseerd worden

• Langere termijn – een keuze

- EDI via SOAP wordt geimplementeerd

- Worden vervangen door XML via SOAP

Page 18: PLDA – Connectiviteit

PLDA Concreet.Gedefinieerde datasets Om te werken naar éénduidige berichten

- Eén bericht voor iedere “case”

Ieder bericht wordt geimplementeerd via een webservice

• Bijvoorbeeld:

- Insturen Sales Informatie SalesInfoInsturen

- Wijzigen Sales Informatie SalesInfoWijzigen

Page 19: PLDA – Connectiviteit

Q&A