Nemhandel infrastruktur

Slides:



Advertisements
Lignende præsentationer
SPBG.  Test driven development  Unit test frameworks  MOSS TDD  Mocking  Design patterns.
Advertisements

Portalintegrationsprojektet Føderationstilslutning ERFA møde 9. januar 2008.
Drupal[.org] Open Source CMS 6/
Mozilla ● Open source ● Web browser ● Mail klient ● Organisation ● Fremtiden... Henrik Gemal – Mozilla Evangelist - gemal.dk/mozilla.
Agenda • Hvorfor? • Case • Google App Engine • Alternativer til GAE • Hvad er GAE velegnet til?
NemHandel infrastruktur
Teknisk workshop Introduktion til OIOUBL Finn Christensen finn
SMALL BUSINESS er BIG BUSINESS Tips og Tricks til Small Business Server Rico Raja marts 2006.
Aalborg Universitet Esbjerg
Microsoft Windows.NET Compact Framework Niels Hilmar Madsen Developer & Platform Strategy Group Microsoft Danmark.
Teknisk Workshop om NemHandel Heinrich Clausen Århus den 4. november 2010.
SMALL BUSINESS er BIG BUSINESS ISA Workshop Rico Raja, Technology Specialist Brian Thumann Madsen, Senior Executive Consultant.
RT Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende ”Java Optimized Processor” (JOP) Speciale – efterår.
Web Services Protokoller og Arkitektur
Distribueret programmering, specielt Web Services Rasmus D. Lehrmann DM
IKA – e-handelsparathed Mogens Christensen, Department Manager Logica, OS – Information Logistics.
13 – Database med JDBC. 2 NOEA2009Java-kursus – JDBC JDBC JDBC er et standard bibliotek til at tilgå relational databaser API’et er en standardiseret.
1 JavaServer Faces Copyright © Lund & Bendsen Dynamikken i JSF.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
SQL - Database Lektion 3 7. Semester.
06 – Java Packages Packages og ClassPath. 2 NOEA2009Java-kursus – Packages og class path Hvad er Packages? En package er en gruppering af relaterede typer.
Collectionklasser Klassifikation og anvendelse. Collections Motivation –hvorfor bruge collections? Realisering af en-til-mange relationer –Importer, erklær,
Introduktion til NemHandel Infrastrukturen
Introduktion til NemHandel Infrastrukturen Heinrich Clausen 4. november 2010.
KOD I FERIEN 2011 MOSSA MERHI NemHandel Python Wrapper.
Udvikling med Microsoft 2007 Office System Michell Cronberg Microsoft MVP, MCT, MCAD ISV Innovation Day 2006 ServerServer.
NemHandel åbner døren for nye digitale muligheder Microsoft seminar om Service Orienteret Arkitektur Charlottehaven Tirsdag den 8. april 2008 Mikkel Hippe.
Microsoft Solutions for Management Peter Colsted Direktør Enterprise & Partner Group Microsoft Danmark.
12 – GUI med Swing. 2 NOEA2009Java-kursus – GUI med Swing Designer view Komponenter Frame Properties Inspector.
Selected Partner Network briefing – d. 17. september 2008 How to Sell? Licensiering Jon Meldgaard Hansen - LMM, SMS&P How to Sell – september 2008.
Technology Briefing. Hvorfor snakker vi drift? Meget fokus fra Microsoft på effektiv drift Dynamic Systems Initiative MS Operations Framework Meget fokus.
WCF service Hostet på website x. Opret tomt web applikations projekt.
e-Tinglysning WebService Arkitektur
Teknisk Workshop om NemHandel Heinrich Clausen Tåstrup den 1. marts 2011.
Distribution af funktionalitet Webservice med WCF x.
Distribution af funktionalitet Webservice med WCF x.
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
Web service - elementer SOAP (Simple Object Access Protocol) WSDL (Web Service Description language) UDDI (Universal Description, Discovery and Integration)
ASP.NET Custom Web Controls Deployment. Agenda – ASP.NET Web User Controls Composite Control Rendered Custom Control Deploy en Web Applikation.
Abstrakte klasser og interfaces i Java
NemHandel, OIOUBL og lovgivning
Programering af mobile enheder Windows Phone Storage.
Helle Schade-Sørensen Kontoret for infrastruktur og standardisering Digitaliseringsstyrelsen Finansministeriet Tlf
Enterprise Strategy Program
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Session Når man hoster en WCF Service på ASP.NET website, kan man bruge ASP.NET’s Session.
Teknisk workshop Introduktion til OIOUBL Finn Christensen 4. november 2010.
Gruppe sort Morten, Peter, Jesper, Spencer & Støving.
Collectionklasser Ekstra materiale. Collections Motivation – hvorfor bruge collections? Realisering af en-til-mange relationer – Importer, erklær, initialiser.
NemHandel Flemming Beltoft.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
VIRK integration Praktik omkring test. Integrationsprojekt Mål: ● Proces for integration, arbejdsdeling i VIRK og med myndighed og leverandører ● Vejledninger.
Fællesoffentlige it-arkitekturkrav Initiativ 32 Kravpakker – udkast til planlægningsarbejdet 16. april 2008 Michael Bang Kjeldgaard, IT-arkitekturkontoret,
Begreber og Redskaber 5. Plan for idag Overblik over klasser,objekter,nedarvning –Repetition fra Dat A/Indledende programmering –Centrale begreber om.
SOSI ( ServiceOrienteret SystemIntegration) Quick Tour 2.0.
Ændring af bekendtgørelsen om elektronisk regning ”Bekendtgørelse om information i og transport af OIOUBL elektronisk regning til brug for elektronisk.
E fakturering – Danmark. Update. Ambitioner Baggrund Første fase eFakturering, oioXML, faktura+kreditnota Dansk standard Tredje fase eCommerce, ebXML,
Teknisk workshop Introduktion til OIOUBL Finn Christensen 1. marts 2011.
Introduktion til NemHandel Infrastrukturen Heinrich Clausen 1. marts 2011.
Per P Madsen AAU1 Del 4 : Sessions-, presentations- og applikationslaget - Applikationsprotokoller. - RPC og RMI. - Digital audio og Voice over IP. - RTP.
ASP.NET – web site publish. ASP.NET – site-version.
Web Services. OO (C++/ C#/Java) COM DCOM Web Services.
Web services SOA, SOAP og WSDL. Disposition Inledning / Definition SOAP Standard SOAP Beskeder WSDL.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 8.
Call Center, adm kursus, indledning Indledning (registrering af kursister & præsentation) 10 min. Hjælpeværktøjer 5 min. System overblik 30 min. Administrator.
NemHandel infrastruktur Christian U. Pedersen Heinrich Clausen 1. Marts 2011.
Den lokale identity provider
Sikker overførsel af data, FCS
Arbejdsmarkedsportalen
Sikker overførsel af data, FCS
Præsentationens transcript:

Nemhandel infrastruktur Morten Hougesen Christian Uldall Pedersen 8. April 2010

Agenda NemHandelsprogrammet Gennemgang af funktionalitet RASP biblioteker RASP .NET og Java Brug af OCES certifikater Pause NemHandel registeret Services, web sites og værktøjer Test infrastruktur

Agenda NemHandelsprogrammet Gennemgang af funktionalitet RASP biblioteker RASP .NET og Java Brug af OCES certifikater Pause NemHandel registeret Services, web sites og værktøjer Test infrastruktur

NemHandelsprogrammet Bruges til at afsende og modtage dokumenter via NemHandel. Afsendelse: Kræver som hovedregel kun opsætning af funktionscertifikat Kan afsende dokumenter genereret af eksternt system. Modtagelse: Kræver også opsætning af mail-modtager og mail-afsender Er et open source eksempel på hvordan .NET RASP biblioteket kan bruges.

Demo

RASP 1.2

ReliableMessaging example CreateSequence Create Sequence Response (ID=xyz) Sequence (ID=xyz, MessageNumber=1) Sequence (ID=xyz, MessageNumber=2) Sequence (ID=xyz, MessageNumber=3, last message) Sequence Acknowledegement (ID=xyz, Acknowledegement Range =1,3) Sequence (ID=xyz, Message Number = 2, Ack Requested) Sequence Acknowledegement (ID=xyz, Acknowledegement Range =1...3) Terminate Sequence (ID=xyz) Sender Party Receiver Party

Message flow example Replicated registries Master serviceregistry Replication Lookup with: - NemHandel - OIOUBL document - EAN number Endpoint Lookup Activation Registration OCSP Server Certificate Status lookup Signing Encryption Reliable Messaging acknowledgement Decryption Verifying signature Signature Proof HTTP exchange Sender Party Receiver Party Decryption Signature proof Public key lookup SMTP exchange SMTP exchange OCES CA LDAP Server SMTP Server SMTP Server SMTP exchange

Agenda NemHandelsprogrammet Gennemgang af funktionalitet RASP biblioteker RASP .NET og Java Brug af OCES certifikater Pause NemHandel registeret Services, web sites og værktøjer Test infrastruktur

RASP biblioteker Bruges til at implementere afsendelse og modtagelse af dokumenter via RASP i nye eller eksisterende systemer. Indeholder udover implementation af RASP, også en række hjælpe funktioner. Indehold: Dokumenttype genkendelse XML Schema og Schematron validering UDDI opslag LDAP opslag af certifikat OCSP og CRL opslag Afsendelse og modtagelse af dokumenter via RASP Kræver OCES funktionscertifikat fra DanID.

RASP Java eksempel Demo

RASP .NET eksempel Demo

Konfigurationsfil .NET og Java bibliotekerne gør brug af konfigurationsfilen RaspConfiguration.xml. Indeholder: Dokument type konfiguration LDAP server opsætning Certifikat revocation opsætning (OCSP eller CRL) UDDI lookup opsætning Rod certifikat opsætning WS-RM afsendelsesstrategi

Håndtering af certifikater NemHandel gør brug af OCES certifikat infratrukturen. Denne håndteres af DanID. For at kunne afsende og modtage i NemHandel skal man bruge et OCES funktionscertifikat. Mere info: https://danid.dk/export/sites/dk.danid.oc/da/erhverv/produkter_og_tjenester/digital_signatur_i_virksomheden/funktionssignatur/ Test certifikater kan hentes hos DanID: https://www.certifikat.dk/export/sites/dk.certifikat.oc/da/developer/eksempler/

Håndtering af certifikater (Java) Certifikater håndteret ved brug af Java Keystores (.jks filer) Værktøjer til håndtering af .jks filer: keytool KeyStoreBrowser.jar

Håndtering af certifikater (.NET) MMC konsolen

Agenda NemHandelsprogrammet Gennemgang af funktionalitet RASP biblioteker RASP .NET og Java Brug af OCES certifikater Pause NemHandel registeret Services, web sites og værktøjer Test infrastruktur

Registrering i NemHandel registret Nye værktøjer der skal gøre det nemmere at registrere sig: Web registrering Bulk tool Profile Registration Service og Profile Description Service Agreement Service Frigivelse den 21. april 2010. Ingen ændring af måden hvorpå et lookup foretages. - ”Med dette har vi forsøgt at give brugerne forskellige muligheder for at registrere sig alt efter behov.” - Valg afhænger af ens behov.

Web Registrering Gør det muligt at foretage registreringer i NemHandel registret via en grafisk web side. Målgruppen er mindre organisationer som ønsker at foretage registreringer manuelt. Login ved hjælp af OCES Medarbejder certifikat. Mulighed for accept af Paraplyaftale. Profil orienteret Best-effort visning af eksisterende registreringer

Web Registrering Adresse: http://registrering.nemhandel.gov.dk/

Bulk tool Et kommandolinje værktøj til at foretage en stor mængde registreringer på en gang. Målgruppen er organisationer som skal foretage/ændre en stor mængde registreringer i UDDI. Eksempel: java -jar RegBulkTool-0.0.1-SNAPSHOT-jar-with-dependencies.jar --input input.txt --output output.txt --env test

Profile Registration Service SOAP web service der ligger til grund for Web registrering og bulk tool. Målgruppen er organisationer der ønsker at foretage registreringer automatisk, f.eks. gennem et økonomisystem. Brugere identificerer sig via tovejs SSL. OCES Medarbejder, Virksomhed og Funktionscertifikater kan anvendes. Profil orienteret registrering. Paraply aftale skal være accepteret. Mulighed for registrering direkte via UDDI interface fjernes.

PoRS data typer Der arbejdes med to data typer: Business: Indeholder kontaktinformation om en given organisation. Navn Beskrivelse Kontakt person Kontakt nøgle (F.eks. et CVR nummer) ProfileRegistration: Indeholder teknisk information om den givne registrering. Teknisk nøgle (F.eks. EAN nummer). Dette bruges af NemHandel klienter ved afsendelse Certifikat (Certificate subject) Teknisk kontakt person Teknisk endepunkt Liste over registrerede profil roller

PoRS eksempel – Opret organisation ProfileRegistrationService porsService = new ProfileRegistrationServiceImplService().getProfileRegistrationServicePort(); Business business = new Business(); Key businessKey = new Key(); business.setName("Nyt navn"); business.setDescription("En beskrivelse"); businessKey.setType("http://oio.dk/profiles/OWSA/modelT/1.0/UDDI/Identifiers/cvrNumber/"); businessKey.setValue("12345678"); business.setKey(businessKey); ContactPerson businessContact = new ContactPerson(); businessContact.setEmail("test@test.dk"); businessContact.setName("John Doe"); business.setContactPerson(businessContact); business.setProfileConformanceClaim("http://oio.dk/profiles/OIOSI/1.0/UDDI/registrationModel/1.1/"); String newBusinessId = porsService.saveBusiness(business, "CN=John Doe+serialNumber=CVR:12345678-RID:1234567891234,O=John Doe ApS // CVR:12345678,C=DK");

PoRS eksempel – Ændre organisation ProfileRegistrationService porsService = new ProfileRegistrationServiceImplService().getProfileRegistrationServicePort(); Business business = porsService.getBusiness("uddi:itst.dk:8b01c059-325c-4c67-bede-96d30dc4568a"); business.setName("Nyt navn"); porsService.saveBusiness(business, "CN=John Doe+serialNumber=CVR:12345678-RID:1234567891234,O=John Doe ApS // CVR:12345678,C=DK");

PoRS eksempel – Opret registrering ProfileRegistrationService porsService = new ProfileRegistrationServiceImplService(new URL("https://testpors.nemhandel.gov.dk/ProfileRegistrationService/prs?wsdl")).getProfileRegistrationServicePort(); ProfileRegistration registration = new ProfileRegistration(); registration.setActivationDate(new Date(System.currentTimeMillis())); Calendar calendar = new GregorianCalendar(2100, 01, 01); registration.setExpirationDate(calendar.getTime()); registration.setBusinessId("uddi:itst.dk:2bc2c1bb-3658-40aa-9d0e-671d5c9387fe"); registration.setCertificate("CN=FOCES1 (funktionscertifikat) + SERIALNUMBER=CVR:30808460-FID:1255692730737, O=DANID A/S // CVR:30808460, C=DK"); Key key = new Key(); key.setType("http://oio.dk/profiles/OIOSI/1.0/UDDI/Identifiers/eanNumber/"); key.setValue("5798000000000"); registration.setKey(key);

PoRS eksempel – Opret registrering fortsat registration.setProfileConformanceClaim("http://oio.dk/profiles/OIOSI/1.0/secureReliableAsyncProfile/1.0/"); registration.setTechnicalContact("tech@test.dk"); registration.setTechnicalInformation("http://test.dk/info"); registration.getEndpointAdresses().add("http://test.dk/service.svc"); ProfileRole profileRole = new ProfileRole(); // urn:www.nesubl.eu:profiles:profile5:ver2.0 BuyerParty profileRole.setProfileRoleId("uddi:f9d2af20-1146-11dd-a56f-32872391a563"); profileRole.getServiceIds().add("uddi:e4ec9613-4830-4bab-afee-c37ab1c67aec"); profileRole.getServiceIds().add("uddi:2e0b402a-7a5e-476b-8686-b33f54fd1f47"); registration.getProfileRoles().add(profileRole); String registrationId = porsService.saveProfileRegistration(registration, "CN=Test MOCES1 + SERIALNUMBER=CVR:30808460-RID:1237553529373, O=DANID A/S // CVR:30808460, C=DK");

Profile Description Service SOAP web service der kan bruges til at hente information om NemHandel profil roller. Giver følgende information om hver profil rolle: Navn og beskrivelse UDDI nøgler for UDDI proces og nødvendige UDDI services. Kræver ikke login.

PoDS eksempel ProfileDescriptionService podsService = new ProfileDescriptionServiceImplService(new URL("http://testpods.nemhandel.gov.dk/ProfileDescriptionService/pds?wsdl")).getProfileDescriptionServicePort(); List<ProfileRoleDescription> profileDescriptions = podsService.getProfileDescriptions(); for (ProfileRoleDescription desc : profileDescriptions) { System.out.println("Name: " + desc.getName()); System.out.println("Id: " + desc.getProfileRole().getProfileRoleId()); for (String serviceId : desc.getProfileRole().getServiceIds()) { System.out.println("Service id: " + serviceId); } System.out.println();

Agreement Service Bruges til at acceptere Paraplyaftalen for et givent OCES Medarbejder certifikat. Brugeren identificer sig ved hjælp af det ønskede OCES Medarbejder certifikat. Mulighed for at tilknytte OCES Funktionscertifikater til et givent Medarbejder certifikat. Sikkerhed opnås ved hjælp af WS-Security.

Agreement Service eksempel URL wsdlLocationOpen = new URL("http://testprofiler.nemhandel.gov.dk/AgreementStatusService/2008/04/01/TrustedCertificateAgreementStatusService.svc?wsdl"); TrustedCertificateAgreementStatusService service = new TrustedCertificateAgreementStatusService(wsdlLocationOpen); IAgreementStatusService trustedAgreementStatusClient = service.getClientCertifcateAgreementStatusService(); trustedAgreementStatusClient.setAgreementStatus(1L, 1L, "CN=Test MOCES1 + SERIALNUMBER=CVR:30808460-RID:1237553529373, O=DANID A/S // CVR:30808460, C=DK");

Agenda NemHandelsprogrammet Gennemgang af funktionalitet RASP biblioteker RASP .NET og Java Brug af OCES certifikater Pause NemHandel registeret Services, web sites og værktøjer Test infrastruktur

Test infrastruktur Formålet er, at tilbyde en sandkasse hvor man kan teste: Afsendelse og modtagelse af dokumenter via RASP. Oprettelse af endepunkter i UDDI. Brugen af Agreement service. Kræver OCES Test certifikater fra DanID.

Test infrastruktur - Registering Test NemHandel register: http://testuddi.nemhandel.gov.dk/uddi/ Test PoRS, PoDS og Aftale services: http://testpors.nemhandel.gov.dk/ProfileRegistrationService/prs http://testpods.nemhandel.gov.dk/ProfileDescriptionService/pds http://testprofiler.nemhandel.gov.dk/AgreementStatusService/2008/04/01/TrustedCertificateAgreementStatusService.svc Test web registrering: http://testregistrering.nemhandel.gov.dk Der vil komme dokumentation på denne test registreringsinfrastruktur.

Test infrastruktur – Service endpoints Java og HTTP: EAN 5798009811592 Java og SMTP: EAN 5798009811608 .NET og HTTP: EAN 5798009811530 .NET og SMTP: <mangler> Disse vil formodentlig ændre sig, og der vil komme dokumentation såsom url, service certifikat og accepterede dokumenttyper.