Da Visual Basic a Java

Document Sample
Da Visual Basic a Java Powered By Docstoc
					                                        Da Visual Basic a Java


         Massimiliano Bigatti
         SUN Certified Enterprise Architect for Java 2 Platform Enterprise Edition Technology

         max@bigatti.it




Webbit 2003 - Da Visual Basic a Java        1      Massimiliano Bigatti, http://www.bigatti.it
 Agenda

          • Origini e natura di Visual Basic

          • Arriva Java…
               • caratteristiche di base
               • strutture di controllo
               • applicazioni a finestre
               • componenti
               • applicazioni Web
               • dati, XML, Web Services

          • Cinque trappole comuni

          • Strategie di migrazione

          • Risorse

          • Domande e risposte


Webbit 2003 - Da Visual Basic a Java     2     Massimiliano Bigatti, http://www.bigatti.it
 Origini e natura di Visual Basic


          • Nato per aggirare le API di Windows

          • Strettamente legato a Windows

          • Rapid Application Development

          • Object-based

          • Notevole successo su Windows e per il mercato dei componenti

          • …ma con il web?




Webbit 2003 - Da Visual Basic a Java   3     Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java


          • Elegante

          • Object-oriented

          • Innovativo

          • Sicuro

          • Indipendente dalla piattaforma

          • Potente

          • …ma le performance?




Webbit 2003 - Da Visual Basic a Java   4     Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - architettura




