120
1 Developing Enterprise Applications A technology perspective V. “Juggy” Jagannathan Associate Professor of Computer Science West Virginia University VP of Research MedQuist

Developing Enterprise Applications A technology perspective

  • Upload
    daryl

  • View
    51

  • Download
    0

Embed Size (px)

DESCRIPTION

Developing Enterprise Applications A technology perspective. V. “Juggy” Jagannathan Associate Professor of Computer Science West Virginia University VP of Research MedQuist. Disclosure. MedQuist, Inc. sells and operates enterprise dictation and transcription software. . Tutorial Goals. - PowerPoint PPT Presentation

Citation preview

Page 1: Developing Enterprise Applications  A technology perspective

11

Developing Enterprise Applications A technology perspective

V. “Juggy” JagannathanAssociate Professor of Computer Science

West Virginia University

VP of ResearchMedQuist

Page 2: Developing Enterprise Applications  A technology perspective

22

DisclosureDisclosure

MedQuist, Inc. sells and operates MedQuist, Inc. sells and operates enterprise dictation and transcription enterprise dictation and transcription

software. software.

Page 3: Developing Enterprise Applications  A technology perspective

33

Tutorial GoalsTutorial Goals Provide overview of the technologies Provide overview of the technologies

that are relevant for the that are relevant for the development and deployment of development and deployment of enterprise solutions – in particular enterprise solutions – in particular ASP solutionsASP solutions

Allow participants to evaluate where Allow participants to evaluate where the technology is headedthe technology is headed

Use transcription industry as the Use transcription industry as the main examplemain example

Page 4: Developing Enterprise Applications  A technology perspective

44

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 5: Developing Enterprise Applications  A technology perspective

55

What is an ASP?What is an ASP?

Application Service Provider (ASP) provides Application Service Provider (ASP) provides applications to customers on a applications to customers on a subscription basis. ASPs provide for all the subscription basis. ASPs provide for all the infrastructure needs to host the application infrastructure needs to host the application and rely on Internet or Intranets to deliver and rely on Internet or Intranets to deliver the applications to customers. the applications to customers.

ASPs are Enterprise Applications and need ASPs are Enterprise Applications and need to satisfy a wide range of stringent to satisfy a wide range of stringent requirements.requirements.

Page 6: Developing Enterprise Applications  A technology perspective

66

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 7: Developing Enterprise Applications  A technology perspective

77

ASP RequirementsASP Requirements

FlexibilityFlexibility SecuritySecurity ReliabilityReliability AvailabilityAvailability ScalabilityScalability EvolvabilityEvolvability PerformancePerformance SupportabilitySupportability MaintainabilityMaintainability InteroperabilityInteroperability

Platform IndependencePlatform Independence Location IndependenceLocation Independence Open Standards and SystemsOpen Standards and Systems Architectural ChoicesArchitectural Choices

Page 8: Developing Enterprise Applications  A technology perspective

88

FlexibilityFlexibility Ability to configure solutions that Ability to configure solutions that

satisfies customer’s workflow satisfies customer’s workflow needs. needs.

For the transcription industry:For the transcription industry:– Dictation workflowDictation workflow– Transcription workflowTranscription workflow– Signature workflowSignature workflow– Routing workflowRouting workflow

It is the process stupid! Not technology. – Mike Waldrum, UAB

Page 9: Developing Enterprise Applications  A technology perspective

99

Flexibility – Edge ComputingFlexibility – Edge Computing

Off-Premise Computation

Internet

On-Premise Computation

Focus computation where it can be mosteffective to meet the needs of the workflow

Page 10: Developing Enterprise Applications  A technology perspective

1010

SecuritySecurity Compliant with all HIPAA’s upcoming Compliant with all HIPAA’s upcoming

regulations. regulations. Encryption of communication.Encryption of communication. Stringent access control. Stringent access control. Audit trails. Audit trails. Physical security of premisesPhysical security of premises Virus protection & Intrusion detectionVirus protection & Intrusion detectionEncryption...is a powerful defensive weapon for free people. It offers a technical guarantee of privacy, regardless of who is running the government... It's hard to think of a more powerful, less dangerous tool for liberty. Esther Dyson

Page 11: Developing Enterprise Applications  A technology perspective

1111

ReliabilityReliability No work is ever lost. No work is ever lost. No document is ever lost and no No document is ever lost and no

document ever gets corrupted.document ever gets corrupted. What backup and recovery What backup and recovery

strategies are in place? strategies are in place? How well is the physical How well is the physical

infrastructure (Data center) infrastructure (Data center) protected? Fire protection?protected? Fire protection?

There are only two kinds of computer users: those who have lost data in a crash, and those who will lose data in

a crash – Bob LeVitus

Page 12: Developing Enterprise Applications  A technology perspective

1212

AvailabilityAvailability What guarantees is the ASP willing to What guarantees is the ASP willing to

provide? provide? What down time are you willing to tolerate?What down time are you willing to tolerate? How can you find out? How can you find out? What happens when a server goes down? Is What happens when a server goes down? Is

there a backup?there a backup? What happens when there is a power What happens when there is a power

blackout? Is there backup power source?blackout? Is there backup power source? What happens if there is a network outage? What happens if there is a network outage?

Is there a backup?Is there a backup? Is there a backup data center?Is there a backup data center? Is there a disaster recovery plan?Is there a disaster recovery plan?

Page 13: Developing Enterprise Applications  A technology perspective

1313

AvailabilityAvailability# of hours of # of hours of downtimedowntime

FormulaFormula Uptime Uptime %age%age

5 5 minutes/yearminutes/year

(8760 – (8760 – 5/60)/87605/60)/8760

99.999 % 99.999 % [five 9s][five 9s]

1 hour/year1 hour/year 8759/87608759/8760 99.99 %99.99 %

52 52 hours/yearhours/year(1 hr/week)(1 hr/week)

8708/87608708/8760 99.4%99.4%

# of hours per year = 365*24 = 8760

Page 14: Developing Enterprise Applications  A technology perspective

1414

ScalabilityScalability What happens when there are more What happens when there are more

users? More volume? How easy is it to users? More volume? How easy is it to upgrade infrastructure? upgrade infrastructure?

Does the company have the financial Does the company have the financial where with all to improve the where with all to improve the infrastructure? Sooner or later, infrastructure? Sooner or later, scalability means to add additional scalability means to add additional hardwarehardware..

Just as we could have rode into the sunset, along came the Internet, and it tripled the significance of the PC. Andy Grove

Page 15: Developing Enterprise Applications  A technology perspective

1515

EvolvabilityEvolvability How easy is it to upgrade? Can one How easy is it to upgrade? Can one

