workshop WS-Interop: COM Java.NET Pierre Greborio PEWay Microsoft MVP – Solutions Architect

Slides:



Advertisements
Presentazioni simili
Introduzione a Windows Communication Foundation
Advertisements

IBM System i Il Sistema Enterprise per la PMI
© 2010 Colt Telecom Group Limited. All rights reserved. Cloud Computing Lapproccio Colt Dionigi Faccedna.
Introduzione ai Visual Studio Tools For Office 2005 Fabio Santini
ASP .NET & Web Service: Introduzione
Consumare Web Service Andrea Saltarello
Midrange Modernization Conference 1 Scenari evolutivi per le soluzioni basate su AS/400 Walter Poloni Direttore Developer & Platform Evangelism Microsoft.
1 Windows SharePoint 2003 Products & Technologies – Overview funzionale Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web:
TechNet Integration Workshop
Microsoft Visual Studio 2005: come è cambiata lofferta degli strumenti di sviluppo Giada Scarafiotti – Developer.
Luca Bianchi Windows Development Day Bologna 28 gennaio 2005 SQL Server Desktop Engine (MSDE) & SQL Server 2005 Express.
ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET, dietro le quinte Componenti principali di una applicazione.
Massimiliano Bosco – Aliware – Torino – Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)
Strumenti di sviluppo Microsoft Campagna incentivi per Software Assurance Opportunità di vendita.
WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
Web Services.
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
Usare Apache Axis.
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
Seam.
OWASP-Day e progetti OWASP-Italy
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
Valutazione del Globus Toolkit Massimo Sgaravatto INFN Padova.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Pierluigi Plebani - Politecnico di Milano MAIS Registry URBE (Uddi Registry By Example) WP2 Roma - 25 Novembre 2005.
EJB Getting started Database: MySql Application Server: Pramati Server Ambiente di sviluppo: Pramati Studio 3 Applicazione esempio: Logon Trento, 30/10/2002.
prompt> java SumAverage
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
Articoli e codice: Blog: Profilo MVP:
Attribution-NonCommercial-ShareAlike SQL Server.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Sito IntergruppoParma.it Nuovo Intergruppo Parma.
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> eyelander tracking semplice con il tuo cellulare.
Innovazioni versione 4 Bari, 17 ottobre Innovazioni versione 4 Il menù dinamico secondo logica operativa Il ruolo dei Ruoli Facilitare la scelta.
AgentGroup MEnSA Project - Future work Agent and Pervasive Computing Group Dipartimento di Ingegneria dellInformazione Università degli Studi di Modena.
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web: modelli per la qualità dei siti (Ingegneria del Web)
Andrea Petricca Problematiche di rete nella sperimentazione di file-system distribuiti su WAN per applicazioni di GRID-Computing Rapporto trimestrale attività
System for Card DOCUMENTO PROGRAMMATICO SULLA SICUREZZA Presentazione del Servizio ASP di System for Card.
SoLo mobile client in depth: Mercato mobile, licenze, deploy, uso, features.
WPF per il client Desktop
Active Directory Federation Services 2
14° Workshop – DotNetMarche :: Castelfidardo, 16 Aprile 2010 Introduzione ai framework per IoC / DI e AOP.
Fabio Cozzolino Vito Arconzo
Attribution-NonCommercial-ShareAlike SQL Server.
Attribution-NonCommercial-ShareAlike Le novità
Attribution-NonCommercial-ShareAlike Le novità
Programma Cloud Partner Cloud Essentials Pack: Attivazione passo per passo Cloud Accelerate: Attivazione passo per passo Cloud Partner: Modello di Business.
Scoprirete che su Office non si può solo contare ma anche sviluppare.
Sistemi Informativi sul Web
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
VB.NET Sviluppo Applicazioni Desktop
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
SQL Server 2005 Sicurezza Davide Mauri Factory Software
TechNet Integration Workshop Pier Luigi Croce Senior Technology Specialist.
Visual Studio Tools per Office System 2003 Fabio Santini Developer Evangelist Developer And Platform Evangelism.
14/06/2008 – Matteo Baglini Mail: Blog:
Claudio Maccari Mail: Blog (ITA): Blog (ENG):
Interoperabilità tra servizi eterogenei M. Missikoff – F. Taglino LEKS, IASI-CNR Una piattaforma inferenziale per il Web Semantico: Jena2 Roma, 2006 Web.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
Java Enterprise Edition
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Real World data access layers DataSet vs. Custom entities Pierre Greborio Software Architect – PEWay SrL Microsoft MVP – Solutions Architect.
Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.
Lato Server - OMNIS Web Web Services.
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Transcript della presentazione:

workshop WS-Interop: COM Java.NET Pierre Greborio PEWay Microsoft MVP – Solutions Architect

workshop Sponsor

workshop Perchè si parla di interoperabilità ? Perchè nessuna applicazione è unisola Perchè chi fa la contabilità non fa anche il CRM,... Perchè dobbiamo migrare la piattaforma/soluzione e non possiamo farlo in poco tempo Perchè lo chiede il cliente e quindi il capo

