Thoughts on a Research Platform Architecture
Does Research need an SAP?
Many enterprises run on SAP
SAP Platform Architecture
Business Applications
Foundational Components
bu
ilt o
n t
op
of
(delivers business value)
(simplifies business applications &simplifies integration)
R&D does not run on SAP!
SAP doesn’t have R&D business applications!
SAP is too bloody expensive!
Development’s SAP is Oracle
Oracle Platform Architecture
Business Applications
Foundational Components
(delivers business value)
(simplifies business applications &simplifies integration)
bu
ilt o
n t
op
of
Research does not run on Oracle (business apps + AIA)!
Oracle doesn’t have Research business applications!
Oracle is too bloody expensive!
Research doesn’t have an SAP
What would an SAP for Research look like?
Notice the foundational components of SAP and Oracle
are similar
WebLogic Application Server
Oracle Database
These components are available through open source
The open source versions in some cases are better than
COTS!
Apache Tomcat is more than sufficient for Research needs
(or even Microsoft IIS)
* The referenced open source products are not an endorsement, but just to demonstrate options are available.
Apache ActiveMQ is one of the best JMS providers.
RabbitMQ is a more technology agnostic messaging broker and scales better than
COTS options.
Full ESBs also available through open source.
* The referenced open source products are not an endorsement, but just to demonstrate options are available.
JBoss Drools provides a unified and integrated
platform for Rules, Workflow, Event Processing,
and Scheduling
* The referenced open source products are not an endorsement, but just to demonstrate options are available.
Eclipse BIRT reports can be delivered stand-
alone or embedded in business applications
* The referenced open source products are not an endorsement, but just to demonstrate options are available.
Let’s put it together…
Process Integration
Information Integration
Research Platform Architecture
Business Applications
Foundational Components
(delivers business value)
(simplifies business applications &simplifies integration)
bu
ilt o
n t
op
of
Application Server(Tomcat, JBoss, IIS)
Process Management(Drools)
Integration(RabbitMQ, Apache Mule)
Master Data Management(Lightweight implementation as defined by Pistoia)
Business Intelligence(Eclipse BIRT)
Scientific Applications
Vendor A Vendor B Vendor C
What does this give you?
BioPharma
Academia
Vendors
“An integrated platform allows me to focus on innovation instead of interoperability issues.”
“Horizontal capabilities are available to me. I can focus my energies on building scientific applications and not IT componentry.”
“I’m familiar with open source and love the price.”
But wait, there’s more…
There are business components that can be abstracted out as
well.
Such as generic inventory management
<application>
Biologics Inventory at Site X
This…
<application>
Biologics Inventory at Site Y
<application>
Biologics Inventory at Site Z
<application>
Small Molecule Central Inventory
<application>
Small Molecule Local Inventory
<application>
Small Molecule Reagent Inventory
<application>
Mouse Inventory
<application>
Other Animal Inventory
<application>
Cell Lines Inventory
and so on and so on!
This is what you have in your portfolio
<application>
Global Material Inventory
… becomes this!
Here’s the stack then.
Process Integration
Information Integration
Research Platform Architecture
Business Applications
Foundational Components
(delivers business value)
(simplifies business applications &simplifies integration)
bu
ilt o
n t
op
of
Application Server(Tomcat, IIS)
Process Management(Drools)
Integration(RabbitMQ, Apache Mule)
Master Data Management(Lightweight implementation as defined by Pistoia)
Business Intelligence(Eclipse BIRT)
Scientific Applications
Vendor A Vendor B Vendor C
Business Components
Inventory Management
others…
Let’s use Electronic Lab Notebooks (ELN) as an example
of what it might mean in practice
Suppose you want to integrate your reagent ordering system
<application>
ELN
<application>
Reagent Ordering System
?
By default, we perform tight brittle integrations. Boo!
<application>
ELN
<application>
Reagent Ordering System
RPC interface
Better is to leverage messaging for loose coupled integration.
<application>
ELN
<application>
Reagent Ordering System
Integration(RabbitMQ, Apache Mule)
XML/JSON message(possibility for data interchange standard)
Suppose you want to initiate a workflow from the ELN.
By default, we have uncoordinated workflow with little insight into
process metrics and optimization.
<application>
ELN
<application>
Compound Registration
<application>
Compound Distribution
<application>
Screening Assays
Alternatively, ELN inappropriately takes on process management responsibility.
Better is to leverage tooling to support process management.
<application>
ELN
<application>
Compound Registration
<application>
Compound Distribution
<application>
Screening Assays
Process Management(Drools)
• centralized workflow definition and management• centralization of business rules• process metrics
Suppose you want to generate compliance reports
By default, ELNs try to bundle generic reporting capabilities into
their product.
<application>
ELN
Business Intelligence
ELNs shouldn’t have generic reporting responsibilities. Vendors
shouldn’t attempt to build this themselves.
Better is to leverage a reporting platform.
<application>
ELN<report>
Compliance Report
Business Intelligence(Eclipse BIRT)
generate
embeddedreport in ELN
query
Suppose you want to query experiment data in a federated
ELN environment
Today there is no solution.
<application>
ELN<application>
ELNdisconnected
But we can enable this in a consistent way.
<application>
ELN<application>
ELN
Master Data Management(Lightweight implementation as defined by Pistoia)
query query
query
Imagine the possibilities if Research had an integrated
platform!