adding mathematica software to an oracle database roberto terenzi cnr-ifsi & infn cern
Post on 30-Jan-2016
44 Views
Preview:
DESCRIPTION
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
top related