1 / 49

Review

Review. V. “Juggy” Jagannathan Associate Professor of Computer Science West Virginia University. Focus of Global Knowledge Networks. Enterprise Application Development Distributed Systems Development Component-based Solution Development Knowledge-based Solution Development.

guy-glover
Download Presentation

Review

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Review V. “Juggy” Jagannathan Associate Professor of Computer Science West Virginia University

  2. Focus of Global Knowledge Networks • Enterprise Application Development • Distributed Systems Development • Component-based Solution Development • Knowledge-based Solution Development

  3. ASP & Enterprise Applications 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.

  4. Flexibility Security Reliability Availability Scalability Evolvability Performance Supportability Maintainability Interoperability Platform Independence Location Independence Open Standards and Systems Architectural Choices Enterprise Application Requirements

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

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

  7. Java and J2EE Platform Java Platform Overview

  8. Web Container Tag Library Servlets JSPs J2EE Application Server JAF JAF JavaMail JavaMail EJB Container JMS JMS Session Beans Entity Beans JDBC JDBC JTA JTA JNDI JNDI RMI/IIOP RMI/IIOP Mail Server J2EE Architecture XHTML XML RDBMS HTTP(S) Java App. CORBA Server Applet Directory Service Message Queue Client App. Reproduced with Permission from Java Server Programming J2EE Edition – Wrox Press, Ltd, 2000

  9. JAXP 1.0 – Java API for XML Processing JDBC 3.0 – Java Data Base Connectivity RMI over IIOP EJB 2.1 – Enterprise Java Beans Java Servlets 2.4 Java Server Pages 2.0 Java Message Service 1.0 Java Naming and Directory Interface (JNDI) 1.2 Java Transaction API 1.0 JavaMail 1.1 J2EE Connector Architecture 1.0 Java Authentication and Authorization Service 1.0 J2EE Platform Components Java Platform

  10. J2EE Platform • Strong and proven platform • Evolving constantly • Already supports various APIs to develop and deploy web services Java Platform

  11. Web Services Web Forms Web servers Web servers Web servers Web servers HTTP Web servers .NET servers SOAP UDDI ODBC DCOM .NET .NET Platform Client App. Users .NET Framework .Net Platform

  12. .NET Components • .NET framework • Common Language Runtime (CLR) library • ActiveX Data Objects - (ADO.NET) • Active Server Pages – (ASP.NET) and supports Web Services (UDDI, WSDL & SOAP) • .NET Compact framework for PDAs • .NET Remoting (RPC support) • Visual Studio .NET • VB, C++, C#, Jscript… all compile to MSIL (Microsoft Intermediate Language) and utilize CLR. .Net Platform

  13. .NET Framework • Microsoft’s big push to open standards and support for XML-based solutions • Fully supports web services approach • Microsoft is an active participant in W3C efforts and is a strong proponent of standardization of web services and related technologies. .Net Platform

  14. XML Technology Overview Web Services

  15. 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 Why do we care about XML? Web Services

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

  17. XML Markup • Elements and attributes • Entity References • Comments • Processing Instructions • Marked Sections • Document Type Definitions (DTDs) • Now, XML Schemas Web Services

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

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

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

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

  22. XML’s evolving family of standards • 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

  23. Web Services Web Services

  24. Web Service Definition A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine- processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. Source: W3C definition: http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/

  25. What are XML Web Services? • Interaction using standard internet protocols • A vehicle used to integrate other applications • Expose functionality through well-defined interfaces • Can be advertised in a registry/directory. Web Services

  26. Web Services Architecture • http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/

  27. Different Models supported by Web Services • Message Oriented Model • Service Oriented Model • Resource Oriented Model • Policy Model

  28. Example XML Web Services? • Information services • Centralization services • Data Integration, Aggregation and Analysis • Extending and Integrating Applications • Peer-and-Push-based systems Web Services

  29. Benefits of Web Services? • Standards based • Vendor neutral • Simplicity • Language and Platform Independence • Functional Abstraction • Discoverable • Reduced Development time Web Services

  30. When not to use Web Services? • Closed systems • Critical Performance requirements • Technical limitations – like transaction support and security elements have not been standardized Web Services

  31. Web Services Ensemble Discovery UDDI Description WSDL Web Services Messaging SOAP Encoding XML Transport HTTP

  32. Web Services Definition Language Web Services WSDL

  33. What is WSDL? • Web Services Definition Language • It is equivalent of IDL for Web Services • It is in XML Schema format • It defines an EXTENSIBLE framework for specifying web services interfaces • Developed originally by Microsoft and IBM and now being put through its paces in W3C. • W3C working on Version 1.2 of WSDL right now (Fall 2003). Web Services

  34. WSDL: What does it support? • Data type definitions • Messages supported • Operations supported • Port type (an aggregation of messages and operations) • Binding (what protocol supports the service – ala SOAP) • Port – target address where service is available • Service – aggregation of port types Web Services

  35. Port Type Port Type Port Type Operation Operation Operation Operation Operation Operation Operation Operation Operation Binding Binding Binding Binding Binding Binding Binding Binding Binding WSDL Service Web Service • WSDL specifications are published in a URL. • Clients download this specification, pick a particular protocol to communicate with the service (binding) and use that protocol. Web Services

  36. SOAP... Simple Object Access Protocol Web Services It is a Simple Protocol that allows you to Access an Object through the net. Courtesy: Yan Liu, my student.

  37. SOAP Motivations • Heterogeneous systems must be able to communicate • Binary protocols don’t always work • CORBA, DCOM, etc. don’t work well through firewalls • Nobody can agree on a standard binary format (usually due to platform-related issues) • We’re dealing with many heterogeneous environments (MVS, Unix, Windows NT, Linux, PalmOS, etc.) • Component runtimes differ • Security models differ (Kerberos, NTLM, OSF-DCE) Web Services Courtesy: Yan Liu, my student.

  38. What SOAP is... • SOAP is a specification for defining... • an encoding style that uses XML to represent information graphs • a standard way to move XML with HTTP • rules for passing messages • error (fault) definition • a medium for performing Remote Procedure Calls (RPC) • one layer in a multi-layer architecture Web Services Courtesy: Yan Liu, my student.

  39. SOAP Contains Four Parts: • An extensible envelope expressing (mandatory) • what features and services are represented in a message; • who should deal with them, • whether they are optional or mandatory. • A set of encoding rules for data (optional) • Exchange instances of application-defined data types and directed graphs • Uniform model for serializing abstract data models that can not directly be expressed in XML schema • A Convention for representation RPC (optional) • How to make calls and responses • A protocol binding to HTTP and HTTP-EF(optional) Web Services Courtesy: Yan Liu, my student.

  40. SOAP - Simple Example <Envelope> <Header> <transId>1234</transId> </Header> <Body> <Add> <a>3</a> <b>4</b> </Add> </Body> </Envelope> Web Services c = Add(a, b) Courtesy: Yan Liu, my student.

  41. <Envelope> <Header> <transId>1234</transId> </Header> <Body> <Add> <a>3</a> <b>4</b> </Add> </Body> </Envelope> Request <Envelope> <Header> <transId>1234</transId> </Header> <Body> <AddResponse> <c>7</c> </AddResponse> </Body> </Envelope> Response System Flow (HTTP) Server Web Services Client Courtesy: Yan Liu, my student.

  42. Example Request <soap:Envelope> <header> …. </header> <soap:Body> <GetName> <MR#>123456</MR#> </GetName> </soap:Body> </soap:Envelope> Example Response <soap:Envelope> <header> …. </header> <soap:Body> <GetNameResponse> <Name>John Doe</Name> </GetNameResponse> </soap:Body> </soap:Envelope> SOAP – Example from healthcare Web Services

  43. Server Client Web Service Application Interface Semantics Interface Semantics Envelope/Header/Body Envelope/Header/Body Message Encoding Message Encoding Transport (e.g. HTTP) Transport (e.g. HTTP) TCP/IP TCP/IP SOAP Execution Web Services Courtesy: Yan Liu, my student.

  44. SOAP – Conclusions • Basis for Web services • Significant component of Microsoft’s .NET platform • Supported by everyone • Has a strong future Web Services

  45. Universal Description, Discovery and Integration Web Services (UDDI)

  46. UDDI – What is it? • A vehicle to locate operational web services • Similar to Domain Name Service (DNS) lookup • Embodies the concepts of “White Pages and Yellow Pages”. Web Services

  47. UDDI Elements • White Pages: Business Name, Contact Info, DUNS etc • Yellow Pages: Business categories, key-value pairs of relevant information • Green Pages: Technical information on how to connect to web services Web Services

  48. UDDI Process Supported • Business registers its web service (information that put in white, yellow and green pages). • The information gets propagated to all UDDI servers (replicated) • Customers contact known registries • Locate appropriate service and invoke them. • Main protocol supported is SOAP. Web Services

  49. Web Services Current Status • Evolving rapidly – strong support for SOAP and WSDL has decent support. • UDDI is little further away. • All vendors are incorporating various components of Web services • Web services is the future – right now people have to deal with other component technologies Web Services

More Related