A.a. 2004/05Tecnologie Web1 Architetture parte II a.a. 2004-2005 parte 2.

Slides:



Advertisements
Presentazioni simili
Introduzione a Windows Communication Foundation
Advertisements

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Evoluzione e prospettive dell’IT
Accesso ai dati su Relational Database Management Systems LSA - Laboratorio di Sistemi Informativi Economico-Aziendali Salvatore Ruggieri Dipartimento.
Architetture dei sistemi distribuiti Prof
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Fabio Mignani Senior Technology Specialist
Web Services.
Java Enterprise Edition (JEE)
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
IN QUESTA PRESENTAZIONE…
OUTLINE Riprogettazione del database del portale Web della Facoltà di Ingegneria Sviluppo di una applicazione WEB DB : HOMEPAGE DOCENTI Architettura multilivello.
Tecnologie di implementazione
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Integrazione delle Informazioni Necessità di accedere ai dati di campo da qualunque parte dellimpianto Visione omogenea.
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
LABIS-SD Antonio Cuomo393/121 Clelio Quattrocchi393/127 Emanuele Zuzolo393/136 Fabio Melillo393/141 Stefano Mastrocinque393/135 Valerio Vincenzo Guarino393/155.
Progetto MODA-ML Biella, 30 novembre 2001 Sistema di interscambio messaggi Luca Mainetti HOC - Hypermedia Open Center Dipartimento di Elettronica e Informazione.
APPLICAZIONI E BASI DATI DISTRIBUITE
Linguaggi per il Web Laboratorio di Applicazioni Informatiche II mod. A.
Distributed Object Computing
Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia dell'Informazione.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
Prototipo di uno strumento per la produzione di siti Web adattativi in grado di gestire varie coordinate di adattamento Riccardo Torlone Milano, novembre.
Ambiente di Invocazione Dinamica dei Servizi Enrico Mussi - WP2.
Architettura Three Tier
Introduzione al linguaggio Java
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Integrazione di una piattaforma IPTV in un’architettura SOA
L'innovazione Tecnologica Per Il Federalismo Efficiente Roma 30 Giugno 2005 Sistema Pubblico di Cooperazione Applicativa.
Introduzione ad ASP.net
Architettura Java/J2EE
Ing. Enrico Lecchini BetaTre S.r.l.
Grid monitoring: sviluppi futuri
Guida IIS 6 A cura di Nicola Del Re.
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Ingegneria del software Modulo 3 -Tecniche dimplementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 3 – Ruoli nella.
ARCHITETTURE Architetture N-Tier
Java Enterprise Edition
Progettazione e realizzazione di un’applicazione J2EE Corso TAPS 2001/02 Gianna Reggio.
Distributed System ( )7 TCP/IP four-layer model.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Java Enterprise Edition
WebSphere MQ Express Versione 5.3 Executive Overview WebSphere Business Integration WebSphere Business Integration.
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
Analisi dettagliata e design
Architetture parte I a.a parte 1 a.a. 2004/05 Tecnologie Web.
Architetture parte II a.a parte 2 a.a. 2004/05
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Java  2 Platform Enterprise Edition (J2EE  ) 1.3.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
J2EE Antonio Cisternino. Java Beans I Java Beans sono un esempio di realizzazione di un sistema a componenti in Java I componenti possono adottare convenzioni.
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
Servizi Internet Claudia Raibulet
 Primo livello: Field Management. A questo livello le informazioni sono relative ai dispositivi di campo  Secondo livello:
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Layered Grid Architecture. Application Fabric “Controlling elements locally”: Access to, & control of, resources Connectivity “Talking to Grid elements”:
A.a. 2004/05Tecnologie Web1 Corso di Laurea Interfacoltà in Management dell’informazione e della comunicazione aziendale a.a. 2004/05 Tecnologie Web Anna.
Progettazione e realizzazione di un’applicazione J2EE Parte 2.
Tecnologie in movimento
Eprogram informatica V anno.
Architetture software
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Eprogram informatica V anno. Programmare in rete.
Transcript della presentazione:

a.a. 2004/05Tecnologie Web1 Architetture parte II a.a parte 2

a.a. 2004/05Tecnologie Web2 Componenti Possiedono interfacce standard (almeno un per l’introspezione) Applicazioni non complete Distribuibili separatamente Utilizzabili in combinazioni non predicibili Indipendenti dalle caratteristiche tecnologiche del sistema finale Sono oggetti (nel senso canonico)

