PlugIT results: Methods and experiences for application integration and production Juha Mykkänen HIS R & D Unit, University of Kuopio PlugIT seminar 30.

Slides:



Advertisements
Similar presentations
Connected Health Framework
Advertisements

1 Skilling Up for Patient-Centered E-Health E. Vance Wilson University of Wisconsin-Milwaukee.
Lecture # 2 : Process Models
CS487 Software Engineering Omar Aldawud
Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
Training of master Trainers Workshop 10 – 15 November 2012 e-Services Design and Delivery Module IIX Emilio Bugli Innocenti.
Requirements Analysis INCOSE Systems Engineering Boot Camp
Design and Evaluation of Iterative Systems n For most interactive systems, the ‘design it right first’ approach is not useful. n The 3 basic steps in the.
Dr. Ralph R. Young Director of Software Engineering PRC, Inc. (703) Fifth IEEE International Symposium on Requirements Engineering.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Introduction to Software Testing
1 Juha Mykkänen (ed.) University of Kuopio, HIS R&D Unit Health Kuopio seminar Brussels, 5 November 2004 Health Information Systems and Information Technology.
© 1998 Concept Five Technologies Enterprise Application Integration Capability Maturity Model.
Standardization and Interoperability in healthcare IT Export HIS Shanghai & Guangzhou seminars Juha Mykkänen Health Information Systems R & D Unit University.
Enterprise Architecture
Release & Deployment ITIL Version 3
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
CSI315 Web Technology and Applications
Managing Software Quality
Software Engineering Reuse.
Reuse Standards Dr. Carma McClure Extended Intelligence, Inc. Copyright (c) 1998 by Extended Intelligence, Inc.
N By: Md Rezaul Huda Reza n
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Dr. Ralph R. Young Director of Software Engineering Systems and Process Engineering Northrop Grumman Information Technology (703)
ISO 9000 & TOTAL QUALITY ISO 9000 refers to a group of quality assurance standards established by the International Organization for Standardization.This.
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1.
Help Desk System How to Deploy them? Author: Stephen Grabowski.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
EHealth Partners Finland Finnish Agency for Technology and Innovation Tekes grants no /06 and 70030/06 Architecture, Interoperability,
Juha Mykkänen University of Kuopio, HIS R&D Unit Health Kuopio seminar Brussels, 5 November 2004 SerAPI project: Service-oriented architecture and Web.
1 Dr. Ralph R. Young Director of Software Engineering PRC, Inc. (703) DOORS USER GROUP CONFERENCE Reston, VA September 17,
F Healthcare software services - open interfaces and standards in Finland HL7/OMG Healthcare Services Specification Project London, 31 Jan 2006 Juha Mykkänen,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Life after PlugIT in Kuopio; Research projects in FINNWELL- program (TEKES) Anneli Ensio, Research Director University of Kuopio Department of Health Policy.
A National Study of eHealth Standardization in Finland - Goals and Recommendations Medinfo 2007 Brisbane Wed 22 Aug, Session S126, 4 PM Juha Mykkänen a,
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
TERMINOLOGY TECHNOLOGY MANAGEMENT Increasing linguistic quality with our.
PlugIT results: Open integration solution specifications and application interfaces Juha Rannanheimo, researcher, PlugIT-project Marko Sormunen, Mika Tuomainen,
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Smart Home Technologies
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Association of Enterprise Architects International Committee on Enterprise Architecture Standards Jan 23, Collaborative Expedition Workshop #57aeajournal.org.
SE513 Software Quality Assurance Lecture12: Software Reliability and Quality Management Standards.
Systems Development Life Cycle
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
OBJECT ORIENTED VS STRUCTURED WHICH ONE IS YOUR CHOICE.
Pragmatics 4 Hours.
Essential Needs of Software Test Automation
Integrating Quality Activities in the Project Life Cycle
The Systems Engineering Context
Software Processes (a)
Chapter 16 – Software Reuse
Introduction to Software Engineering
Introduction to Software Testing
CS310 Software Engineering Lecturer Dr.Doaa Sami
CHAPTER 14 SETTING A DIRECTION FOR INFORMATION RESOURCES
Chapter 16 – Software Reuse
CHAPTER 14 SETTING A DIRECTION FOR INFORMATION RESOURCES
Presentation transcript:

PlugIT results: Methods and experiences for application integration and production Juha Mykkänen HIS R & D Unit, University of Kuopio PlugIT seminar 30 August 2004, Kuopio

In this presentation Challenges for application integration and production PlugIT application integration results (other than interfaces), some examples PlugIT application production and development results, some examples Experiences Where to find more information –marked with [ ]

Recognized challenges for application integration Heterogeneity on many levels: functionality, technology, architecture, standards, terminologies Software processes (research + standardization) do not consider existing applications, lack of implementations Integration solutions (industry) cheap and fast (once), expensive and laboursome (repeated), lack of systematic approach Different types of integration needs (usability, redundancy, interactivity, data transfer) Huge amount of local adaptation  Integration specification methods, integration models  Precise definition, standardization, conformance testing