Webbit 2003 - Da Visual Basic a Java   5   Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - strumenti di sviluppo


          • Netbeans (http://www.netbeans.org)

          • Eclipse (http://www.eclipse.org)

          • Borland Jbuilder (http://www.borland.it)

          • JEdit (http://www.jedit.org)




          (link su http://www.bigatti.it/vb2java/)




Webbit 2003 - Da Visual Basic a Java       6   Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - NetBeans




Webbit 2003 - Da Visual Basic a Java   7   Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Organizzazione dei programmi


          • Entità minima: le classi

               • un file, una classe

          • Librerie di classi: package

          • documentazione direttamente nei sorgenti




          Non esistono entità diverse dalle classi (ed interfacce)




Webbit 2003 - Da Visual Basic a Java      8    Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Object Oriented Programming


          • Classi ed oggetti

          • Incapsulamento

          • Ereditarietà e composizione

          • Polimorfismo

          • Interfacce

          • primitive, array e costruttori




Webbit 2003 - Da Visual Basic a Java     9   Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Ciclo di sviluppo


          • Pianificare prima di agire

          • Progettazione e design pattern

          • Compilazione

          • Debug

          • Installazione

               • Applet, Java Web Start, Applicazioni

          • Esecuzione




Webbit 2003 - Da Visual Basic a Java     10    Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Tipi di dati


          • Tipi di dati primitivi

               • int, short, long, float, double, byte, char, boolean

               • indipendenti dalla piattaforma e abilitati UNICODE

               • wrapper

          • Tipi di dati complessi

               • stringhe, date

               • collection, array dinamici




Webbit 2003 - Da Visual Basic a Java    11      Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Strutture di controllo


          • Istruzioni di base

               • if, for, do-while, while, switch, break

          • Operatori

               • +, -, *, /

               • ++, --

               • !, ||, &&, ^

               • ^ ‘ Math.pow()




Webbit 2003 - Da Visual Basic a Java     12      Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Oggetti


          • Attributi e metodi

          • Visibilità: di default, private, protected e public

          • Const ‘ final

          • abstract

          • native

          • synchronized

          • this, super, null




Webbit 2003 - Da Visual Basic a Java     13      Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Sostituzioni


          • Strutture: Type ‘ classi con attributi pubblici

          • Subroutine ‘ metodi

          • File ad accesso casuale ‘ java.io.*

          • Dynamic ‘ List (LinkedList, ArrayList)




Webbit 2003 - Da Visual Basic a Java    14     Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Ottimizzazioni


          • Thread

          • Errori ‘ Eccezioni

               • errori runtime

               • eccezioni applicative

               • rimandare la gestione al punto più alto possibile

               • definire eccezioni puntuali e non generiche




Webbit 2003 - Da Visual Basic a Java     15    Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Cosa non si può fare


          • ParamArray ‘ utilizzare array temporanei

          • Istruzioni di compilazione (#If) ‘ p.e. Class.forName()

          • Variant, Empty, Null

          • AddressOf ‘ .hashCode()

          • ByRef e ByVal ‘ primitive, valore. Oggetti, riferimento

          • Funzioni finanziarie e Currency

          • Like

          • Registry di Windows (alternativa su java.sun.com)

Webbit 2003 - Da Visual Basic a Java   16     Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Applicazioni a finestre


          • Swing, AWT

          • Layout Manager

               • pannelli sovrapposti

          • Look And Feel

               • Metal, Windows, CDE, Aqua

               • qualità dell’emulazione

          • API non molto complesse (MVC)




Webbit 2003 - Da Visual Basic a Java    17   Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Diversi Look & Feel




Webbit 2003 - Da Visual Basic a Java   18   Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Modello MVC


          • modello: mantiene i dati

          • controllore: supervisione e coordinamento

          • view: presentazione informazioni


                                   modello




                                                  controllore
                         vista




Webbit 2003 - Da Visual Basic a Java         19         Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Applicazione di MVC


          • Swing: Liste, Tabelle, Alberi

          • Esempio JList:

                                        ListModel




                                JList




Webbit 2003 - Da Visual Basic a Java       20       Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Eventi


          • Ascoltatori di eventi

          • gli eventi sono oggetti

          • Utilizzo delle interfacce




Webbit 2003 - Da Visual Basic a Java    21   Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Componenti


          • Javabeans

          • Bridge VB / Java (non più supportato)

          • proprietà

               • bound, costraint, property sheet

          • eventi

          • persistenza

          • non aggiungono nulla di nuovo alla piattaforma




Webbit 2003 - Da Visual Basic a Java   22     Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Applicazioni Web


          • DLL ‘ Javabeans

               • modello a componenti di Java, segue poche regole di codifica

          • ISAPI ‘ Servlet

          • ASP ‘ JSP
               • indipendenza dalla piattaforma, prestazioni, portabilità,
               robustezza, scalabilità, integrazione con i dati, libreria di base,
               gestione delle sessioni

          • programmazione via tag (JSTL)




Webbit 2003 - Da Visual Basic a Java     23     Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Accesso ai Dati


          • Oggetto Data ‘ java.sql.* (JDBC)

          • Controlli Databound ‘ toolkit proprietari, modelli personalizzati

               • poco successo anche nel mondo VB

          • Interfaccia di accesso comune indipendente dal database server

          • ADO = JDBC + JCA + ???

          • Impedenza Oggetti / Dati relazionali

          • JDO (Java Data Objects)




Webbit 2003 - Da Visual Basic a Java   24      Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - XML


          • Supporto “nativo” (da Java2 SDK 1.3)

          • SAX e DOM

               • alternative: DOM4J, JAXB

          • XML+Java grazie ad Unicode

               • linguaggio portabile, informazione portabile

          • JAXP (parsing e XSLT transforming)




Webbit 2003 - Da Visual Basic a Java   25     Massimiliano Bigatti, http://www.bigatti.it
 Introduzione a Java - Web Services


          • SOAP, WSDL, UDDI

          • JAXM e SAAJ: SOAP per Java

               • modello ad oggetti

               • messaging (server/client)

          • JAX-RPC: RPC generico su XML per Java

          • JAXR: supporto ad UDDI ed ebXML R

          • Apache AXIS: Web Services istantanei




Webbit 2003 - Da Visual Basic a Java   26    Massimiliano Bigatti, http://www.bigatti.it
 Cinque trappole comuni


          • Java è case sensitive: attenzione alle minuscole

          • Utilizzo di “=“ al posto di .equals()

          • Creazione degli oggetti, abuso di “+”

          • Approccio procedurale

          • Architetture monolitiche




Webbit 2003 - Da Visual Basic a Java     27         Massimiliano Bigatti, http://www.bigatti.it
 Strategie di migrazione


          • Non riscrivere

          • Progetti a basso rischio

          • Usare componenti Java

          • Server Java - client Visual Basic

          • Utilizzare Java per quello che sa fare meglio (no Applet, si server-side)




Webbit 2003 - Da Visual Basic a Java    28      Massimiliano Bigatti, http://www.bigatti.it
 Risorse


          • Da Visual Basic a Java (Hops 2002)

          • Mokabook

          • Faq di it.comp.java




          (link su http://www.bigatti.it/vb2java/)




Webbit 2003 - Da Visual Basic a Java    29     Massimiliano Bigatti, http://www.bigatti.it
                       Domande e Risposte




Webbit 2003 - Da Visual Basic a Java   30   Massimiliano Bigatti, http://www.bigatti.it