1 / 16

Facoltà di Ingegneria – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica. Database reverse engineering e porting di applicazioni Access su Oracle: il caso Bosch Rexroth Oil Control S.p.A. Relatore

samson
Télécharger la présentation

Facoltà di Ingegneria – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica Database reverse engineering e porting di applicazioni Access su Oracle: il caso Bosch Rexroth Oil Control S.p.A. Relatore Prof.ssa Sonia Bergamaschi Tesi di Laurea di Giampiero Miccoli Anno Accademico 2007 – 2008

  2. INDICE • L’azienda e gli Obiettivi dello stage • Il sistema gestionale ERP e i programmi Access • L’accesso al database • Database Reverse Engineering • I programmi realizzati • Sviluppi futuri • Conclusioni

  3. L’AZIENDA • Bosch Rexroth Oil Control S.p.A. è l’azienda leader mondiale nella progettazione, prototipazione e fabbricazione di valvole oleodinamiche, a cartuccia e con collettore, per il mercato del macchinario mobile e dell’impiantistica industriale • I principali stabilimenti produttivi del gruppo sono a Nonantola (sede principale amministrativa), Modena, Pavullo, Vezzano e Reggio Emilia • Lo stage è stato svolto presso il reparto ISY (Information System) di Nonantola

  4. OBIETTIVI DELLO STAGE • Analisi e modifiche di query e programmi richiesti da vari reparti aziendali, principalmente dall’Ufficio commerciale e dalla Logistica • I programmi sono stati sviluppati nel corso degli anni in Microsoft Access ed accedono al database del sistema gestionale ERP Apache • Quindi è stato richiesto di: • Adeguarli alle recenti integrazioni delle divisioni Bosch Rexroth Oil Control • Realizzare soluzioni che permettano di rendere più sicuri gli accessi ai dati • Consolidarli in ambiente database server

  5. L’ACCESSO AL DATABASE • Il sistema gestionale ERP Apache si basa su RDBMS Oracle 10g • I programmi Access: • accedono direttamente ai dati su Oracle • sono delle macro composte da una serie di query a catena che nell’insieme svolgono determinate funzioni per il raggiungimento di uno scopo 5/15

  6. I PROGRAMMI ACCESS

  7. LA MOTIVAZIONE • Ma se funzionano, perché cambiarli? • Ci sono diversi motivi per effettuare ciò • Sono estremamente lenti in fase di esecuzione (una grande mole di dati viene caricata ma mai utilizzata) • I criteri di protezione e accesso ai dati • Cercare di centralizzare i programmi rispetto alle diverse versioni distribuite nei vari uffici/reparti • Allora si deve scegliere una nuova forma per permettere di risolvere i problemi, ma che sia del tutto trasparente all’utente finale. Quindi la necessità di dover riscrivere completamente i programmi. • Ma come fare se non si una nessuna idea di come sono stati realizzati i programmi e di come è strutturato il DB? Qui vengono in aiuto le tecniche e tool di Database Reverse Engineering

  8. DATABASE REVERSE ENGINEERING • Con appositi tool si è potuto ricavare lo schema logico relazionale del DB di Apache, ma non lo schema E/R in quanto le tabelle del DB del sistema gestionale ERP non presentano le foreign key • Quindi prima di tutto si è dovuto effettuare lo schema E/R per poter capire come sono correlati tra loro i dati

  9. DATABASE REVERSE ENGINEERING • Dopo aver ricavato lo schema E/R delle tabelle interessate per ogni programma, sono state effettuate le seguenti azioni: • Analisi di tutte le query che compongono ogni programma • Rivedere la logica di accesso ai dati, eliminando le parti superflue • Riscrittura delle nuove query SQL ottimizzate per il RDBMS Oracle • Test dei risultati ottenuti e confronto con quelli attesi

  10. DATABASE REVERSE ENGINEERING 10/15

  11. ESEGUIRE LE QUERY SQL • Per poter facilitare l’esecuzione delle query SQL da parte degli utenti si è realizzato un programma con tecnologia .NET sviluppato in C# che permette di poter eseguire le query SQL • Sono state realizzare due versioni: • la versione amministrativa • la versione utente

  12. ESEGUIRE LE QUERY SQL • Attraverso il programma realizzato in C# gli utenti possono eseguire le query semplicemente cliccando alcuni bottoni e impostando, se necessario, le date del periodo di riferimento • Inoltre è stato realizzato un menù interattivo che ne permette una facile gestione dei dati (copia, filtra, salva, ecc.) • Le query SQL insieme al programma in C# realizzato sostituiscono in pieno le applicazioni Access e sono pienamente personalizzabili • Vantaggi dell’applicazione: • Maggior sicurezza sulla composizione delle query • Eseguire le query direttamente da cartella di rete • Possibilità di riutilizzo del codice per progetti simili

  13. SVILUPPI FUTURI SULLE QUERY • Ma alcuni comandi presenti nella sintassi di Oracle sono differenti su altri DB (“dialetto” PL/SQL). • Quindi se in un futuro si vuole cambiare DB, bisogna modificare le query? Oppure si vogliono utilizzare fonti diverse, ad es. file XML? • Possibili soluzioni: • si utilizzano dei tool che ne permettano il porting dei dati • si creano dei stati intermedi (data middleware interface) • si cambia tecnica di scrittura delle query e di accesso ai dati • Un maggior legame tra linguaggio object-oriented e SQL • Quindi si è voluto dare un possibile sviluppo del lavoro realizzato utilizzando LINQ (Language-Integrated Query)

  14. SVILUPPI FUTURI SULLE QUERY:LINQ (Language-Integrated Query) • LINQ è una delle novità introdotte con il framework .NET 3.5 di Microsoft • Offre una sintassi indipendente dalla natura dei dati (DB, XML, Objects, ecc.) gestendo dinamicamente tabelle, viste e stored-procedure • LINQ to Entities (ADO.NET Entity Framework): interfaccia di interrogazione al DB attraverso lo schema E/R • LINQ to SQL: interfaccia di interrogazione al DB attraverso sintassi LINQ che viene tradotta in “dialetto” SQL • Ma l’unico DB che utilizza LINQ to SQL è SQL Server. Quindi si è cercato di far interagire con il DB Oracle e i programmi C# realizzando l’architettura LINQ to Oracle (dotConnect for Oracle Data Provider, Entity Developer for dotConnect, OraDeveloper Tools realizzati dalla Devart)

  15. CONCLUSIONI • Attraverso la completa riscrittura delle query SQL, solo dopo aver effettuato l’analisi, e la realizzazione del programma in C# si è cercato di risolvere appieno gli obiettivi prefissati ad inizio stage • Quindi si è realizzato un progetto: • Funzionante e subito utilizzabile • Con le protezioni di accesso richieste • Estendibile per altri scopi (interazione file XML, esecuzione automatica sul DB server come programma batch, user identification con LDAP, ecc.) • Inoltre sono state date le principali direttive da seguire per poter continuare il lavoro attraverso LINQ, in particolare è stata implementata la soluzione LINQ to Oracle

  16. Grazie per l’attenzione!

More Related