1 / 25

Current Trends in Network-Based Application Developments

Current Trends in Network-Based Application Developments. Bill Chu Department of Software and Information Systems UNC Charlotte. Web Service. Likely the next architecture for internet based business computing

dani
Télécharger la présentation

Current Trends in Network-Based Application Developments

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. Current Trends in Network-Based Application Developments Bill Chu Department of Software and Information Systems UNC Charlotte

  2. Web Service • Likely the next architecture for internet based business computing • A web service communicates over a network to supply a specific set of operations (methods) that other applications can invokes © Bei-Tseng Chu Oct 2002

  3. Web service and screen scrapping • Many early web services implementations are deployed to replace “screen scrapping” • Rather than pulling data off web sites with the implicit understanding of the data format, which is subject to change, web services can obtain data in XML and application standards © Bei-Tseng Chu Oct 2002

  4. Architectural difference • Current Web applications (including servlets) are based on a client-server architecture • When a servlet talks to another servlets, one is taking on the role of a client • Web services are equal, or peer to peer • Three-tier model with key differences • Loosely coupled • Based on ubiquitous architecture • The promise of open standards © Bei-Tseng Chu Oct 2002

  5. Web server Web application server Business object Business object Data base Business object Business object Business object Business object Multi-tire architecture Browser Web services © Bei-Tseng Chu Oct 2002

  6. Web service examples • www.xmethods.net, www.salcentral.com • Ziplocator service • Dollar Rental Car • Zagat Survey (restaurant and hotel info) • Credit authorization • Human Resource outsource service © Bei-Tseng Chu Oct 2002

  7. Brokering Architecture Subscribe: service description Service Broker Service Provider 1 Client Subscribe: service description Service Provider 2 © Bei-Tseng Chu Oct 2002

  8. Brokering Architecture Subscribe: service description Service Broker Service Provider 1 Recommend: service description Service Provider 2 Client Subscribe: service description Service Provider 2 © Bei-Tseng Chu Oct 2002

  9. Brokering Architecture Service Broker Service Provider 1 Request Client Service Provider 2 Response © Bei-Tseng Chu Oct 2002

  10. XML-RPC: forerunner to SOAP • XML formatted message • Using HTTP Post to transmit the message • Enable any web service with CGI interface to accept the message • Universal acceptance, even through firewalls! • Many implementations: www.xmlrpc.com © Bei-Tseng Chu Oct 2002

  11. An example XML-RPC Request POST /RPC2 HTTP/1.0 User-Agent: Frontier/5.1.2 (WinNT) Host: someserver.com Content-Type: text/xml Content-length: 181 <?xml version=“1.0”?> <methodCall> <methodName> lookup.getStateFromAreaCode </methodName> <params> <param> <value> <int> 512 </int> </value> </param> </params> </methodCall> © Bei-Tseng Chu Oct 2002

  12. An example of Response to the Request HTTP/1.1 200 OK Connection: close Content-length: 158 Content-Type: text/html Date: Fri, 17 Jan 2001 11:50:13 GMT Server: UserLand Frontier/5.1.2-WinNT <?xml version=“1.0”?> <methodResponse> <params> <param> <values> <string>Texas</string></value> </param> </params> </methodResponse>s © Bei-Tseng Chu Oct 2002

  13. SOAP (Simple Object Access Protocol) • SOAP defines XML based format for sending messages • Envelope • Data encoding • RPC convention • Unlike XML-RPC, SOAP tries to be neutral to transportation protocol • HTTP • SMTP • Java Message Service • .Net also uses SOAP as the RPC mechanism © Bei-Tseng Chu Oct 2002

  14. A generalized SOAP architecture HTTP SMTP SOAP Envelope SOAP Server Server Application FTP JMS Others © Bei-Tseng Chu Oct 2002

  15. Deployment Descriptor (APPACHE) <isd:service xmlns:isd=“http://xml.apache.org/xml-soap/deployment” id=“urn:Publications”> <isd:provider type=“java” scope=“Application” methods=‘getPubCount getModDate getByCode”> <isd:java class=“com.lanw.soapsrvr.PubsServer” static=“false”/> </isd:provider> <isd: faultListener> org.apache.soap.server.DOMFaultListener </isd:faultListener> </isd:service> © Bei-Tseng Chu Oct 2002

  16. Java methods for the server package com.lanw.soapsrvr; Import java.util.*; Import org.w3c.dom.Element; Public class PubsServer { //…. Public Element getByCode( String code) throws SOAPException { //…. } /…. } © Bei-Tseng Chu Oct 2002

  17. Client using the service //…. URL url = new URL(“http”, “www.soap.uncc.edu”, 8080, “soap/servlet/rpcrouter”); Call call = new Call(); call.setMethodName(“getByCode”); Vector params = new Vector(); Params.addElement(new Parameter(“param”,String.class,”1234”, Constants.NS_URI_SOAP_ENC)); call. setParams(params); Try { resp=call.invoke(url, “ “); } catch (SOAPException e) { //… } © Bei-Tseng Chu Oct 2002

  18. Universal Description, Discovery, and Integration (UDDI) • Directory for web services • XML formatted information for • Contact points “white page” • Industry classification “yellow pages” • Web service discovery “green page”, technical information • UDDI registry © Bei-Tseng Chu Oct 2002

  19. Web Service Description Language (WSDL) • Defines a web/network service • End point • Accepts messages • Key elements of a web service • Documentation – English description • Types – data type (e.g. structure) • Message – message format • PortType – Java class and their operations • Binding – protocols for message or portType • Service – Specifies web addresses • WSDL description may be automatically generated based on Java class definitions © Bei-Tseng Chu Oct 2002

  20. Microsoft .Net • A framework for network-based application development • Provides a middleware for web-services to communicate with each other • Specifically designed to address the following problems • Lack of consistent access • Proprietary data formats • Isolation of information © Bei-Tseng Chu Oct 2002

  21. .Net components • Cross language interoperability • Allows components written in different programming languages to work with each other • Use • Inheritance • Self-describing components • Common Type System • Application domain • Unit of processing and security policy enforcement • .NET My Service • Streamline the use of authentication information © Bei-Tseng Chu Oct 2002

  22. Example of cross language interoperability: • Box Class in C# Public class Box{ Public Double Length, Width, Height; Public Box () { Length=0; Width=0; Height=0; print();} public void print() { System.Console.WriteLine(“Length=“+Length.ToString()+”Width=“Width.ToString() +”Height=“Height.ToString());} } • VB.NET Simple Inheritance Public Class Car : Inherits Box Private iAxils as Integer Property Axils as Integer Get Axils=iAxils End Get Set iAxils = Value End Set End Property End Class © Bei-Tseng Chu Oct 2002

  23. .net: Microsoft Intermediate Language (MSIL) • All .net applications are compiled into this language • Preserves metadata about the components • Verified for type safety • JIT compiled into native assembly language for execution © Bei-Tseng Chu Oct 2002

  24. ASP.NET • Solve the following problems of classic ASP • Interpreted ASP/VB scripts • Lack of maintainability as all components are contained in one file • State Management • Use of COM objects/lack of interoperability © Bei-Tseng Chu Oct 2002

  25. .NET My Service • User store identity information in the Passport. • Web services can cooperate and share information under the control of information owner • Routing: specify the routing path of a SOAP message and also what part of the message is intended for which receiver • Referral: how a SOAP intermediary can modify the routing • Security: SOAP does not address message security. • Credentials: authenticate the origin of the message • Integrity: verification of message integrity (digital signature) • Confidentiality: encryption of SOAP messages • Microsoft Passport • Provide a single Internet identity accepted by many sites • User authentication by sites can be handled indirectly through MS Passport server system • A single passport ID and password can get one into multiple sites © Bei-Tseng Chu Oct 2002

More Related