Oracle JD Edwards EnterpriseOne (JDE)
e' un ERP (Enterprise Resource Planning)
distribuito dalla Oracle Corporation.
Storicamente e' stato sviluppato dall'azienda di sviluppo ERP JD Edwards, che e' stata
acquisita da PeopleSoft nel 2003, a sua volta acquisita da Oracle nel 2005.
Si tratta di un prodotto funzionalmente molto completo e complesso
che contiene funzionalita' arricchite nel corso di venti anni di sviluppo.
Si distingue da altri prodotti ERP (tra cui
EBS di Oracle e SAP) per la minor complessita',
per un'evoluta interfaccia utente e per un TCO tipicamente inferiore.
Caratteristiche che rendono EnterpriseOne
particolarmente apprezzato anche da aziende di media grandezza.
La sfida di questo documento e' quella di presentare
l'architettura dell'ultima versione (9.1)
di JDE in modo semplice ma al tempo stesso in modo completo e corretto!
EnterpriseOne si basa su tecnologie database, su web server, su Java Application Server, ... E' necessaria una conoscenza di base su tali argomenti per approcciarsi ad JDE.
Dal punto di vista funzionale JDE contiene centinaia di componenti suddivisi in moduli (eg. CRM: Customer Relationship Management, SCM: Supply Chain Management, ...) tipici di tutti gli ambienti ERP. L'interfaccia delle applicazioni e' web in modo nativo. JDE e' stato il primo ERP con tutte le funzionalita' disponibili da Apple iPad.
Un progetto JDE completo prevede, al termine della fase di disegno dell'architettura tecnologica e della sua installazione, un'ampia fase di configurazione e personalizzazione applicativa ed, eventualmente, sviluppi di specifiche funzionalita' per il cliente. Tali argomenti esulano dallo scopo di questo documento... ma e' comunque importante ricordare che tutte le personalizzazioni e sviluppi "ad Hoc" vanno sempre effettuati seguendo le linee guida di Oracle. In caso contrario la manutenzione e l'aggiornamento di JDE diverranno molto onerosi.
I componenti di JDE sono molteplici... descriverli in dettaglio tutti non e' utile in un testo introduttivo come questo. Pertanto ci limiteremo a descrivere i principali cercando di fornire un'idea d'insieme delle funzionalita' presenti. La versione cui facciamo riferimento negli esempi e nella descrizione e' Oracle JDE 9.1.
Il software JDE puo' essere eseguito su piattaforme differenti
che possono interagire tra loro in intranet/internet permettendo una
grande flessibilita' con vantaggi sia per la scalabilita' che nel
riutilizzo di componenti e delle infrastrutture aziendali.
Gli elementi funzionali, organizzati in suite applicative (eg.
ALM: Asset Lifecycle Management,
CRM: Customer Relationship Management) sono indipendenti dalle opzioni
tecnologiche scelte e si presentano all'utente con le stesse modalita'.
La componente Tool rappresenta lo strato di integrazione ed
ha un suo versioning specifico.
Dal punto di vista dell'infrastruttura sono molteplici le scelte disponibili
per l'implementazione della soluzione JDE.
Un componente fondamentale di JDE e' la base dati, naturalmente un
Oracle RDBMS e' la scelta suggerita
per le ultime versioni.
La figura a lato mostra l'architettura dell'RDBSM Oracle.
Un'istanza dell'RDBMS Oracle prevede un certo numero di processi
di background dedicati a compiti specifici (eg. DB Writer),
la SGA: un'area di memoria condivisa (eg. DB buffer) ed
un listener in attesa delle connessioni dei client.
Per ogni sessione di connessione alla base dati
viene attivato un processo utente oracle.
Le tabelle e gli indici contenenti i dati vengono salvati
su opportuni datafile mentre le transazioni vengono garantite
grazie ad un sofisticato meccanismo di doppia scrittura su file di log.
Quella descritta e' l'architettura piu' semplice, per gli ambienti di produzione
spesso si utilizzano configurazioni RAC o in failover cluster.
JDE utilizza l'istanza Oracle mediante la stringa di connessione (eg. ovsorcl con una express install).
JDE utilizza gli schema JDE* (eg. JDECTL910, JDEDATA910, ...)
che comprendono circa 5000 tabelle. JDE non utilizza funzionalita' specifiche di Oracle
quali: trigger, package PL/SQL, job, ... JDE utilizza semplicemente un grande numero
di tabelle (F0006: Business Unit Master, F0005: User Defined Code Values, F0902: Account Balances, ...)
e i relativi indici.
Per JDE 9.1 la versione Oracle di riferimento e' la 11gR2.
Quando un'utente si collega con il proprio browser a JDE utilizza un'applicazione web
con una classica architettura a piu' livelli.
Il primo server ad essere contattato e' il JDE Web Server, le richieste piu' complesse
vengono elaborate dall'Application Server JDE Enterprise Server
e restituite all'utente con il protocollo HTTP.
Quando sono richieste attivita' non interattive (eg. esecuzione di una stampa, elaborazione di un bilancio, ...)
JDE utilizza un proprio Job Scheduler che presenta un'interfaccia web per la gestione.
Nell'architettura completa sono disponibili diversi Application Server, alcuni dei quali opzionali,
tutti basati sul WebLogic:
HTML Server,
BI Publisher Server,
Mobile Server,
AIS Server,
Server Manager.
I diversi servizi utilizzano porte socket specifiche (tipicamente configurabili nel file JDE.INI). Ecco le principali:
Processo | Porta | Note |
tnslsnr | 1521 | Oracle DB Listener |
1527 | Derby DB | |
6016 | EnterpriseOne | |
14501, 14502 | Server Manager | |
6080 | EnterpriseOne | |
8080 | EnterpriseOne | |
5556 | WebLogic Node Manager | |
7001 | WebLogic Administrator Console | |
9556, 9704 | BIP Server | |
7005 | Mobile Server ADF | |
8006 | Mobile Server BSSV | |
8090 | AIS Server | |
8999 | Server Manager |
Per l'applicazione delle patch e per il package build si utilizza il Deployment Server (su MS Windows). Il Deployment Server utilizza un'istanza Oracle locale 11gR2.
Gli utenti finali accedono al sistema dal loro browser.
I browser certificati sono praticamente tutti i piu' recenti e diffusi:
Microsoft Internet Explorer per Windows,
Mozilla Firefox per Linux,
Apple Safari per Mac OS
e Google Chrome per tablet Android.
Gli utenti sviluppatori utilizzano invece una workstation
che e' un'installazione dell'ambiente di sviluppo su MS Windows.
L'elenco seguente riporta i principali moduli disponibili (tra parentesi alcuni esempi dei singoli componenti licenziabili):
Le politiche di licensing di JDE non sono oggetto di questo documento...
si tratta comunque di un aspetto molto importante.
Tipicamente JDE viene licenziato per Application User
con un costo per ogni singolo modulo acquistato.
Sono inoltre acquistabili gli UPK (User Productivity Kit).
Per maggiori dettagli e' opportuno fare riferimento al listino ufficiale.
JDE e' disponibile in ambiente multi piattaforma e sono possibili diverse modalita' di deploy sia su macchine fisiche che su macchine virtuali. E' pertanto impossibile fornire una guida univoca per l'installazione. La documentazione ufficiale riporta le diverse modalita' di installazione tra cui la Express Installation (utilizzando VM template di OVM) e le installazioni complete su Linux o su Microsoft Windows.
L'attivita' di installazione, se si tratta di una installazione da zero rivolta ad un ambiente di test o di sviluppo, non e' complessa anche se richiede un po' di tempo. In questi casi si utilizza tipicamente l'installazione JDE Standalone che crea su un'unica macchina un database Oracle E1Local, installa tutto il software e fornisce un ambiente DEMO.
Se invece e' rivolta ad un ambiente di produzione... la fase di progettazione diventa determinante. Le attivita' piu' determinanti sono prima la verifica delle certificazioni e la scelta dei componenti da installare, e poi, effettuata l'installazione, l'applicazione delle patch. I passi per un'installazione completa sono:
La maggioranza dei passi indicati viene eseguita con wizard (eg. OUI: Oracle Universal Installer)
ma il tempo necessario per una configurazione completa e' significativo e richiede competenze specifiche.
Il software va scaricato dal Sito Oracle E-Delivery.
Anche l'accesso al MOS (My Oracle Support) e' una necessita':
l'elenco dei prerequisiti, delle certificazioni, ... sono fondamentali.
Tra le diverse possibilita' JDE puo' essere installato anche su sistemi Oracle Engineered come l'ODA. Nel deployment su ODA viene utilizzata la configurazione Virtualized (OVM) utilizzando il dominio ODA_BASE per l'RDBMS Oracle. Vengono invece utilizzate VM installate da template per il JDE Deployment Server, il JDE Web Server ed il JDE Enterprise Server. Il Deployment Server e' su SO Microsoft Windows, tutti gli altri ambienti sono su Oracle Linux. E' consigliabile utilizzare un bundle 2.8 o successivo a causa del limite del local repository (cfr. Best practices for deploying JD Edwards EnterpriseOne on Oracle Database Appliance ID 2120907)
Un ultimo consiglio per l'installazione: usate nomi di server in minuscolo, brevi (<13 caratteri) e senza l'indicazione del dominio.
Effettuato il login, tutti gli utenti hanno menu personalizzati con accesso ad applicazioni
differenti, a seconda delle loro abilitazioni.
L'interfaccia e' web con un menu' principale chiamato EnterpriseOne Menu
da cui sono disponibili tutte le funzionalita' applicative.
L'interfaccia, sopratutto rispetto ad altri ERP, e' particolamente evoluta
e consente l'accesso anche da Apple iPad e da tablet Android (dalla Tools release 9.1.4).
Particolarmente utili sono i recenti aggiornamenti della release 9.1 che ha introdotto
le EnterpriseOne Page (che consentono di integrare pagine web ed applicazioni esterne)
e il Carousel Navigation (che consente di spostarsi facilmente tra le attivita' aperte).
JDE fornisce un'interfaccia di amministrazione per tutti i comandi dell'infrastruttura tecnologica utilizzata. Ad esempio la gestione dei tablespace Oracle non deve essere effettuata direttamente ma da EnterpriseOne con l'application P96717. In questo modo la gestione risulta semplificata, anche se in caso d'errore le competenze di DBA e sistemistiche risultano comunque fondamentali.
Il JDE Object Management Workbench Configuration program (OWM) automatizza la maggioranza della gestione del software. Con il programma OWM (P98220) si configurano:
Con il programma Work With Servers (P986116) si gestiscono i Server jobs ed i JD Edwards EnterpriseOne subsystems. L'amministratore utilizza questo programma per gestire le attivita' correnti in esecuzione su JDE. Anche gli utenti hanno accesso allo stesso programma, ma possono visualizzare e gestire i soli job associati al loro UserId.
JDE fornisce un avanzato job scheduling per sottomettere attivita' particolamente pesanti o ripetitive. Per la sua gestione si utilizzano: Work With Scheduled Jobs (W91300B), Report Management (GH9111), Job Scheduler (GH9015), Schedule Jobs (P91300); Scheduling Advanced Options (W91300I).
I piu' comuni comandi per l'avvio/fermo degli ambienti sono:
Un compito importante dell'amministratore e' l'apertura di chiamate al supporto (SR: Service Request). Il mantenimento del supporto e' fondamentale con JDE (come con tutti gli ERP).
Basta pensare alle continue variazioni della legislazione fiscale per capire l'importanza dell'aggiornamento di un ERP. Su JDE il rilascio di patch e' frequente ed e' assolutamente necessario mantenere aggiornato il sistema rinnovando il canone di manutenzione e seguendo una completa procedura di gestione dei rilasci.
Vi sono diversi tipi di patch/update:
ESU (Electronic Software Update), ASU (Application Software Update), SP (Service Pack).
Mentre una Tools Release e' relativa al codice JDE foundation (System).
Per l'applicazione delle ESU e' necessaria la presenza del Deployment Server
che e' quindi necessario per gli ambienti di produzione
(per un'installazione demo non e' tecnicamente necessario il Deployment Server).
Il Change Assistant e' un tool java che semplifica la ricerca e l'installazione delle patch.
Il sito ufficiale su cui tutte le patch sono rese disponibili e' Oracle MOS (My Oracle Support).
L'upgrade tra versioni di JDE non e' banale.
Vanno controllati tutti i prerequisiti e le matrici di certificazione per ogni componente,
perche' cambiano per ogni release e tutti i passaggi debbono essere sempre certificati.
Anche i prerequisiti sul sistema possono variare ed e' quindi spesso necessario adeguare anche
il sistema operativo ospite.
Terminata questa fase di preparazione, l'attivita' di upgrade consiste generalmente
nell'applicazione di una serie di passi con una sequenza prestabilita.
Il processo puo' essere molto lungo e richiedere diversi giorni.
Naturalmente se tutto e' stato preparato con attenzione e non vi sono errori:
in caso contrario si e' costretti ad interrompere l'upgrade ed a ripartire dal principio.
Una normale installazione di JDE presso un cliente prevede la presenza di piu' ambienti.
Oltre all'ambiente di produzione, su cui operano gli utenti finali,
sono tipicamente presenti un ambiente di sviluppo, in cui
vengono personalizzate le applicazioni o sviluppate eventuali integrazioni ed un ambiente
di test, in cui vengono provate tutte le modifiche prima di un passaggio all'ambiente di
produzione.
In realta', per essere precisi, JDE definisce le diverse tipologie di ambiente
come produzione (PD910), pristine (PS910 un ambiente senza customizzazioni),
deployment (DEP910), development (DV910), ...
La presenza di piu' ambienti e' molto importante per effettuare le necessarie verifiche in caso
di applicazione di patch o di upgrade.
Ed e' ovviamente fondamentale se si sviluppano applicazioni personalizzate.
Una normale esigenza e' quella di ribaltare un ambiente su un altro (eg. allineare il test con la produzione per verificare un problema occorso). Per la verifica delle differenze tra ambienti e' molto utile il Data Dictionary Compare report (RD969200NA). Ovviamente bisogna fare sempre riferimento alle note ufficiali su MOS (My Oracle Support): How To Create a Mirror / Clone Image of one Environment to Another [ID 626143.1].
Sono possibili innumerevoli variazioni sul tema: in caso di topologie differenti, se la clonazione serve ad aggiungere un nuovo server, con versioni precedenti di JDE, con piattaforme differenti, ...
Con un'architettura cosi' varia, con un numero cosi' grande di applicazioni
e programmi, ... non e' facile parlare dei problemi piu' comuni e come
evitarli!
Un ERP e' il sistema nervoso di un'azienda. Un blocco puo' essere gravissimo.
Quindi provero' comunque a riportare qualche elemento utile.
La miglior cura e' sempre la prevenzione. Anziche' risolvere un problema e' meglio evitarlo.
Nonostante tutte le attenzioni alcuni problemi possono comunque presentarsi...
Oracle JD Edwards EnterpriseOne (JDE)
e' un ERP (Enterprise Resource Planning)
sviluppato da JD Edwards ed ha una storia quasi ventennale
di continua evoluzione.
JDE e' utilizzato sia da aziende di media grandezza (che ne apprezzano il TCO limitato)
che da aziende internazionali con problematiche di valute diverse, regimi fiscali diversi,
lingue diverse, installazioni multi sito, ...
Nel 2003 JD Edwards viene acquisita da PeopleSoft, a sua volta acquisita da
Oracle Corporation nel 2005.
Sono molto importanti anche le altre acquisizioni svolte dalla Oracle Corporation
nell'area ERP e CRM. Nel tempo sono stati acquisiti infatti:
Siebel (2006), Agile (2007), Hyperion (2007), ...
Cosi come nell'area Middleware nel 2008 e' stata acquisito un leader di mercato (BEA con il prodotto WebLogic)
e nel 2009, con l'acquisizione di SUN, addirittura il linguaggio Java e di MySQL!
Nelle seguente tabelle sono riassunte le ultime versioni disponibili di JDE (Source):
|
|
|
|
|
|
|
|
9.1 | Production | (Upd. 2 2014-02) Inventory to GL reconciliation, Warehouse Management, New One View Reporting Drill Down capabilities, Speed Case Entry Tablet application, Mobile Service Time Entry, Health and Safety Incident Management | Upd. 2 | 2013-7 | 2012-3 | 2017-3 (ES 2020) | |
9.0 | Production | New Module: Project and Government Contract Accounting (PGCA). (9.0.2 on 2010-11) | Upd. 2 | 2010-9 | 9.0 2008-9 9.0.2 2010-11 | 2013-09 (ES 2016) 2015-11 (ES 2018) | |
8.12 | Production | Upd. 3 | 2008-5 | 2006-4 | 2011-4 (ES 2014) | ||
8.11 | Production | SP1 Upd. 2 | 2007-6 | 2004-12 | 2009-12 (ES 2012) | ||
8.10 | Production | Upd. 2 | 2007-9 | 2004-6 | 2009-6 | ||
8.9 | Production | 2003-9 | 2008-9 | ||||
8.0 | Production | Upd. 1 | 2003-4 | 2002-06 | 2013-12 | ||
Xe | Production | Upd. 8 | 2004-6 | 2000-9 | 2013-12 |
Le password di default (in una installazione Express):
Altro prodotto molto importante di JD Edwards e' JD Edwards World. Si tratta sempre di ERP realizzato per gli ambienti IBM Power Systems, System i.
Sono fondamentali i documenti contenuti su Oracle My Oracle Support (MOS).
Un'ultima cosa importante proposito di JDE: Buona fortuna!
Titolo: Oracle JD Edwards EnterpriseOne (JDE)
Livello: Avanzato
Data: 1 Agosto 2014
Versione: 1.0.1 -
15 Agosto 2014
Autore:
mail [AT] meo.bogliolo.name