a.a. 2004/05Tecnologie Web3 Componenti (2) Gruppi di programmi gestiti come unità di codice eseguibile, connettibili dinamicamente e accedibili attraverso interfacce documentate che possono essere identificate a run-time

a.a. 2004/05Tecnologie Web4 Come realizzare una componente Data Ext. method …. Ext. method Int. Method... Int. Method Proxy / Wrapper Traditional OO Data Code Obj. Data Code

a.a. 2004/05Tecnologie Web5 Java Beans Integrati nel layout grafico che li contiene Generano eventi per il mondo esterno Possiedono proprietà leggibili e modificabili Supportano l’introspezione Sono persistenti Sono personalizzabili

a.a. 2004/05Tecnologie Web6 COM e DCOM: le origini Microsoft DCOM (Distributed COM) ActiveXOLECOM= COM OLE OLE1 OLE2 Pre 1996 Post 1996 OLE = Object Linking and Embedding COM = Component Object Model COM+ = Estensione della tecnologia COM OLE = Object Linking and Embedding COM = Component Object Model COM+ = Estensione della tecnologia COM COM+

a.a. 2004/05Tecnologie Web7 Logic and abstractions Active Controls Active Scripting Visual Basic form- based application MFC/SDK application Java applet or application Durable state Architettura Three-Tier (DNA)

a.a. 2004/05Tecnologie Web8 Business Objects Rappresentano oggetti dell’applicazione (cliente, conto corrente, fattura, automobile, …) Realizzano le “business rules” Saranno utilizzati in combinazioni non predicibili a priori (connessioni dinamiche ritardate) Sono realizzati come componenti installate sul secondo livello di un’architettura three-tier

a.a. 2004/05Tecnologie Web9 Object Transaction Monitors (OTM) Market Share Ambiente di esecuzione evoluto

a.a. 2004/05Tecnologie Web10 La Piattaforma J2EE J2SE: Java 2 Platform, Standard Edition. –Ambiente runtime per esecuzione di applicazioni Java e insieme di API (Application Programming Interface) per sviluppare applicazioni di vario tipo (applets, applicazioni stand-alone, …) J2EE: Java 2 Platform, Enterprise Edition: –framework per lo sviluppo di applicazioni server-side complesse J2ME: Java 2 Platform, Micro Edition: –framework per lo sviluppo di applicazioni su micro device (PDA, telefonini Java-enabled, etc.)

a.a. 2004/05Tecnologie Web11 Proprietà J2EE: adatta allo sviluppo di applicazioni Web-based a livello di impresa, e.g., per commercio elettronico Il suo competitor è Microsoft.net Impresa (enterprise): organizzazione di business Enterprise software applications: applicazioni SW che facilitano la gestione delle attività di impresa –interagire con clienti e partners via Internet –facilitare l’interazione tra le varie parti di un’impresa, eventualmente distribuite geograficamente –gestione del business: resource planning, gestione inventari,...

a.a. 2004/05Tecnologie Web12 Caratteristiche di applicazioni “enterprise” Necessità informative: spesso le stesse informazioni sono utilizzate sotto forma diversa dai consumatori  attività di business diverse processano le stesse informazioni, ma utilizzando formati diversi Complessità dei processi di business: necessità di raccogliere, gestire e condividere informazioni, basandosi su una logica complessa Eterogeneità delle applicazioni: un’impresa utilizza molte applicazioni basate su architetture e tecnologie diverse (legacy software)

a.a. 2004/05Tecnologie Web13 Requisiti di gestione del software d’impresa Velocizzazione del processo di sviluppo delle applicazioni: cambiano gli standard, le tecnologie, le applicazioni devono entrare in uso velocemente Affidabilità e disponibilità: il SW deve essere sempre accessibile (Web) ed essere affidabile (e.g., transazioni) Sicurezza: protezione delle informazioni dell’azienda Scalabilità: accesso efficiente a risorse, tolleranza al carico di milioni di utenti (Web) Integrazione: le applicazioni vanno integrate nei sistemi informativi già esistenti

a.a. 2004/05Tecnologie Web14 J2EE Si sono sviluppate soluzioni diverse per affrontare i vari problemi J2EE: permette di integrare tali soluzioni e facilita lo sviluppo del SW –Modello di programmazione con approccio alla costruzione di applicazioni basato su API –Infrastruttura che permette di eseguire le applicazioni in modo efficiente e scalabile basato su Java  portabile basato sul concetto di Contenitore  servizi di gestione di base (messaggi, transazioni, ciclo di vita delle componenti, …) forniti dall’infrastruttura Modulare, componenti riusabili