user be upgraded without upgrading user be upgraded without upgrading others? others?

What are the technological What are the technological underpinnings? underpinnings?

Are there automatic upgrades?Are there automatic upgrades? Solutions must be engineered to Solutions must be engineered to

continuously evolve and leverage continuously evolve and leverage the latest in internet technologies. the latest in internet technologies.

Whoever desires constant success must change his conduct with the times - Machiavelli

Page 16: Developing Enterprise Applications  A technology perspective

1616

PerformancePerformance What benchmarks are available?What benchmarks are available? Time to submit reports? Time to submit reports? Retrieve reports? Retrieve reports? Retrieve and sign? Retrieve and sign? Performance under heavy load? No Performance under heavy load? No

load? load? What is the degradation? What is the degradation? Is it acceptable to the user Is it acceptable to the user

community?community? Can you work off-line?Can you work off-line?

Technology is so much fun but we can drown in our technology. The fog of information can drive out knowledge. Daniel J. Boorstin

Page 17: Developing Enterprise Applications  A technology perspective

1717

SupportabilitySupportability Can the user manage their own support Can the user manage their own support

needs? Is it web-based? needs? Is it web-based? What infrastructure support is What infrastructure support is

available?available? Is it 24x7, 365 days? How long does it Is it 24x7, 365 days? How long does it

take to respond? take to respond? Does it cause downtime to your work?Does it cause downtime to your work?

Computers shouldn't be unusable. You don't need to know how to work a telephone switch to make a phone call, or how to use the Hoover Dam to take a shower, or how to work a nuclear-power plant to turn on the lights. Scott McNealy

Page 18: Developing Enterprise Applications  A technology perspective

1818

MaintainabilityMaintainability Who is maintaining the software?Who is maintaining the software? How is maintenance and software How is maintenance and software

evolution managed?evolution managed? What is the technology basis that What is the technology basis that

facilitates maintenance?facilitates maintenance? Use of advanced component and Use of advanced component and

object-oriented technologies object-oriented technologies facilitates software maintenance facilitates software maintenance and evolution.and evolution.

Correct me if I'm wrong - the gizmo is connected to the flingflang connected to the watzis, watzis connected to the doo-dad connected to the ding dong. Patrick B. Oliphant

Page 19: Developing Enterprise Applications  A technology perspective

1919

InteroperabilityInteroperability How easy is it interface to the How easy is it interface to the

system?system? Does it provide open APIs?Does it provide open APIs? Does it support XML-based data Does it support XML-based data

exchange? Document exchange? Document interchange?interchange?

Does it support HL7 standards?Does it support HL7 standards?

Page 20: Developing Enterprise Applications  A technology perspective

2020

Platform Platform What is the platform used? What is the platform used? Is it Windows or Unix platform?Is it Windows or Unix platform? Does it support both leveraging Does it support both leveraging

the strengths of both the strengths of both platforms?platforms?

Page 21: Developing Enterprise Applications  A technology perspective

2121

Location IndependenceLocation Independence Can users work from home?Can users work from home? Over low speed modem lines?Over low speed modem lines? Work in LAN, WAN Work in LAN, WAN

environments over secure environments over secure lines?lines?

Can they be mobile workers Can they be mobile workers using their PDAs?using their PDAs?

Page 22: Developing Enterprise Applications  A technology perspective

2222

Open StandardsOpen Standards What standards are supported?What standards are supported? Internet standards: HTTP, XML, Internet standards: HTTP, XML,

Web services etc.Web services etc. Object Standards: CORBA, Object Standards: CORBA,

DCOMDCOM Healthcare standards: HL7Healthcare standards: HL7 Security Standards: PKI, SSLSecurity Standards: PKI, SSL

Page 23: Developing Enterprise Applications  A technology perspective

2323

Architecture ChoicesArchitecture Choices Platform Choices – Microsoft, OMG, Platform Choices – Microsoft, OMG,

Java, Web servicesJava, Web services Off-premise, on-premise, edge Off-premise, on-premise, edge

computing trade-offscomputing trade-offs Thin vs. Thick clients. Trade-offs in Thin vs. Thick clients. Trade-offs in

functionality, performance and functionality, performance and supportability.supportability.

The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency. Bill Gates

Page 24: Developing Enterprise Applications  A technology perspective

2424

Broad Requirements for Broad Requirements for Transcription IndustryTranscription Industry

Need to support the dictation and Need to support the dictation and document authoring processdocument authoring process

Need to support transcribing and Need to support transcribing and document creation processdocument creation process

Need to support the physician Need to support the physician review and sign-off processreview and sign-off process

Need to support the document Need to support the document distribution processdistribution process

Page 25: Developing Enterprise Applications  A technology perspective

2525

Broad Requirements for Broad Requirements for Transcription IndustryTranscription Industry

Hosting of Enterprise Hosting of Enterprise Transcription Solution for the Transcription Solution for the following types of customers:following types of customers:– HospitalsHospitals– Physician groupsPhysician groups– Transcription Service ProvidersTranscription Service Providers– Independent ContractorsIndependent Contractors

Page 26: Developing Enterprise Applications  A technology perspective

2626

Typical ASP Use Case ScenarioTypical ASP Use Case Scenario

TSP1

Hospitals/Clinics

S1

TSP2

TSP3

S2

S3

S4

S5Transcription

Service ProvidersTranscriptionists

Clinicians

Page 27: Developing Enterprise Applications  A technology perspective

2727

Implementation Alternatives Implementation Alternatives Off-premise - hosted solution Off-premise - hosted solution

– typically viewed as the ASP – typically viewed as the ASP modelmodel

Edge Computing Model – a Edge Computing Model – a hybrid model combining ASP hybrid model combining ASP and on-premise solutionand on-premise solution

On-premise solutionOn-premise solution

Choice of solution depends on organization’s goals and objectives

Page 28: Developing Enterprise Applications  A technology perspective

2828

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 29: Developing Enterprise Applications  A technology perspective

2929

Platform ChoicesPlatform Choices

Platform StandardsPlatform Standards– Object Management Group (OMG) Object Management Group (OMG)

CORBA Infrastructure and approach CORBA Infrastructure and approach – Web services – the new kid on the blockWeb services – the new kid on the block

Other Popular PlatformsOther Popular Platforms– Sun J2EE PlatformSun J2EE Platform– Windows .NETWindows .NET

Host of other vendor platformsHost of other vendor platforms– OracleOracle– IBMIBM– IonaIona

Page 30: Developing Enterprise Applications  A technology perspective

3030

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 31: Developing Enterprise Applications  A technology perspective

3131

CORBA Technology CORBA Technology OverviewOverview

