18
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

Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 2: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 3: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 4: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 5: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 6: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 7: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 8: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 9: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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…

Page 10: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 11: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 12: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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…..

Page 13: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 14: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 15: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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!

Page 16: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 17: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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

Page 18: Empower Toolkit Web Services From 0 -> 60 in 90 Minutes · Empower Toolkit Web Services From 0 -> 60 in 90 Minutes Richard Woodhead Informatics Kick Off Meeting February 2011 ©2011

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?