Pierluigi Plebani - Politecnico di Milano MAIS Registry URBE (Uddi Registry By Example) WP2 Roma - 25 Novembre 2005
URBE (Uddi Registry By Example)25/11/ Obiettivi Fornire una soluzione compatibile al 100% con le attuali implementazioni UDDI V2 Fornire strumenti per la ricerca avanzata di Web service in grado di valutare: la similarità funzionale i vincoli di qualità la similarità del comportamento
URBE (Uddi Registry By Example)25/11/ Architettura in the large MAIS Reflective Architecture MAIS Front-end Environment MAIS back- end flexible web-service environment MAIS Service Registry Matchmaker Domain Onthology UDDI Registry Wrapper Repository Behavioral Compatibility Engine Semantic Publisher Negotiator Mobile Service design environment Process partitioning Support tools Process optimizer Process Orchestrator Concrete Service Invoker Wrapper Concretizator Platform Invoker Web Services Implementations Transaction Manager Recommendation Environment User KM User profiles End User/Web application Service Onthology
URBE (Uddi Registry By Example)25/11/ UDDI Juddi Publishing API Finding API Architettura in the small SOAP API JAVA API Web Application Service Ontology AffinityQoS ContextChannel Eclipse … Behavior
URBE (Uddi Registry By Example)25/11/ Prototipo Il prototipo aggiornato di URBE è raggiungibile allindirizzo È disponibile: una interfaccia Web di navigazione una interfaccia programmativa per lintegrazione con i restanti moduli (urbe-proxy.jar) il download dellapplicativo per installazioni in locale (urbe.jar) Prerequisiti: Jboss, qualche libreria … … e tanta pazienza
URBE (Uddi Registry By Example)25/11/ Inizializzazione connessione System.out.print("Configuring URBE Proxy..."); Properties props = new Properties(); props.setProperty(UrbeRegistryProxy.ADMIN_ENDPOINT_PROPERTY_NAME, " + server + "/urbe/admin"); props.setProperty(UrbeRegistryProxy.INQUIRY_ENDPOINT_PROPERTY_NAME, " + server + "/urbe/inquiry"); props.setProperty(UrbeRegistryProxy.PUBLISH_ENDPOINT_PROPERTY_NAME, " + server + "/urbe/publish"); props.setProperty(UrbeRegistryProxy.TRANSPORT_CLASS_PROPERTY_NAME, "it.mais.urbe.proxy.AxisTransport"); props.setProperty(UrbeRegistryProxy.SECURITY_PROVIDER_PROPERTY_NAME, "com.sun.net.ssl.internal.ssl.Provider"); props.setProperty(UrbeRegistryProxy.PROTOCOL_HANDLER_PROPERTY_NAME, "com.sun.net.ssl.internal. registry = new UrbeRegistryProxy(props); System.out.println(" Done.");
URBE (Uddi Registry By Example)25/11/ Un esempio (ricerca di servizi simili) public SimilarServiceList getSimilarService(URI wsdlDefinition) throws Exception { SimilarServiceList detail; FindSimilarService findSimilarService; findSimilarService = new FindSimilarService(wsdlDefinition); findSimilarService.addCategory(new KeyedReference(TModel.UNSPSC_73_TMODEL_KEY, "Commercial airplane travel", " ")); detail = (SimilarServiceList) this.registry.execute(findSimilarService); return detail; }
URBE (Uddi Registry By Example)25/11/ Prima della demo… alcuni concetti Servizio Astratto Servizio Flessibile Servizio Concreto Servizio Concreto