• Non ci sono risultati.

2.2 Soluzione SAP per il B2B: ISA

2.2.1 Il Framework ISA

Il Framework ISA si basa sulla piattaforma SAP J2EE progettata per supportare le esigenze di sistemi applicativi aziendali moderni, estendibili, e orientati all’e-business. SAP J2EE fornisce architettura applicativa basata su componenti e scalabile. In questa sezione si fornisce una panoramica generale del Framework ISA allo scopo di mostrare i concetti principali del Framework.

2.2.1.1 Architettura ISA

Con SAP J2EE la presentazione dei dati in ISA è svolta esclusivamente sul lato client tramite il browser Web. Il codice HTML è generato dinamicamente tramite Servlet e Java Server Pages (JSP). Un SAP J2EE Servlet Engine elabora la generazione dinamica del codice HTML come un processo server-side. Il browser Web è responsabile solo della presentazione dei dati generati.

Il livello di interazione sul lato server elabora le richieste degli utenti e chiama sul lato server la logica di business e le rispettive applicazioni di business. I dati risultanti vengono quindi inoltrati al livello di presentazione sul lato server, che genera le pagine che il browser deve visualizzare.

La comunicazione tra la piattaforma SAP J2EE e il SAP ERP avviene tramite il componente SAP Java Connector (SAP JCO).

La tecnologia Java è limitata alla zona di front-end, cioè alla progettazione del layout e alla logica di interazione con il Web Shop. La logica di business (come l’elaborazione dell’ordine con determinazione del partner, determinazione del prezzo, e così via) rimane nel SAP ERP.

La figura 2.5 mostra l’architettura di SAP E-Commerce per SAP ERP (SAP ISA).

2.2.1.2 Livelli dell’architettura di ISA

L’architettura applicativa ISA è costituita dai seguenti livelli: • Livello presentazione e interazione server-side;

• Livello Business Object;

2.2. SOLUZIONE SAP PER IL B2B: ISA 35

Figura 2.5: Architettura di SAP E-Commerce for SAP ERP

Inoltre servizi generici sono utilizzati in tutti i livelli: • Loggon/Tracing;

• Extended Configuration Management (XCM): usato per la configurazione dei vari livelli.

Una visione dei livelli dell’architettura è mostrata in fig. 2.6.

Livello di presentazione e di interazione Questo livello si occupa dell’interfaccia utente e della navigazione all’interno dell’applicazione. Esso rappresenta la view e il controller in un modello di programmazione Model-View-Controller (MVC).

L’interfaccia utente è realizzata tramite la tecnologia Java Server Page (JSP). Il livello interazione e presentazione è realizzato per mezzo del framework Struts . Struts è un framework open source che implementa il modello di programmazione MVC in un ambiente JSP/Servlet. Esso agisce come interfaccia tra il mondo HTTP e la logica di business, che è indipendente dall’interfaccia utente.

La Figura 2.7 mostra una panoramica dei processi interni del livello interazione e

presentazione quando una richiesta HTTP viene inviata all’applicazione ISA da un client (solitamente un browser).

Tutte le richieste HTTP del client vengono instradate attraverso il controller Servlet ActionServlet. Questo Servlet funge da dispatcher, instradando tutte le richieste in arrivo verso le azioni appropriate. Il meccanismo di dispatching è configurato esternamente.

Le azioni rappresentano una unità di elaborazione sul lato server e sono accessibili tramite un’interfaccia comune. Agiscono come mediatore tra il mondo HTTP e i Business Objects. Dopo aver chiamato il Business Object appropriato, il controllo del processo ritorna al controller Servlet ActionServlet. A seconda del valore di ritorno della azione chiamata e della configurazione esterna, viene chiamata la JSP appropriata per presentare il risultato del’elaborazione all’utente oppure viene eseguita un’altra azione.

In seguito il contenuto dinamico viene inserito all’interno del contenuto statico HTML e il risultato viene inviato al client.

Figura 2.7: Processi interni del livello interazione e presentazione

Livello Business Object Il livello Business Object si occupa della gestione degli oggetti di business che vengono utilizzati dal livello interazione e presentazione.

I Business Objects forniscono funzionalità di business tramite interfacce ben definite in modo indipendente dal backend. Le funzioni di business sono o completamente fornite da questi oggetti o si trovano in un Enterprise Information System(EIS).

2.2. SOLUZIONE SAP PER IL B2B: ISA 37 I BO per comunicare con il backend usano un insieme di interfacce generiche fornite dai corrispondenti Backend Objects. Questo perché essi non sono a conoscenza dei dettagli implementativi del backend e quindi non possono accedere direttamente all’EIS che si trova nel backend.

I Business Objects sono gestiti da Business Object Managers (BOM). Un BOM è utilizzato come un punto di accesso centrale per per l’accesso ai Business Objects. Quando le azioni accedono a un Business Object ottengono un riferimento ad esso dal BOM.

Nella figure 2.8 è visibile una rappresentazione del livello Business Object. In tale

figura è visibile il Business Object Manager, che si occupa di smistare le varie richieste ai Business Object appropriati.

Figura 2.8: Visualizzazione del Business Object layer

Livello Business Logic Service (BLS) Questo livello consente di accedere alle funzioni di business situate nei diversi Enterprise Information Systems (EIS) (es. ERP, CRM).

Molti Business Objects (per esempio, basket) hanno un corrispondente Backend Object nel livello BLS. La funzionalità di un Backend Object è acceduta attraverso una ben definita interfaccia Java (ad esempio, BasketBackend). L’implementazione di tale interfaccia è backend-dependent (per esempio, BasketCRM). Un Business Object ottiene un riferimento a un backend object dal Backend Object Manager (BEM). Il BEM si occupa del ciclo di vita dei backend object e restituisce i loro riferimenti al livello BO.

Il framework ISA è in grado di gestire le comunicazioni tra vari backend systems simultaneamente. A seconda del backend utilizzato, diverse implementazioni di backend object devono essere istanziate (per esempio, BasketCRM, o BasketR3). Inoltre, il

framework fa in modo che vengano utilizzati i dati corretti. Tutto questo è configurato nell’ Extended Configuration Management.

Nella figure 2.9 è visibile una rappresentazione del livello Business Logic Service.

Figura 2.9: Architettura a più livelli