workshop Java vs.NET vs COM Microsoft afferma che.NET è meglio di Java SUN e IBM affermano che Java è meglio di.NET Le applicazioni small business usano molto COM e.NET Le applicazioni enterprise usano molto COBOL e Java

workshop Java vs.NET vs COM Gartner afferma che fra 10 anni lenterprise userà sia Java che.NET (50%-50%) COM e COBOL sono due specie in via di estinzione...anche per chi usa MS Office Risultato: Impariamo a far dialogare Java con.NET !

workshop Vari livelli di interoperabilità Presentation interoperability: condivisione dello stato della sessione Business interoperability: EJB chiama COM+ e viceversa, COM+ chiama.NET,... Resource interoperability: Database, message brokers,...

workshop Principi base Problemi base di ogni tecnologia usata per linteroperabilità: Intesa sui tipi (dimensione, big-endian, little- endian,...) Intesa sulla semantica di invocazione (per valore, per referenza) Protocolli di sicurezza Gestione dello stato Modelli di transazione, sincronizzazione e threading

workshop Principi base Più sono fortemente dipendenti i principi... maggiori sono le difficoltà di interoperare Suggerimento: Tenere i sistemi il più possibile disaccoppiati !

workshop Disaccoppiamento endpoint.NET endpoint Java GatewayRemote Facade

workshop Tre modi per interoperare Resource based: Database : tutti conoscono SQL File system : XML, serializzazione Java/J# Message brokers : Biztalk, MQSeries,... Out-of-process Protocolli base: HTTP, SMTP/POP3, socket RPC binario: CORBA, COM Interop,... Web Services In-process JVM-CLR: aspx, …

workshop Out-of-process Web Services Un modo per far comunicare due endpoint a prescindere dalla tecnologia usata per limplementazione Basata su standard approvati universalmente quali XML, SOAP, WSDL, UDDI, WSsec,... Non privo di problemi di interoperabilità Spesso richiede scelte tecnologiche importanti

workshop SOAP Stack Tecnologie Java Apache SOAP Apache Axis 1.x Oracle JAX-RPC SUN JAX-RPC IBM JAX-RPC BEA JAX-RPC Tecnologie Microsoft SOAP Toolkit x.NET Framework 1.x WCF.NET Framework 2.0 WSE 2WSE 3

workshop Scenario tipo Sviluppatore java implementa una soluzione Crea un web service Java Referenzia il progetto.NET al WSDL Crea il client.NET ERRORE !! Sviluppatore.NET implementa una soluzione Crea un web service.NET Referenzia il progetto Java al WSDL Crea il client Java ERRORE !!

workshop Problemi riscontrati Il message format è incompatibile I numeri in virgola mobile hanno una precisione defferente.NET non supporta le date nulle Manca il supporto al DataSet in Java Manca il supporto dei WebRowSets in.NET Gli algoritmi di sicurezza sono incompatibili....

workshop WS-Interoperability WS-I è unorganizzazione con circa 130 membri (Microsoft, SUN, Oracle, SAP, IBM, BEA, webMethods, HP,...) WS-I cerca di definire uno standard per garantire linteroperabilità Definisce delle raccomandazioni anche sullo sviluppo e lambiente di sviluppo

workshop Raccomandazioni principali Tenere sempre aggiornate le librerie compatibili Pensare alle eccezzioni : SOAP fault Usare strumenti di debugging, tracing e monitoring Usare il framework per controllare le policy ed il metadata Modellare partendo dallo schema (XSD)

workshop Approccio: contract first Microsoft.NETSUN Java WSDP File XSD/ WSDL xsd.exe/ Wsdl.exe xjc.bat Java2WSDL

workshop E COM ? SOAP Toolkit è di fatto dismesso ! Non bisogna dimenticare Office Web Services Toolkit I toolkit non supportano bene: Strutture dati complesse Sicurezza a livello applicativo (WS-Security)

workshop Demo Web Service Java Tomcat 5.0 Axis Client.NET Visual Studio.NET 2003 Client VBScript SOAP Toolkit 3.0 Office Web Services Toolkit

workshop Sicurezza - SSL Pro Indipendente dalle librerie Contro Gestisce solo la sicurezza punto-punto Non è possibile applicare la sicurezza ad una sola parte del messaggio La sicurezza è rimossa dopo il layer di trasporto Utilizzabile solo per il protocollo TCP

workshop Sicurezza – WS-Security Pro Gestisce la sicurezza a livello applicativo Funziona su qualsiasi protocollo E molto flessibile Contro E più complessa limplmementazione/configurazione Nel mondo Java dipende fortemente dal container

workshop Tools WSE Tracing tool b0e9-dbeeaf51dbe5 WSCF (Web Service Contract First) WS-I Testing tools SOAP Toolkit F052EC8450&displaylang=en

workshop Software utilizzato per le demo Visual Studio.NET Axis Tomcat SOAP Toolkit F052EC8450&displaylang=en Office Web Services Toolkit 48a3-9b35-169d819ecf18&DisplayLang=en

workshop Riferimenti MSDN Web Services Interoperability Java Web Services Apache projects WS-I

