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 Attivita di business ripetibile descritta dalla sua interfaccia e indipendente dall implementazione Orientation Un modo di progettare le funzioni di business come un insieme di servizi aggregabili SOA Stile architetturale che supporta la Orientation Composite Application Un modo di realizzare le applicazioni come un insieme di servizi integrati e aggregati per produrre l esito desiderato
Oriented Architecture (SOA) Esigenze di Business Funzioni e servizi Composite Application 1. Pensare alle nuove esigenze di business come un insieme di funzioni e servizi Servizi 2. Riutilizzare le applicazioni esistenti pubblicandole come servizi SOA Applicazioni esistenti 3. Integrare il tutto in nuove applicazioni composite
Web s Nuovo modello applicativo Servizi Web "batch" e transazionali Non hanno interfaccia utente ma interagiscono con i programmi chiamanti attraverso parametri di input e di output Tecnologie a supporto: ƒ - Web s Description Language linguaggio XML per catalogare e descrivere i servizi ƒsoap - Simple Object Access Protocol protocollo di accesso ai servizi indipendente dalla rete e dai linguaggi di programmazione ƒuddi - Universal Discovery Description and Integration API per cercare informazioni sui servizi disponibili
Web s - Ruoli Provider ƒfornisce le sue applicazioni come Web s ƒmette a disposizione le descrizioni dei servizi () Requester ƒutilizza il servizio fornito dal Provider via SOAP Publish Broker Find UDDI ƒeventualmente ricerca i servizi in un catalogo via UDDI Broker Provider Bind SOAP Requester ƒfornisce un catalogo descrittivo in cui i servizi possono essere pubblicati e ricercati via UDDI
Servizi Interfaccia Interfaccia Java Java Interfaccia Interfaccia Interfaccia: Come viene richiamato il Servizio Servizio Rappresentazione uniforme di diverse Implementazioni Reference: Chi richiama il Servizio Interfaccia Interfaccia Java Java Interfaccia Interfaccia Process Process Java Java State State Machine Machine Business Business Rule Rule Human Human Task Task Selector Selector Mediation Mediation
Un Esempio CRM.NET Immissione Cliente ERP 5250 Immissione Cliente Domino Immissione Cliente Composite Application
Composite Application L integrazione applicativa dei servizi puo avvenire a diversi livelli Portale ƒ interattivo : controllata dall utente finale ƒ batch : controllata da un processo Business Process
Composite Application - Portale
Composite Application - Portale
Business Process Execution Language (BPEL) Linguaggio per programmare la schedulazione di processi di business come flusso di interazioni tra servizi diversi ƒ supporta processi asincroni di lunga durata ƒ gestione delle transazioni e delle compensations ƒ puo essere utilizzato da analisti di processo anziche da programmatori Iniziativa comune di IBM, BEA e Microsoft L ambiente IBM per il runtime di BPEL e WebSphere Process Server L ambiente IBM per lo sviluppo di BPEL e WebSphere Integration Developer
SOA Runtime e Sviluppo Runtime WebSphere Process Server BPEL Process Sviluppo WebSphere Integration Developer (WID) WebSphere Portal / WSE Portlet Rational Application Developer (RAD) WDSc Advanced Edition WebSphere Application Server Express V6 EJB Container Session EJB Entity EJB Web Container Rational Web Developer (RWD) WDSc SOAP Server Estensioni iseries Servlet JSP
BPEL in WID Web s Import BPEL processes Java component EJB import
Enterprise Bus (ESB) Ha l obiettivo di disaccoppiare i Processi dai Servizi Principali responsabilita : ƒrouting indirizza la richiesta di servizio dove esso e effettivamente disponibile ƒconversione di protocollo, Trasformazione sintattica e/o semantica ad esempio, riceve la richiesta di servizio via SOAP e richiama il servizio via Java RMI ƒ enrichment ad esempio aggiunge alcuni parametri richiesti dal servizio e non ricevuti nella richiesta
La SOA e i prodotti WebSphere WebSphere Application Server EJB Container Web Page Portlet Http Server H T T P WebSphere Portal Server Portal Control = Portlet Portal View JSP = JSP Implementation = Session EJB Persistence = Entity EJB base Web Browser
La SOA e i prodotti WebSphere WebSphere Process Server Business Process WebSphere ESB WebSphere Application Server Web Container Implementation Web Page Portlet Http Server H T T P WebSphere Portal Server Portal Control = Portlet Portal View JSP = JSP Routing Rules Protocol Conversion Syntax Transformation Semantic Transformation Enrichment Java Wrapper = = SOAP Server EJB Container Implementation = Session EJB Persistence = Entity EJB Legacy Application base Web Browser
Dalle applicazioni tradizionali alla SOA Applicazione i5/os Applicazione Domino
Dalle applicazioni i5/os alla SOA Per trasformare un programma batch e parametrico RPG o Cobol in Web ƒ WDSc Program Call Wizard ƒ WDSc Web s Tool Business Access Per trasformare un programma interattivo RPG o Cobol in Web ƒ WDSc HATS Toolkit DSPF 5250 Presentation Business Access ƒ WDSc Web s Tool Per richiamare Web s da programmi RPG o Cobol ƒ i5/os V5R4 e XML Toolkit 5733XT1 DSPF 5250 Presentation Business Access Servizio
Da logica batch a Web a batch ƒ programma o procedura esportata da un programma di servizio ƒ senza interfaccia utente ƒ riceve parametri di input e restituisce parametri di output Business Access WDSc Program Call Wizard ƒ a partire dalla lista dei parametri, genera una classe Java (wrapper) che impacchetta il programma/procedura e lo rende compatibile con il mondo Java la classe Java comunica con il programma/procedura via IBM Toolbox for Java a runtime deve essere attivato l Host Server Remote Command STRHOSTSVR SERVER(*RMTCMD) Business Metodo2 Metodo1 Access WDSc Web s Tool ƒ pubblica come Web la classe Java generata dal Program Call Wizard Business Access
Da logica interattiva a Web a interattiva ƒ programma con interfaccia utente ƒ ƒ i parametri di input vanno immessi in videate 5250 i parametri di output devono essere ricavati da videate 5250 DSPF 5250 Presentation Business Access HATS Toolkit 6 ƒ genera macro automa che simulano le operazioni di navigazione utente sulle videate 5250 ƒ impacchetta le macro in classi Java (HATS Integration Objects) Metodo2 Metodo1 DSPF 5250 Presentation Business Access Web s Tool ƒ pubblica come Web gli HATS Integration Objects Metodo1 DSPF 5250 Presentation Business Access Metodo2
SOA Applicazioni i5/os come servizi Http Server for iseries WebSphere Application Server SOAP Server CLIENT del Web S O A P Program Call Bean IBM Toolbox for Java Business Access CLIENT del Web Composite Application S O A P HATS Integration Object Telnet o Server TCP-IP Di WebFacing DSPF 5250 Presentation Business Access
Applicazioni i5/os che accedono a servizi DSPF 5250 Presentation Business Access Client C/C++ per il Web S O A P Servizio Sviluppatore XML Toolkit
La Roadmap dello sviluppo iseries Oggi Migliori tool Migliore interfaccia utente Migliore architettura Migliore portabilita' Migliore scalabilita' 5250 5250 GUI 5250 Web Web Web Web RPG ILE Web s Web s Web s RPG/Cobol RPG/Cobol RPG/Cobol RPG/Cobol RPG/Cobol PDM RemoteSystem Explorer iseries Projects VisualAge RPG tutto incluso in i5/os WebFacing Tool + HATS Toolkit 5722WDS Java EJB iseries Web Tool Java Tool EJB, J2EE tool sviluppo WebSphere Development Studio Client for iseries WebSphere Development Studio Client Advanced for iseries runtime WebSphere Application Server Express 6.0
Web s e Domino Supporto dei Web s a partire da Domino 7 ƒ integrato nel server Domino ƒ solo funzione di provider ƒ basato sul protocollo SOAP 1.1
Web s Domino Sviluppati in Java o Lotus Script con Lotus Domino Designer 7 Paragonabili ad agenti Web ƒhanno le stesse caratteristiche di sicurezza Devono risiedere su un server Domino abilitato all accesso Web (task HTTP attivo)