La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "workshop WS-Interop: COM Java.NET Pierre Greborio PEWay Microsoft MVP – Solutions Architect"— Transcript della presentazione:

1 www.ugidotnet.org workshop WS-Interop: COM Java.NET Pierre Greborio PEWay Microsoft MVP – Solutions Architect http://blogs.ugidotnet.org/pierregreborio

2 www.ugidotnet.org workshop Sponsor

3 www.ugidotnet.org 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

4 www.ugidotnet.org 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

5 www.ugidotnet.org 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 !

6 www.ugidotnet.org 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,...

7 www.ugidotnet.org 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

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

9 www.ugidotnet.org workshop Disaccoppiamento endpoint.NET endpoint Java GatewayRemote Facade

10 www.ugidotnet.org 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: http://www.ikvm.net/, http://weblogs.asp.net/dgonzalez/archive/2003/09/23/ 28869.aspx, …

11 www.ugidotnet.org 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

12 www.ugidotnet.org 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

13 www.ugidotnet.org 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 !!

14 www.ugidotnet.org 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....

15 www.ugidotnet.org 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

16 www.ugidotnet.org 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)

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

18 www.ugidotnet.org 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)

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

20 www.ugidotnet.org 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

21 www.ugidotnet.org 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

22 www.ugidotnet.org workshop Tools WSE Tracing tool http://www.gotdotnet.com/workspaces/workspace.aspx?id=ab938e2f-cabf-4145- b0e9-dbeeaf51dbe5 WSCF (Web Service Contract First) http://www.thinktecture.com/Resources/Software/WSContractFirst/default.html WS-I Testing tools http://www.ws-i.org/deliverables/workinggroup.aspx?wg=testingtools SOAP Toolkit 3.0 http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC- 4088-9753-86F052EC8450&displaylang=en

23 www.ugidotnet.org workshop Software utilizzato per le demo Visual Studio.NET 2003 http://www.microsoft.com/italy/msdn/prodotti/vstudio/default.mspx Axis 1.2.1 http://ws.apache.org/axis/ Tomcat 5.5.12 http://jakarta.apache.org/tomcat/index.html SOAP Toolkit 3.0 http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC- 4088-9753-86F052EC8450&displaylang=en Office Web Services Toolkit http://www.microsoft.com/downloads/details.aspx?FamilyID=fa36018a-e1cf- 48a3-9b35-169d819ecf18&DisplayLang=en

24 www.ugidotnet.org workshop Riferimenti MSDN Web Services Interoperability http://msdn.microsoft.com/webservices/webservices/building/interop/default.aspx Java Web Services http://java.sun.com/webservices/index.jsp Apache projects http://www.apache.org WS-I http://www.ws-i.org

25 www.ugidotnet.org 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; }

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

27 www.ugidotnet.org 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

28 www.ugidotnet.org 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

29

30 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

31 Community I newsgroup sono raggiungibili via: I newsgroup sono raggiungibili via: - WEB (http://support.microsoft.com/newsgroups) http://support.microsoft.com/newsgroups - 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: http://www.microsoft.com/communities/conduct/default.mspx http://groups.google.com/advanced_group_search http://www.krisopea.it/mvp/Quoting.htm Siti MVP: Siti MVP: http://mvp.support.microsoft.comhttp://mvp.support.microsoft.com (sito MVP Internazionale) http://mvp.support.microsoft.com (sito MVP Internazionale) http://mvp.support.microsoft.com http://italy.mvps.orghttp://italy.mvps.org (sito MVP Unofficial) http://italy.mvps.org

32 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

33 Gli MVP… Nel mondo: Nel mondo: 2800+ MVP (20 lingue e 80 tecnologie) 2800+ MVP (20 lingue e 80 tecnologie) 1500+ MVP da 75 paesi differenti presenti 1500+ 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.


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

Presentazioni simili


Annunci Google