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

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

Embed Size (px)

Citation preview

11

Developing Enterprise Applications A technology perspective

V. “Juggy” JagannathanAssociate Professor of Computer Science

West Virginia University

VP of ResearchMedQuist

22

DisclosureDisclosure

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

software. software.

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

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.

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

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

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

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

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 detection

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

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

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?

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

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

1515

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

user be upgraded without user be upgraded without upgrading others? upgrading 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

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

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

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

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?

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?

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?

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

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

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

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

2626

Typical ASP Use Case ScenarioTypical ASP Use Case Scenario

TSP1

Hospitals/Clinics

S1

TSP2

TSP3

S2

S3

S4

S5

TranscriptionService Providers

Transcriptionists

Clinicians

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

3131

CORBA Technology CORBA Technology OverviewOverview

Distributed Object Distributed Object InfrastructureInfrastructure

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

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

3434

Who Are OMG?Who Are OMG?2AB

Alcatel

BEA

Borland

Boeing

CA

Citigroup

Ericsson

Ford

Fujitsu

Glaxo SmithKline

Hewlett Packard

Hitachi

Hyperion

IBM

IONA

io Software

Kabira

Kennedy Carter

LION Bioscience

Rational

SAP

SAS Institute

Siemens

Sony

Softeam

Sprint

Sun

Unisys

W3C

John Deere

Microsoft

MITRE

MSC.Software

NASA

NEC

NIST

NTT

OASIS

Oracle

Courtesy: Richard Mark Soley, CEO & Chairman of OMG

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.

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.

3737

CORBA Architecture – CORBA Architecture – Simple viewSimple view

ServersServers

ORB

C++JavaAda otherC C++JavaAda otherC

ClientsClients ServerServer

Client RequestsClient RequestsIDL-based

ServiceServiceIDL-based

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.

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.

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

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

4242

XML Technology XML Technology OverviewOverview

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 intelligent searching and other value

added elementsadded elements Wide spread industry support for this new Wide spread industry support for this new

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

effortsefforts Complementary technology to HTML-Complementary technology to HTML-

based web browsersbased web browsers

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

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

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.

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.

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

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 XML Schemas – next

generation of DTDs.generation of DTDs. Wide industry supportWide industry support

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)

5151

Web Services Web Services Definition Definition LanguageLanguage

WSDLWSDL

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

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

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.

OperationOperation

Operation

BindingBindingBinding

Port Type

OperationOperation

Operation

BindingBindingBinding

Port Type

OperationOperation

Operation

BindingBindingBinding

Port Type

Web Service

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.

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.

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 architecture

Courtesy: Yan Liu, my student.

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)

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

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)

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>

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.

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

6464

Universal Universal Description, Description,

Discovery and Discovery and IntegrationIntegration

(UDDI)(UDDI)

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

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

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.

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

7070

Java and J2EE Java and J2EE PlatformPlatform

OverviewOverview

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 Container

SessionBeans

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

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

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

7575

.NET Platform.NET PlatformClient App. Users

Web Services

WebForms

.NET Framework

HT

TP

SO

AP

UD

DI

OD

BC

DC

OM

.NE

T

Web serversWeb serversWeb serversWeb serversWeb servers.NET servers

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.

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.

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

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

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)

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

8383

Communication TechnologiesCommunication Technologies

EthernetEthernet WirelessWireless

– GSMGSM– CDMA/TDMACDMA/TDMA

BroadbandBroadband– DSLDSL– CableCable

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.

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

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

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.

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

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.

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.

9292

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

Hubs

Switches

Bridges

RAID

RAID

RAID

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

9595

Introduction to Introduction to Healthcare StandardsHealthcare Standards

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

9696

Messaging & Object StandardsMessaging & Object Standards

HL7HL7 OMG Healthcare Task ForceOMG Healthcare Task Force

9797

HL7 StandardHL7 Standard

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

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

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)

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 Nesting and repetition of segments as appropriateas appropriate

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

102102

Sample CDA DocumentSample CDA Document

103103

104104

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

(CCOW)(CCOW)

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.

106106

CCOWCCOW Technology neutral specifications for Technology neutral specifications for

healthcare applications to switch healthcare applications to switch contexts seamlessly - oriented contexts seamlessly - oriented towards making multiple Graphical towards making multiple Graphical User Interface clients to work togetherUser Interface 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

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

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

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

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

111111

HL7 ReferencesHL7 References

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

112112

OMG Healthcare OMG Healthcare TaskforceTaskforce

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

114114Acknowledgement: Courtesy Dave Forslund of Los Alamos National Labs

115115

CORBAmed within the OMA

CORBAservices

Horizontal CORBAfacilities

FinancialObjects

TransprtationObjects

E-CommerceObjects

HealthcareObjects

TelecomObjects

ManufctringObjects

Acc

ou

nti

ng

Ban

kin

g

Insu

ran

ce

PD

M

DO

MA

IN F

RA

ME

WO

RK

S

Tel

e N

etw

k M

gm

t

Sh

op

Flo

or

Au

to

ER

P

LQ

S

PID

S

Tel

e S

ervi

ces

Str

eam

Co

ntr

ol

EC

Ser

vice

s

E-P

aym

ent

CO

AS

Mar

ine

Rai

l

Off

er L

oc/

Tra

de

Inte

rmo

dal

CORBA

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

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 Storage AdvancesAdvances

Healthcare Healthcare StandardsStandards

Sample SystemsSample Systems

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

Disclosure: TotaleMed is a customer of MedQuist’s Careflow product solution

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

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

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