Upload
phungngoc
View
214
Download
0
Embed Size (px)
Citation preview
08-Sep-11
1
©2011 Waters Corporation 1
Empower Toolkit Web Services
From 0 -> 60 in 90 Minutes
Richard Woodhead
Informatics Kick Off Meeting
February 2011
©2011 Waters Corporation 2
Presentation Overview
� What is the toolkit and why is it important?
� Mechanics of the Toolkit
� What are web services?
— How do web services affect the Empower Toolkit?
� Empower Toolkit Web Services
— Demonstration of potential application
� Discussion and Questions
08-Sep-11
2
©2011 Waters Corporation 3
What is the Toolkit?
Why is it Important?
©2011 Waters Corporation 4
What is the toolkit?
� There are 3 specific files associated with the Empower Toolkit
— X:\Empower\MilTk.dll
— X:\Empower\MilTKEx1.dll
— X:\Empower\Bin\mtkctrl.oca
� The Toolkit is:
— Documentation on how to use the dll’s
— Examples of use of the dll’s
— Support in using the dll’s
— Also known as API, Software Development Kit (SDK)
— A common concept
o Most of the competitors to Empower have a toolkit
08-Sep-11
3
©2011 Waters Corporation 5
Aims of the Toolkit
� To provide a development tool that allows a customer to create
applications that integrate with Empower.
� To give a customer access to a robust, organised, secure, stable
and validated mechanism via which they can interact with
Empower.
� To offer a broad spectrum of functionality, covering the core
functions of Empower as exposed by the standard user
interfaces.
©2011 Waters Corporation 6
Empower
Toolkit
Areas of Functionality
Data Access
Administration Access
Empower Functionality
Empower Events
Integration and Data Flow
Data Modification, Update/Calculation
Workflow Control / Simplification
Administration Tasks
Enhancement or Companion Products
Automation
08-Sep-11
4
©2011 Waters Corporation 7
Who Uses the Toolkit?
� Our Customers
— 1999 to 2010 – 680 Copies Sold (Average of 60 copies a year)
— All of our major customers have purchased and use the toolkit
o GSK, Jansen, BI, Amgen, Eli Lilly, Pfizer, Abbott….
— Embeds our products, adds value and increases dependency
� Our Partners
— Work on behalf of our customers to solve challenges
— By building relationships we give customers confidence
— Maximise business opportunities
� Waters
— To build companion products and tools
— Integration with other Informatics Applications
— To provide additional services to our customers
©2011 Waters Corporation 8
Where Empower & the Toolkit fit in a large Enterprise Footprint
08-Sep-11
5
©2011 Waters Corporation 9
Pfizer - Custom Example
� Pfizer used the Empower Toolkit to build a custom user interface, controlling workflow and reducing complexity.
� What is Open Access?
— A simple CDS user interface for routine sample submission
— Used by chemist with minimal knowledge of operating a chromatographic system
— 50% of analysis in Analytical Services Lab can be done via Open Access
— Provides 30% more sample throughput
— 8x faster sample turnaround time
� What is the benefit to customers?
— Provides efficiency gains and ROI to Analytical Services
Lab
©2011 Waters Corporation 10
Pfizer - Custom Example
Select instrument
Select MethodSet (group)
Input sample set information
08-Sep-11
6
©2011 Waters Corporation 11
Examples of Customer Use
� BART (BI)
— Additional Admin functionality based upon different perspectives.
� Custom calculation (BI)
— Perform custom calculations that are beyond normal custom fields
� Project Creation (AZ)
— Enforce and automate project lifecycles
� Generation of Method Sets and Instrument methods (BI)
— Based upon sample set custom fields imported from Excel.
©2011 Waters Corporation 12
Examples of customer use
� Integration with LIMS systems
� Sample Weight Importer
— Import sample and component weights into a sample set method
via a direct integration to balance
� LAC\E Reboot Application
— Check systems are idle before rebooting a LAC\E
� Export of raw data to file for import into third party products
— i.e. SDMS and Inspector
08-Sep-11
7
©2011 Waters Corporation 13
Partners
©2011 Waters Corporation 14
Waters and the Toolkit
� Waters uses the toolkit internally for 3 main reasons:
— Internal Toolkit Applications
o Build applications that add functionality which is not part of the core application
o Waters -> SAP Interface, Systems AQT, etc.
— Integration of Empower with our own software
o Allowing us to sell laboratory solutions with SDMS and VP
— Companion Products
o Applications are developed by partners working with Waters to enhance our software
o ACD – Chemical Structures option
o S-Matrix – Fusion Method Development
08-Sep-11
8
©2011 Waters Corporation 15
Benefits of the Toolkit
� To protect the integrity, security and validation of Empower whilst allowing customers to integrate with and customise our core product.
� CDS is not the only software in the laboratory, we need to be a team player
— The ability to communicate with other lab systems is a key requirement in forming a complete solution for the customer.
� One application will never fit all of our customers perfectly— The Toolkit enables customers to maximise the value that
Empower gives by working with the core product to support unique requirements.
� We are seeing an industry shift towards Enterprise deployments
— Lab solutions rather than discreet software packages.
— These solutions represent significant long term investment in laboratory software.
©2011 Waters Corporation 16
Mechanics of the Toolkit
08-Sep-11
9
©2011 Waters Corporation 17
The Toolkit and Oracle
� There is no direct contact between Empower Toolkit Applications
and the Empower Oracle database
— All access is through the Empower dll’s
� Applications built using the Empower toolkit aren’t affected by:
— Database changes
— Changes to the Empower Core product
— Toolkit applications work on more than one version of Empower.
o Versions newer than the version they were built on.
©2011 Waters Corporation 18
Empower Toolkit Security
� Toolkit must pass exactly the same security credentials as
Empower
— Database, Username, Password
— Needs a PROJECT as well
— The project that you log into has no bearing on some of the
functionality
o i.e. create user….
— But will be used when relevant
— There can be only 1 project
— You can only work in 1 project at once…
08-Sep-11
10
©2011 Waters Corporation 19
How the Toolkit Connects to Empower
Toolkit dll’s
Empower User Interfaces
Base dll’s
Mil0
Mil1
Mil2
Mil3
MilRes
XXX
CMgr
XXX
SSEditorEmpower
MilTk.dll
MilTkEx1.dll
MTkCtrl.dll
Custom Application
Empower DB
©2011 Waters Corporation 20
DCOM Connectivity
COM and DCOM Connectivity
COM Connectivity
08-Sep-11
11
©2011 Waters Corporation 21
Toolkit limitations
� The toolkit has two limitations created at the process level
— Only one login can exist at any one time
o A login is tied to 1 specific project
— The toolkit can only do one thing at once
o Single Threaded
o Shared SQL connections make multiple queries conflict
� 1 User for 1 Application
— Typically 1 user working on 1 client
©2011 Waters Corporation 22
Using the Empower Toolkit within an Enterprise Architecture
08-Sep-11
12
©2011 Waters Corporation 23
What are web services?
How do they affect the Empower Toolkit?
©2011 Waters Corporation 24
What is a web service?
� Web services are the natural advancement of COM
� Designed to allow communication with a known application from an unknown third part application— COM was integral to windows and within an OS
— Web services are hosted on a port, completely independent of the OS
� Benefits— Extremely flexible
o Understood communication methods ie. http, TCP
o Published protocols
— Very scalable
o Components of a larger application can be split over a number of servers
o Many instances of the same components can be started
� Essentially, pretty much anything can talk to a web service with http web services— .NET Applications, Java Applications, IPAD, Blackberry etc.
— The web service and the calling application are completely separate
o E.g. http communication through a specified URL
� Web Services are the backbone of UNIFI…..
08-Sep-11
13
©2011 Waters Corporation 25
Public Web Services
� There are hundreds of public web services available for general
consumption
� Example web service listings
— http://www.webservicex.net/ws/wscatlist.aspx
— Weather forecast web service
� Web services are:
— Quite simple in the way they work
— Self describing
©2011 Waters Corporation 26
Web Service Example
08-Sep-11
14
©2011 Waters Corporation 27
Empower from an Web Service
©2011 Waters Corporation 28
Empower Client
Web Service Host Application
Web Service Overview
Empower
Empower Toolkit
MilTk.dllmilTkEx1.dll
Web Service
Web Service
Web Service
Web Service
Web Service Consumer
Web Service Consumer
Web Service Consumer
Web Service Consumer
COM
08-Sep-11
15
©2011 Waters Corporation 29
Why did Empower have to change?
� The toolkit has two limitations created at the process level
— Only one login can exist at any one time
— The toolkit is single threaded
� A web service or web application
— Would work in 1 process
— Handles multiple clients
o Each client needs to maintain its own Empower login
— Runs multiple threads
o Allowing services to handle lots of clients efficiently
Web applications cannot integrate with Empower2!
©2011 Waters Corporation 30
Empower3 FR1 Toolkit Changes
� The toolkit has been ‘Web Enabled’
— Multiple logins can now be handled
— Multiple threads are now managed effectively
� There are some special functions for using web services
— A guide will be available to instruct on their use
� These changes have not broken existing older applications
— The solution is clever enough to work out if you are creating
multiple logins
Web applications can integrate with Empower3 FR1!
08-Sep-11
16
©2011 Waters Corporation 31
Clarifying Changes to the Toolkit
� So, does the Toolkit now have Web Services ?
� Empower core product will not include web services— Encapsulating the Empower toolkit would require a considerable
number of web services
— Conducting this development internally would require significant investment
— We cannot predict how the toolkit will be used
� The toolkit is now:
� By removing the limitations outlined:— It is possible now for customers to specify and build web applications
or services that rely upon the Empower toolkit
— Waters will provide resources and expertise to assist
©2011 Waters Corporation 32
Empower Client
Web Service Overview
Empower
Empower Toolkit
MilTk.dllmilTkEx1.dll
Web Service Consumer
Web Service Consumer
Web Service Consumer
Web Service Consumer
Web Service Host Application
Web Service
Web Service
Web Service
Web Service
COM
08-Sep-11
17
©2011 Waters Corporation 33
Types of Applications
� Web Applications
— Can be accessed from any device with a browser
� Web Service Applications
— Build components that can be used from many devices/applications
o Blackberry
o IPOD
o IPAD
o Third party applications
� Applications can now offer Empower functionality whilst being
completely removed from an Empower Installation
©2011 Waters Corporation 34
Revisit uses of the Toolkit
� Customers and Partners
— Integrate Empower applications into their own applications without
a dependency on the Empower Client installation or DCOM
— Server to Server connection is now easier
o A server app can now make many connections to Empower
using Empower login credentials.
— Web applications can now be built to control Empower
o No installation required on client machines
o Integration into larger web based systems.
— Web services control what and how much data is transferred over
the network
o Perform all toolkit queries on the server, just send the required
data to the client application.
o More efficient than an Empower client calling to the server
08-Sep-11
18
©2011 Waters Corporation 35
Empower from an Enterprise Architecture
Instruments
Balances
SDMS
HR
3rd PartyCustom
Data
eLN
LIMS
Empower
©2011 Waters Corporation 36
Questions?