Distributed Object Distributed Object InfrastructureInfrastructure

Page 32: Developing Enterprise Applications  A technology perspective

3232

Heterogeneity is PermanentHeterogeneity is Permanent Programming languagesProgramming languages

– ~3 million COBOL programmers~3 million COBOL programmers– ~1.6 million VB programmers~1.6 million VB programmers– ~1.1 million C/C++ programmers~1.1 million C/C++ programmers

Operating systemsOperating systems– Unix, MVS, VMS, MacOS, Windows (all 8!), Unix, MVS, VMS, MacOS, Windows (all 8!),

PalmOS…PalmOS…– Windows 3.1: it’s still out there!Windows 3.1: it’s still out there!– Embedded devices (mobile, set-top, etc.)Embedded devices (mobile, set-top, etc.)

NetworksNetworks– Ethernet, ATM, IP, SS7, Firewire, USBEthernet, ATM, IP, SS7, Firewire, USB– Bluetooth, 802.11b, HomeRFBluetooth, 802.11b, HomeRF

Courtesy: Richard Mark Soley, CEO & Chairman of OMG

Page 33: Developing Enterprise Applications  A technology perspective

3333

Where Can We Agree?Where Can We Agree? There will not be consensus on hardware platformsThere will not be consensus on hardware platforms There will not be consensus on operating systemsThere will not be consensus on operating systems There will not be consensus on network protocolsThere will not be consensus on network protocols There will not be consensus on programming There will not be consensus on programming

languageslanguages

There must be consensus on interfaces There must be consensus on interfaces and interoperability!and interoperability!

Courtesy: Richard Mark Soley, CEO & Chairman of OMG

Page 34: Developing Enterprise Applications  A technology perspective

3434

Who Are OMG?Who Are OMG?2ABAlcatelBEABorlandBoeingCACitigrou

pEricssonFordFujitsu

Glaxo SmithKline

Hewlett Packard

HitachiHyperionIBMIONAio SoftwareKabiraKennedy

CarterLION

Bioscience

RationalSAPSAS

InstituteSiemensSonySofteamSprintSunUnisysW3C

John Deere MicrosoftMITREMSC.Softw

areNASANECNISTNTTOASISOracle

Courtesy: Richard Mark Soley, CEO & Chairman of OMG

Page 35: Developing Enterprise Applications  A technology perspective

3535

Integration Technology - CORBAIntegration Technology - CORBA

– The Common Object Request The Common Object Request Broker Architecture is the standard Broker Architecture is the standard adopted by OMG as a framework adopted by OMG as a framework to provide common ORB services to provide common ORB services and interfaces to support portable and interfaces to support portable clients and services.clients and services.

– The Object Request Broker (ORB) The Object Request Broker (ORB) provides the mechanisms by which provides the mechanisms by which clients transparently make clients transparently make requests and receive responses. requests and receive responses.

Page 36: Developing Enterprise Applications  A technology perspective

3636

CORBA (continued)CORBA (continued)

Advantages offered by CORBA:Advantages offered by CORBA:– architecture independence (hardware architecture independence (hardware

and operating system independence)and operating system independence)– language independencelanguage independence– location independencelocation independence

The standard specifies the Interface The standard specifies the Interface Definition Language (IDL) - language Definition Language (IDL) - language used to describe the interfaces that used to describe the interfaces that client objects call and object client objects call and object implementations provide.implementations provide.

Page 37: Developing Enterprise Applications  A technology perspective

3737

CORBA Architecture – CORBA Architecture – Simple viewSimple view

ServersServers

ORB

C++JavaAda otherC C++JavaAda otherCClientsClients ServerServer

Client RequestsClient RequestsIDL-based

ServiceServiceIDL-based

Page 38: Developing Enterprise Applications  A technology perspective

3838

UML and Model Driven ArchitectureUML and Model Driven Architecture

UML provides higher level abstraction to UML provides higher level abstraction to software designsoftware design

By focusing on models, higher levels of By focusing on models, higher levels of interoperability can be achieved.interoperability can be achieved.

OMG’s MDA operationalizes this approach – OMG’s MDA operationalizes this approach – where models can be defined in UML but where models can be defined in UML but implemented using EJB, DCOM or implemented using EJB, DCOM or Webservices.Webservices.

Page 39: Developing Enterprise Applications  A technology perspective

3939

OMG Platform and ApproachOMG Platform and Approach

An approach that can be An approach that can be combined with any combined with any implementation considered.implementation considered.

Based on evolving technologies, Based on evolving technologies, standards and approaches.standards and approaches.

Provides an approach to Provides an approach to integrate with CORBA, EJB (JAVA integrate with CORBA, EJB (JAVA platform), .NET and Web platform), .NET and Web services.services.

Page 40: Developing Enterprise Applications  A technology perspective

4040

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 41: Developing Enterprise Applications  A technology perspective

4141

Web Services - JargonWeb Services - Jargon Basis – XML TechnologyBasis – XML Technology Web Services Description Language Web Services Description Language

(WSDL)(WSDL) Simple Object Access Protocol Simple Object Access Protocol

(SOAP)(SOAP) Universal Description, Discovery, Universal Description, Discovery,

and Integration (UDDI)and Integration (UDDI) Other elements – ebXML, SAML, Other elements – ebXML, SAML,

XKMS, X-KISS and a host of other XKMS, X-KISS and a host of other effortsefforts

Page 42: Developing Enterprise Applications  A technology perspective

4242

XML Technology XML Technology OverviewOverview

Page 43: Developing Enterprise Applications  A technology perspective

4343

Emerging Importance of XMLEmerging Importance of XML

HTML-tagging is display oriented.HTML-tagging is display oriented. XML-based content tagging has important XML-based content tagging has important

uses:uses:– data miningdata mining– role-oriented display customizationrole-oriented display customization– intelligent searching and other value added intelligent searching and other value added

elementselements Wide spread industry support for this new Wide spread industry support for this new

open standardopen standard– MicrosoftMicrosoft– NetscapeNetscape– W3C is pushing the standardization effortsW3C is pushing the standardization efforts

Complementary technology to HTML-based Complementary technology to HTML-based web browsersweb browsers

Page 44: Developing Enterprise Applications  A technology perspective

4444

Requirements best addressed by XMLRequirements best addressed by XML

Customizing front-end applications - Customizing front-end applications - easy presentation of what users want easy presentation of what users want to seeto see

Data miningData mining Synthesis type applications - Synthesis type applications -

combining multiple information combining multiple information sourcessources

Electronic commerce-type Electronic commerce-type applicationsapplications

Structured Data ExchangeStructured Data Exchange