Recognized challenges for application production Lack of reuse Need for architectural vision Migration from legacy systems New technologies give new possibilities  Component-based software-engineering Quality problems in applications  Software verification and validation, software testing Gather experiences, apply several different methods, technologies and tools

Goals of method portfolios (in 2002) How to Plug IT (integration) –integrate application easier, faster, more efficiently –define and test new approaches for integration –support open interfaces with examples, methods and practices –improve reuse of integration solutions –increase use of standards and ease their introduction How to Do IT (production) –efficient production of new applications  move towards component- and service-based development –support tool selections for application production and integration –support software development process (engineering, implementation, testing, introduction, maintenance) with methods and tools –identify and acknowledge integration goals in software production

Results: background studies etc. (integration AND production) Survey of current status of healthcare software development [15] Number of related studies –technologies [1] –tools [2] –testing methods and tools [various] –healthcare standards [various, 3, 16] Workshops –biannual seminar workshops (interface and method development, training) –software testing day –BEA Systems, Microsoft, Oracle, PICNIC workshops

Results: Application Integration

Results: Integration methods Supporting assets for integration work (and interfaces) of PlugIT project –multilateral collaboration for open integration specification [4] –integration specification process for integration projects in general [4] –specification guidelines and examples [4] –evaluation and selection of standards [3] –PlugIT interface conformance testing (PlugIT-leima) [5] –reference implementations [5] –dynamic model for integration of business applications [15] Available for integration solution specification and evaluation of integration solutions

Goals of application integration Process and workflow improvements, e.g. reduce overlapping actions (re-keying, maintenance, development) and data Right information, right place,right time –users / professionals + management (~EAI)  PlugIT focus –partner organizations, regional systems (~B2B) –customers, patients (~B2C) Cost savings Requirements for methods and solutions –reduce local tailoring, repeatability, reuse –low introduction threshold for real-world integration projects –must fit into various organizations, application environments, technologies –must find balance between: Local requirements + Standards + Existing systems –emphasis on collaboration and open solutions

Phases in integration project Requirements-driven Goal-oriented Multilateral Participants have also ”other duties” In PlugIT –open specifications (design) –local or product-specific implementation [adapted from: Saranummi, Tolppanen: Järjestelmäintegraatio-projektin vaiheet, 2003.] Project startup Funcional design Technical design Application finalization/ implementation of components Implementation of process changes, education Deployment, introduction Project conclusion Design phase Implementation phase Constant process improvement

Results: multilateral integration + specifications [4] [Mykkänen, Tikkanen, Rannanheimo, Eerola, Korpela. Specification Levels and Collaborative Definition for the Integration of Health Information Systems. Proceedings of Medical Informatics Europe 2003]. Three types of participants – solutions must benefit all Background, prioritization, design – real needs Specification of open and reusable integration solutions Benefits of implementation and introduction

Results: how to define integration solutions? [4] [Mykkänen, Porrasmaa, Rannanheimo, Korpela: A process for specifying integration for multi-tier applications in healthcare. Int J Med Inf 2003:70(2-3): ] Requirements + process improvement Solutions in the participating applications Healthcare-specific standards and models Technology standards, tool support Incremental specification, examples and guidelines for phases, aim at comprehensive and accurate solutions, but straightforward and repeatable method

Results: Conformance testing in PlugIT [5]

Results: Conformance testing experiences [5] Developed and used conformance testing method, test cases and test tool with Context management case Test suite (test cases, reports, tools) for conformance testing Specifications (and their conformance clauses) not enough for certification Implementations required to validate specifications –reference implementations provided by PlugIT: also testing services needed Testing gives valuable feedback –to software developers, quality improvement –to the specification process and standardization –interface testing is not certification, necessary but not sufficient for interoperability

Dynamic model for the integration in enterprise service architecture [15] Dynamic model to improve interoperability of business applications in service-based architecture Businesses produce outcome products in collaborative networks Business process of an enterprise or an organisation is seen as set of services Business process consists of result of several services Evolve software architecture with service paradigm to improve integration of business applications Goal is to provide an information system migration path for enterprises to achieve business goals and competitiveness Karhunen H: Dynaaminen malli liiketoimintasovellusten integroimiseksi. PlugIT-hankkeen selvityksiä ja raportteja 15.

Experiences from multilateral integration definition and implementation [4] 9 teams, 14 integration targets, different types of needs Specification and implementation of integration solutions –Knowledge of integration domain necessary in solution specification –Most urgent integration needs in first iterations (minimum level), versioning –Specification and implementation as separate “projects”, especially in open integration (implementation benefits, protection of competitive edge) –Controlled introduction of new solutions and technologies, migration for applications and organizations, reference implementations Standards and local solutions –Standards, technologies and tools have effects on many levels, support and resources needed to evaluate solutions –Top-down: healthcare-specific standards should be based on common technologies –Bottom-up: collection of solutions from existing applications requires, generalization (design conventions, harmonization, standardization process) –Evaluation and certification is necessary, external certification authority –Flexibility using open technologies and separation of data from functionality Multilateral integration projects –Participants from different disciplines, combination of expertise, common language –Management-level commitment – requirements, resources, timeframe –Research group as a neutral moderator in specification, “consultant” in implementation –Local and product-specific aspects (introduction, maintenance, ownership) separated from open specification [Mykkänen, Porrasmaa, Korpela, Häkkinen, Toivanen, Tuomainen, Häyrinen, Rannanheimo. Integration Models in Health Information Systems: Experiences from the PlugIT project. Medinfo 2004].

