Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Providing scientific solutions as an online service: a SOAP solution SP Lake, AFG Taktak, AC Fisher, R Teymouri Dept of Medical Physics & Clinical Engineering."— Presentation transcript:

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

2 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

3 What is software in business terms? TangibleIntangibleHuman FinancialTechnologySkills/know-how PhysicalBrand/reputationCapacity for communication and collaboration CultureMotivation Grant, R.M. (2002) Contemporary Strategy Analysis, 4 th edn, Oxford, Blackwell Grant’s Classification of Resources*

4 What is software in business terms? TangibleIntangibleHuman FinancialTechnologySkills/know-how PhysicalBrand/reputationCapacity for communication and collaboration CultureMotivation Grant, R,M. (2002) Contemporary Strategy Analysis, 4 th edn, Oxford, Blackwell Grant’s Classification of Resources*

5 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

6 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?

7 Development life cycle - investment Project Management Specification Design Development Testing Implementation Risk Management

8 Development life cycle - investment Project Management Specification Design Development Testing Implementation Risk Management

9 How many people have reused software developed for one project on another? Isn’t this what object orientated programming was all about? Straw poll

10 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

11 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

12 Architecture

13 Scientific solutions Presentation 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

14 Scientific solutions Presentation 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

15 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

16 MatSOAP Gateway

17 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

18 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

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

20 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

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

22 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

23 Thank you MatSOAP is available foc from: http://www.matsoap.org.uk /


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

Similar presentations


Ads by Google