A seconda del livello di solution tools, le API in BaanERP possono necessitare di un controllo.
A dire la verità, molto spesso, almeno per la maggior parte delle installazioni, le API risultano essere stabili; ma prima di fare una specifica tecnica, o una stima di tempistiche, conviene sempre fare una semplice prova per verificarne l'effettivo funzionamento.
Una prova minima che ha senso può consistere in testare una modifica di un campo per una sessione di tipo 1/2/3, con un 3GL. In particolare:
1) Eseguire un stpapi.put e un stpapi.find
2) Controllare che il retrieve del record tramite find sia corretto (ret.val. = 0 e valori corretti).
3) Sostituire il valore di un campo, per esempio tramite stpapi.update.
In generale il punto critico è il numero 2: accade spesso che, se c'è un problema, questo sia nel find.
Non ho ancora identificato il livello di solution tools che garantisce la correttezza del funzionamento delle API. Ma se queste mostrano incertezze, esiste sempre una alternativa: non si deve dimenticare che, in BaanERP, esistono comunque le DAL. Anche se queste ultime non hanno il livello di dettaglio in termini di Hooks che si ritrova in LN, sono comunque valide. E non si deve dimenticare che permettono anche la gestione delle transazioni.
lunedì 28 aprile 2008
venerdì 18 aprile 2008
Invocazione di un metodo JAVA via XSLT
Talvolta, lavorando con il servizio di trasformazione XSLT di Progress, ho necessità di invocare funzioni esterne Java, ad esempio, per estrarre dati da un database da inserire nell'XML in output. Descrivo di seguito il metodo che ho trovato io.
1) Si definisce una nuova classe JAVA. L'ho chiamata classeProva, appartenente al package com.provaluke, e contiene il metodo statico metodoProva().
2) Si lega al servizio la jar che contiene la classe.
2) Nel file XSLT che definisce la trasformazione si definisce un nuovo namespace (nell'esempio successivo l'ho chiamato "luke") dove si dichiara la classe con il metodo che si vuole usare, anteponendo "java:".
Il file XSLT comincerà allora così.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:docns="C:\Progetto\workingArea\SchemaCanonical.xsd" xmlns:luke="java:com.provaluke.classeProva">
Dopodiché, al momento opportuno, si invoca il metodo anteponendo il namespace nel seguente modo:
<xsl:value-of select="luke:metodoProva('1')"/>
Ovviamente si possono passare anche argomenti, etc. etc.
1) Si definisce una nuova classe JAVA. L'ho chiamata classeProva, appartenente al package com.provaluke, e contiene il metodo statico metodoProva().
2) Si lega al servizio la jar che contiene la classe.
2) Nel file XSLT che definisce la trasformazione si definisce un nuovo namespace (nell'esempio successivo l'ho chiamato "luke") dove si dichiara la classe con il metodo che si vuole usare, anteponendo "java:".
Il file XSLT comincerà allora così.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:docns="C:\Progetto\workingArea\SchemaCanonical.xsd" xmlns:luke="java:com.provaluke.classeProva">
Dopodiché, al momento opportuno, si invoca il metodo anteponendo il namespace nel seguente modo:
Ovviamente si possono passare anche argomenti, etc. etc.
sabato 12 aprile 2008
W3 Schools
Come tutti quelli che fanno il mio mestiere (che è, a seconda dei casi, quello di progettare, disegnare o costruire soluzioni software) lavoro spesso con XML e tutto ciò che ne deriva: XPath, XSLT, namespace, XSL, WSDL, etc.
Vorrei segnalare un sito introduttivo a tutti questi concetti, che introduce tutto questo con chiarezza, e allo stesso tempo in modo semplice e veloce.
Il sito è http://www.w3schools.com/
E' un sito arricchito da molti corsi e tutorial, creato apposta per chi vuol imparare a fare sviluppo in ambito web, ma utilissimo anche a chi vuol apprendere tutto ciò che non è web, ma che può essere ad esso legato: WEB Service, XML, XSL e chi più ne ha più ne metta!
La filosofia che viene seguita è quella del "Quick and Easy Learning": apprendimento per passi , con esempi molto chiari. Una volta affrontati i tutorial, che servono come introduzione all'argomento, nel sito si trovano anche referenze dettagliate.
Insomma, qualcosa che veramente vale la pena: farci un giro non è davvero tempo perso.
Vorrei segnalare un sito introduttivo a tutti questi concetti, che introduce tutto questo con chiarezza, e allo stesso tempo in modo semplice e veloce.
Il sito è http://www.w3schools.com/
E' un sito arricchito da molti corsi e tutorial, creato apposta per chi vuol imparare a fare sviluppo in ambito web, ma utilissimo anche a chi vuol apprendere tutto ciò che non è web, ma che può essere ad esso legato: WEB Service, XML, XSL e chi più ne ha più ne metta!
La filosofia che viene seguita è quella del "Quick and Easy Learning": apprendimento per passi , con esempi molto chiari. Una volta affrontati i tutorial, che servono come introduzione all'argomento, nel sito si trovano anche referenze dettagliate.
Insomma, qualcosa che veramente vale la pena: farci un giro non è davvero tempo perso.
giovedì 10 aprile 2008
SOA in practice
Ho comprato qualche tempo fa il libro di Nicolai Josuttis "SOA in practice", e devo dire che lo sto leggendo con soddisfazione.
Sono interessato a tutto ciò che è Service Oriented Architecture ormai da alcuni mesi e devo dire che il suo approccio mi piace molto: è equilibrato, e soprattutto non osanna la SOA come panacea di tutti i mali e soluzione definitiva mondiale dei problemi di integrazione.
La definizione di SOA è qualcosa di sfuggente: googlando SOA in internet si trova di tutto!
Questo accade un po' perchè è una tecnologia emergente e un po' perché non è uno standard tecnico, ma una linea guida: per questo ogni definizione risulta sempre un po' ambigua e poco definita. Cercando in internet è facile capire che esistono sono tante definizioni di SOA quanti sono coloro che ci scrivono.
La definizione che fornisce Josuttis secondo me è una delle migliori: la riporto di seguito.
"SOA is an architectural paradigm for dealing with business processes distributed over a (even) large landscape of existing and new heterogeneus systems that can be under the control of different owners."
E' interessante perché, in una sola frase, coglie gli aspetti salienti della SOA:
1) Integrazione tra sistemi eterogenei e distribuiti
2) Si parla di Business Processes, e non di scambio di dati. L'approccio SOA effettivamente è orientato al business, più che all'aspetto tecnico dell'integrazione.
La lettura del libro di Josuttis è davvero interessante, per chi, come me, è appassionato di problematiche di integrazione tra sistemi: consigliatissima!
Una spiegazione concisa e alternativa della SOA, ma comunque chiarificatrice, è data da John Reynolds al seguente indirizzo:
http://weblogs.java.net/blog/johnreynolds/archive/2005/01/th
e_soa_elevato.html
Ci tenevo a segnalarla perché, quando l'ho letta, ha dato risposta ad una serie di domande che mi ero fatto e alle quali, dopo giorni di ricerca, non riuscivo a trovare soluzione.
Sono interessato a tutto ciò che è Service Oriented Architecture ormai da alcuni mesi e devo dire che il suo approccio mi piace molto: è equilibrato, e soprattutto non osanna la SOA come panacea di tutti i mali e soluzione definitiva mondiale dei problemi di integrazione.
La definizione di SOA è qualcosa di sfuggente: googlando SOA in internet si trova di tutto!
Questo accade un po' perchè è una tecnologia emergente e un po' perché non è uno standard tecnico, ma una linea guida: per questo ogni definizione risulta sempre un po' ambigua e poco definita. Cercando in internet è facile capire che esistono sono tante definizioni di SOA quanti sono coloro che ci scrivono.
La definizione che fornisce Josuttis secondo me è una delle migliori: la riporto di seguito.
"SOA is an architectural paradigm for dealing with business processes distributed over a (even) large landscape of existing and new heterogeneus systems that can be under the control of different owners."
E' interessante perché, in una sola frase, coglie gli aspetti salienti della SOA:
1) Integrazione tra sistemi eterogenei e distribuiti
2) Si parla di Business Processes, e non di scambio di dati. L'approccio SOA effettivamente è orientato al business, più che all'aspetto tecnico dell'integrazione.
La lettura del libro di Josuttis è davvero interessante, per chi, come me, è appassionato di problematiche di integrazione tra sistemi: consigliatissima!
Una spiegazione concisa e alternativa della SOA, ma comunque chiarificatrice, è data da John Reynolds al seguente indirizzo:
http://weblogs.java.net/blog/johnreynolds/archive/2005/01/th
e_soa_elevato.html
Ci tenevo a segnalarla perché, quando l'ho letta, ha dato risposta ad una serie di domande che mi ero fatto e alle quali, dopo giorni di ricerca, non riuscivo a trovare soluzione.
Etichette:
integration,
Josuttis,
reynolds,
SOA
mercoledì 9 aprile 2008
Ho creato finalmente il mio blog: sono troppo contento! :-))))
Spero, nei giorni che seguiranno, di poterlo aggiornare con qualcosa di interessante:
se da un lato cercherò di approfondire alcuni aspetti tecnici del mio lavoro, dall'altro mi piacerebbe raccontare qualcosa delle mie esperienze lavorative e, perché no, qualcosa anche di me stesso.
Alla prossima!
Spero, nei giorni che seguiranno, di poterlo aggiornare con qualcosa di interessante:
se da un lato cercherò di approfondire alcuni aspetti tecnici del mio lavoro, dall'altro mi piacerebbe raccontare qualcosa delle mie esperienze lavorative e, perché no, qualcosa anche di me stesso.
Alla prossima!
Iscriviti a:
Post (Atom)