14
UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Informatica “Disegno ed implementazione di componenti tecnici per la connessione a SAP e Web Service, da integrare in un framework esistente” Relatore: - Professor Flavio De Paoli Correlatore: - Ingegner Antonio Ardito Relazione della prova finale di: Yeser Amer Matr. n. 041693 Anno Accademico 2006/2007

Tesi Discussione

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Tesi Discussione

UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCAFACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI

Corso di Laurea in Informatica

  

“Disegno ed implementazione di componenti tecnici per la connessione a SAP e Web Service, da integrare in un

framework esistente”

Relatore:  - Professor Flavio De PaoliCorrelatore: - Ingegner Antonio Ardito 

Relazione della prova finale di:Yeser Amer

Matr. n. 041693   

Anno Accademico 2006/2007

Page 2: Tesi Discussione

Indice

o Introduzioneo Requisitio “Volandum”o Il Framework IDAMo Il connettore SAP JCoo Web Serviceo Conclusioni

Page 3: Tesi Discussione

                                                              

                                                              

                                                              

IntroduzioneLe Entità Coinvolte

Accenture Technology Solution: E’ la società sviluppatrice del prodotto software.

Volandum: Il nome del prodotto software da progettare e sviluppare.

Partesa: L’azienda acquirente del prodotto software e sua unica utilizzatrice.

Page 4: Tesi Discussione

Requisiti

Definizione dei requisiti utente:o Fornire un unico canale d’accesso alle società Partesa indipendenti 

presenti sul territorio.o Integrare, dove necessario, informazioni provenienti da sistemi diversi 

(SAP, Stock System, …)o Semplificare l’interfaccia utente mascherando il più possibile la 

complessità di SAP o Implementare funzionalità non coperte da SAP R/3 (es: customer service, 

prodotti in magazzino)o Rendere il sistema flessibile rispetto a future evoluzioni di ambito (l’utente 

interagisce comunque con il Portale che integrerà le nuove funzionalità.)

Page 5: Tesi Discussione

“Volandum”

“Volandum” aggiunge un livello di astrazione in modo da:o Mascherare la complessità dei sistemi utilizzati.o Mascherare l’utilizzo di più sottosistemi, integrandoli in un unico sistema 

virtualeo Permettere l’accesso attraverso unico canale (web)

                                                               SAP/R3“Volandum”

RDBMS

Altri Sistemi (ws)

Obiettivi del lavoro del candidato

Progettazione e sviluppo dei seguenti componenti:o Connettore che gestisca la connessione J2EE – SAP R/3.o Web Service e relativa connessione, utilizzato per comunicare con uno stock system. 

Page 6: Tesi Discussione

Metodologia di sviluppo“Volandum” segue il CBSE (Component Based Software Engeneering) comemodello di processo software. Con i seguenti benefici:o Maggiore Affidabilità;o Rischio del processo ridotto;o Uso efficace degli specialisti;o Compatibilità con gli standard;o Sviluppo Accelerato.

Requirementsspecification

Componentanalysis

Developmentand integration

System designwith reuse

Requirementsmodification

Systemvalidation

La fase di progettazione di “Volandum”, è riconducibile allo sviluppociclico, nel dettaglio alla consegna incrementale. I vantaggi di questo processo sono: o I clienti possono usufruire il sistema prima 

del suo completamento;o I primi incrementi sono utilizzati come 

“prototipi”;o Minore rischio di fallimento del progetto;o Le funzionalità con priorità alta sono 

consegnate prima.

Validateincrement

Develop systemincrement

Design systemarchitecture

Integrateincrement

Validatesystem

Define outline requirements

Assign requirements to increments

System incomplete

Finalsystem

Page 7: Tesi Discussione

Il Framework IDAM

IDAM (Integrated Data Access Management) costituisce il framework tecnico il cui scopo è  l’implementazione accelerata di applicazioni J2EE, caratterizzata da: 

• Interfaccia user-friendly per data entry ed interrogazione dati;• Flessibilità nella costruzione delle pagine (Struttura parametrica);• Accesso ai sistemi transazionali con modalità standard ;• Gestione di una propria base di dati;

L’architettura è riconducibile ad un sistema distribuito suddiviso in quattro tiers,Tipico di una generale applicazione J2EE

MaJiN
Qui non so se conviene mettere tutta quella sfilza di roba
Page 8: Tesi Discussione

Il Connettore Sap JCo

SAP Java Connector (SAP JCo) è un componente middleware che permette lo sviluppo di applicazioni e componenti Java compatibili con SAP. Le principali caratteristiche di Sap JCo sono:• Supporta sia le chiamante entranti (Java chiama ABAP) ed uscenti (APAB chiama java).• Supporta sistemi Unicode e Non-Unicode.• Nasconde tutte le parti complesse come le conversioni dei tipi di dati, la gestione della connessione ed altro allo 

sviluppatore.• Nasconde i dettagli della connessione via RFC al programmatore• Classi ed API consistenti e facili da imparare• Gestione e caching dinamico dei metadati.

Page 9: Tesi Discussione

Il Connettore SAP JCo

Il Funzionamento del connettore, è riassunto nei seguenti punti:o L’applicazione Java utilizza le classi ed i metodi definiti dalla API di SAP JCo per 

accedere al Middleware RFC (attraversando un ulteriore interfaccia middleware);o I flussi dati vengono convertiti in chiamate RFC, utilizzando il JNI Layer ed 

accedendo alla libreria RFC;o Il flusso dati convertito viene spedito al sistema SAP.

Page 10: Tesi Discussione

Il Connettore SAP JCo

Gli elementi principali della creazione del lato client del connettore sono  elencabili nei seguenti punti:• Creazione della connessione diretta o della “connection pool”;• Creazione del JCo Repository, che mappa i tipi dei dati di Java e ABAP ;• Accesso e manipolazione delle tabelle;• La classe JCO.Field: gestione astratta delle strutture;• Ottimizzazione delle performance disattivando i parametri BAPI non

essenziali;• Gestione delle eccezioni;• Debugging;

Page 11: Tesi Discussione

Il Connettore Sap JCoSchema delle Classi del connettore

Page 12: Tesi Discussione

Il Connettore SAP JCo

RDBMS

Report ……80056                 

Handler………..CustomerQueryHandler

CustomerQueryHandler.javaCustomerQueryHandler.java

Funzionamento

Page 13: Tesi Discussione

Web Service

E’ stato inoltre sviluppato un Web Service, per inviare dati ad uno Stock System.

Questo ha richiesto:o La definizione di un documento WSDL;o Pubblicazione del documento WSDL generato;o Interfacciamento al Web Service attraverso un semplice client sviluppato 

in Java.

Page 14: Tesi Discussione

Conclusioni

Questa esperienza ha consentito di confrontarmi con uno scenario tipico di lavoro in una software house, estendendo le mie conoscenze su:o Le applicazioni J2EE;o I Sistemi ERP, in particolare SAP R/3;o Web Services;Inoltre ho imparato a:o Utilizzare nuove tecnologie;o Il concetto di integrazione di diverse tecnologie, nonostante i grandi livelli 

di eterogeneità;o Lavorare in un team di sviluppo 

Lo sviluppo del connettore e del web service è stato completato e consegnato al cliente, come incremento completo.Il lavoro effettuato è stato costruito anch’esso come componente riutilizzabile; resta quindi a disposizione dell’azienda offrendo  la possibilità di arricchirlo ed integrarlo con altri sistemi.