Results: Software development process

Results: software development process Technology and tool studies [1,2] Pakkanen: case study of software development process [13] –requirements engineering –component-based software –related to integration and testing in PlugIT Software testing methods and studies [various] –UML-based testing –testing component-based systems –how to test software –control of testing processes –testing tools, automatization –defect management

Pakkanen: case study of software development methods [13] Piloting many different methods for software design and development: Case: user id management (university) Applied component-based software design process (Cheesman&Daniels) Requirements: combination of three methods, input for design Design: defined service architecture, interfaces, components, database Implementation: implemented components using many tools and technologies (J2EE,.NET), database migration example, integration example Testing: system and acceptance testing Evaluated methods and technologies: main lesson: Adequate specifications before implementation provide savings in implementation, deployment and maintenance – understanding does not necessarily require laborious analysis

Pakkanen publication: Soveltamiskokemuksia ohjelmistotuotannon menetelmistä: vaatimusmäärittely, käyttöliittymäsuunnittelu, arkkitehtuurisuunnittelu, toteutus ja testaus. [13]

Pakkanen: implementation tools used [13] = user interface= application logic

Results: software testing [various] Identified goal: improve methods and practices for software quality assurance and testing UML-based testing Testing component-based systems How to test software Control of testing processes Testing tools, automatization Defect management Software inspections

Testing results examples Applied software inspection method with Pakkanen [13] –goal: to introduce and evaluate the inspection method –two inspection meetings were organized –results: increased quality of documentation: about 40 improvement suggestions/defects in one meeting Research of Test Process Management -Levels and methods of Software Testing -Sample test documents with test cases More examples tomorrow –component-based testing –testing experiences of a Hospital Information System

Summary These results are not separated from requirements (previously today) or integration solutions (next) Application integration and development are more and more related –1/3 of system acquisition costs deals with integration Requirements and testing phases in software development (and integration) need more support –methods, tools, relation to development Interdisciplinary research teams and multilateral collaboration to achieve concrete goals –new ideas, useful results –and new research topics..

References [1] Component and service technology families. Mykkänen, Sormunen, Karvinen, Tikkanen, Päiväniemi. Studies and reports of the PlugIT project 1. [2] Ohjelmistotuotannon välineselvitys - näkökulmia terveydenhuollon ohjelmistoyrityksen välinesalkun kokoamiseen. Karvinen, Riekkinen, Virkanen, Mykkänen, Sormunen, Porrasmaa, Tikkanen. PlugIT-hankkeen selvityksiä ja raportteja 2. [3] Standardien arviointi ja valinta terveydenhuollon sovellusintegraatiossa. Mykkänen, Häyrinen, Savolainen, Porrasmaa. PlugIT-hankkeen selvityksiä ja raportteja 3. [4] Terveydenhuollon sovellusintegraatioratkaisujen määrittely. Mykkänen, Porrasmaa, Rannanheimo, Tikkanen, Sormunen, Korpela, Häyrinen, Eerola, Häkkinen, Toivanen. PlugIT-hankkeen selvityksiä ja raportteja 4. [5] Avointen integrointiratkaisujen hyödyntäminen, toteuttaminen ja testaus. Mykkänen, Toroi, Karhunen, Virkanen, Mäki, Sormunen, Rannanheimo, Tuomainen. PlugIT-hankkeen selvityksiä ja raportteja 5.

References [13] Soveltamiskokemuksia ohjelmistotuotannon menetelmistä: vaatimusmäärittely, käyttöliittymäsuunnittelu, arkkitehtuurisuunnittelu, toteutus ja testaus. Riekkinen, Karvinen, Virkanen, Reponen, Ikävalko, Silvennoinen, Savolainen, Porrasmaa, Laitinen. PlugIT-hankkeen selvityksiä ja raportteja 13. [14] Ohjelmistotuotannon nykytilaselvitys kohderyhmänä terveydenhuollon ohjelmistoyritykset ja organisaatiot. Porali, Riekkinen, Pohjolainen, Mykkänen, Toroi, Kärkkäinen, Eerola. PlugIT-hankkeen selvityksiä ja raportteja 14. [15] Dynaaminen malli liiketoimintasovellusten integroimiseksi. Karhunen. PlugIT-hankkeen selvityksiä ja raportteja 15. [16] HIPAA-lainsäädäntö terveystietojen sähköisen käsittelyn näkökuömasta - katsaus USA:n terveyslakiin. Reponen. PlugIT-hankkeen selvityksiä ja raportteja 16. [various] See: