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

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

  • Upload
    samson

  • View
    42

  • Download
    9

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: 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.

Facoltà di Ingegneria – Sede di ModenaCorso di Laurea Specialistica in Ingegneria Informatica

Università degli Studi di Modena e Reggio Emilia

RelatoreProf.ssa Sonia Bergamaschi

Anno Accademico 2007 – 2008

Tesi di Laurea diGiampiero Miccoli

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

2/15

INDICE

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

3/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

4/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

L’ACCESSO AL DATABASE

5 5/15

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

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties. 6/15

I PROGRAMMI ACCESS

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

7/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

8/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

9/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

DATABASE REVERSE ENGINEERING

1010/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

11/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

12/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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)

13/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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) 14/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

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

15/15

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

Bosch Rexroth Oil Control | Strictly confidential | DCOC/MKT | 17/03/2009 | © Bosch Rexroth Oil Control | All rigths reserved, including industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.

Grazie per l’attenzione!