cern oracle developers forum 5 nov 2001 adding mathematica software to an oracle database roberto...

25
CERN CERN ORACLE DEVELOPERS FORUM ORACLE DEVELOPERS FORUM 5 Nov 2001 5 Nov 2001 Adding Mathematica Adding Mathematica Software to an ORACLE Software to an ORACLE database database Roberto Terenzi CNR-IFSI & INFN Roberto Terenzi CNR-IFSI & INFN CERN CERN N autilus Explorer A uriga N iobe

Upload: joshua-obrien

Post on 25-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

5 Nov 20015 Nov 2001

Adding Mathematica Software Adding Mathematica Software to an ORACLE databaseto an ORACLE database

Roberto Terenzi CNR-IFSI & INFN CERNRoberto Terenzi CNR-IFSI & INFN CERN

Nautilus

Explorer Auriga

Niobe

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 2

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

EXPLORER Experiment at CernEXPLORER Experiment at Cern

EXPLORER Building 171EXPLORER Building 171

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

5 Nov 20015 Nov 2001Adding Mathematica Software …Adding Mathematica Software …

Nautilus

Explorer Auriga

Niobe

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 4

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

IGECIGEC data at IGEC sites: data at IGEC sites:

Gravitational waves events:

Amplitude Time Confident time

interval (IGEC2000) SNR ……..

Detectors data: on/off periods sensitivity …….

IGEC= International Gravitational Event CollaborationIGEC= International Gravitational Event Collaboration

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 5

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Project GoalsProject Goals

Both text and graphic data presentation.

No special software requirements on Client-side (WEB Browsers only).

Flexible architecture (distributed systems & resources ).

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 6

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Hardware System ArchitectureHardware System Architecture

PC'sPC's

w/s's etc.w/s's etc.

(WORLD)(WORLD)

SUN Ultra 10SUN Ultra 10

(CNR-Rome)(CNR-Rome)

Client(s)Client(s)Middle-TierMiddle-Tier

ORACLE ServerORACLE Server

CERN 0racleCERN 0racle

ServerServer

(cern Geneva)(cern Geneva)

= Internet connection= Internet connectioninternetinternet

InternetInternet

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 7

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Hardware ArchitectureHardware Architecture 3-Tier architecture benefits:

– ClientClient• any computer running a WEB Browser ( Netscape, Internet Explorer).

– Middle-TierMiddle-Tier• To shadow database implementation details to client (tables structure etc.): Client sees physics quantities,

not ORACLE tables, columns etc.• To do not overload Oracle server with application software.

Flexible, but robust architecture (distributed systems & resources ).

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 8

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Software System ArchitectureSoftware System Architecture

WEB WEB BrowserBrowser

Communication,Communication,

Oracle Interface,Oracle Interface,

Data elaboration &Data elaboration &

Data formattingData formatting

ClientClientMiddle-TierMiddle-Tier

ORACLE ServerORACLE Server

0racle0racle

= Internet connection= Internet connectionSQL QUERY SQL QUERY

& DATA& DATA

HTML FORMS HTML FORMS & PAGES& PAGES

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 9

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Middle-Tier Software ArchitectureMiddle-Tier Software Architecture

0racle0racle

Custom JavaCustom Java

ClassesClasses

JavaJava

JDBCJDBCMethods Override Methods Override post/get/servicepost/get/service

JAVAJAVA

Servlet classesServlet classes

JavaJava

JLINKJLINK

MathematicaMathematica

WEB WEB BrowserBrowser

= Internet connection= Internet connection

HTML FORMS HTML FORMS & PAGES& PAGES

SQL QUERY SQL QUERY & DATA& DATA

ServletrunnerServletrunner

MathematicaMathematica

PACKAGESPACKAGES

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 10

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Application 1:Simple data RequestApplication 1:Simple data Request (1)(1)

0racle0racle

Custom JavaCustom Java

ClassesClasses

JavaJava

JDBCJDBCMethods Override Methods Override post/get/servicepost/get/service

JAVAJAVA

Servlet classesServlet classes

WEB WEB BrowserBrowser

= Internet connection= Internet connection

