e.Toscana Compliance 
Request for Comments: 114.0
Del: 19/12/2008
Categoria: Applicativa
Destinatari: Regione Toscana, Comuni, Amministrazioni locali

	Sincronizzazione e aggiornamento database Offerte Mezzo Stampa

	
	
	
Indice
======
1. Contesto di riferimento	
2. Obiettivi	
3. Analisi 
4. Prodotti attesi
5. Bibliografia



1. Contesto di riferimento
==========================

Nel contesto del potenziamento dei servizi offerti dalla
Rete Telematica Regionale Toscana (RTRT),  stato realizzato un
Servizio di cooperazione applicativa che consente di tenere aggiornata,
in modo largamente automatizzato, una base dati SIL a livello regionale
con le offerte a mezzo stampa pubblicate da altri soggetti.

2. Obiettivi
============

Il servizio  stato realizzato adottando una architettura basata sull'aggiornamento
in tempo reale delle nuove Offerte a Mezzo Stampa inserite da vari enti autorizzati
a pubblicare in Regione tali modifiche al fine di avere una base dati centralizzata
che fa da aggregatore alle diverse fonti. Le operazioni possibili sono la pubblicazione
di nuove offerte, la modifica alle offerte esistenti o cancellazioni di offerte
precedentemente inserite.
Al fine di mantenere aggiornate anche le informazioni sulle Aziende che pubblicano
le diverse offerte, ciascuna offerta  completa delle informazioni sull'azienda che la
pubblica.

3. Analisi
==========

Le Offerte di lavoro pubblicate su vari quotidiani vengono censiti in formato elettronico
e sono di interesse per altre procedure, quali BorsaLavoro Toscana, per integrare le offerte
di lavoro per i cittadini. E' auspicabile poter inserire in una base dati Regionale tutte le
informazioni riguardanti tali offerte, di seguito chiamate Offerte di Lavoro a Mezzo Stampa,
in maniera automatizzata e, per quanto possibile, sincrona. Questo pu essere fatto attraverso
la creazione di un Web Service centralizzato che riceve gli evetni di aggiornamento da chi
pubblica le offerte. Bench attualmente ci sia un unico soggetto che le pubblica, il servizio
generalizza la situazione attuale permettendo a chiunque sia abilitato a farlo a inserire
nuove offerte di lavoro, a cancellare e modificare le proprie precedentemente inserite.

Gli schema XML che definiscono il formato dei messaggi scambiati tra chi pubblica le
informazionie e il servizio centralizzato sono riportati in un unico WSDL



4. Prodotti attesi
==================

Il seguente WSDL descrive i servizi esposti dal WS regionale:

----------------------------------------
* WSDL ServizioOfferteMezzoStampa.wsdl *
----------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://www.caribel.pisa.it/ws/offerte" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.caribel.pisa.it/ws/offerte" xmlns:intf="http://www.caribel.pisa.it/ws/offerte" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://www.caribel.pisa.it/ws/offerte/bean" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types><schema targetNamespace="http://www.caribel.pisa.it/ws/offerte/bean" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType name="Qual1"><sequence><element name="ruolo1" nillable="true" type="xsd:string"/><element name="qual1" nillable="true" type="xsd:string"/></sequence></complexType></schema><schema targetNamespace="http://www.caribel.pisa.it/ws/offerte" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><complexType name="ArrayOf_xsd_string"><complexContent><restriction base="soapenc:Array"><attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/></restriction></complexContent></complexType><complexType name="ArrayOf_tns1_Qual1"><complexContent><restriction base="soapenc:Array"><attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:Qual1[]"/></restriction></complexContent></complexType><complexType name="ArrayOf_xsd_int"><complexContent><restriction base="soapenc:Array"><attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]"/></restriction></complexContent></complexType></schema></wsdl:types>
  <wsdl:message name="eliminaOffertaRequest">
    <wsdl:part name="codice" type="xsd:int"/>
    <wsdl:part name="applicazione" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="eliminaOffertaResponse">
  </wsdl:message>
  <wsdl:message name="inserisciOffertaResponse">
  </wsdl:message>

  <wsdl:message name="inserisciOffertaRequest">
    <wsdl:part name="codice" type="xsd:int"/>
    <wsdl:part name="applicazione" type="xsd:string"/>
    <wsdl:part name="data" type="xsd:dateTime"/>
    <wsdl:part name="tipo" type="xsd:string"/>
    <wsdl:part name="giorno" type="xsd:string"/>
    <wsdl:part name="pag" type="xsd:int"/>
    <wsdl:part name="rif" type="xsd:string"/>
    <wsdl:part name="num_posti" type="xsd:string"/>

    <wsdl:part name="settore" type="xsd:string"/>
    <wsdl:part name="sesso" type="xsd:string"/>
    <wsdl:part name="area" type="xsd:string"/>
    <wsdl:part name="soc_selez" type="xsd:string"/>
    <wsdl:part name="eta_min" type="xsd:int"/>
    <wsdl:part name="eta_max" type="xsd:int"/>
    <wsdl:part name="eta_avg" type="xsd:int"/>
    <wsdl:part name="indirizzo" type="xsd:string"/>
    <wsdl:part name="fax" type="xsd:string"/>

    <wsdl:part name="email" type="xsd:string"/>
    <wsdl:part name="telefono" type="xsd:string"/>
    <wsdl:part name="note" type="xsd:string"/>
    <wsdl:part name="data_inserimento" type="xsd:string"/>
    <wsdl:part name="cancella" type="xsd:string"/>
    <wsdl:part name="contratto" type="xsd:string"/>
    <wsdl:part name="orario" type="xsd:string"/>
    <wsdl:part name="esperienza" type="xsd:string"/>
    <wsdl:part name="esperienza_durata" type="xsd:string"/>

    <wsdl:part name="visibile" type="xsd:string"/>
    <wsdl:part name="des_lingue" type="xsd:string"/>
    <wsdl:part name="nome_utiliz" type="xsd:string"/>
    <wsdl:part name="desc_utiliz" type="xsd:string"/>
    <wsdl:part name="durata_miss" type="xsd:string"/>
    <wsdl:part name="nome_file" type="xsd:string"/>
    <wsdl:part name="nome_immagine" type="xsd:string"/>
    <wsdl:part name="testo_offerta" type="xsd:string"/>
    <wsdl:part name="scadenza" type="xsd:dateTime"/>

    <wsdl:part name="azi_id" type="xsd:int"/>
    <wsdl:part name="azi_codfisc" type="xsd:string"/>
    <wsdl:part name="azi_piva" type="xsd:string"/>
    <wsdl:part name="azi_ragsoc" type="xsd:string"/>
    <wsdl:part name="azi_indirizzo" type="xsd:string"/>
    <wsdl:part name="azi_cap" type="xsd:string"/>
    <wsdl:part name="azi_comune" type="xsd:string"/>
    <wsdl:part name="azi_provincia" type="xsd:string"/>
    <wsdl:part name="azi_telefono" type="xsd:string"/>

    <wsdl:part name="azi_fax" type="xsd:string"/>
    <wsdl:part name="azi_email" type="xsd:string"/>
    <wsdl:part name="azi_formagiu" type="xsd:string"/>
    <wsdl:part name="azi_attivo" type="xsd:string"/>
    <wsdl:part name="azi_descrizione" type="xsd:string"/>
    <wsdl:part name="azi_tipologia" type="xsd:string"/>
    <wsdl:part name="id_comune" type="xsd:int"/>
    <wsdl:part name="azi_data_iscrizione" type="xsd:dateTime"/>
    <wsdl:part name="codiciLingua" type="impl:ArrayOf_xsd_string"/>

    <wsdl:part name="ruoliQualifiche" type="impl:ArrayOf_tns1_Qual1"/>
    <wsdl:part name="qualifiche" type="impl:ArrayOf_xsd_string"/>
    <wsdl:part name="codiciSedi" type="impl:ArrayOf_xsd_string"/>
    <wsdl:part name="codiciIstruzione" type="impl:ArrayOf_xsd_int"/>
    <wsdl:part name="inform_win" type="xsd:string"/>
    <wsdl:part name="inform_mac" type="xsd:string"/>
    <wsdl:part name="inform_word" type="xsd:string"/>
    <wsdl:part name="inform_excel" type="xsd:string"/>
    <wsdl:part name="inform_office" type="xsd:string"/>

    <wsdl:part name="inform_db" type="xsd:string"/>
    <wsdl:part name="inform_graf" type="xsd:string"/>
    <wsdl:part name="inform_cad" type="xsd:string"/>
    <wsdl:part name="inform_web" type="xsd:string"/>
    <wsdl:part name="inform_varia" type="xsd:string"/>
    <wsdl:part name="mansioni" type="impl:ArrayOf_xsd_string"/>
    <wsdl:part name="fo_estensione_img" type="xsd:string"/>
    <wsdl:part name="fo_nome_file" type="xsd:string"/>
    <wsdl:part name="fo_testo" type="xsd:string"/>

    <wsdl:part name="fo_cancell" type="xsd:string"/>
    <wsdl:part name="fo_data" type="xsd:dateTime"/>
    <wsdl:part name="fo_data_ultima_modifica" type="xsd:dateTime"/>
  </wsdl:message>
  <wsdl:portType name="StartingPoint">
    <wsdl:operation name="eliminaOfferta" parameterOrder="codice applicazione">
      <wsdl:input message="impl:eliminaOffertaRequest" name="eliminaOffertaRequest"/>
      <wsdl:output message="impl:eliminaOffertaResponse" name="eliminaOffertaResponse"/>
    </wsdl:operation>

    <wsdl:operation name="inserisciOfferta" parameterOrder="codice applicazione data tipo giorno pag rif num_posti settore sesso area soc_selez eta_min eta_max eta_avg indirizzo fax email telefono note data_inserimento cancella contratto orario esperienza esperienza_durata visibile des_lingue nome_utiliz desc_utiliz durata_miss nome_file nome_immagine testo_offerta scadenza azi_id azi_codfisc azi_piva azi_ragsoc azi_indirizzo azi_cap azi_comune azi_provincia azi_telefono azi_fax azi_email azi_formagiu azi_attivo azi_descrizione azi_tipologia id_comune azi_data_iscrizione codiciLingua ruoliQualifiche qualifiche codiciSedi codiciIstruzione inform_win inform_mac inform_word inform_excel inform_office inform_db inform_graf inform_cad inform_web inform_varia mansioni fo_estensione_img fo_nome_file fo_testo fo_cancell fo_data fo_data_ultima_modifica">
      <wsdl:input message="impl:inserisciOffertaRequest" name="inserisciOffertaRequest"/>
      <wsdl:output message="impl:inserisciOffertaResponse" name="inserisciOffertaResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="StartingPointSoapBinding" type="impl:StartingPoint">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="eliminaOfferta">
      <wsdlsoap:operation soapAction=""/>

      <wsdl:input name="eliminaOffertaRequest">
        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.caribel.pisa.it/ws/offerte/bean" use="encoded"/>
      </wsdl:input>
      <wsdl:output name="eliminaOffertaResponse">
        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.caribel.pisa.it/ws/offerte" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="inserisciOfferta">
      <wsdlsoap:operation soapAction=""/>

      <wsdl:input name="inserisciOffertaRequest">
        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.caribel.pisa.it/ws/offerte/bean" use="encoded"/>
      </wsdl:input>
      <wsdl:output name="inserisciOffertaResponse">
        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.caribel.pisa.it/ws/offerte" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="StartingPointService">

    <wsdl:port binding="impl:StartingPointSoapBinding" name="StartingPoint">
      <wsdlsoap:address location="http://www.borsalavoro.toscana.it/borsalavoro/services/OfferteMezzoStampa"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>



5. Bibliografia
===============
[1] Web Services Description Language (WSDL) 1.1 http://www.w3.org/TR/wsdl
[2] XML Schema http://www.w3.org/XML/Schema
[3] Latest SOAP versions http://www.w3.org/TR/soap/
