Adding Mathematica Software to an ORACLE database Roberto Terenzi CNRIFSI PowerPoint PPT Presentation

presentation player overlay
1 / 25
About This Presentation
Transcript and Presenter's Notes

Title: Adding Mathematica Software to an ORACLE database Roberto Terenzi CNRIFSI


1
Adding Mathematica Software to an ORACLE
databaseRoberto Terenzi CNR-IFSI INFN CERN

2
EXPLORER Experiment at Cern
EXPLORER Building 171
3
Adding Mathematica Software

4
IGEC data at IGEC sites
IGEC International Gravitational Event
Collaboration
  • Detectors data
  • on/off periods
  • sensitivity
  • .
  • Gravitational waves events
  • Amplitude
  • Time
  • Confident time interval (IGEC2000)
  • SNR
  • ..

5
Project Goals
  • Both text and graphic data presentation.
  • No special software requirements on Client-side
    (WEB Browsers only).
  • Flexible architecture (distributed systems
    resources ).

6
Hardware System Architecture
ORACLE Server
Middle-Tier
Client(s)
CERN 0racle Server (cern Geneva)
SUN Ultra 10 (CNR-Rome)
PC's w/s's etc. (WORLD)
Internet
internet
Internet connection
7
Hardware Architecture
  • 3-Tier architecture benefits
  • Client
  • any computer running a WEB Browser ( Netscape,
    Internet Explorer).
  • Middle-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 ).

8
Software System Architecture
ORACLE Server
Middle-Tier
Client
Communication, Oracle Interface, Data elaboration
Data formatting
WEB Browser
0racle
HTML FORMS PAGES
SQL QUERY DATA
Internet connection
9
Middle-Tier Software Architecture
HTML FORMS PAGES
Custom Java Classes
JAVA Servlet classes
Java JDBC
Methods Override post/get/service
0racle
WEB Browser
Servletrunner
Java JLINK
SQL QUERY DATA
Mathematica
Internet connection
10
Application 1Simple data Request (1)
HTML FORMS PAGES
Custom Java Classes
JAVA Servlet classes
Java JDBC
Methods Override post/get/service
0racle
WEB Browser
Servletrunner
SQL QUERY DATA
Internet connection
11
Application 1Simple data Request (2)
  • Client
  • Send HTML FORM for requesting data.
  • Display HTML page sent back by Middle-Tier.
  • Middle-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.

12
Why Mathematica? (1)
  • Client Requirements
  • Data Presentation (for example graphics)
  • Data elaboration (for example data filtering)
  • Database administrator requirements
  • Do not overload Oracle server with application
    programs.

13
Why Mathematica? (2)
  • Client Requirements
  • graphical presentation,
  • data elaboration and data filtering
  • are easy using Mathematica.
  • Database administrator requirements
  • Mathematica can run outside Oracle server
    (Middle-Tier).
  • Program Developer
  • Application, i.e. Mathematica Package(s), can be
    developed by client too.

14
Application 2Data elaboration (1)
CLIENT
MIDDLE-TIER
SERVER
HTML FORM
SQL QUERIES
Middle-Tier Software
HTML
0racle
Page(GIF)
DATA
Graphics DATA (GIF)
DATA
Mathematica
15
Application 2Data elaboration (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
    Mathematica program.
  • send computed data as an Html page to client
    (text or GIF images as needed).

16
Application 2Data elaboration (3)
HTML FORMS PAGES
Custom Java Classes
JAVA Servlet classes
Java JDBC
Methods Override post/get/service
0racle
WEB Browser
Servletrunner
Java JLINK
SQL QUERY DATA
Mathematica
Internet connection
17
Mathematica Interface Software
//open link to Mathematica String args
-linkmode,launch,math -mathlink KerneLink
ml MathLinkFactory.createKernelLink(args) . //
Now load Mathematica Package(s) .. ml.evaluate
(ltltGraphicsColor) / Standard packages
/ . ml.evaluate (ltltMyPackageMyModule)
/Custom Packages / // Now send and get back
data byte imageEX ml.evaluate(mathCommand,widt
h)
  • JLINK
  • KerneLink
  • ml.evaluate(String command)
  • ...

18
Application 3Data warehousing (1)
CLIENT (Power User)
MIDDLE-TIER
SERVER
SQL QUERIES
HTML FORM
Middle-Tier Software
HTML
DATA
Page
0racle
INSERT DATA
DATA
F(DATA)
Mathematica
19
Application 3Data warehousing (2)
  • Client (Administrator) 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.
  • INSERT into Oracle tables computed data .

20
Scalability
Client 1 Client 2 .. Client_m
PC's w/s's etc. (WORLD)
.....
LAN INTERNET
21
Adding Mathematica Software

22
Mathematica on client side (1)
_____________________ CLIENT
___________________________________



HTML FORMS PAGES
Custom Java Classes
JAVA Servlet classes
Java JDBC
Methods Override post/get/service
0racle
WEB Browser
Servletrunner
Java JMLINK
SQL QUERY DATA
Mathematica
Internet connection
23
Mathematica on client side (2)
Servletrunner
JAVA Servlet classes
Methods Override post/get/service
HTML FORMS Text
0racle
Custom Java Classes
SQL QUERY DATA
Java JDBC
24
Mathematica on client side (3)
HTML FORMS PAGES
Custom Java Classes
JAVA Servlet classes
Java JDBC
0racle
Methods Override post/get/service
WEB Browser
Servletrunner
Java JLINK
SQL QUERY DATA
Mathematica
25
Mathematica on client side (4)
Servletrunner
JAVA Servlet classes
Notebook
Methods Override post/get/service
0racle
Custom Java Classes
HTML FORMS TEXT
SQL QUERY DATA
Mathematica calls Java
Java JDBC
Write a Comment
User Comments (0)
About PowerShow.com