HTML FORMS HTML FORMS & PAGES& PAGES

SQL QUERY SQL QUERY & DATA& DATA

ServletrunnerServletrunner

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 11

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Application 1:Simple data RequestApplication 1:Simple data Request (2)(2)

ClientClient – Send HTML FORM for requesting data.– Display HTML page sent back by Middle-Tier.

Middle-TierMiddle-Tier– Translate Html Form into sql queries .– Send queries to Oracle.– Get data from Oracle and format them.– Send data as an Html page to client.

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 12

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Why Mathematica? Why Mathematica? (1)(1)

ClientClient Requirements:– Data Presentation (for example graphicsgraphics)– Data elaboration (for example data filteringdata filtering)

Database administrator Database administrator requirements:requirements:– Do not overloadDo not overload Oracle server with application

programs.

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 13

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Why Mathematica? Why Mathematica? (2)(2) ClientClient Requirements:

– graphical presentation,– data elaboration and data filteringare “easy” using Mathematica.

Database administrator Database administrator requirements:requirements:– Mathematica canMathematica can run outside Oracle server run outside Oracle server (Middle-(Middle-

Tier)Tier).

Program DeveloperProgram Developer::– Application, i.e.Application, i.e. Mathematica Package(s) Mathematica Package(s),, can becan be

developed developed byby client client too. too.

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 14

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Application 2:Data elaborationApplication 2:Data elaboration (1)(1)

Middle-TierMiddle-Tier

SoftwareSoftware0racle0racle

SQL SQL QUERIESQUERIES

DATADATA

MathematicaMathematica

DATADATAGraphics Graphics DATA (GIFDATA (GIF))

HTML HTML Page(GIF)Page(GIF)

HTML FORMHTML FORM

CLIENTCLIENT MIDDLE-TIERMIDDLE-TIER SERVERSERVER

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 15

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Application 2:Data elaborationApplication 2:Data elaboration (2)(2)

Client:– send HTML FORM to request data.

Middle-Tier– translate Html Form into sql queries .– Send queries to Oracle.– get data from Oracle and elaborate them via

MathematicaMathematica program.– send computed data as an Html page to client

(text ortext or GIF imagesGIF images as needed).

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 16

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Application 2:Data elaboration Application 2:Data elaboration (3)(3)

0racle0racle

Custom JavaCustom Java

ClassesClasses

JavaJava

JDBCJDBCMethods Override Methods Override post/get/servicepost/get/service

JAVAJAVA

Servlet classesServlet classes

JavaJava

JLINKJLINK

MathematicaMathematica

WEB WEB BrowserBrowser

= Internet connection= Internet connection

HTML FORMS HTML FORMS & PAGES& PAGES

SQL QUERY SQL QUERY & DATA& DATA

ServletrunnerServletrunner

MathematicaMathematica

PACKAGESPACKAGES

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 17

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Mathematica Interface SoftwareMathematica Interface Software

////open link to Mathematica:

String [ ] args= {“-linkmode”,”launch”,math -mathlink”};String [ ] args= {“-linkmode”,”launch”,math -mathlink”};

KerneLink ml= MathLinkFactory.createKernelLink(args);KerneLink ml= MathLinkFactory.createKernelLink(args);…………..

// // Now load Mathematica Package(s):…………....

ml.evaluate(”<<Graphics`Color`”); ml.evaluate(”<<Graphics`Color`”); /* Standard packages */…………..

ml.evaluate (”<<MyPackage`MyModule`”); ml.evaluate (”<<MyPackage`MyModule`”); /*Custom Packages */

// // Now send and get back data

byte[ ] imageEX= ml.evaluate(mathCommand,width);byte[ ] imageEX= ml.evaluate(mathCommand,width);

JLINKJLINK

•KerneLinkKerneLink

•ml.evaluate(String ml.evaluate(String command)command)

•……......

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 18

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Application 3:Data warehousing Application 3:Data warehousing (1)(1)

Middle-TierMiddle-Tier

SoftwareSoftware 0racle0racle

SQL SQL QUERIESQUERIES

DATADATA

MathematicaMathematica

DATADATA

HTML HTML PagePage

