La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "A.a. 2004/05Tecnologie Web1 Architetture parte II a.a. 2004-2005 parte 2."— Transcript della presentazione:

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

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)

3 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

4 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

5 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

6 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+

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

8 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

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

10 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.)

11 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,...

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

13 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

14 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

15 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

16 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

17 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

18 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

19 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à

20 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

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

22 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

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

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

25 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

26 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

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

28 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

29 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

30 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

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

32 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

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

34 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

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

36 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

37 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

38 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

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

40 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

41 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

42 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

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

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

45 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

46 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

47 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

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

49 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

50 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

51 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

52 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

53 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

54 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

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

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

57 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

58 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


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

Presentazioni simili


Annunci Google