Upload
yeser-rema
View
348
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
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
Indice
o Introduzioneo Requisitio “Volandum”o Il Framework IDAMo Il connettore SAP JCoo Web Serviceo Conclusioni
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.
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à.)
“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.
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
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
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.
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.
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;
Il Connettore Sap JCoSchema delle Classi del connettore
Il Connettore SAP JCo
RDBMS
Report ……80056
Handler………..CustomerQueryHandler
CustomerQueryHandler.javaCustomerQueryHandler.java
Funzionamento
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.
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.