1 / 20

Architettura del Protocollo SBN-MARC

Architettura del Protocollo SBN-MARC . L’ accesso ai servizi dell’Indice SBN tramite il protocollo SBN-MARC. Relatore: Richard Golding. Roma – 13 settembre 2002. Implementazione del Protocollo SBN-MARC. Componente da realizzare ed integrare con il SW client (LMS). Library Management System

annot
Download Presentation

Architettura del Protocollo SBN-MARC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architettura del Protocollo SBN-MARC L’ accesso ai servizi dell’Indice SBN tramite il protocollo SBN-MARC Relatore: Richard Golding Roma – 13 settembre 2002

  2. Implementazione del Protocollo SBN-MARC Componente da realizzare ed integrare con il SW client (LMS) Library Management System (LMS) SBN-MARC Client Interface HTTP JMS SOAP SBN-MARC Server Interface XML Schema SBNMarc.xsd Server SBN Indice (Java 2 Platform 2 Enterprise Specifiche)

  3. Introduzione Scelte architetturali per il client SBN-MARC • Riferimenti tecnici • Modalità di collegamento a SBN • Principali elementi applicativi “Time-Scale” per il consolidamento del protocollo SBN-MARC

  4. Definizione di SBN-MARC Protocollo 100% compatibile con la semantica UNIMARC - Definizioni semantiche fornite da UNIMARC - I dati obbligatori sono quelli definiti da UNIMARC - Le estensioni SBN-MARC allo standard UNIMARC sono opzionali MARC21 – UNIMARC - Mapping tra MARC21 e UNIMARC Gestione del formato dei record ISO 2709 e XML - Mapping trasparente tra i tag XML e ISO 2709 usato dai record MARC21 e UNIMARC - SBN-MARC accetta il set di caratteri UTF-8 (UNICODE)

  5. Obiettivi di Disegno Compatibilità con standard tecnici e bibliotecari internazionali • UNIMARC e MARC21 • XML (e Web Services Architecture) Riduzione dei costi di realizzazione dei client SBN-MARC • Scelta del livello di partecipazione a SBN • Semplicità e flessibilità del protocollo • Validazione presso il server dell’Indice SBN • Le tecnologie richieste hanno molti fornitori di “tools” di sviluppo in diversi linguaggi applicativi

  6. Client / Sistema Remoto Server Web Presentazione Server Applicativo Enterprise Implementazione dei Protocolli SBN e SBN-MARC Server Dati EIS {HTML e XML /XSL SOAP} Int. Diretta Ammin. {Java JMS + XML/SOAP} JSP Nuovo Polo EJB EJB EJB EJB EJB Java Servlet {HTTP / IIOP / TCP Sockets / SNA} {Java JMS + XML/SOAP} {JDBC v3 - SQL 92/99} Gateway SBN Polo SBN Attuale DBMS Schema dell’Architettura

  7. XML Schema e Messaggi XML Schema: elemento principale dell’architettura • Consente al client anche la validazione parziale dei messaggi Stateless Protocol • Modello di processo • Ogni messaggio è autonomo • Nessuna sequenza imposta dal server dell’Indice • Lo sviluppatore del client può disegnare il processo • Modello di dialogo “CONVERSATIONAL” • INVIARE e ATTENDERE RISPOSTA

  8. Trasporto di SBN-MARC L’invio di messaggi all’Indice SBN

  9. Trasporto 1: XML su HTTP Il client svolge il ruolo di HTTP client Sequenza applicativa del client: • Scrive il messaggio in formato XML in un buffer di memoria • Invia il buffer come parametro di POST URL La risposta viene fornita in un file con Mime-type: text/XML

  10. Trasporto 2: JMS Java Message Services Protocollo orientato a client che usano Java Il client può inviare i messaggi in formato XML verso JMS QUEUES (code JMS) comunicando direttamente con i MESSAGE DRIVEN BEAN del server Passo 1: Il client effettua una richiesta di connessione (LOOKUP) utilizzando un protocollo (RMI, COS o LDAP) per identificare le risorse remote e creare la connessione al server. Passo 2: Il client attiva un LISTENER sulla connessione creando una coda temporanea sulla quale invia il messaggio e riceve la risposta.

  11. Trasporto 3: “Web Services” Il trasporto è conforme alle specifiche W3C per l’architettura “Web Services” I messaggi inviati e ricevuti sono impacchettati in un “Envelope” SOAP • Trasporto su: HTTP • Modello di Connessione: Point-to-Point / One-way con Provider • API java usati sul server: JAX-RPC o SAAJ (JAXM = One-Way). Registrazione di servizi in “registry” UDDI • Analogo al LOOKUP del queue in JMS • API java usato nel server: JAXR • Corrisponde all’architettura della rete RUPA (Progetto A9)

  12. SBN-MARC I principali elementi della programmazione

  13. Decodifica dei Messaggi I messaggi possono essere letti e scritti usando parser XML • SAX parser utilizza eventi • Garantisce elevate performance di lettura • DOM parser utilizza un “search tree” • Facilita la scrittura di messaggi XML e la gestione del messaggio/documento in memoria Generazione oggetti da XML Schema • Vari linguaggi supportano la generazione di oggetti dallo Schema XML

  14. Identificazione e Sicurezza • Servizio fornito dall’application server scelto per Indice SBN • Il server dell’Indice SBN utilizza i componenti di sicurezza standard che sono definiti da SUN: • Java Platform 2 Standard ed Enterprise Edition • Non è di competenza del protocollo SBN-MARC • Requisiti minimi dell’application server • Connessione via SSL • Autenticazione via security server (RADIUS / KERBEROS)

  15. Requisiti per il client • Si può implementare con diversi linguaggi di programmazione • Non esiste nessun vincolo sull’uso di Java • Lo sviluppo è facilitato nei molteplici ambienti che supportano o forniscono: • API per il parsing XML • API per la gestione di Web Services (SOAP/WSDL/UDDI) • API per il protocollo HTTP • API per il protocollo LDAP • API per i protocolli di sicurezza dell’application server (SSL).

  16. SBN-MARC Client API:esempio di connessione al server SBN

  17. SBN-MARC Client API Status esempi funzionanti (demo)in cuisi è data priorità alla chiarezza concettuale del codice rispetto ad un uso avanzato ed ottimizzato delle funzioni Obiettivi • Supplemento alla documentazione di SBN-MARC • Supporto all’analisi dei client (come esempi) • Può essere modificato ed adattato (per chi usa Java) • Verrà mantenuto come esempio illustrativo delle specifiche e documentazione del protocollo I fornitori possono sostituire l’esempio con la propria implementazione ottimizzata

  18. SBN-MARC Client API Inclusi nel package: • Classi dello schema XML (usate anche nel server) • Generate con Castor (vedi: http://org.exolab.castor) • Classi esempi di connessione al server SBN • Utility di prova della connessione al server • Implementa le diverse modalità di collegamento e permette la visualizzazione dell’XML inviato e ricevuto • Utility di logging che registra messaggi e risposte in un file di log configurabile • Il log viene generato usando LOG4J e può essere formattato in vari modi.

  19. Pianificazione e Tempi • settembre 2002 – Rilascio prototipale • Rilascio alpha di SBN-MARC Client API • Esempi di XML su HTTP e JMS • Rilascio delle Specifiche del Protocollo SBN-MARC • dicembre 2002 – Rilascio Architettura Definitiva • Rilascio beta di SBN-MARC Client API • Verrà aggiunto l’esempio SOAP • Rilascio di servizio di prova (server) • marzo 2003 – Rilascio Stabile • Rilascio di SBN-MARC Client API v1.0

  20. Riferimenti • Web Services Architecture • XML, XSL/T, SOAP, WSDL, UDDI • W3C: http://www.w3.org/2002/ws/ • UDDI:http://www.uddi.org • Esempi SW e implementazioni di riferimento (non solo Java) • http://java.sun.com/webservices/ • http://www-106.ibm.com/developerworks/webservices/ • http://msdn.microsoft.com/webservices/ • http://xml.apache.org/ • In particolare: il progetto AXIS

More Related