Flavio De Paoli. Agenda. Introduzione Architettura J2EE (Java 2 Enterprise Edition) Servizi e Comunicazione Enterprise Java Beans Future directions
|
|
- Annabella Corsini
- 8 anni fa
- Visualizzazioni
Transcript
1 Enterprise Java Bean Flavio De Paoli 1 Agenda Introduzione Architettura J2EE (Java 2 Enterprise Edition) Servizi e Comunicazione Enterprise Java Beans Future directions 2
2 Java 2 Enterprise Edition Definisce il framework applicativo per: Enterprise JavaBeans - EJB Java Server Pages - JSP e Servlet Messaggi - JMS Distribuzione - JNDI e CORBA Naming Accesso ai dati JDBC / JCA Transazioni - JTA/JTS Sicurezza 3 Java 2 Enterprise Edition 4
3 Applicazioni J2EE Ejb Server 5 6
4 J2EE Server Componenti J2EE Conosciuto come J2EE Application Server Container Ambiente di esecuzione per i componenti applicativi Gestisce il ciclo di vita dei componenti e fornisce loro i servizi Gestisce la comunicazione verso i componenti Componenti: Entreprise Java Bean Risiedono all interno del container e contengono le business logic dell applicazione 7 J2EE Containers Ambiente di run-time per la gestione dei componenti applicativi Forniscono l accesso alle J2EE API Forniscono i servizi per: Registrazione delle risorse sul Naming Service Gestione del ciclo di vita dei componenti Gestiscono le risorse Sicurezza e transazioni 8
5 J2EE Containers Applet Container Web Container EJB Container Applet JSP Servlet EJB J2SE App Client Container App Client J2SE J2SE Database 9 Servizi e Comunicazione 10
6 Le tecnologie di J2EE Applet Container Web Container EJB Container Applet HTTP/ HTTPS JSP Servlet RMI / IIOP EJB J2SE App Client Container App Client HTTP/ HTTPS JNDI JMS JTA J2SE RMI / IIOP JavaMail JAF RMI/IIOP JDBC JNDI JMS JTA JavaMail JAF RMI/IIOP JDBC JNDI JMS RMI/IIOP J2SE JDBC J2SE Database 11 Servizi J2EE Java Naming Directory Interface (JNDI) Registra le risorse e i componenti J2EE JDBC Fornisce l accesso alle base dati Java Connector Architecture (JCA): Fornisce l accesso alle risorse back-end del sitema Enterprise Information Systems (EIS) Java Transaction API and Service Fornisce il supporto e le API per transazioni distribuite Component or Container Managed 12
7 Infrastruttura di comunicazione Internet Protocol HTTP, TCP/IP, SSL JAXP Full XML support Comunicazione Asincrona Java Messaging Server (JMS) Point To Point, Publish/Subscribe, Request/Reply Remote Object Protocol RMI and RMI over IIOP / CORBA 13 J2EE Complex Scenario 14
8 Relazione con Application Objects Application Objects EJBs Application Objects C++ VB Object Request Broker (ORB) Application Objects Cobol IIOP Naming Tarder Events Properties Time Collection Licensing Transactions Security Externalization Life Cycle Persistance Query Concurrency Startup Relationships Common Object Services - CoS 15 Enterprise Java Beans 16
9 Architettura degli EJB The Enterprise JavaBeans (EJB) architecture has the following goals: The Enterprise JavaBeans architecture will be the standard component architecture for building distributed objectoriented business applications in the Java programming language. The Enterprise JavaBeans architecture will make it possible to build distributed applications by combining components developed using tools from different vendors. The Enterprise JavaBeans architecture will make it easy to write applications: Application developers will not have to understand low-level transaction and state management details, multi-threading, connection pooling, and other complex low-level APIs. Enterprise JavaBeans applications will follow the Write Once, Run Anywhere philosophy of the Java programming language. An enterprise Bean can be developed once, and then deployed on multiple platforms without recompilation or source code modification. 17 Architettura degli EJB (cont( cont.) The Enterprise JavaBeans architecture will address the development, deployment, and runtime aspects of an enterprise application s life cycle. The Enterprise JavaBeans architecture will define the contracts that enable tools from multiple vendors to develop and deploy components that can interoperate at runtime. The Enterprise JavaBeans architecture will be compatible with existing server platforms. Vendors will be able to extend their existing products to support Enterprise JavaBeans. The Enterprise JavaBeans architecture will be compatible with other Java programming language APIs. The Enterprise JavaBeans architecture will provide interoperability between enterprise Beans and Java 2 Platform Enterprise Edition (J2EE) components as well as non-java programming language applications. The Enterprise JavaBeans architecture will be compatible with the CORBA protocols. 18
10 Caratteristiche degli EJB Componenti che contengono business logic che operano sui dati aziendali EJB Creati e gestiti a run-time dal container Possono essere modificati a run-time senza richiedere cambiamenti al codice Possono essere riutilizzati in diverse applicazioni Definiti dallo standard J2EE 19 Gerarchia degli EJB Enterprise Bean Session Entity Message Driven Stateless Stateful Bean Managed Container Managed 20
11 Motivazioni EJB definisce l architettura standard a componenti per lo sviluppo di applicazioni distribuite in Java Approccio definire diversi ruoli per definire l architettura EJB 1.0 e 1.1 definizione dei ruoli definizione delle responsabilità dei container definizione delle unita di deployment (ejb-jar) EJB 2.0 integrazione con Java Message Service (JMS) 21 I ruoli Bean provider responsabile delle classi che realizzano la logica del bean, la home e le interfacce, e il descrittore di deployment Application assembler combina più bean per definire un applicazione Deployer rende esecutiva un applicazione (es. risolve le dipendenze) Server provider Container provider System administator 22
12 Enterprise Java Beans Costituito da diverse parti per interazione con il container definizione della logica dell applicazione definizione dei metodi di factoring (home interface) Session bean accesso in mutua esclusione senza stato persistente (accesso a un DB) Entity bean accesso concorrente stato persistente (visione a oggetti del DB) 23 EJB 2.0 Message-driven bean vanno in esecuzione in risposta ad un messaggio del client senza stato può accedere al DB 24
13 Transaction Management L EJB Container gestisce le transazione per gli EJB Sono supportate transazioni flat Nessuna codifica della transazione è necessaria Le le proprietà transazionali dell EJB sono dichiarate nel Deployment Descriptor file 25 Sicurezza Per ogni componente J2EE si possono dichiarare: RUOLI: coloro che sono autorizzati ad invocare metodi sul bean MAPPING: tra i ruoli ed i metodi del Bean invocabili da quel ruolo Ruoli e Mapping sono definiti nel Deployment Descriptor Nessuna codifica della sicurezza è necessaria 26
14 Benefici degli EJB Produttività dello sviluppatore Focalizzato solo sulle business logic Tecnologia Java Riutilizzo dei componenti Indipendenti dalla piattaforma Indipendente dal vendor Codice portabile su diversi hardware Investimento e protezione per l IT Riutilizzo dei dati e delle infrastrutture esistenti 27 Conclusioni 28
15 XML, JAVA, J2EE PORTABLE CODE JAVA PORTABLE DATA XML J2EE SCALABLE, SECURE, TRANSACTIONAL ENVIROMENT 29 J2EE Top ten J2EE non e prodotto ma una specifica Cross Platform, no Vendor lock-in Pooling delle risorse alta scalabilita Accesso alle risorse Database e Enterprise Separazione tra creazione esecuzione Gestione del ciclo di vita dei componenti Gestione della Sicurezza e Transazioni Interoperabilita con CORBA Fast time to market 30
16 Il modello dei componenti 31 EJB Servono a definire la logica delle applicazioni Servono quando l applicazione deve essere scalabile replica su più macchine Locazione trasparente Servono quando serve preservare l integrità dei dati servizi transasionali per gestire accessi concorrenti Servonoquandocisonoclientididiversanatura la logica viene separata dalla presentazione client puo risiedere ovunque in rete 32
17 Tipi di beans Enterprise Bean Type Session Entity Message-Driven Purpose Performs a task for a client; implements a Web service Represents a business entity object that exists in persistent storage Acts as a listener for the Java Message Service API, processing messages asynchronously 33 EJB javax.ejb.enterprisebean. Esiste un contratto tra l'enterprise Bean provider e il container provider attivato dal client per la realizzazione del servizio. 1. L'identità (chiave primaria) dell'oggetto EJB che definisce i metodi remoti che verranno invocati dal client. 2. L'invocazione del metodo remoto. 3. Un'interfaccia Home Il contenitore genera un identificatore univoco dell'oggetto EJB al momento della sua creazione. Il client localizza l'enterprise Bean home tramite il servizio di naming standard Java Naming and Directory Interface (JNDI). l'interfaccia Enterprise Bean home e responsabile della creazione dell'oggetto o della sua attivazione se gia creato, del passaggio dallo stato passivo allo allo stato attivo (ovvero rimozione dalla memoria dell'oggetto dove una sua immagine era stata resa persistente, per poterlo mettere a disposizione del client) e viceversa 34
18 35 Deployment Il modello ejb viene fornito di un file compresso di estensione jar contenente 1. Un file manifest che descrive il contenuto del file jar 2. Tutte le classi che compongono l'enterprise Bean 3. I descrittori di deployment dell'enterprise Bean, i quali includono le dichiarazioni che istruiscono il contenitore su come gestire gli oggetti EJB. 4. Le proprietà di ambiente che Enterprise Bean richiede al momento del runtime. 36
19 Session Bean * javax.ejb.sessionbean. Esegue operazioni a nome di un singolo client. Può essere una transazione. Aggiorna dati condivisi in un sottostante database. Non rappresenta direttamente i dati condivisi del database, sebbene possa accedere e aggiornare tali dati. Ha una vita relativamente breve. Viene rimosso quando il server EJB subisce un crash. Il client deve ristabilire un nuovo oggetto session per continuare l'operazione. 37 Life Cycle of a Session Bean Stateful Session Bean Stateless Session Bean 38
20 Quando usare un session Session bean Accessi in mutua esclusione Non c e persistenza Il bean implementa un web service Stateful session bean Lo stato serve per gestire l interazione con l utente dirante l esecuzione Serve usare informazioni associate all utente tra invocazioni diverse (es: numero di pagina) Ha un compito di mediazione con applicazioni più complesse Serve un ruolo di coordinamento di altri bean Stateless session bean Non servono dati specifici di un cliente Ogni invocazione esegue compiti generici ed autonomi Serve per accedere a dati in sola lettura 39 Entity Bean * javax.ejb.entitybean Rappresenta i dati in un database. E' transazionale. Permette accessi condivisi da più client. Può avere una lunga vita (vive tanto quanto i dati nel database). Sopravvive ai crashes di un server EJB. Un crash è trasparente al client. 40
21 Life Cycle of an Entity Bean 41 Life Cycle of a Message-Driven Bean 42
22 * javax.ejb.ejbhome. L'interfaccia home ha il compito di gestire l'oggetto EJB che contiene i metodi remoti attivati dal client. E' un'interfaccia che estende l'interfaccia java.rmi.remote. Definisce i metodi che permettono al client di creare, trovare e rimuovere gli oggetti EJB. Ciascun Enterprise JavaBean ha un'interfaccia home che è un'estensione di EJBHome
23 * javax.ejb.ejbobject. Estende java.rmi.remote e le sue estensioni consistono in interfacce che contengono tutti i metodi remoti che verranno richiamati dal client Un client non accede mai alle istanze di una classe Enterprise Bean direttamente ma usa sempre un'interfaccia remota per accedere ad un'istanza di un Enterprise Bean. La classe che implementa l'interfaccia remota EJBObject è fornita dal contenitore. 45 Un'estenzione di EJBObject contiene: 1. I metodi dell applicazione. L' EJBObject delega all'istanza dell' Enterprise Bean l esecuzione di tali metodi 2. I metodi dell'interfaccia javax.ejb.ejbobject. Questi metodi permettono al client di: Ottenere il contenitore dell'ejbobject. Ottenere l'handle dell'ejbobject Ottenere l'ejbobject Verificare se l'handle di due EJBObject sono identici Rimuovere l'ejbobject 46
24 Architettura logica interfaccia per accedere alle funzioni dei bean contratto interfaccia per la gestione dei bean Client EJB Container gestore di been ambiente in cui vivono i bean EJB Server ambiente in cui vivono i container 47 Un esempio Progettiamo un convertitore di valuta Lato server 1. Creare l interfaccia remota EJBObject 2. Creare l interfaccia home EJBHome 3. Creare il bean SessionBean Lato client 1. Localizzare la home interface 2. Creare l istanza del bean 3. Invocare un metodo 48
25 Creare l interfaccia remota Definisce I metodi che vengono forniti al client Estende l interfaccia EJBObject import javax.ejb.ejbobject; import java.rmi.remoteexception; import java.math.*; public interface Converter extends EJBObject { public BigDecimal dollartoyen(bigdecimal dollars) throws RemoteException; public BigDecimal yentoeuro(bigdecimal yen) throws RemoteException; } 49 Creare la Home interface Definiscei metodicheilclient usaper creare, trovare e rimuovere un bean Estende l interfaccia EJBHome import java.io.serializable; import java.rmi.remoteexception; import javax.ejb.createexception; import javax.ejb.ejbhome; public interface ConverterHome extends EJBHome { Converter create() throws RemoteException, CreateException; } 50
26 Creare il Bean Implementa i metodi del Bean import java.rmi.remoteexception; import javax.ejb.sessionbean; import javax.ejb.sessioncontext; import java.math.*; public class ConverterBean implements SessionBean { BigDecimal yenrate = new BigDecimal(" "); BigDecimal eurorate = new BigDecimal("0.0077"); public BigDecimal dollartoyen(bigdecimal dollars) { BigDecimal result = dollars.multiply(yenrate); return result.setscale(2,bigdecimal.round_up); } public BigDecimal yentoeuro(bigdecimal yen) { BigDecimal result = yen.multiply(eurorate); return result.setscale(2,bigdecimal.round_up); } // I restanti metodi dell interfaccia sono implementati vuoti {} } // ConverterBean 51 Localizzare la Home Devo creare un oggetto ConverterHome 1. Creo un naming context da cui iniziare Context initial = new InitialContext(); [insieme di corrispondenze nome-oggetto relative] 2. Ottengo il contesto che mi interessa Context myenv = (Context)initial.lookup("java:comp/env"); 3. Cerco l oggetto di nome ejb/simpleconverter Object objref = myenv.lookup("ejb/simpleconverter"); [deve risiedere in "java:comp/env"] 4. Narrow il riferimento a ConverterHome ConverterHome home = (ConverterHome)PortableRemoteObject.narrow(objref, ConverterHome.class); 52
27 Creazione dell istanza del Bean Attraverso la home, posso creare il bean Converter currencyconverter = home.create(); 53 Invocazione dei metodi Posso invocare i metodi del bean BigDecimal param = new BigDecimal ("100.00"); BigDecimal amount = currencyconverter.dollartoyen(param); 54
28 Il client import javax.naming.context; import javax.naming.initialcontext; import javax.rmi.portableremoteobject; import java.math.bigdecimal; public class ConverterClient { public static void main(string[] args) { try { Context initial = new InitialContext(); Context myenv = (Context)initial.lookup("java:comp/env"); Object objref = myenv.lookup("ejb/simpleconverter"); ConverterHome home = (ConverterHome)PortableRemoteObject.narrow(objref, ConverterHome.class); Converter currencyconverter = home.create(); BigDecimal param = new BigDecimal ("100.00"); BigDecimal amount = currencyconverter.dollartoyen(param); System.out.println(amount); amount = currencyconverter.yentoeuro(param); System.out.println(amount); System.exit(0); } } } catch (Exception ex) { System.err.println("Caught an unexpected exception!"); ex.printstacktrace(); } 55
Enterprise Java Bean. Agenda. Flavio De Paoli
Enterprise Java Bean Flavio De Paoli 1 Agenda Introduzione Architettura J2EE (Java 2 Enterprise Edition) Il modello a componenti Servizi e Comunicazione Conclusioni 2 Architettura degli EJB The Enterprise
Dettagli1 EJB e Portal Component Object http://desvino.altervista.org
1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un
DettagliGli EJB offrono vari vantaggi allo sviluppatore di una applicazione
Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location
Dettagli1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org
1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org Applicazione J2EE sul SAP WAS con SAP NWDS. Il SAP Web Application Server fornisce un framework integrato per lo sviluppo e l
DettagliIntroduzione ai Web Services Alberto Polzonetti
PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema
DettagliProgettazione: Tecnologie e ambienti di sviluppo
Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie
DettagliINTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE
00-PRIME PAGINE 2-07-2003 10:04 Pagina V Indice Prefazione XI PARTE PRIMA INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 1 Capitolo 1 Le ragioni di tanto interesse 3 1.1 Enterprise in J2EE 3 Definizione
DettagliFramework. Impianti Informatici. Web application - tecnologie
Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione
Dettagli! " # $ % & % ' ( $! ) * + *, $ * " (!
! " # $ % & % ' ( $! ) * + *, $ * " (! Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni,
DettagliEnterprise @pplication Integration Software S.r.l.
SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina
DettagliJNDI. Massimo Merro Programmazione di Rete 214 / 229
JNDI Abbiamo già visto come i registri RMI espletino un servizio di Naming attraverso cui vengono associati nomi simbolici a referenze a server remoti. Esistono comunque altri servizi di naming: COS (Common
DettagliDistributed Object Computing
Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi
DettagliPOLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica TESI DI LAUREA
POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica TESI DI LAUREA Architetture Web basate su Enterprise JavaBeans in ambiente Open Source Relatori Ing. Fulvio Corno
DettagliRMI Remote Method Invocation
RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:
DettagliEJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti
EJB Components Leonardo Mariani Esercitazione di Sistemi Distribuiti 1 Oggetti Distribuiti 2 Middleware Esplicito 3 Middleware Implicito 4 Tipica Applicazione J2EE 1/2 5 Tipica Applicazione J2EE 2/2 6
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliImplementazione di MVC. Gabriele Pellegrinetti
Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il
DettagliCORSO DI PROGRAMMAZIONE JAVA
CORSO DI PROGRAMMAZIONE JAVA Corso di Programmazione Java Standard Edition ( MODULO A) OBIETTIVI ll corso ha come obiettivo quello di introdurre la programmazione a oggetti (OOP) e di fornire solide basi
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione Web: Architetture versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
DettagliProgrammazione ad Oggetti. Java Parte I
Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
DettagliCaratteristiche principali. Contesti di utilizzo
Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/
DettagliCORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA
CORBA ( Common Object Request Broker Architecture ) consiste in un insieme di specifiche promosse e curate da OMG (Object Management Group). L OMG è un consorzio internazionale no-profit di industrie nel
DettagliSWIM v2 Design Document
PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback
DettagliLa Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA
IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support massimo_marasco@it.ibm.com Oriented Architecture (SOA) Servizio
DettagliInformatica. Prof. A. Longheu. Introduzione a Java
Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Java Servlet Parte a versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliArchitetture software
Sistemi Distribuiti Architetture software 1 Sistemi distribuiti: Architetture software Il software di gestione di un sistema distribuito ha funzionalità analoghe ad un sistema operativo Gestione delle
DettagliProgrammazione di sistemi distribuiti
Programmazione di sistemi distribuiti I Sistemi Distribuiti, per loro natura, prevedono che computazioni differenti possano essere eseguite su VM differenti, possibilmente su host differenti, comunicanti
DettagliJava Remote Method Invocation
Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino
DettagliArchitetture Web: un ripasso
Architetture Web: un ripasso Pubblicazione dinamica di contenuti. Come si fa? CGI Java Servlet Server-side scripting e librerie di tag JSP Tag eseguiti lato server Revisione critica di HTTP HTTP non prevede
DettagliVittorio Scarano. Università degli Studi di Salerno. Lezione 23 Enterprise JavaBeans (8)
Lezione 23 Enterprise JavaBeans (8) Vittorio Scarano Corso di Sistemi Distribuiti (2003-2004) Laurea Specialistica in Informatica Università degli Studi di Salerno Obiettivo della lezione Presentare le
DettagliProgrammazione server-side: Java Servlet
Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos
DettagliMIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte
MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte DCOM: Distributed Component Object Model Applicazione Server Applicazione Client Fornitura di servizi WEB in ambiente distribuito Sempre
DettagliMIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte
MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte Fornitura di servizi WEB in ambiente distribuito Sempre più servizi intesi come sistemi o framework (integrazione e composizione) di oggetti
DettagliObiettivo della lezione. Presentare Java 2 Enterprise Edition (J2EE) Presentare due tecnologie Java connesse ad Enterprise Java Beans
Lezione Java RMI-IIOP IIOP Vittorio Scarano Corso di Sistemi Distribuiti (00-00) Laurea Specialistica in Informatica Università degli Studi di Salerno Obiettivo della lezione Presentare Java Enterprise
DettagliProtocolli e architetture per WIS
Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS
DettagliEnterprise Java Beans e Web Services
Università degli Studi di Salerno Relazione: Enterprise Java Beans e Web Services Prof. Auletta Vincenzo Partecipanti Antonio Autorino 156/000006 Nicola Vitiello 156/000001 Pasquale Paola 156/000003 Indice
DettagliIntroduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com
Hibernate Introduzione al mondo della persistenza Dott. Doria Mauro doriamauro@gmail.com La questione della persistenza Il modo dei database è complesso e le tecniche e le tecnologie sono molte. Per anni
DettagliCorso di Informatica Modulo T3 B2 - Database in rete
Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual
Dettagli7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:
7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)
DettagliArchitettura Tecnica i. Architettura Tecnica
i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................
DettagliLaboratorio di Sistemi Distribuiti Leonardo Mariani
Laboratorio di Sistemi Distribuiti Leonardo Mariani ELECTION ALGORITHMS In molti sistemi distribuiti un processo deve agire da (o svolgere un ruolo particolare) per gli altri processi. Spesso non è importante
DettagliCandidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013
e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento
DettagliDefinire un surrogato per un oggetto per controllare gli accessi ad esso.
Intento: Definire un surrogato per un oggetto per controllare gli accessi ad esso. Es: in un editor all'apertura di un documento bisogna ridurre i tempi di creazione di oggetti che contengono immagini.
DettagliSocket & RMI Ingegneria del Software - San Pietro
Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la
DettagliRMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it
Java Remote Method Invocation -- RMI G. Prencipe prencipe@di.unipi.it RMI RMI è una tecnologia JAVA che permette a una JVM di comunicare con un altra JVM per farle eseguire metodi È possibile che oggetti
DettagliPresentazione di Cedac Software
Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994
DettagliTest di unità con JUnit4
Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso
DettagliMappare il DB senza XML. Introduzione alle annotation di Hibernate3
Introduzione alle annotation di Hibernate3 a cura di Lucio Benfante Hibernate Hibernate è un framework che realizza un object/relational mapping (ORM) fra oggetti Java e strutture di un database relazionale
DettagliIntroduzione ad Architetture Orientate ai Servizi e Web Service
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci iannucci@ing.uniroma2.it Anno
DettagliProgetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla
DettagliSistemi informativi secondo prospettive combinate
Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da
DettagliModelli a Componenti e Enterprise Java Beans
Modelli a Componenti e Enterprise Java Beans Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2010/2011 02 Modelli a Componenti e Enterprise Java Beans (base) Docente:
DettagliApplication Server per sviluppare applicazioni Java Enterprise
Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente
DettagliB.P.S. Business Process Server ALLEGATO C10
B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel
DettagliIntroduzione alle applicazioni di rete
Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza
DettagliJ2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser.
Il Pattern MVC J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser. Il famework Sun J2EE Component, Container e Connector:
DettagliUniversità di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2014/ Modelli a Componenti e Enterprise Java Beans (base)
Modelli a Componenti e Enterprise Java Beans Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2014/2015 02 Modelli a Componenti e Enterprise Java Beans (base) Docente:
DettagliD. Rosaci. Java2 Enterprise Edition
D. Rosaci Java2 Enterprise Edition Cos è J2EE? È una piattaforma per lo sviluppo di applicazioni enterprise, basata su un modello di applicazione distribuito a più livelli (multi-tiered) Per applicazione
DettagliPROGRAMMA CORSO Analista Programmatore JAVA - ORACLE
PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori
DettagliMobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144
Mobilità di Codice Abbiamo già visto come un dato host possa trasmettere un oggetto (serializzabile) ad un altro host. Quest ultimo potrà eseguire l oggetto pur non possedendo il bytecode della classe
DettagliArchitetture software
Corso di Laurea Magistrale in Ingegneria Informatica Corso di Ingegneria del A. A. 2013-2014 Architettura software 1 Architetture software Sommario Definizioni 2 Architettura Definizione. L architettura
DettagliApplicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi
Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java
DettagliSISTEMI OPERATIVI DISTRIBUITI
SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching
DettagliObiettivo della lezione. Creare e fare il deployment di un Enterprise Javabean
Lezione 13 Enterprise JavaBeans Vittorio Scarano Corso di Sistemi Distribuiti (2003-2004) Laurea Specialistica in Informatica Università degli Studi di Salerno Obiettivo della lezione Creare e fare il
DettagliActivation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati
Activation In generale i Sistemi ad oggetti distribuiti sono progettati per lavorare con oggetti persistenti. Dato che questi sistemi saranno composti da migliaia (forse milioni) di tali oggetti, sarebbe
DettagliWorkFlow Management Systems
WorkFlow Management Systems Cosa è un? Automazione di un processo aziendale (business process) con: documenti, informazioni e compiti partecipanti insieme predefinito di regole obiettivo comune 2 Esempi
DettagliComponenti (middleware)
Luca Cabibbo Architetture Software Componenti (middleware) Dispensa ASW 850 ottobre 2014 Le interfacce dei componenti devono essere progettate in modo che ciascun componente possa essere implementato in
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
DettagliArchitettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3
Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell
DettagliIntroduzione JDBC interfaccia java.sql driver caricare i driver
J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene
DettagliIntroduzione all ambiente di sviluppo
Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio
DettagliMetaMAG METAMAG 1 IL PRODOTTO
METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo
DettagliTracciabilità degli utenti in applicazioni multipiattaforma
Tracciabilità degli utenti in applicazioni multipiattaforma Case Study assicurativo/bancario Yann Bongiovanni y.bongiovanni@integra-group.it Roma, 4 ottobre 2006 Retroscena Un azienda multinazionale del
DettagliPRACTICAL DEVELOPMENT OF A WEB SERVICE
PRACTICAL DEVELOPMENT OF A WEB SERVICE 1 JAX-WS 2.0 Java API for XML Web Services Specifica basata su annotazioni Applicata su classi ed interfacce in modo da definire e gestire automaticamente il protocollo
DettagliBasi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008
Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di
DettagliOggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA
Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata
DettagliUna piattaforma per la negoziazione di servizi business to business attraverso la rete Internet
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale della Logistica e della Produzione Una piattaforma per la negoziazione di servizi business to
DettagliAlma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 10 - J2EE 25/05/2015
Web Container vs. EJB Container Alma Mater Studiorum Università di Bologna Scuola di Ingegneria e Architettura Tecnologie Web T - J2EE Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione
DettagliL evoluzione delle Applicazioni Distribuite
L evoluzione delle Applicazioni Distribuite Dai terminali a fosfori verdi al Client-Server a Internet Architettura basata su Mainframe thin client su 3270 a fosfori verde server TP-Monitor su Mainframe
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliIntroduzione alla programmazione Java. Dott. Ing. M. Banci, PhD
Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione
DettagliConcetti base. Impianti Informatici. Web application
Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet
DettagliCLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Amazon VPC (Virtual Private Cloud)
Community - Cloud AWS su Google+ Web Services VPC (Virtual Private Cloud) Oggi vediamo le caratteristiche generali del servizio di VPC per creare una rete virtuale nel cloud. Hangout 29 del 27.10.2014
DettagliProgetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
DettagliJava Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia
Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano
DettagliSommario. Oracle Database 10g (laboratorio) Grid computing. Oracle Database 10g. Concetti. Installazione Oracle Database 10g
Sommario Oracle Database 10g (laboratorio) Dr. Daniele Barone Dr. Simone Grega 1 2 Oracle Database 10g Offre alte qualità del servizio: Performance; Scalabilità; Sicurezza; Affidabilità. Gestione autonoma
DettagliProgrammare in ambiente Java Enterprise: l offerta formativa di Infodue
Tecnologia e professionalità al servizio del business, dal 1986 Programmare in ambiente Java Enterprise: l offerta Copyright 2006 Infodue S.r.l. La programmazione nell era era del Web Computing L evoluzione
DettagliL architettura MVC (Model- View-Controller) Introduzione
L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,
DettagliActive Directory. Installatore LAN. Progetto per le classi V del corso di Informatica
Installatore LAN Progetto per le classi V del corso di Informatica Active Directory 26/02/08 Installatore LAN - Prof.Marco Marchisotti 1 Agli albori delle reti...... nelle prime LAN era facile individuare
DettagliCloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole
Cloud Computing: alcuni punti fermi per non smarrirsi fra le nuvole Stefano Mainetti stefano.mainetti@polimi.it L ICT come Commodity L emergere del Cloud Computing e i nuovi modelli di delivery Trend n.
DettagliChe cosa è Message Activator
Che cosa è Message Activator Message Activator è una piattaforma software che permette la comunicazione diretta alla Customer Base utilizzando una molteplicità di canali Punti di forza di Message Activator
DettagliScaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»
Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti
DettagliComponenti Web: client-side e server-side
Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente
DettagliJava. Traditional portability (ideal)
1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs
DettagliApplicazione: GAS - Gestione AcceSsi
Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome
Dettagli