providing scientific solutions as an online service: a soap solution sp lake, afg taktak, ac fisher,...

23
Providing scientific solutions as an online service: a SOAP solution SP Lake, AFG Taktak, AC Fisher, R Teymouri Dept of Medical Physics & Clinical Engineering

Upload: jordon-worthley

Post on 13-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Providing scientific solutions as an online service: a SOAP solution

SP Lake, AFG Taktak, AC Fisher, R Teymouri

Dept of Medical Physics & Clinical Engineering

Overview

• Make the business case for reusing software

• Is it carried out in practice?

• Is there another way?

• Advantages/disadvantages

• Real world applications of the method

• Crank it up a notch

What is software in business terms?

Tangible Intangible HumanFinancial Technology Skills/know-how

Physical Brand/reputation Capacity for communication and collaboration

Culture Motivation

Grant, R.M. (2002) Contemporary Strategy Analysis, 4th edn, Oxford, Blackwell

Grant’s Classification of Resources*

What is software in business terms?

Tangible Intangible HumanFinancial Technology Skills/know-how

Physical Brand/reputation Capacity for communication and collaboration

Culture Motivation

Grant, R,M. (2002) Contemporary Strategy Analysis, 4th edn, Oxford, Blackwell

Grant’s Classification of Resources*

• Software is a tangible intangible, i.e. represents a physical form of technology in its bits and bytes

• It is also representative of know-how, i.e. how to carryout a process, which infers knowledge

• Real big point:

It doesn’t deplete the more you use of it

Software as a resource

• Radiotherapy treatment planning systems

• PACS

• Image analysis, e.g. Nuclear Medicine, MRI

• Signal analysis, e.g. physiological measurement

• External to MP&CE, e.g. decision support, medical device interfacing

Medical Physics & Clinical Engineering Software

Is there a market?

Development life cycle - investment

Project

Management

Specification

Design

Development

Testing

Implementation

Risk

Management

Development life cycle - investment

Project

Management

Specification

Design

Development

Testing

Implementation

Risk

Management

• How many people have reused software developed for one project on another?

• Isn’t this what object orientated programming was all about?

Straw poll

Opportunities to reuse code

On different products

On the same product in different components

On the same product in the same component on different versions

• Not worth the effort due to work involved designing for

reuse• It takes 3x the effort to build a reusable part compared

to building a part for one-time use• “Often doesn’t pay off” – John McGregor, Associate

Professor of Computer Science at University of Clemson• One area that is successful is the large scale reuse of

server components which represent business logic

http://www.informationweek.com/708/08iuhid.htm

Some criticisms of reuse

Architecture

Scientific solutionsPresentation

Layer

Application Layer

Data Layer

User Interface

Scientific algorithm

Data storage

ODBC Drivers

E.g. Microsoft SQL, Excel

E.g. m files in MatLAB

E.g. web pages, compiled apps

RPC Protocol

Scientific solutionsPresentation

Layer

Application Layer

Data Layer

User Interface

Scientific algorithm

Data storage

ODBC Drivers

E.g. Microsoft SQL, Excel

E.g. m files in MatLAB

E.g. web pages, compiled apps

RPC Protocol? CORBA, MS RPC

or SOAP

• XML Structured Packet• Contains a method name, input and output

data• Can be transferred in a number of ways,

FTP, email or http etc• W3C Standard• Supported by many languages and

applications

Simple Object Access Protocol

MatSOAP Gateway

• Application logic is held on central server so updates are easier to manage and IP protected

• http usually already configured to traverse firewalls• Can focus on mathematical logic first without getting

distracted by the look and feel of the user interface• Multiple front ends can be used all calling the same

proven mathematical logic, e.g. web pages, desktop applications, mobile applications and even MS Office

Advantages

• Application needs to be designed as a series of

short, autonomous, sets of routines:– No such thing as a session – client holds

credentials– Record locking between calls is not allowed– The order of RPCs should not be important– Long processing needs to be done in the

background and polled for– Asynchronous use takes real careful design to

avoid LOF (leaps of faith)

Disadvantages

MATSOAP Application: Clinical, Research, Teaching (Web based)

A gateway (Bridge) to convert SOAP Protocol to MATLAB Command line.

MATSOAP VBA Module Call

Excel on client machine

Returned Excel Workbook

creates a COM server application running the Microsoft Excel spread sheet program

Validate Workbook Vs. Master Protocol

Check User Requested analysis Type

Perform Analysis

Create returning Excel File

MATSOAP Application: Excel Interface

By using multiple front end applications all working with the same backend can accommodate explosion in new devices, e.g. Mobile phones and tablets

MATSOAP Objective C Module Call

MATLAB to perform a simple

product calculation

MATSOAP Application: Mobile App, Xcode

A gateway (Bridge) to convert SOAP Protocol to MATLAB Command line.

• There is a strong business case for designing software

for reuse• It isn’t always worth the effort, e.g. MP&CE• With the exception of server components• Architecturally splitting off the application logic• SOAP has an important part to play• We’ve demonstrated how this can be done with MatLAB• There are many advantages but you need to rethink

your approach to design

In conclusion

Thank you

MatSOAP is available foc from:

http://www.matsoap.org.uk/