HTML FORMHTML FORM

CLIENTCLIENT

(“Power” User)(“Power” User)

MIDDLE-TIERMIDDLE-TIER SERVERSERVER

F(DATA)F(DATA)

INSERT DATAINSERT DATA

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 19

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Application 3:Data warehousing Application 3:Data warehousing (2)(2)

Client (AdministratorAdministrator) send HTML FORM for data elaboration

Middle-Tier– translate Html Form into sql queries .– Send queries to Oracle.– get data from Oracle and elaborate them via

Mathematica program.– INSERTINSERT into Oracle tables computed data .

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 20

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

ScalabilityScalability

Message Message dispatcherdispatcher

ORACLE ServerORACLE Server

CERN 0racleCERN 0racle

ServerServer

(cern Geneva)(cern Geneva)

PC'sPC's

w/s's etc.w/s's etc.

(WORLD)(WORLD)

Client 1Client 1Client 2Client 2…………....

Client_mClient_mM-T 1M-T 1

M-T 2M-T 2

M-T nM-T n

..........

LANLAN

INTERNETINTERNET

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

5 Nov 20015 Nov 2001Adding Mathematica Software …Adding Mathematica Software …

Nautilus

Explorer Auriga

Niobe

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 22

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Mathematica on client side Mathematica on client side (1)(1)

0racle0racle

Custom JavaCustom Java

ClassesClasses

JavaJava

JDBCJDBCMethods Override Methods Override post/get/servicepost/get/service

JAVAJAVA

Servlet classesServlet classes

JavaJava

JMLINKJMLINK

MathematicaMathematica

WEB WEB BrowserBrowser

= Internet connection= Internet connection

HTML FORMS HTML FORMS & PAGES& PAGES

SQL QUERY SQL QUERY & DATA& DATA

ServletrunnerServletrunner

_____________________ CLIENT ________________________________________________________ CLIENT ___________________________________

| || |

MathematicaMathematica

PACKAGESPACKAGES

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 23

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Mathematica on client side Mathematica on client side (2)(2)

0racle0racle

JavaJava

JDBCJDBC

SQL QUERY SQL QUERY & DATA& DATA

Methods Override Methods Override post/get/servicepost/get/service

JAVAJAVA

Servlet classesServlet classes

Custom JavaCustom Java

ClassesClasses

ServletrunnerServletrunner

JavaJava

JLINKJLINK

MathematicaMathematica

GUIGUI Custom JavaCustom Java

ClassesClasses

HTML HTML FORMS & FORMS &

TextText

MathematicaMathematica

PACKAGESPACKAGES

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 24

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Mathematica on client side Mathematica on client side (3)(3)

0racle0racle

Custom JavaCustom Java

ClassesClasses

JavaJava

JDBCJDBCMethods Override Methods Override post/get/servicepost/get/service

JAVAJAVA

Servlet classesServlet classes

JavaJava

JLINKJLINK

MathematicaMathematica

WEB WEB BrowserBrowser

HTML FORMS HTML FORMS & PAGES& PAGES

SQL QUERY SQL QUERY & DATA& DATA

ServletrunnerServletrunner

CLIENTCLIENT

PACKAGESPACKAGES

MathematicaMathematica

PACKAGESPACKAGES

Roberto Terenzi (ROG) Cnr INFN CernRoberto Terenzi (ROG) Cnr INFN CernGeneva 5 Nov 2001 25

CERNCERN ORACLE DEVELOPERS FORUMORACLE DEVELOPERS FORUM

Mathematica on client side Mathematica on client side (4)(4)

0racle0racle

JavaJava

JDBCJDBC

JavaJava

JLINKJLINKMathematicaMathematica

NotebookNotebook

SQL QUERY SQL QUERY & DATA& DATA

Methods Override Methods Override post/get/servicepost/get/service

JAVAJAVA

Servlet classesServlet classesCustom JavaCustom Java

ClassesClasses

Custom JavaCustom Java

ClassesClasses

ServletrunnerServletrunner

Mathematica “calls” JavaMathematica “calls” Java

HTML FORMS HTML FORMS & TEXT& TEXT