Page 45: Developing Enterprise Applications  A technology perspective

4545

XML MarkupXML Markup Elements and attributesElements and attributes Entity ReferencesEntity References CommentsComments Processing InstructionsProcessing Instructions Marked SectionsMarked Sections Document Type Definitions Document Type Definitions

(DTDs)(DTDs) Now, XML SchemasNow, XML Schemas

Page 46: Developing Enterprise Applications  A technology perspective

4646

ElementsElements Bounded by start and end tagsBounded by start and end tags Sample markupSample markup

<Patient> <Patient> <FirstName> Frank</FirstName> <FirstName> Frank</FirstName> <LastName> Foster</LastName> <LastName> Foster</LastName>

</Patient></Patient> Patient, LastName, FirstName Patient, LastName, FirstName

are all entity tags.are all entity tags.

Page 47: Developing Enterprise Applications  A technology perspective

4747

AttributesAttributes

Name-value pairs included as part of Name-value pairs included as part of start tags.start tags.

Sample markupSample markup<APatient patientID=“123” FirstName=“Frank” <APatient patientID=“123” FirstName=“Frank”

LastName=“Foster”>LastName=“Foster”><Insurance> Blue Cross </Insurance><Insurance> Blue Cross </Insurance><Insurance> HMO </Insurance> <Insurance> HMO </Insurance>

</APatient></APatient> FirstName and LastName in the example FirstName and LastName in the example

above are attribute declarations.above are attribute declarations.

Page 48: Developing Enterprise Applications  A technology perspective

4848

Document Type DefinitionsDocument Type Definitions Allows the expression of Allows the expression of

constraints on tagsconstraints on tags Defines sequencing and nesting Defines sequencing and nesting

of tagsof tags Defines attributes and values Defines attributes and values

and defaultsand defaults Allows specification of external Allows specification of external

file referencesfile references

Page 49: Developing Enterprise Applications  A technology perspective

4949

