developing enterprise applications a technology perspective
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 PresentationTRANSCRIPT
![Page 1: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/31.jpg)
3131
CORBA Technology CORBA Technology OverviewOverview
Distributed Object Distributed Object InfrastructureInfrastructure
![Page 32: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/32.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/33.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/34.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/35.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/36.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/37.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/38.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/39.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/40.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/41.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/42.jpg)
4242
XML Technology XML Technology OverviewOverview
![Page 43: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/43.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/44.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/45.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/46.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/47.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/48.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/49.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/50.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/51.jpg)
5151
Web Services Web Services Definition Definition LanguageLanguage
WSDLWSDL
![Page 52: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/52.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/53.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/54.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/55.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/56.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/57.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/58.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/59.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/60.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/61.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/62.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/63.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/64.jpg)
6464
Universal Universal Description, Description,
Discovery and Discovery and IntegrationIntegration
(UDDI)(UDDI)
![Page 65: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/65.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/66.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/67.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/68.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/69.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/70.jpg)
7070
Java and J2EE Java and J2EE PlatformPlatform
OverviewOverview
![Page 71: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/71.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/72.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/73.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/74.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/75.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/76.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/77.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/78.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/79.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/80.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/81.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/82.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/83.jpg)
8383
Communication TechnologiesCommunication Technologies
EthernetEthernet WirelessWireless
– GSMGSM– CDMA/TDMACDMA/TDMA
BroadbandBroadband– DSLDSL– CableCable
![Page 84: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/84.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/85.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/86.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/87.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/88.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/89.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/90.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/91.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/92.jpg)
9292
Storage Area Networks (SAN)Storage Area Networks (SAN)
Hubs
Switches
Bridges
RAID
RAID
RAID
![Page 93: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/93.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/94.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/95.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/96.jpg)
9696
Messaging & Object StandardsMessaging & Object Standards
HL7HL7 OMG Healthcare Task ForceOMG Healthcare Task Force
![Page 97: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/97.jpg)
9797
HL7 StandardHL7 Standard
![Page 98: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/98.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/99.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/100.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/101.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/102.jpg)
102102
Sample CDA DocumentSample CDA Document
![Page 103: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/103.jpg)
103103
![Page 104: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/104.jpg)
104104
HL7 Clinical HL7 Clinical Context Object Context Object Working Group Working Group
(CCOW)(CCOW)
![Page 105: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/105.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/106.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/107.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/108.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/109.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/110.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/111.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/112.jpg)
112112
OMG Healthcare OMG Healthcare TaskforceTaskforce
![Page 113: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/113.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/114.jpg)
114114Acknowledgement: Courtesy Dave Forslund of Los Alamos National Labs
![Page 115: Developing Enterprise Applications A technology perspective](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/115.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/116.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/117.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/118.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/119.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012922/56816044550346895dcf6688/html5/thumbnails/120.jpg)
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