1.2k likes | 1.4k Views
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.
E N D
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 • Provide overview of the technologies that are relevant for the development and deployment of enterprise solutions – in particular ASP solutions • Allow participants to evaluate where the technology is headed • Use transcription industry as the main example
What is an ASP ASP Requirements Platform Choices OMG Approach Web Services Java Platform .Net Platform Security Technologies Communication Technologies Storage Advances Healthcare Standards Sample Systems Syllabus
What is an ASP? Application Service Provider (ASP) provides applications to customers on a subscription basis. ASPs provide for all the infrastructure needs to host the application and rely on Internet or Intranets to deliver the applications to customers. ASPs are Enterprise Applications and need to satisfy a wide range of stringent requirements. A S P
What is an ASP ASP Requirements Platform Choices OMG Approach Web Services Java Platform .Net Platform Security Technologies Communication Technologies Storage Advances Healthcare Standards Sample Systems Syllabus
Flexibility Security Reliability Availability Scalability Evolvability Performance Supportability Maintainability Interoperability Platform Independence Location Independence Open Standards and Systems Architectural Choices ASP Requirements ASP Requirements
Flexibility • Ability to configure solutions that satisfies customer’s workflow needs. • For the transcription industry: • Dictation workflow • Transcription workflow • Signature workflow • Routing workflow ASP Requirements It is the process stupid! Not technology. – Mike Waldrum, UAB
Flexibility – Edge Computing Off-Premise Computation ASP Requirements Internet On-Premise Computation Focus computation where it can be most effective to meet the needs of the workflow
Security • Compliant with all HIPAA’s upcoming regulations. • Encryption of communication. • Stringent access control. • Audit trails. • Physical security of premises • Virus protection & Intrusion detection ASP Requirements 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
Reliability • No work is ever lost. • No document is ever lost and no document ever gets corrupted. • What backup and recovery strategies are in place? • How well is the physical infrastructure (Data center) protected? Fire protection? ASP Requirements 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
Availability • What guarantees is the ASP willing to provide? • What down time are you willing to tolerate? • How can you find out? • What happens when a server goes down? Is there a backup? • What happens when there is a power blackout? Is there backup power source? • What happens if there is a network outage? Is there a backup? • Is there a backup data center? • Is there a disaster recovery plan? ASP Requirements
Availability ASP Requirements # of hours per year = 365*24 = 8760
Scalability • What happens when there are more users? More volume? How easy is it to upgrade infrastructure? • Does the company have the financial where with all to improve the infrastructure? Sooner or later, scalability means to add additional hardware. ASP Requirements Just as we could have rode into the sunset, along came the Internet, and it tripled the significance of the PC. Andy Grove
Evolvability • How easy is it to upgrade? Can one user be upgraded without upgrading others? • What are the technological underpinnings? • Are there automatic upgrades? • Solutions must be engineered to continuously evolve and leverage the latest in internet technologies. ASP Requirements Whoever desires constant success must change his conduct with the times - Machiavelli
Performance • What benchmarks are available? • Time to submit reports? • Retrieve reports? • Retrieve and sign? • Performance under heavy load? No load? • What is the degradation? • Is it acceptable to the user community? • Can you work off-line? ASP Requirements Technology is so much fun but we can drown in our technology. The fog of information can drive out knowledge. Daniel J. Boorstin
Supportability • Can the user manage their own support needs? Is it web-based? • What infrastructure support is available? • Is it 24x7, 365 days? How long does it take to respond? • Does it cause downtime to your work? ASP Requirements 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
Maintainability • Who is maintaining the software? • How is maintenance and software evolution managed? • What is the technology basis that facilitates maintenance? • Use of advanced component and object-oriented technologies facilitates software maintenance and evolution. ASP Requirements 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
Interoperability • How easy is it interface to the system? • Does it provide open APIs? • Does it support XML-based data exchange? Document interchange? • Does it support HL7 standards? ASP Requirements
Platform • What is the platform used? • Is it Windows or Unix platform? • Does it support both leveraging the strengths of both platforms? ASP Requirements
Location Independence • Can users work from home? • Over low speed modem lines? • Work in LAN, WAN environments over secure lines? • Can they be mobile workers using their PDAs? ASP Requirements
Open Standards • What standards are supported? • Internet standards: HTTP, XML, Web services etc. • Object Standards: CORBA, DCOM • Healthcare standards: HL7 • Security Standards: PKI, SSL ASP Requirements
Architecture Choices • Platform Choices – Microsoft, OMG, Java, Web services • Off-premise, on-premise, edge computing trade-offs • Thin vs. Thick clients. Trade-offs in functionality, performance and supportability. ASP Requirements 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
Broad Requirements for Transcription Industry • Need to support the dictation and document authoring process • Need to support transcribing and document creation process • Need to support the physician review and sign-off process • Need to support the document distribution process ASP Requirements
Broad Requirements for Transcription Industry • Hosting of Enterprise Transcription Solution for the following types of customers: • Hospitals • Physician groups • Transcription Service Providers • Independent Contractors ASP Requirements
TSP1 TSP2 TSP3 Typical ASP Use Case Scenario S1 S2 ASP Requirements S3 S4 Transcription Service Providers Transcriptionists S5 Hospitals/ Clinics Clinicians
Implementation Alternatives • Off-premise - hosted solution – typically viewed as the ASP model • Edge Computing Model – a hybrid model combining ASP and on-premise solution • On-premise solution ASP Requirements Choice of solution depends on organization’s goals and objectives
What is an ASP ASP Requirements Platform Choices OMG Approach Web Services Java Platform .Net Platform Security Technologies Communication Technologies Storage Advances Healthcare Standards Sample Systems Syllabus
Platform Choices Platform Standards • Object Management Group (OMG) CORBA Infrastructure and approach • Web services – the new kid on the block Other Popular Platforms • Sun J2EE Platform • Windows .NET • Host of other vendor platforms • Oracle • IBM • Iona Platform Choices
What is an ASP ASP Requirements Platform Choices OMG Approach Web Services Java Platform .Net Platform Security Technologies Communication Technologies Storage Advances Healthcare Standards Sample Systems Syllabus
CORBA Technology Overview OMG Technology Distributed Object Infrastructure
Heterogeneity is Permanent • Programming languages • ~3 million COBOL programmers • ~1.6 million VB programmers • ~1.1 million C/C++ programmers • Operating systems • Unix, MVS, VMS, MacOS, Windows (all 8!), PalmOS… • Windows 3.1: it’s still out there! • Embedded devices (mobile, set-top, etc.) • Networks • Ethernet, ATM, IP, SS7, Firewire, USB • Bluetooth, 802.11b, HomeRF OMG Technology Courtesy: Richard Mark Soley, CEO & Chairman of OMG
Where Can We Agree? • There will not be consensus on hardware platforms • There will not be consensus on operating systems • There will not be consensus on network protocols • There will not be consensus on programming languages • There must be consensus on interfaces and interoperability! OMG Technology Courtesy: Richard Mark Soley, CEO & Chairman of 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 John Deere Microsoft MITRE MSC.Software NASA NEC NIST NTT OASIS Oracle Rational SAP SAS Institute Siemens Sony Softeam Sprint Sun Unisys W3C Courtesy: Richard Mark Soley, CEO & Chairman of OMG Who Are OMG? OMG Technology
Integration Technology - CORBA • The Common Object Request Broker Architecture is the standard adopted by OMG as a framework to provide common ORB services and interfaces to support portable clients and services. • The Object Request Broker (ORB) provides the mechanisms by which clients transparently make requests and receive responses. OMG Technology
CORBA (continued) • Advantages offered by CORBA: • architecture independence (hardware and operating system independence) • language independence • location independence • The standard specifies the Interface Definition Language (IDL) - language used to describe the interfaces that client objects call and object implementations provide. OMG Technology
Servers Server Clients C++ Java Ada C other C++ Java Ada C other Client Requests Service IDL-based IDL-based ORB CORBA Architecture – Simple view OMG Technology
UML and Model Driven Architecture • UML provides higher level abstraction to software design • By focusing on models, higher levels of interoperability can be achieved. • OMG’s MDA operationalizes this approach – where models can be defined in UML but implemented using EJB, DCOM or Webservices. OMG Technology
OMG Platform and Approach • An approach that can be combined with any implementation considered. • Based on evolving technologies, standards and approaches. • Provides an approach to integrate with CORBA, EJB (JAVA platform), .NET and Web services. OMG Technology
What is an ASP ASP Requirements Platform Choices OMG Approach Web Services Java Platform .Net Platform Security Technologies Communication Technologies Storage Advances Healthcare Standards Sample Systems Syllabus
Web Services - Jargon • Basis – XML Technology • Web Services Description Language (WSDL) • Simple Object Access Protocol (SOAP) • Universal Description, Discovery, and Integration (UDDI) • Other elements – ebXML, SAML, XKMS, X-KISS and a host of other efforts Web Services
XML Technology Overview Web Services
Emerging Importance of XML • HTML-tagging is display oriented. • XML-based content tagging has important uses: • data mining • role-oriented display customization • intelligent searching and other value added elements • Wide spread industry support for this new open standard • Microsoft • Netscape • W3C is pushing the standardization efforts • Complementary technology to HTML-based web browsers Web Services
Requirements best addressed by XML • Customizing front-end applications - easy presentation of what users want to see • Data mining • Synthesis type applications - combining multiple information sources • Electronic commerce-type applications • Structured Data Exchange Web Services
XML Markup • Elements and attributes • Entity References • Comments • Processing Instructions • Marked Sections • Document Type Definitions (DTDs) • Now, XML Schemas Web Services
Elements • Bounded by start and end tags • Sample markup <Patient> <FirstName> Frank</FirstName> <LastName> Foster</LastName> </Patient> • Patient, LastName, FirstName are all entity tags. Web Services
Attributes • Name-value pairs included as part of start tags. • Sample markup <APatient patientID=“123” FirstName=“Frank” LastName=“Foster”> <Insurance> Blue Cross </Insurance> <Insurance> HMO </Insurance> </APatient> • FirstName and LastName in the example above are attribute declarations. Web Services
Document Type Definitions • Allows the expression of constraints on tags • Defines sequencing and nesting of tags • Defines attributes and values and defaults • Allows specification of external file references Web Services
XML Schemas • Replaces DTDs • Is in XML format (DTD’s are not) • Supports data typing (DTD’s didn't) • Schemas are extensible • XML Schemas – next generation of DTDs. • Wide industry support Web Services
XML’s evolving family of standards Leading the Web to Its Full Potential... • XML Linking Specification (XLL) • Resource Directory Framework (RDF) • Style sheets • CSS Cascading Style sheets • XSL - XML Style sheet Specification Language • Document Object Model (DOM) • XML Schemas • Provides the basis for Web Services and Simple Object Access Protocol (SOAP) Web Services