a.a. 2004/05Tecnologie Web15 Java 2 Enterprise Edition (1) Standard Sun per le soluzioni “enterprise”, prevede le seguenti librerie: –Enterprise Java Beans (EJB): modello delle componenti sul lato server –Java Naming and Directory Interface (JNDI) –Remote Method Invocation (RMI): accesso distribuito in rete agli oggetti Java –Servlets: presentazione dinamica e gestione sessioni per i client web

a.a. 2004/05Tecnologie Web16 Java 2 Enterprise Edition (2) –Java Server Pages (JSP): facilitano la creazione di pagine HTML, DHTML e XML –Java Messaging Service (JMS): comunicazione via message & queuing o publish & subscribe –Java Transaction Service (JTA): gestione delle transizioni distribuite (XA o CORBA OTS) –Java DataBase Connection (JDBC) accesso uniforme agli RDBMS –Java Autentication and Authorization Service –JavaMail: accesso ai server di posta elettronica * Costruiti “sopra” i servizi CORBA

a.a. 2004/05Tecnologie Web17 Enterprise Java Beans Entity EJB –supportano accessi condivisi –rappresentano dati persistenti su DB –identificati da una chiave univoca (primary key) Session EJB –eseguono le richieste di un singolo client –vita per il tempo della connessione –implementano la logica di business Message-Driven EJB (v. 2.0) –in ricezione di messaggi asincroni (JMS o altri) –vita breve per l’elaborazione di un singolo messaggio

a.a. 2004/05Tecnologie Web18 CICS JSP Servlet Session Bean JCA Resource Manager Message- Driven Bean Entity Bean Applet Browser DBMS Q Q ERP J2ME Server Desktop Applicazioni J2EE

a.a. 2004/05Tecnologie Web19 EJB Server Fornisce la Java Virtual Machine e le classi di supporto agli EJB Fornisce le funzioni di base di ORB e TP monitor Fornisce le funzioni di accesso ai DB Realizza il bilanciamento del carico e l’alta disponibilità

a.a. 2004/05Tecnologie Web20 EJB Container fornisce l’ambiente in cui gli EJB di una classe vengono eseguiti fornisce ai client l’accesso a EJB Home e Object realizza, insieme all’EJB server, i servizi di base: sicurezza, transazioni, naming, persistenza (dello stato) può gestire pool di oggetti della stessa classe

a.a. 2004/05Tecnologie Web21 Sviluppo di un EJB Si veda...

a.a. 2004/05Tecnologie Web22 EJB Container Client EJB Jar Deployment Descriptor Deployment Descriptor Istanza del bean Naming Service Naming Service EJB Home EJB Context EJB Object lookup interfaccia home con JNDI findByPrimaryKey(..) create(..) new o activate EJB Objects Pool ejbActivate(..) ejbPassivate(..) isCallerInRole(..) contesto di esecuzione fornito in automatico dal container ad ogni chiamata metodi del bean es. ejbRemove() metodi di business es. addPrestito(..) Architettura Enterprise JavaBeans

a.a. 2004/05Tecnologie Web23 Persistenza ed EJB Bean-managed persistence (BMP) –i dati sono acceduti direttamente dal codice attraverso librerie quali JDBC o SQLJ. Container-managed persistence (CMP) –il container gestisce la persistenza in modo automatico. –Container-managed relationships (CMR) –EJB Query Language (EJB QL)

a.a. 2004/05Tecnologie Web24 Service Oriented Architecture Perché nasce la SOA Web Services –.NET –Java

a.a. 2004/05Tecnologie Web25 Esempio di E-business workflow I Prima: Acme manufacturing utilizza software proprietario per organizzare prese della Federal Express Adesso Acme utilizza il sito della Federal Express per seguire il percorso del pacco

a.a. 2004/05Tecnologie Web26 Esempio di E-business workflow II Prima: Acme manufacturing ordina un computer dalla Dell e ne segue il procedimento con telefonate Adesso Acme utilizza il sito della Dell per seguire le fasi di processamento dell’ordine, preproduzione, produzione, preparazione alla consegna e spedizione

a.a. 2004/05Tecnologie Web27 Service Oriented Architecture Business to Business integration Integrazione di applicazioni sviluppate su piattaforme eterogenee Evoluzione middleware E-business workflow

