enterprise development for mars and other alien places€¦ · enterprise development for mars and...
TRANSCRIPT
Enterprise Development for Marsand Other Alien PlacesBEA eWorld 2004 ConferenceMoscone Center, San FranciscoKeynote Address, May 26, 2004
Ronald MakUniversity Affiliated Research Center (UARC)University of California at Santa CruzNASA Ames Research Center
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 2
Presentation Agenda
Mission OverviewThe Collaborative Information PortalMiddleware Architecture
The Ten Martian Principlesof Enterprise Development
Conclusion
Mission Overview
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 4
Mars Exploration Rovers MissionTwin robot geologists search for past liquid water.
Launched: June 10 and July 7, 2003Landed: January 3 and 24, 2004Duration: 90+ days(extended mission could runthrough September 2004)
Mission Center:Jet Propulsion Laboratory Pasadena, CA
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 5
The mission has been a great success …
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 6
Key scientific discoveries
Scientists now believe that liquid waterdid indeed cover parts of the surface of Mars in the past.
More discoveries are being written up in prestigious scientific journals …
The Collaborative Information Portal
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 10
Daily ProcessDaily process for each rover team
Receive downlink of data from a roverProcess and analyze resultsPlan tomorrow’s activitiesConstruct rover command sequenceSend uplink of command sequence to rover
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 11
Mission Needs
Time management
Data management
Personnelmanagement
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 12
Schedule viewer
Event horizon
Broadcast messages
Clocks
Tool tabs
The Collaborative Information Portal (CIP)
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 13
ClocksTick-over at top-of-minute
UTC shown in Day of Year
Local time
Time at DSN location
Time atcollaborator’slocation
Mars timedisplayedin Sols
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 14
Schedule Viewer
Multiple time scales
Unified schedules
Schedule update indicator
“Now” bar
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 15
Data Product Navigator
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 16
New Files
Duration
Icons
Files
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 17
CIP is a Mission–Critical Application
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 18
CIP is used everywhere …
… inside mission control
… in the science labs
… in homes and offices
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 19
Three–Tiered Enterprise Architecture
ClientJava application (Swing)
Middleware ServerWeb services, Enterprise JavaBeans,Java Message Service
Data RepositoryDatabase (Oracle)File monitor (Java application)Data loader (Java application)
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 20
Architecture Overview
CIP Middleware
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 22
Middleware “bilities”
AccessibilityScalabilityExtensibilityReliabilityAdjustabilityAdaptabilityMaintainabilitySecurity–bility
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 23
But the bottom line for middleware is …
Make the client applications look good.
Remain invisible to the users.
“What server?”
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 24
CIP Middleware ServicesUser management
Metadata
Schedules
Mars and Earth time
File and directory
Message
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 25
Middleware Technologies
Enterprise JavaBeans (EJBs) to achieve reliability, scalabilty, security, platform independence, and standards.
Stateless session beansStateful session beansMessage–driven beans
Web services to expose the remote methods of the Service Provider EJBs to the client applications.
Java Message Service (JMS) for synchronous and asynchronous messaging.
BEA WebLogic application server.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 26
Middleware ArchitectureFIREWALL
FIREWALL
HTTPS
HTTPS
• Web Servicesexpose the remote methods of the Service Provider beans.
WebLogic Application Server
SOAPProcessor
Service ProviderRemote Stateless
Session EJBWeb
ServiceClient Stub
WebService
Client Stub
SOAPProcessor
Service ProviderRemote Stateless
Session EJB
WebService
Client StubHTTPS
• Stateless session beans are the Service Providers.
ApplicationJava
ApplicationJava
ApplicationC++
HTTPS
• HTTPS encrypts the transmissions and gets them through the firewall.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 27
FIREWALL
FIREWALL
Caching Data
HTTPS
Cache Registry
• Stateful session beans cache data in memory.
JDBC
JDBC
JDBC
DatabaseSOAP
Processor
DataLocal Stateful Session EJB
DataLocal Stateful Session EJB
DataLocal Stateful Session EJB
Service ProviderRemote Stateless
Session EJB
WebLogic Application Server
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 28
FIREWALL
FIREWALL
File MonitorApplication
Event Notification
“A new pancamimage filehas just been downloadedfrom Mars!”
• Publish-subscribe model with topics
JMS Server
WebLogic Application Server
SchedulesTopic
HTTPSSOAP
Processor
Service ProviderRemote Stateless
Session EJB
MessageConverter
JMSConsumer
User ProxyLocal Stateful Session EJB
MonitorTopicResources
Topic
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 29
FIREWALL
FIREWALL
Broadcast Message Service
• Message–driven bean (MDB) archives broadcast messages to persistent storage for later retrieval.
MessageArchive
JMS Server
WebLogic Application Server
JDBC
JDBC
SOAPProcessor
Service ProviderRemote Stateless
Session EJB
PublisherLocal Stateless
Session EJB
DelegateLocal Stateless
Session EJB
ArchivistMDB
MessageConverter
User ProxyLocal Stateful Session EJB
JMSConsumer
HTTPS
Broadcast MessagesTopic
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 30
Middleware Utility
Real-time monitoringof the middleware
Memory usageNumber of users
Cache performanceFile downloadsDatabase response time
Server response timeCurrent server uptime
Expose the invisible
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 31
Stress TestingSimulate users performing interactive operations
Can the server handle a heavy load?
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 32
Middleware Performance
Enterprise JavaBeans and WebLogicReliable: continuous server uptime of over 46 days
Scalable: handle heavy loads well
Good performance: average response time ~0.1 second
Flexible: plug–in, hot–redeployable services
Web servicesGood interface between clients and EJBsEasy for clients to connect and request servicesGood performance: ~100 MB per hour throughput
Language independent: Java and C++ client applications
The Ten Martian Principles of Enterprise Development
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 34
Martian Principle #1
The real challenge of enterprise developmentis not in the coding.
It’s in the integration.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 35
Martian Principle #2
A software architecture is only as goodas its implementation.
If there are multiple implementations,then the architecture is only as good asits worst implementation.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 36
Martian Principle #3
Software architecture is all about the 5 D’s:
DesignDevelopmentDebuggingDeploymentDmaintenance
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 37
Martian Principle #4
Adhere to industry standards.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 38
Martian Principle #5
Use commercial off–the–shelf toolswhenever possible.
Don’t reinvent the wheel.Purchase tech support contracts.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 39
Martian Principle #6
Keep your services independent of each other.
Be able to swap services in and outas needed.Use hot deployment.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 40
Martian Principle #7
Make each service dynamically configurable.
Use property files.Implement a read properties request.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 41
Martian Principle #8
Put in hooks for run–time, real–time monitoring.
Log everything!Expose the invisible.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 42
Martian Principle #9
Do lots of stress testing.
If you don’t find the limits of your application, your users will …… at the most inopportune moments.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 43
Martian Principle #10
Keep it simple!
Enterprise development is hard enoughas it is …… whether on Mars or on Earth.
Conclusion
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 45
Summary
The Collaborative Information Portalis a key component of theMars Exploration Rovers mission.
CIP is a successful integration of Java technologies, web services, and theBEA WebLogic application server.
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 46
CIP Development Team
Roy BrittenLouise ChanSanjay DesaiMatt D’OrtenzioGlen Elliott (JPL)Bob FilmanDennis HeherKim HubbardSandra JohanLeslie Keely
Carson LittleVish MagapuRonald MakQuit NguyenTarang PatelJohn SchreinerElias SindersonJoan WaltonBob Wing (JPL)
Keynote Address, May 26, 2004 BEA eWorld 2004 Conference 47
Contact information
[email protected] government mail server
[email protected] e–mail addresseswww.apropos-logic.com