XML SchemasXML Schemas Replaces DTDsReplaces DTDs Is in XML format (DTD’s are Is in XML format (DTD’s are

not)not) Supports data typing (DTD’s Supports data typing (DTD’s

didn't)didn't) Schemas are extensibleSchemas are extensible XML Schemas – next generation XML Schemas – next generation

of DTDs.of DTDs. Wide industry supportWide industry support

Page 50: Developing Enterprise Applications  A technology perspective

5050

XML’s evolving family of standardsXML’s evolving family of standards

XML Linking Specification (XLL)XML Linking Specification (XLL) Resource Directory Framework (RDF)Resource Directory Framework (RDF) Style sheetsStyle sheets

– CSS Cascading Style sheetsCSS Cascading Style sheets– XSL - XML Style sheet Specification XSL - XML Style sheet Specification

LanguageLanguage Document Object Model (DOM)Document Object Model (DOM) XML SchemasXML Schemas Provides the basis for Web Services Provides the basis for Web Services

and Simple Object Access Protocol and Simple Object Access Protocol (SOAP)(SOAP)

Page 51: Developing Enterprise Applications  A technology perspective

5151

Web Services Web Services Definition Definition LanguageLanguage

WSDLWSDL

Page 52: Developing Enterprise Applications  A technology perspective

5252

What is WSDLWhat is WSDL Web Services Definition LanguageWeb Services Definition Language It is equivalent of IDL for Web ServicesIt is equivalent of IDL for Web Services It is in XML Schema formatIt is in XML Schema format It defines an EXTENSIBLE framework for It defines an EXTENSIBLE framework for

specifying web services interfacesspecifying web services interfaces Developed originally by Microsoft and IBM Developed originally by Microsoft and IBM

and now being put through its paces in and now being put through its paces in W3C.W3C.

W3C working on Version 1.2 of WSDL right W3C working on Version 1.2 of WSDL right now (Fall 2003).now (Fall 2003).

Page 53: Developing Enterprise Applications  A technology perspective

5353

WSDL: What does it support?WSDL: What does it support?

Data type definitionsData type definitions Messages supportedMessages supported Operations supportedOperations supported Port type (an aggregation of Port type (an aggregation of

messages and operations)messages and operations) Binding (what protocol supports the Binding (what protocol supports the

service – ala SOAP)service – ala SOAP) Port – target address where service Port – target address where service

is availableis available Service – aggregation of port typesService – aggregation of port types

Page 54: Developing Enterprise Applications  A technology perspective

5454

WSDL ServiceWSDL Service

WSDL WSDL specifications are specifications are published in a published in a URL.URL.

Clients download Clients download this specification, this specification, pick a particular pick a particular protocol to protocol to communicate communicate with the service with the service (binding) and use (binding) and use that protocol.that protocol.

OperationOperationOperation

BindingBindingBinding

Port Type

OperationOperationOperation

BindingBindingBinding

Port Type

OperationOperationOperation

BindingBindingBinding

Port Type

Web Service

Page 55: Developing Enterprise Applications  A technology perspective

5555

SOAP...SOAP...

It is a It is a SSimple imple PProtocol that allows rotocol that allows you to you to AAccess an ccess an OObject through bject through

the net.the net.Courtesy: Yan Liu, my student.

Page 56: Developing Enterprise Applications  A technology perspective

5656

SOAP MotivationsSOAP Motivations Heterogeneous systems Heterogeneous systems mustmust be able be able

to communicateto communicate Binary protocols don’t always workBinary protocols don’t always work

– CORBA, DCOM, etc. don’t work well through CORBA, DCOM, etc. don’t work well through firewallsfirewalls

– Nobody can agree on a standard binary format Nobody can agree on a standard binary format (usually due to platform-related issues)(usually due to platform-related issues)

– We’re dealing with many heterogeneous We’re dealing with many heterogeneous environments (MVS, Unix, Windows NT, Linux, environments (MVS, Unix, Windows NT, Linux, PalmOS, etc.)PalmOS, etc.)

– Component runtimes differComponent runtimes differ– Security models differ (Kerberos, NTLM, OSF-DCE)Security models differ (Kerberos, NTLM, OSF-DCE)

Courtesy: Yan Liu, my student.

Page 57: Developing Enterprise Applications  A technology perspective

5757

What SOAP is...What SOAP is...

SOAP is a specification for defining...SOAP is a specification for defining...– an encoding style that uses XML to an encoding style that uses XML to

represent information graphsrepresent information graphs– a standard way to move XML with HTTPa standard way to move XML with HTTP– rules for passing messagesrules for passing messages– error (fault) definitionerror (fault) definition– a medium for performing Remote a medium for performing Remote

Procedure Calls (RPC)Procedure Calls (RPC)– one layer in a multi-layer architectureone layer in a multi-layer architectureCourtesy: Yan Liu, my student.

Page 58: Developing Enterprise Applications  A technology perspective

5858

Courtesy: Yan Liu, my student.

SOAP Contains Four Parts:SOAP Contains Four Parts:

An extensible envelope expressing An extensible envelope expressing (mandatory)(mandatory)– whatwhat features and services are represented in a features and services are represented in a

message;message;– whowho should deal with them, should deal with them,– whetherwhether they are optional or mandatory. they are optional or mandatory.

A set of encoding rules for data A set of encoding rules for data (optional)(optional)– Exchange instances of application-defined data types Exchange instances of application-defined data types

and directed graphsand directed graphs– Uniform model for serializing abstract data models Uniform model for serializing abstract data models

that can not directly be expressed in XML schemathat can not directly be expressed in XML schema A Convention for representation RPC A Convention for representation RPC (optional)(optional)

– How to make calls and responsesHow to make calls and responses A protocol binding to A protocol binding to HTTPHTTP and and HTTP-EFHTTP-EF (optional)(optional)

Page 59: Developing Enterprise Applications  A technology perspective

5959

<Envelope>

<Header>

<transId>1234</transId>

</Header>

<Body>

<Add>

<a>3</a>

<b>4</b>

</Add>

</Body>

</Envelope>

c = Add(a, b)

Courtesy: Yan Liu, my student.

SOAP - Simple ExampleSOAP - Simple Example

Page 60: Developing Enterprise Applications  A technology perspective

6060

<<Envelope>Envelope> <Header><Header> <transId>1234</transId><transId>1234</transId> </Header></Header> <Body><Body> <Add><Add> <a>3</a><a>3</a> <b>4</b><b>4</b> </Add></Add> </Body></Body></Envelope></Envelope>

<<Envelope>Envelope> <Header><Header> <transId>1234</transId><transId>1234</transId> </Header></Header> <Body><Body> <AddResponse><AddResponse> <c>7</c><c>7</c> </AddResponse></AddResponse> </Body></Body></Envelope></Envelope>

Courtesy: Yan Liu, my student.

System Flow (HTTP)System Flow (HTTP)

Page 61: Developing Enterprise Applications  A technology perspective

6161

SOAP – Example from SOAP – Example from healthcarehealthcare

Example RequestExample Request<soap:Envelope> <soap:Envelope> <header> …. </header><header> …. </header> <soap:Body> <soap:Body> <GetName> <GetName> <MR#>123456</MR#> <MR#>123456</MR#> </GetName> </GetName> </soap:Body> </soap:Body> </soap:Envelope></soap:Envelope>

Example Example ResponseResponse

<soap:Envelope> <soap:Envelope> <header> …. </header><header> …. </header> <soap:Body> <soap:Body> <GetNameResponse> <GetNameResponse> <Name>John <Name>John

Doe</Name> Doe</Name> </GetNameResponse> </GetNameResponse> </soap:Body> </soap:Body> </soap:Envelope></soap:Envelope>

Page 62: Developing Enterprise Applications  A technology perspective

6262

Transport (e.g. HTTP)

Application

Envelope/Header/Body

TCP/IP

Message Encoding

Transport (e.g. HTTP)

Web Service

Envelope/Header/Body

TCP/IP

Message Encoding

Interface Semantics Interface Semantics

SOAP ExecutionSOAP Execution

Courtesy: Yan Liu, my student.

Page 63: Developing Enterprise Applications  A technology perspective

6363

SOAP – ConclusionsSOAP – Conclusions Basis for Web servicesBasis for Web services Significant component of Significant component of

Microsoft’s .NET platformMicrosoft’s .NET platform Supported by everyoneSupported by everyone Has a strong futureHas a strong future

Page 64: Developing Enterprise Applications  A technology perspective

6464

Universal Universal Description, Description,

Discovery and Discovery and IntegrationIntegration

(UDDI)(UDDI)

Page 65: Developing Enterprise Applications  A technology perspective

6565

UDDI – What is it?UDDI – What is it? A vehicle to locate operational A vehicle to locate operational

web servicesweb services Similar to Domain Name Similar to Domain Name

Service (DNS) lookupService (DNS) lookup Embodies the concepts of Embodies the concepts of

“White Pages and Yellow “White Pages and Yellow Pages”.Pages”.

Page 66: Developing Enterprise Applications  A technology perspective

6666

UDDI ElementsUDDI Elements White Pages: Business Name, White Pages: Business Name,

Contact Info, DUNS etcContact Info, DUNS etc Yellow Pages: Business Yellow Pages: Business

categories, key-value pairs of categories, key-value pairs of relevant informationrelevant information

Green Pages: Technical Green Pages: Technical information on how to connect information on how to connect to web servicesto web services

Page 67: Developing Enterprise Applications  A technology perspective

6767

UDDI Process SupportedUDDI Process Supported Business registers its web service Business registers its web service

(information that put in white, yellow (information that put in white, yellow and green pages).and green pages).

The information gets propagated to The information gets propagated to all UDDI servers (replicated)all UDDI servers (replicated)

Customers contact known registriesCustomers contact known registries Locate appropriate service and Locate appropriate service and

invoke them.invoke them. Main protocol supported is SOAP.Main protocol supported is SOAP.

Page 68: Developing Enterprise Applications  A technology perspective

6868

Web Services Current StatusWeb Services Current Status

Evolving rapidly – strong support for Evolving rapidly – strong support for SOAP and WSDL has decent support.SOAP and WSDL has decent support.

UDDI is little further away.UDDI is little further away. All vendors are incorporating various All vendors are incorporating various

components of Web servicescomponents of Web services Web services is the future – right Web services is the future – right

now people have to deal with other now people have to deal with other component technologiescomponent technologies

Page 69: Developing Enterprise Applications  A technology perspective

6969

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 70: Developing Enterprise Applications  A technology perspective

7070

Java and J2EE Java and J2EE PlatformPlatform

OverviewOverview

Page 71: Developing Enterprise Applications  A technology perspective

7171

J2EEApplication

Server

J2EE ArchitectureJ2EE Architecture

JAF

JavaMail

JMS

JDB

C

JTA

JND

I

RM

I/IIOP

Servlets JSPsTag

Library

Web Container

JAF

JavaMail

JMS

JDB

C

JTA

JND

I

RM

I/IIOP

EJB ContainerSessionBeans

EntityBeans

RDBMS Mail ServerJava App.

CORBA Server

DirectoryService

Message Queue

XHTMLXML

Applet

ClientApp.

HTTP(S)

Reproduced with Permission from Java Server Programming J2EE Edition – Wrox Press, Ltd, 2000

Page 72: Developing Enterprise Applications  A technology perspective

7272

J2EE Platform ComponentsJ2EE Platform Components JAXP 1.0 – Java API for JAXP 1.0 – Java API for

XML ProcessingXML Processing JDBC 3.0 – Java Data JDBC 3.0 – Java Data

Base ConnectivityBase Connectivity RMI over IIOPRMI over IIOP EJB 2.1 – Enterprise EJB 2.1 – Enterprise

Java BeansJava Beans Java Servlets 2.4Java Servlets 2.4 Java Server Pages 2.0Java Server Pages 2.0

Java Message Service 1.0Java Message Service 1.0 Java Naming and Java Naming and

Directory Interface (JNDI) Directory Interface (JNDI) 1.21.2

Java Transaction API 1.0Java Transaction API 1.0 JavaMail 1.1 J2EE JavaMail 1.1 J2EE

Connector Architecture Connector Architecture 1.01.0

Java Authentication and Java Authentication and Authorization Service 1.0Authorization Service 1.0

Page 73: Developing Enterprise Applications  A technology perspective

7373

J2EE PlatformJ2EE Platform Strong and proven platformStrong and proven platform Evolving constantlyEvolving constantly Already supports various APIs Already supports various APIs

to develop and deploy web to develop and deploy web servicesservices

Page 74: Developing Enterprise Applications  A technology perspective

7474

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 75: Developing Enterprise Applications  A technology perspective

7575

.NET Platform.NET PlatformClient App. Users

Web Services

WebForms

.NET Framework

HT

TP

SOA

P

UD

DI

OD

BC

DC

OM

.NE

T

Web serversWeb serversWeb serversWeb serversWeb servers.NET servers

Page 76: Developing Enterprise Applications  A technology perspective

7676

.NET Components.NET Components .NET framework.NET framework

– Common Language Runtime (CLR) Common Language Runtime (CLR) librarylibrary

– ActiveX Data Objects - (ADO.NET)ActiveX Data Objects - (ADO.NET)– Active Server Pages – (ASP.NET) and Active Server Pages – (ASP.NET) and

supports Web Services (UDDI, WSDL & supports Web Services (UDDI, WSDL & SOAP)SOAP)

– .NET Compact framework for PDAs.NET Compact framework for PDAs– .NET Remoting (RPC support).NET Remoting (RPC support)

Visual Studio .NETVisual Studio .NET– VB, C++, C#, Jscript… all compile to VB, C++, C#, Jscript… all compile to

MSIL (Microsoft Intermediate Language) MSIL (Microsoft Intermediate Language) and utilize CLR.and utilize CLR.

Page 77: Developing Enterprise Applications  A technology perspective

7777

.NET Framework.NET Framework Microsoft’s big push to open Microsoft’s big push to open

standards and support for XML-standards and support for XML-based solutionsbased solutions

Fully supports web services Fully supports web services approachapproach

Microsoft is an active participant in Microsoft is an active participant in W3C efforts and is a strong W3C efforts and is a strong proponent of standardization of web proponent of standardization of web services and related technologies. services and related technologies.

Page 78: Developing Enterprise Applications  A technology perspective

7878

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 79: Developing Enterprise Applications  A technology perspective

7979

Security ConcernsSecurity Concerns

AuthenticationAuthentication Authorization and access controlAuthorization and access control Data IntegrityData Integrity Data ConfidentialityData Confidentiality Signing and non-repudiationSigning and non-repudiation Audit trailsAudit trails Virus protection and intrusion Virus protection and intrusion

detectiondetection

Page 80: Developing Enterprise Applications  A technology perspective

8080

Security TechnologiesSecurity Technologies Hashing/digest creations – SHA, Hashing/digest creations – SHA,

MD5MD5 Encryption – Symmetric - DESEncryption – Symmetric - DES Encryption – Asymmetric - PKIEncryption – Asymmetric - PKI Digital SignaturesDigital Signatures Trust and Public Key CertificatesTrust and Public Key Certificates Secure Socket Layer (SSL)Secure Socket Layer (SSL) Smartcards, Biometrics (Thumb Smartcards, Biometrics (Thumb

prints, retinal prints, voice prints)prints, retinal prints, voice prints)

Page 81: Developing Enterprise Applications  A technology perspective

8181

XML and SecurityXML and Security XML SignatureXML Signature XML EncryptionXML Encryption Security Assertion Markup Security Assertion Markup

Language (SAML)Language (SAML) XKMS – XML Key Management XKMS – XML Key Management

SpecificationsSpecifications X-KISS – XML – Key Information X-KISS – XML – Key Information

Service SpecificationService Specification X-KRSS - XML Key Registration X-KRSS - XML Key Registration

Service SpecificationService Specification

Page 82: Developing Enterprise Applications  A technology perspective

8282

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 83: Developing Enterprise Applications  A technology perspective

8383

Communication TechnologiesCommunication Technologies

EthernetEthernet WirelessWireless

– GSMGSM– CDMA/TDMACDMA/TDMA

BroadbandBroadband– DSLDSL– CableCable

Page 84: Developing Enterprise Applications  A technology perspective

8484

Broadband technologiesBroadband technologies High bandwidth internet High bandwidth internet

connectionconnection Always on – no need to Always on – no need to

explicitly establish connectionexplicitly establish connection Supports audio, video in Supports audio, video in

addition to data connectivityaddition to data connectivity Typically downstream Typically downstream

bandwidth is a lot higher than bandwidth is a lot higher than upstream bandwidth.upstream bandwidth.

Page 85: Developing Enterprise Applications  A technology perspective

8585

BandwidthBandwidth OptionsOptions

– DSLDSL– Cable ModemCable Modem

Check out how much bandwidth Check out how much bandwidth you have from your broadband you have from your broadband provider!provider!

http://www.toast.net/performance/http://www.toast.net/performance/http://www.dslreports.com/stesthttp://www.dslreports.com/stest

Page 86: Developing Enterprise Applications  A technology perspective

8686

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 87: Developing Enterprise Applications  A technology perspective

8787

Storage RequirementsStorage Requirements A microcosm of ASP A microcosm of ASP

requirementsrequirements Storage technologies has to Storage technologies has to

address these issues:address these issues:– AvailabilityAvailability– ReliabilityReliability– ScalabilityScalability– PerformancePerformance– SecuritySecurity

Page 88: Developing Enterprise Applications  A technology perspective

8888

Storage TechnologiesStorage Technologies RAID technology – primarily to address RAID technology – primarily to address

reliability and performance issuesreliability and performance issues Storage Area Networks (SAN) and Storage Area Networks (SAN) and

Network Attached Storage (NAS) – Network Attached Storage (NAS) – primarily to address scalability and primarily to address scalability and availability issuesavailability issues

SAN – to increase the storage capacity SAN – to increase the storage capacity of a server (say a database server)of a server (say a database server)

NAS – to increase the storage capacity NAS – to increase the storage capacity of file servers on the network.of file servers on the network.

Page 89: Developing Enterprise Applications  A technology perspective

8989

What is RAID?What is RAID? RRedundant edundant AArray of rray of

IInexpensive/nexpensive/IIndependent ndependent DDisksisks Can be implemented in software Can be implemented in software

or hardwareor hardware

Page 90: Developing Enterprise Applications  A technology perspective

9090

RAID configurationsRAID configurations RAID0 striping RAID0 striping Simple striping of data Simple striping of data

across all the disks in an array. Improves across all the disks in an array. Improves load balancing and performance. Does not load balancing and performance. Does not provide redundancy. provide redundancy.

Total capacity = Individual Disk capacity * number of Total capacity = Individual Disk capacity * number of disks in arraydisks in array

RAID1 mirroring RAID1 mirroring Mirroring of data in Mirroring of data in multiple disks. Provides redundancy.multiple disks. Provides redundancy.

Total capacity = Individual Disk capacity * (number of Total capacity = Individual Disk capacity * (number of disks in array/2)disks in array/2)

RAID0+1 RAID0+1 Where RAID0 and 1 strategies Where RAID0 and 1 strategies are combined to provide high performance are combined to provide high performance and reliability.and reliability.

Page 91: Developing Enterprise Applications  A technology perspective

9191

RAID configurationsRAID configurations RAID 5 RAID 5 Use of Error Correction Use of Error Correction

Codes to increase capacity in RAID Codes to increase capacity in RAID arrays. arrays.

Total capacity = Individual Disk capacity * (n-Total capacity = Individual Disk capacity * (n-1) where n is number of disks in array1) where n is number of disks in array

Higher disk capacity. Good for small reads Higher disk capacity. Good for small reads and bad for writes.and bad for writes.

Can recover from any one disk failure.Can recover from any one disk failure. RAID 6 RAID 6 same as RAID 5 but can same as RAID 5 but can

tolerate two disk failures.tolerate two disk failures.

Page 92: Developing Enterprise Applications  A technology perspective

9292

Storage Area Networks (SAN)Storage Area Networks (SAN)

Hubs

Switches

Bridges

RAID

RAID

RAID

Page 93: Developing Enterprise Applications  A technology perspective

9393

Storage Technology HighlightsStorage Technology Highlights

Rapidly evolving fieldRapidly evolving field Major players for enterprise Major players for enterprise

storage include: EMC, storage include: EMC, Network Appliance, Inc.Network Appliance, Inc.

Microsoft a recent entry to the Microsoft a recent entry to the market place with their market place with their Windows Storage Server 2003Windows Storage Server 2003

Page 94: Developing Enterprise Applications  A technology perspective

9494

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 95: Developing Enterprise Applications  A technology perspective

9595

Introduction to Introduction to Healthcare StandardsHealthcare Standards

Standards, standards everywhere and not one of any use - Anonymous

Page 96: Developing Enterprise Applications  A technology perspective

9696

Messaging & Object StandardsMessaging & Object Standards

HL7HL7 OMG Healthcare Task ForceOMG Healthcare Task Force

Page 97: Developing Enterprise Applications  A technology perspective

9797

HL7 StandardHL7 Standard

Page 98: Developing Enterprise Applications  A technology perspective

9898

HL7 MessagingHL7 Messaging

Established Standards Body Established Standards Body (1987)(1987)

ANSI accredited (1994)ANSI accredited (1994) Over 1700 membersOver 1700 members Key effortsKey efforts

– HL7 CDA (XML documents) EffortHL7 CDA (XML documents) Effort– HL7 CCOWHL7 CCOW– HL7 EHR EffortHL7 EHR Effort

Page 99: Developing Enterprise Applications  A technology perspective

9999

HL7 PhilosophyHL7 Philosophy

Designed as a protocol for Designed as a protocol for exchange of healthcare and exchange of healthcare and related informationrelated information

Based on an event-based Based on an event-based transactional model that mirrors transactional model that mirrors real-life use-case scenariosreal-life use-case scenarios

Page 100: Developing Enterprise Applications  A technology perspective

100100

HL7 Version EvolutionHL7 Version Evolution Produced Version 1.0 late in 1987Produced Version 1.0 late in 1987 Produced Version 2.0 late in 1988Produced Version 2.0 late in 1988 Version 3.0 effort underway for a Version 3.0 effort underway for a

whilewhile Clinical Document Architecture Clinical Document Architecture

(CDA) effort – release 1 Nov 2000 (CDA) effort – release 1 Nov 2000 & CDA release 2 passed in & CDA release 2 passed in committee ballot – Sept 2003committee ballot – Sept 2003

Clinical Context Effort (CCOW)Clinical Context Effort (CCOW) Electronic Health Record (EHR) Electronic Health Record (EHR)

Functional Model (NHII initiative)Functional Model (NHII initiative)

Page 101: Developing Enterprise Applications  A technology perspective

101101

HL7 Message StructureHL7 Message Structure Messages in HL7 are defined by:Messages in HL7 are defined by:

– A message ID (a 3 letter code - e.g.. A message ID (a 3 letter code - e.g.. ADT for Admit, Discharge, Transfer ADT for Admit, Discharge, Transfer related messages)related messages)

– One or more segments (logical One or more segments (logical grouping - e.g. PID segment to grouping - e.g. PID segment to represent patient identifying represent patient identifying information)information)

– Nesting and repetition of segments as Nesting and repetition of segments as appropriateappropriate

– ““Z” segments for custom useZ” segments for custom use

Page 102: Developing Enterprise Applications  A technology perspective

102102

Sample CDA DocumentSample CDA Document

Page 103: Developing Enterprise Applications  A technology perspective

103103

Page 104: Developing Enterprise Applications  A technology perspective

104104

HL7 Clinical HL7 Clinical Context Object Context Object Working Group Working Group

(CCOW)(CCOW)

Page 105: Developing Enterprise Applications  A technology perspective

105105

Clinical Context Object Working Clinical Context Object Working Group (CCOW)Group (CCOW)

Focus is the visual Focus is the visual integration of diverse integration of diverse applications in the users applications in the users desktop.desktop.

Page 106: Developing Enterprise Applications  A technology perspective

106106

CCOWCCOW Technology neutral specifications for Technology neutral specifications for

healthcare applications to switch healthcare applications to switch contexts seamlessly - oriented towards contexts seamlessly - oriented towards making multiple Graphical User making multiple Graphical User Interface clients to work togetherInterface clients to work together

Already have interoperable Already have interoperable specifications and implementationsspecifications and implementations

Currently working on an interoperable Currently working on an interoperable single-sign-on specificationsingle-sign-on specification

Page 107: Developing Enterprise Applications  A technology perspective

107107

The Provider's Workstation

““Visual” IntegrationVisual” Integration“Data”

Integration

The Clinical Applications

Server

Server

ServerVisual

Integration

* Acknowledgement: Slide provided by Wes Rishel, Gartner Group

The Provider

Page 108: Developing Enterprise Applications  A technology perspective

108108

Context ManagerContext Manager

Patient ID

Mapper

Context

Manager

Master Patient IndexGeneral Hospital

University Physicians

O'Donnell 3222111 2344444Furlow -- 6731123Crane 582233 --

O'Donnell2234444

University Physicians

O'Donnell3222111

General Hospital

O’Donnell 2234444Furlow 6731123

O’Donnell 3222111Crane 58233

* Acknowledgement: Slide provided by Wes Rishel

Page 109: Developing Enterprise Applications  A technology perspective

109109

CCOW Current WorkCCOW Current Work

Single sign-on: Single sign-on: – users do not have to memorize many users do not have to memorize many

user names and passwordsuser names and passwords– authentication via password, badge authentication via password, badge

swipe, biometricsswipe, biometrics Web-based applicationsWeb-based applications

* Acknowledgement: Slide provided by Wes Rishel

Page 110: Developing Enterprise Applications  A technology perspective

110110

HL7 SummaryHL7 Summary Version 3.0 Reference Information Model - Version 3.0 Reference Information Model -

effort underway to specify it in XMLeffort underway to specify it in XML Interoperability Demonstration using XML Interoperability Demonstration using XML

and HL7 RIM models have happened since and HL7 RIM models have happened since HIMSS 99.HIMSS 99.

HL7 CDA effort has taken root and will HL7 CDA effort has taken root and will impact the transcription industry.impact the transcription industry.

HL7 CCOW has made significant inroads.HL7 CCOW has made significant inroads. EHR effort is ground breaking and is lead EHR effort is ground breaking and is lead

by the Dept. of Health and Human Services by the Dept. of Health and Human Services as part of the NHIIas part of the NHII

Page 111: Developing Enterprise Applications  A technology perspective

111111

HL7 ReferencesHL7 References

–HL7: Health Level 7: HL7: Health Level 7: http://www.hl7.org/http://www.hl7.org/

Page 112: Developing Enterprise Applications  A technology perspective

112112

OMG Healthcare OMG Healthcare TaskforceTaskforce

Page 113: Developing Enterprise Applications  A technology perspective

113113

CORBAmedCORBAmed

The Healthcare Domain Task The Healthcare Domain Task Force (DTF) of the Object Force (DTF) of the Object Management Group (OMG)Management Group (OMG)

Acknowledgement: Courtesy Tim Brinson, 2AB Inc. & CORBAmed

Page 114: Developing Enterprise Applications  A technology perspective

114114Acknowledgement: Courtesy Dave Forslund of Los Alamos National Labs

Page 115: Developing Enterprise Applications  A technology perspective

115115

CORBAmed within the OMA

CORBAservicesHorizontal CORBAfacilities

FinancialObjects

TransprtationObjects

E-CommerceObjects

HealthcareObjects

TelecomObjects

ManufctringObjects

Acc

ount

ing

Ban

king

Insu

ranc

e

PDM

DO

MA

IN F

RA

MEW

OR

KS

Tele

Net

wk

Mgm

t

Shop

Flo

or A

uto

ERP

LQS

PID

S

Tele

Ser

vice

s

Stre

am C

ontr

ol

EC S

ervi

ces

E-Pa

ymen

t

CO

AS

Mar

ine

Rai

l

Offe

r Loc

/Tra

de

Inte

rmod

al

CORBA

Acknowledgement: Courtesy Tim Brinson, 2AB Inc. & CORBAmed

Page 116: Developing Enterprise Applications  A technology perspective

116116

SyllabusSyllabus What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– .Net Platform.Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 117: Developing Enterprise Applications  A technology perspective

117117

ASP Examples in Transcription ASP Examples in Transcription IndustryIndustry

CompanyCompany ReferenceReference

MedQuistMedQuist Medquist.comMedquist.com

TotaleMedTotaleMed Totalemed.comTotalemed.com

MDinTouchMDinTouch Mdintouch.comMdintouch.com

VianettaVianetta Vianetta.comVianetta.com

MedremoteMedremote Medremote.comMedremote.comDisclosure: TotaleMed is a customer of MedQuist’s Careflow product solution

Page 118: Developing Enterprise Applications  A technology perspective

118118

ConclusionConclusion What is an ASPWhat is an ASP ASP RequirementsASP Requirements Platform ChoicesPlatform Choices

– OMG ApproachOMG Approach– Web ServicesWeb Services– Java PlatformJava Platform– ..Net Platform Net Platform

Security Security TechnologiesTechnologies

Communication Communication TechnologiesTechnologies

Storage AdvancesStorage Advances Healthcare Healthcare

StandardsStandards Sample SystemsSample Systems

Page 119: Developing Enterprise Applications  A technology perspective

119119

GlossaryGlossary MD5 - Message Digest 5MD5 - Message Digest 5 SHA - Secure Hashing SHA - Secure Hashing

AlgorithmAlgorithm NTLM Authentication protocolNTLM Authentication protocol DES - Data Encryption DES - Data Encryption

StandardStandard HTTP-EF - HTTP Extension HTTP-EF - HTTP Extension

FrameworkFramework XKMS - XML Key Management XKMS - XML Key Management

ServicesServices X-KISS - XML - Key X-KISS - XML - Key

Information Service Information Service SpecificationSpecification

SAML - Security Access SAML - Security Access Markup LanguageMarkup Language

WSDL - Web Services WSDL - Web Services Description LanguageDescription Language

IDL - Interface Definition IDL - Interface Definition LanguageLanguage

UML - Unified Modelling UML - Unified Modelling LanguageLanguage

SOAP - Simple Object SOAP - Simple Object Access ProtocolAccess Protocol

UDDI - Universal UDDI - Universal Description, Discovery and Description, Discovery and IntegrationIntegration

Page 120: Developing Enterprise Applications  A technology perspective

120120

Questions?Questions?

Slides will be posted at: Slides will be posted at: www.medquist.comwww.medquist.com after the show.after the show.

You can contact me at: You can contact me at: [email protected]@lanierhealthcare.com