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 workshop WS-Interop: COM Java.NET Pierre Greborio PEWay Microsoft MVP – Solutions Architect

2 workshop Sponsor

3 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 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 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 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 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 workshop Principi base Più sono fortemente dipendenti i principi... maggiori sono le difficoltà di interoperare Suggerimento: Tenere i sistemi il più possibile disaccoppiati !

9 workshop Disaccoppiamento endpoint.NET endpoint Java GatewayRemote Facade

10 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, …

11 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 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 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 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 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 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 workshop Approccio: contract first Microsoft.NETSUN Java WSDP File XSD/ WSDL xsd.exe/ Wsdl.exe xjc.bat Java2WSDL

18 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 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

20 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 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 workshop Tools WSE Tracing tool b0e9-dbeeaf51dbe5 WSCF (Web Service Contract First) WS-I Testing tools SOAP Toolkit F052EC8450&displaylang=en

23 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

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

25 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 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 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 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) - 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)

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: 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.


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

Presentazioni simili


Annunci Google