workshop How-to: WS Java con Axis Immaginiamo una applicazione Java che calcola il numero di Fibonacci Definizione dellinterfaccia public interface Fibonacci { public int calculateFibonacci( int num ); } Implementazione public class FibonacciImpl { public int calculateFibonacci( int num ) { if (num <= 0) return 0; if (num == 1) return 1; int previous1 = 1, previous2 = 0, fib = 0; for (int i=2; i <= num; i++) { fib = previous1 + previous2; previous2 = previous1; previous1 = fib; } return fib; }

workshop How-to: generazione WSDL Creaiamo il service contract (WSDL) java org.apache.axis.wsdl.Java2WSDL -o fib.wsdl - l" -n urn:fibonacci -p"fibonacci" urn:fibonacci fibonacci.Fibonacci Java2WSDL crea il WSDL partendo dalla definizione dellinterfaccia (fibonacci.Fibonacci)

workshop How-to: generazione WS Creaiamo una facade (WS) java org.apache.axis.wsdl.WSDL2Java -o. -d Session -s -p fibonacci.ws fib.wsdl WSDL2Java crea: Linterfaccia remota del contratto (Fibonacci) Limplementazione dellinterfaccia remota (FibonacciBindingImpl) Linterfaccia del servizio (FibonacciService) Limplementazione dellinterfaccia del servizio (FibonacciServiceLocator) Bisogna compilare: javac fibonacci\ws\*.java

workshop How-to: deployment Creaiamo il package jar jar cvf fib.jar fibonacci/*.class fibonacci/ws/*.class Lo installiamo nella virtual directory: %TOMCAT_HOME%/webapps/axis/WEB-INF/lib Deployment: java org.apache.axis.client.AdminClient deploy.wsdd Riavviate il servizio Il servizio è pronto alluso

Chi sono gli MVP? Gli MVP sono persone che condividono Gli MVP sono persone che condividono PASSIONE PER LA TECNOLOGIA PASSIONE PER LA TECNOLOGIA SPIRITO DI COMMUNITY SPIRITO DI COMMUNITY Il MVP (Most Valuable Professional) Award è stato creato per premiare e riconoscere il valido contributo di alcuni fra i migliori membri delle Community Microsoft Il MVP (Most Valuable Professional) Award è stato creato per premiare e riconoscere il valido contributo di alcuni fra i migliori membri delle Community Microsoft per la loro partecipazione attiva (online ed offline) per la loro partecipazione attiva (online ed offline) per la buona volontà dimostrata nel condividere le loro esperienze e conoscenze per la buona volontà dimostrata nel condividere le loro esperienze e conoscenze per le loro ottime conoscenze tecniche per le loro ottime conoscenze tecniche per le loro risposte accurate e precise per le loro risposte accurate e precise

Community I newsgroup sono raggiungibili via: I newsgroup sono raggiungibili via: - WEB ( - Newsreader (news.microsoft.com o msnews.microsoft.com) news.microsoft.commsnews.microsoft.comnews.microsoft.commsnews.microsoft.com Piccole regole e Netiquette: Piccole regole e Netiquette: Siti MVP: Siti MVP: (sito MVP Internazionale) (sito MVP Internazionale) (sito MVP Unofficial)

Esempi di community Newsgroup disponibili: Newsgroup disponibili: La gerarchia dei newsgroup Microsoft pubblici italiani: microsoft.public.it.bosbs (SBS) Microsoft.publiv.it.crmmicrosoft.public.it.dotnet.aspmicrosoft.public.it.dotnet.csharpmicrosoft.public.it.dotnet.frameworkmicrosoft.public.it.dotnet.vbmicrosoft.public.it.dotnet.framework.webservicesmicrosoft.public.it.dotnet.vc++microsoft.public.it.dotnet.vstudiomicrosoft.public.it.dotnet.xmlmicrosoft.public.it.exchangemicrosoft.public.it.internet_explorermicrosoft.public.it.isaservermicrosoft.public.it.officemicrosoft.public.it.office.accessmicrosoft.public.it.office.excelmicrosoft.public.it.office.frontpagemicrosoft.public.it.office.outlookmicrosoft.public.it.office.powerpointmicrosoft.public.it.office.projectmicrosoft.public.it.office.publishermicrosoft.public.it.office.visiomicrosoft.public.it.office.wordmicrosoft.public.it.pocketpcmicrosoft.public.it.scriptingmicrosoft.public.it.sharepoint microsoft.public.it.sicurezzamicrosoft.public.it.smartphonemicrosoft.public.it.sqlmicrosoft.public.it.vbmicrosoft.public.it.win98microsoft.public.it.windowsupdatemicrosoft.public.it.windowsxpmicrosoft.public.it.winserver

Gli MVP… Nel mondo: Nel mondo: MVP (20 lingue e 80 tecnologie) MVP (20 lingue e 80 tecnologie) MVP da 75 paesi differenti presenti MVP da 75 paesi differenti presenti allMVP Global Summit 05. In Italia: In Italia: 46 MVP ma il programma è in continua espansione. 46 MVP ma il programma è in continua espansione.