際際滷

際際滷Share a Scribd company logo
studioSLstudioSL
A Modular ApplicationA Modular Application
AlcunidirittiriservatiaChris-H奪vardBerge
Some rights reserved Enrico Scantamburlo
Who Am I ?Who Am I ?
Enrico Scantambu
Java Developer @ Streamsim
Oracle Certified Master, Java SE 6 Developer
Sun Certified Specialist Netbeans
Sun Certified Web Component Developer
LPIC-1
.....
http://it.linkedin.com/in/enricoscantamburlo
 Currently Based on NetBeans 6.5, 6.9 coming out shortly
 Modular Application (we sells separated modules)
 Most of the interfaces are OpenSource
 2D/3D Plots
 Import/export from multiple sources
A graphical user interface to Pre/Post
process simulation models of oil, gas,
and water flow in the subsurface
All problems in computer science can be solved by
another level of indirection... Except for the problem
of too many layers of indirection.
David Wheeler
PE Commons API 1/3PE Commons API 1/3
Problems:
 Support several simulators
 Information scattered in VERY big files ( > 20 Gb/Go)
 Same actions on all Simulations
 Some data may be missing
3DSL(R) ECLIPSE(R) OTHERS
PE Commons API
LOOKUP
2D/3D Projects Simulations
PE Commons API 2/3PE Commons API 2/3
PE Commons API 3/3PE Commons API 3/3
They read only what we need
They cache data using Java SoftReferences
They share data between simulations
They are replaced when the files change
We use Providers
TimeStepsDataProvider to provide the time information
WellDataProvider to provide the list of well
WellSequencesDataProvider to provider the sequences for each Well
WellTypeDataProvider to provider the type for each Well
StrucutredGridDataProvider to provider the grid Information
.
NBPlatform: A lifesaverNBPlatform: A lifesaver
We use almost every feature of NetBeans Platform (6.5)
 FileChangeListeners
 Branding
 Syntax Highlighting
 CodeCompletion
 ContextAwareAction
 Lookup
 Nodes
 TopComponents and Modes
 OutputWindows
 Update Center
 Exception Handling
 Schliemann
 Preferences
 Multiview
 XMLMultiView
 ExplorerManagers
 TreeTableView
 RequestProcessor
 Matisse
 Projects
 Ant
 Layer
 Option Windows
.
3D View 1/23D View 1/2
3D View 2/23D View 2/2
Currently using Java3D 1.5.2 (sigh!)
Not very performing but easy to use and it does its job.
Unsupported (community managed program)
Java3D must be installed manually
An NBM for every platform (Windows/Linux 32/64bit)
Bundle the whole JRE
Also tested
 JOGL
 VTK
But too much work to replace it!
2D View 1/22D View 1/2
2D View 2/22D View 2/2
We use JClass to visualize 2D plots, it is 100% Swing,
fully integrated with Matisse and the pallette. It is a
commercial software.
Allows tons of customizations thru its own customizer
Some performance issues due to Java when you have
millions of points.
Test JFreeChart and JavaFX but same issues
The only solution was using JOGL.
ExportingExporting
studioSL
OpenOffice.org
Calc
OpenOffice.org
Impress PowerPoint
Excel
CSV
PNG, JPG, BMP
Deck BuilderDeck Builder
XML MultiviewXML Multiview
User FeedBackUser FeedBack
It is hard to get some good feedback from the users.
If the program crashes, has problems, too slow they get angry but
they do not tell you.
Using The NetBeans Platform we can catch every exception that
occurs during the program.
ImagefromReidRosenberg
The crash information is sent to
our Bug Tracker with all the logs
and the information to contact the
user.
There is also a Submit a
suggestion menu.
Future ImprovementsFuture Improvements
Remote Job LauncherRemote Job Launcher:
Allows to executes Files on Remote machines
(SSH Based, Linux Server Only).
Taken from the C++ support from NetBeans.
LinksLinks
Streamsim
http://www.streamsim.com/
PE Commons
http://www.javaforge.com/project/streamsim
studioSL article @ Dzone by Matteo di Giovinazzo
http://netbeans.dzone.com/nb-reservoir-engineering-studiosl
My article on Guarded Sections
http://netbeans.dzone.com/nb-guarded-sections
My Email
scanti.rulla@gmail.com
Q&AQ&A
Fin

More Related Content