a.a. 2004/05Tecnologie Web28 Service Oriented Architecture Utilità nel descrivere i processi aziendali in forma leggibile su Web dai clienti Utilità nel descrivere i processi aziendali in forma leggibile da macchine

a.a. 2004/05Tecnologie Web29 Service-oriented Architecture Interaction Uses interface metadata One-to-one connections Client directs flow Linear path of execution Closed to unforeseen input once a flow is started Interface stub Interface proxy Client Server Service-oriented or Event-driven SourceSink Event-driven Notification Uses event descriptor metadata Many-to-many connections Sink (recipient) determines flow Dynamic, parallel, asynchronous flows Can react to new external input while process is in flight Event

a.a. 2004/05Tecnologie Web30 Web Services Services Components Granularity Scope B2B Market, Global Enterprise Coarse Objects HTTP+SOAP MOM ORB Typical Access via Small Enterprise, Complex Application Homogeneous Application Program Tighter Looser Coupling Procedural Call Dalle procedure ai servizi

a.a. 2004/05Tecnologie Web31 La complessità dei sistemi informativi aziendali nasce dalla sovrapposizione nel tempo delle soluzioni

a.a. 2004/05Tecnologie Web32 Enterprise ASPs and Outsourcers Suppliers Subsidiary Consumers Business Customer s & Dealers Data Center ERP HR Billing Web-Based Intermediaries Suppliers Web-Based Intermediaries Sales Branch Virtual Enterprise Soluzione: un’infrastruttura aziendale di intercomunicazione fra le applicazioni Shop Floor Shipping Dept Service Purchasing Marketing Infrastruttura aziendale di Intercomunicazione Business Customers

a.a. 2004/05Tecnologie Web33 Service Oriented Architectures (SOA) Infrastruttura integrazione

a.a. 2004/05Tecnologie Web34 Enter Order Composite Services/ Process Objects Batch Client Customer Inventory Billing Call Center Browser B2C Retail B2B Sales A/R Get Inventory Update Inventory Get Balance Update Billing Elemental Services/ Business Objects Open Account Orders Inquire Balance Get Orders Update Orders Inquire Orders Get ID No. Get Address Change Address Client Applications SOA: il sistema informativo organizzato a Servizi

a.a. 2004/05Tecnologie Web35 Service-Oriented Architecture : The architecture of interfaces Service Interface Service Implementation Service Software component that is a business-complete logical unit of work, accessible programmatically from independently designed contexts via a direct openly documented interface SOA Application software topology consisting of services and service consumers (clients) in loosely coupled 1-to-1 relationships InterfaceInterface proxy Service Consumer (Client)

a.a. 2004/05Tecnologie Web36 All-New Service Wrapped Service Composite Service Service interface Service implementation Non-SOA applications Service Consumer Service Implementation: What Happens Behind The Interface

a.a. 2004/05Tecnologie Web37 Module 4 Module 3 Module 2 Module 5 Event 1 Module 1 Event Driven Event 2 Event 3 Fork Join Client 1 Server 1 Server 2/Client 2 Server 3Server 4 Service Oriented Flussi di esecuzione

a.a. 2004/05Tecnologie Web38 Funzioni di un Integration Broker Messaging, Gateways, File Transfer Metadata Management Development Tools Management Tools Security and Directory Business Process Management Process Manager Communication, Data Movement Transformation Intelligent Routing Message Broker Event and State Monitoring Business Activity Monitor

a.a. 2004/05Tecnologie Web39 Esempio di Architettura Multicanale

a.a. 2004/05Tecnologie Web40 I Web Services Composizione di applicazioni attraverso componenti distribuite sul WWW Standard, tutti basati sull’XML: –SOAP (Simple Object Access Protocol) il protocollo di richiamo di procedure remote come web services –WSDL (Web Services Description Language): il linguaggio di definizione dei web services –UDDI (Universal Description, Discovery and Integration) il protocollo per ricercare i web services, una sorta di "elenco telefonico" o "pagine gialle" dei web services

a.a. 2004/05Tecnologie Web41 Formato dei messaggi SOAP SOAP Header –dati opzionali sulla chiamata stessa (autenticazione, pagamento, dove sono dichiarati i tipi usati, …) SOAP Body –contiene i dati delle chiamate e/o i risultati di ritorno

a.a. 2004/05Tecnologie Web42 WSDL WSDL allows Web services to be self-describing. A WSDL document includes nine basic XML elements: Five abstract elements — port type, operation, message, part and type Three concrete elements — service, port and binding One definition element — provides definitions relating to the service. Abstract Implementation Port Type Operation Messages … … Binding End Point Maps To Protocol Associated With Port