StudioSL Presentation in Grenoble 2011

  • 1. studioSLstudioSL A Modular ApplicationA Modular Application AlcunidirittiriservatiaChris-H奪vardBerge Some rights reserved Enrico Scantamburlo
  • 2. Who Am I ?Who Am I ? Enrico Scantambu Java Developer @ Streamsim Oracle Certified Master, Java SE 6 Developer Sun Certified Specialist Netbeans Sun Certified Web Component Developer LPIC-1 ..... http://it.linkedin.com/in/enricoscantamburlo
  • 3. Currently Based on NetBeans 6.5, 6.9 coming out shortly Modular Application (we sells separated modules) Most of the interfaces are OpenSource 2D/3D Plots Import/export from multiple sources A graphical user interface to Pre/Post process simulation models of oil, gas, and water flow in the subsurface
  • 4. All problems in computer science can be solved by another level of indirection... Except for the problem of too many layers of indirection. David Wheeler PE Commons API 1/3PE Commons API 1/3 Problems: Support several simulators Information scattered in VERY big files ( > 20 Gb/Go) Same actions on all Simulations Some data may be missing
  • 5. 3DSL(R) ECLIPSE(R) OTHERS PE Commons API LOOKUP 2D/3D Projects Simulations PE Commons API 2/3PE Commons API 2/3
  • 6. PE Commons API 3/3PE Commons API 3/3 They read only what we need They cache data using Java SoftReferences They share data between simulations They are replaced when the files change We use Providers TimeStepsDataProvider to provide the time information WellDataProvider to provide the list of well WellSequencesDataProvider to provider the sequences for each Well WellTypeDataProvider to provider the type for each Well StrucutredGridDataProvider to provider the grid Information .
  • 7. NBPlatform: A lifesaverNBPlatform: A lifesaver We use almost every feature of NetBeans Platform (6.5) FileChangeListeners Branding Syntax Highlighting CodeCompletion ContextAwareAction Lookup Nodes TopComponents and Modes OutputWindows Update Center Exception Handling Schliemann Preferences Multiview XMLMultiView ExplorerManagers TreeTableView RequestProcessor Matisse Projects Ant Layer Option Windows .
  • 8. 3D View 1/23D View 1/2
  • 9. 3D View 2/23D View 2/2 Currently using Java3D 1.5.2 (sigh!) Not very performing but easy to use and it does its job. Unsupported (community managed program) Java3D must be installed manually An NBM for every platform (Windows/Linux 32/64bit) Bundle the whole JRE Also tested JOGL VTK But too much work to replace it!
  • 10. 2D View 1/22D View 1/2
  • 11. 2D View 2/22D View 2/2 We use JClass to visualize 2D plots, it is 100% Swing, fully integrated with Matisse and the pallette. It is a commercial software. Allows tons of customizations thru its own customizer Some performance issues due to Java when you have millions of points. Test JFreeChart and JavaFX but same issues The only solution was using JOGL.
  • 15. User FeedBackUser FeedBack It is hard to get some good feedback from the users. If the program crashes, has problems, too slow they get angry but they do not tell you. Using The NetBeans Platform we can catch every exception that occurs during the program. ImagefromReidRosenberg The crash information is sent to our Bug Tracker with all the logs and the information to contact the user. There is also a Submit a suggestion menu.
  • 16. Future ImprovementsFuture Improvements Remote Job LauncherRemote Job Launcher: Allows to executes Files on Remote machines (SSH Based, Linux Server Only). Taken from the C++ support from NetBeans.
  • 17. LinksLinks Streamsim http://www.streamsim.com/ PE Commons http://www.javaforge.com/project/streamsim studioSL article @ Dzone by Matteo di Giovinazzo http://netbeans.dzone.com/nb-reservoir-engineering-studiosl My article on Guarded Sections http://netbeans.dzone.com/nb-guarded-sections My Email scanti.rulla@gmail.com
  • 19. Fin

Editor's Notes

  • #3: Tell something about Streamsim Where is located How we works
  • #4: Problems updating software We have to go to the clients and install it (Modular) NetBeans makes this easy PECommons later Java3D Jclass OFFICE, OPENOFFICE, PNG
  • #5: We are paid to do that, companies have their simulator (usually written in Fortran) they want some support Data is in server and must be trasmitted on network drives We do not want to write an action for every simulation Data is redundatly written in files
  • #6: We extract data from the lookup Completely DATA independent
  • #7: User can be on network driver VERY Slow Linux 50x Windows Java Reference naive methods, there are better choices Several simulation with same data or we merge two simulation We have a lookup event
  • #8: Only in java7 we have FileChangeListeners OutputWindow Del porco non si butta via niente Not the pallette And there are more in 7.0 Like annotations
  • #10: JOGL does not handle the scene VTK used for medical images
  • #12: Give explanation of Scattergram must create millions of Point.Double to plot
  • #14: Tell about Schliemann
  • #15: Talk about Schema2Beans and XAML Ask geertjan about schema2Beans page