a.a. 2004/05Tecnologie Web43 WSDL Document Elements

a.a. 2004/05Tecnologie Web44 UDDI Registry Data Structures

a.a. 2004/05Tecnologie Web45 Service Interface Import Types Message PortType Binding Business Service BindingTemplate Finds Port Points To Import Service Business Entity Points To Imports Service Implementation UDDI Registration File WSDL File Mapping WSDL to UDDI tModel

a.a. 2004/05Tecnologie Web46 eXtensible Markup Language (XML) Standard del W3C Deriva dallo Standard Generalized Markup Language (SGML) come l’HTML Orientato alla rappresentazione dei dati Il formato di un documento XML è definito in un DTD (Data Type Definition) L’eXtensible Stylesheet Language (XSL) descrive le regole di trasformazione di documenti XML in altri documenti XML o HTML

a.a. 2004/05Tecnologie Web47 COM DNA MTS.NET DNA2000 COM+ DCOM ……. 1990s 2000s Distributed Components Components Transactional Components Three-Tier Architecture Enterprise Quality of Service Loose Coupling Internet Network Computing Evoluzione delle soluzioni Microsoft

a.a. 2004/05Tecnologie Web48 Microsoft.NET (1) CLR (Common Language Runtime) –interprete di IL (Intermediate Language) derivabile da molti linguaggi di programmazione: VB, C++, C#, Cobol –tutti i linguaggi supportati diventano object oriented (ereditarietà, costruttori parametrici) superando i limiti di COM –garbage collection della memoria –gestione delle eccezioni –sicurezza durante l’interpretazione –compilatore just-in-time –gestione delle versioni Spazi di nomi gerarchici (namespace)

a.a. 2004/05Tecnologie Web49 Microsoft.NET (2) Intercomunicazione fra oggetti COM e.NET ASP.NET: –sviluppo di pagine HTML dinamiche con gestione degli eventi sui controlli visuali (Web Forms) –sviluppo facilitato di Web Services

a.a. 2004/05Tecnologie Web50 Network Managed Process ASP.Net ISAPI DLL Hosting the.NET Framework CLR XML Web Service objects SOAP Method Request SOAP Method Response Web Server Service-Client ASP.Net

a.a. 2004/05Tecnologie Web51 JWSDP Java Web Services Development Pack come infrastruttura per lo sviluppo di applicazioni Web-based Tecnologie di –accesso a Database mediante JDBC –gestione di XML –gestione di applicazioni Server-side (Servlets, JSP) –Gestione dei Web Services

a.a. 2004/05Tecnologie Web52 JWSDP JAXP – processa documenti XML utilizzando diversi parsers JAXB – permette la corrispondenza tra elementi XML a classi Java JAXM – invia messaggi SOAP su Internet in modo standard JAXR – permette di accedere ai business registries e condividere le informazioni JAX-RPC – invia chiamate a messaggi SOAP e riceve la risposta

a.a. 2004/05Tecnologie Web53 Soluzione Java per i Web Services OS Web Container EJB Container JVM Application Server SOAP Processor Local UDDI WSDL Servlets JSPs EJBs Connectors Internet Router Firewall Load Balancer Web Servers Integration Brokers RDBMS Legacy Middle Tier Front-End Tier Back-End Tier Application Server Subtier

a.a. 2004/05Tecnologie Web54 Composizione di WS (I) Servizio composto: utilizza altri servizi per fornire il servizio richiesto Middleware per la composizione di servizi fornisce astrazioni e infrastrutture per la definizione ed esecuzione del servizio composto

a.a. 2004/05Tecnologie Web55 Composizione di WS (II) Esempio: supply chain Supplier I Supplier II Supply chain contabilitàfornitori

a.a. 2004/05Tecnologie Web56 Composizione di WS (III) Modello e linguaggio di composizione ambiente di sviluppo Ambiente di esecuzione

a.a. 2004/05Tecnologie Web57 Dimensioni del modello di composizione di WS Modello delle componenti Modello di orchestrazione Modello dei dati e di accesso ai dati Modello di selezione Transazioni Gestione delle eccezioni

a.a. 2004/05Tecnologie Web58 BPEL: Business Process Execution Language for Web Services Linguaggio che supporta la specifica di composizione e coordinazione Specifiche per processo eseguibile per definire l’implementazione logica di un servizio composto Comportamento esterno del servizio e implementazione interna