Web Services Using C# and.net
|
|
|
- Katherine Reeves
- 9 years ago
- Views:
Transcription
1 Web Services Using C# and.net Student Guide Revision 4.0 Object Innovations Course 4150
2 Web Services Using C# and.net Rev. 4.0 Student Guide Information in this document is subject to change without notice. Companies, names and data used in examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Object Innovations. Product and company names mentioned herein are the trademarks or registered trademarks of their respective owners. Authors: Robert J. Oberg, Arun Ganesh, Will Provost is a registered trademark of Object Innovations. Special Thanks: Paul Nahay, Sharman Staples, Julian Templeman Copyright 2011 Object Innovations Enterprises, LLC All rights reserved. Object Innovations Published in the United States of America. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC ii
3 Table of Contents (Overview) Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 What Are Web Services? Web Services Fundamentals Developing ASP.NET Web Services Web Service Clients ASP.NET Web Services Programming Model XML Serialization More about SOAP More about WSDL Data Access with Web Services Introduction to WCF REST Web Services Appendix A Learning Resources Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC iii
4 Directory Structure Install the course software by running the selfextractor Install_WsNetCs_40.exe. The course software installs to the root directory C:\OIC\WsNetCs. Example programs for each chapter are in named subdirectories of chapter directories Chap02, Chap03 and so on. The Labs directory contains one subdirectory for each lab, named after the lab number. Starter code is frequently supplied, and answers are provided in the chapter directories. The Demos directory is provided for performing in-class demonstrations led by the instructor. Deploy is for testing deployment of a Web service to a different directory from the one in which it was created. Data files install to the directory C:\OIC\Data. Log files are written to the directory C:\OIC\Logs. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC iv
5 Table of Contents (Detailed) Chapter 1: What Are Web Services?... 1 What is a Web Service?... 3 Why are Web Services Needed?... 4 Distributed Object Computing... 5 Major Players in Web Services Web Services Interoperability Benefits of Web Service Integration SOAP UDDI Web Services Business Models Business Models Classified Service Oriented Architecture (SOA) Services Are Independent ASP.NET Web Services Alternative Technologies Windows Communication Foundation WCF and REST Summary Chapter 2: Web Services Fundamentals Understanding Web Services Internet Information Services IIS Manager Virtual Directory Home Page for Example Programs IIS Applications An Echo Web Service Echo Web Service Using ASP.NET Running Web Service Example SOAP Request Testing the Web Service HTTP POST Request Hypertext Transfer Protocol (HTTP) HTTP Headers and Content HTTP Methods XML SOAP-Based Web Services Messaging Models Messaging Over the Web The SOAP Messaging Model SOAP Namespaces Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC v
6 The SOAP Envelope The Message Header Header Entry Attributes The Message Body Service Descriptions Web Services Description Language Viewing WSDL Using WSDL wsdl.exe in.net SDK Demo: A Web Services Client Lab Summary Chapter 3: Developing ASP.NET Web Services Developing Web Services in Visual Studio Visual Studio Web Service Demo Code for a Simple Web Service Hello World Web Service Concatenate Web Service WebService Directive Service.cs System.Web.Services Namespace WebService Attribute WebMethod Attribute BufferResponse MessageName Basic Profile Turning Off Conformance Checking Basic Profile Warning WS-I Basic Profile ASP.NET Configuration Multi-level Configuration Configuration Hierarchy A Conformant Web Service WebService Class Sample Program Utility Lab 3A Lab 3B Summary Chapter 4: Web Service Clients Protocols Accessing a Web Service Creating a Proxy Creating a Proxy using wsdl.exe Exploring the Generated Proxy Code Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC vi
7 Console Client Test Program Creating a Proxy via Visual Studio Lab Summary Chapter 5: ASP.NET Web Services Programming Model Asynchronous Programming in Web Services Example Asynchronous Call Example Async Concatenate Asynchronous Events Lab 5A State Management in ASP.NET Application and Session Objects Session Management Application Management Example StateService ASP.NET Web Services Transactions Caching: An Overview Data to be Cached Time Frame Output Caching Output Caching Example Debugging Debugging a Web Service Enable Debugging in web.config Deploying a Web Service Lab 5B Summary Chapter 6 XML Serialization Serialization in.net Serialization Demonstration CLR Serialization Circular List and XML Serialization XML Serialization Demo XML Serialization Infrastructure What Will Not Be Serialized XML Schema XSD Tool A Sample Schema Opening Schema Files A More Complex Schema A Car Dealership Deserializing According to a Schema Sample Program Type Infidelity Example Serializing an Array Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC vii
8 Example Serializing an ArrayList Customizing XML Serialization Lab 6A XML Serialization and Web Services ArrayList Web Service Example Lab 6B Summary Chapter 7: More about SOAP The SOAP Messaging Model SOAP Namespaces The SOAP Envelope The Message Header Using SOAP Headers in.net Using SOAP Headers on the Client SOAP Header Example Call Body Response Body Lab 7A Returning Errors Example SOAP Fault Document Style Web Services Document vs. RPC Style Wrapped vs. Bare Parameter Style Literal vs. Encoded Use Example Bare Document Style More Document Style Examples RPC Style Examples SOAP Specifying the Transport Protocols Making a Request Using SOAP Lab 7B Summary Chapter 8: More about WSDL SOAP-Based Web Services Component-Based Software Component Models Web Services as Components A World without Type Information The Need for Service Description An IDL for Web Services Web Services Description Language WSDL Namespaces The WSDL Description Model Example A WSDL Document Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC viii
9 A Bird s Eye View WSDL Descriptors as Schema The Schema for WSDL Descriptors Associations between Components Interface Description Messaging Scenarios Operations: Input, Output, and Fault Messages Example Complex Types Service Description Extending WSDL The Binding Component A Structural Pattern The SOAP Binding Example Binding for RpcMath Document vs. RPC Style Encoded vs. Literal Use Lab 8A Using WSDL Files An Abstract Class Implementing the Web Service WSDL First! WSDL Support in.net WSDL Viewer Tool WSDL Viewer Source Code Lab 8B Summary Chapter 9: Data Access with Web Services Multiple-Project Solutions Demo: A Two-Project Solution A Windows Application Client Project Adding a Web Reference Multiple Projects in Solution Explorer Implementing the Client Lab Multiple-Tier Data Access Sample Database Data Access Example Data Access Demo A Data Access Web Service Data Access Client Code An Enhanced Web Service Client for Enhanced Web Service Objects in a ListBox Web Services Pass Data Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC ix
10 LocalCourse Client Code Binding to a Web Service Web Service Binding Demo Summary Chapter 10: Introduction to WCF What Is WCF? WCF Services Service Orientation WCF and Web Services WCF = ABC Address, Binding, Contract Example Echo Service Hosting Services Demo Echo Service A Website for the Service Service Configuration Examining the Service in the Browser WCF Clients Creating WCF Clients Demo A Client for Echo Service Add Service Reference Dialog Lab 10A Interop with ASMX Web Services Interop Demonstration EchoAsmx EchoWcf ASMX Client WCF Client Data Contracts Data Contract Example Operation Contract Client Program Deploying a WCF Web Service Deployment Demo Lab 10B Summary Chapter 11: REST Web Services REST Representation, State and Transfer Collections and Elements REST Service Example Using Fiddler Result Details Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC x
11 Raw View REST Service Help Page Help for POST Request Content-Type New Course Lab 11A WCF REST Service Template Starter Code Help Page Help Page for GET REST Web Service Demonstration Route Table Person Class and Collection Exercising the GET Verb Using UriTemplate Deploying to IIS GET Methods Test of GET Methods POST Method InstanceContextMode Lab 11B REST Service Clients Using WebClient XML Deserialization XML Deserialization Demo Other HTTP Verbs XML Serialization Windows Client Program Debugging with Fiddler Content-Type Lab 11C Summary Appendix A: Learning Resources Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC xi
12 Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC xii
13 WsNetCs Chapter 1 Chapter 1 What Are Web Services? Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 1
14 WsNetCs Chapter 1 What Are Web Services? Objectives After completing this unit you will be able to: Answer the questions What are Web services? and What is the need for Web services? Illustrate how Web services are different from other distributed technologies. Provide examples of the different benefits of Web services. Outline the baseline Web services specifications of XML, SOAP, WSDL and UDDI. Identify the major players who are shaping the Web services architecture for the industry. Describe some business models for Web services. Discuss Service Oriented Architecture (SOA) and the use of Web services for its implementation. Discuss ASP.NET as a technology for implementing Web services and other.net alternatives to Web services. Discuss WCF, which can be used to implement both SOAP and REST Web services. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 2
15 WsNetCs Chapter 1 What is a Web Service? A Web service is a message delivered over some transport mechanism. XML is the most common message format. HTTP has been the most common transport. SOAP has become an industry standard protocol running on top of HTTP. The producer of the Web service maps an object, service, program or database to the XML message. The consumer of the Web service maps the XML message to an object, service, program, or database. A Web service is executed via the application that consumes it. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 3
16 WsNetCs Chapter 1 Why are Web Services Needed? Web services provide a neutral means to integrate programs built on different development platforms. Web services are superior to distributed object technologies. Web services provide a means to evolve applications as customer requirements change. Web services enable applications built with a Service Oriented Architecture (SOA). Let us examine each of these in more detail. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 4
17 WsNetCs Chapter 1 Distributed Object Computing Building scalable solutions require applying the appropriate level of computing power to different parts of the application. Distributed object computing extends an objectoriented programming system by allowing objects to coexist across a heterogeneous network and interact as if they resided on the same machine. In the early 1990 s many companies including Microsoft, Sun Microsystems, the Object Management Group and IBM recognized the need of distributed computing and developed their own technologies to facilitate communication among distributed components. Microsoft s DCOM (Distributed Component Object Model) Sun Microsystems RMI (Remote Method Invocations) Object Management Group s CORBA (Common Object Request Broker Architecture) IBM s DSOM (Distributed System Object Model) Distributed object systems have several problems. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 5
18 WsNetCs Chapter 1 OOP and Network Latency The style of object-oriented programming directly conflicts with the performance of distributed systems. Object-oriented classes are fine grained, with property and field accessors. Object interactions lead to many round trips across the network. Network latency causes severe performance degradation. You want to minimize the number of interactions between client and server. class Store { public string Name(){get;set} public string Location() {get;set} public string Hours(){get;set} public void CreateStore(); public void SaveStore(); } Distributed systems require chunky rather than chatty interfaces between the distributed pieces. Such interfaces have methods that transfer larger quantities of data. class Store { public void CreateStore(string name, string location, string hours); public void SaveStore(string name, string location, string hours); } Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 6
19 WsNetCs Chapter 1 Object State and Scalability Scalability is the performance of the system under increased load. Systems are scalable if performance can be increased by just adding hardware. Object-oriented systems tend to have many finegrained objects. Keeping these objects alive consumes resources that prevent servicing more requests. Tracking distributed object lifetimes across the network so that objects can release their proxies, increases network traffic, and degrades performance. Persistent distributed objects also interfere with load balancing to distribute processing evenly among computers. Stateless objects can be created or destroyed between method calls. State is stored in the non-distributed part of the application. For example, an object that holds on to a database connection interferes with scalability. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 7
20 WsNetCs Chapter 1 Interoperability Each distributed object system used its own transport mechanism. The various distributed object systems of the different vendors did not interoperate. Although in principle CORBA was a vendor-neutral specification, in practice customers were locked into their particular choice of vendor implementation. The various distributed object systems used different wire protocols. This is similar to having different procedure calling conventions between method calls. The various distributed object systems require keeping non-standard Internet ports open for remote object invocation. These protocols are not transparent to the usual settings for firewalls. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 8
21 WsNetCs Chapter 1 Industry Standard Messaging HTTP is a ubiquitous transport standard. Port 80 is almost always open on a firewall. Since HTTP is a text-based protocol, XML was a natural choice for implementing an object-neutral messaging protocol. By exchanging messages instead of object method calls, applications built with different object models, and different implementation technologies can interact. Messaging technologies are more robust and scale better in distributed scenarios. This looser coupling, however, makes it harder for type information and transactional context to be transmitted. SOAP and WSDL have emerged as the fundamental specifications for Web services. Additional specifications such as WS-Security and WS-Addressing are designed to solve some additional issues associated with Web services. Future standards such as WS-Eventing (for publish and subscribe) will impact application development. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 9
22 WsNetCs Chapter 1 Major Players in Web Services The major players deeply involved and invested in Web services are Microsoft, IBM, Oracle, and many other companies. IBM, Microsoft, and BEA have been the originating forces behind the two key Web service specifications, SOAP and WSDL. The World Wide Web Consortium, or W3C, controls some key Web services specifications as XML and XML Schema. W3C has approved SOAP 1.2 as a recommendation. SOAP 1.1 and 1.0 are W3C notes. WSDL 1.1 is a W3C note, not a recommendation. WSDL 2.0 is currently a W3C Candidate Recommendation (January 6, 2006). The IETF (Internet Engineering Task Force) originally specified the Hypertext Transfer Protocol, or HTTP. This is now managed jointly with the W3C. Other specifications such as WS-Security were developed under the aegis of the OASIS consortium. Thus far, the Web services initiative is unique among distributed-computing standards efforts in that it operates under no single authority. The organization works across the industry and standards organizations to respond to customer needs by providing guidance, best practices, and resources for developing Web services solutions. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 10
23 WsNetCs Chapter 1 Web Services Interoperability Given the various specifications and their revisions it is necessary to define levels of interoperability. For example, SOAP 1.0, 1.1, and 1.2 systems exist, and not everything is backward compatible. The current WSDL specification has some ambiguities. WSDL 2.0 is not a recommendation yet. WS-Security is a newly approved specification, and not supported everywhere yet. The Web Services Interoperability Organization (WS-I) is an open, industry organization chartered to promote Web services interoperability by defining levels of compliance. The Basic Profile 1.1 defines a set of guidelines for minimal interoperability of Web services. In addition the major vendors have created reference implementations that correspond to the Basic Profile 1.1. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 11
24 WsNetCs Chapter 1 Benefits of Web Service Integration Let s look at some business advantages of Web services. Web services offer new business opportunities by making it easy to connect with partners. (Business to Business Integration). Reduce application development and maintenance costs. (Save time and money). Create new sources of revenue by making the present useful functionality into Web services. Web services provide a solution to systems interoperability problems. Implement cross-platform, program-to-program communications (application integration). Deliver significantly more personal, integrated experiences to users using Web services. Web services connect information, applications, people, systems and devices. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 12
25 WsNetCs Chapter 1 SOAP SOAP (Simple Object Access Protocol) is a lightweight protocol for the exchange of information in a decentralized, distributed environment. SOAP is a protocol that defines how to send messages in a platform-independent manner using XML. SOAP, the Simple Object Access Protocol, uses XML as a wire protocol to describe how the data and its associated type definitions are transmitted. SOAP was developed by Microsoft, IBM and others, and then handed over to the W3C for further development. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 13
26 WsNetCs Chapter 1 WSDL The WSDL (Web Service Description Language) is an XML-based grammar for describing the syntax of Web services, their functions, parameters, and return values. WSDL defines the methods and the data associated with a Web service. Since WSDL is XML-based, it is both human and machine readable. However WSDL is designed to be used by machines for automated implementation of interface contracts. WSDL can be thought of as the IDL of Web Services. WSDL Section Use Types Messages Operations Port Type Binding Port Service Defines types Abstract message signature Abstract method definition Abstract interface based on operations Interface and method implementation Associates binding with a specific address (instantiated object) Collection of ports (component: is a collection of instantiated objects) Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 14
27 WsNetCs Chapter 1 UDDI The UDDI (Universal Description, Discovery, and Integration) specification defines a SOAP-based Web service for locating WSDL-formatted protocol descriptions of Web services It is the standard way to publish and discover information about Web services). UDDI is a business registry which allows businesses and developers to programmatically locate information about Web services exposed by other organizations. At present, UDDI is not a standard, but is a joint initiative of businesses and vendors. The latest UDDI Version 3 has some unique features such as multi-registry topologies, increased security features, improved WSDL support, a new subscription API and core information model advances. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 15
28 WsNetCs Chapter 1 Web Services Business Models Many companies are using XML Web services to improve the way they do business, cut development costs, and increase customer satisfaction. Web services are a powerful business tool, allowing unprecedented customer integration and partnering opportunities. A lot of companies are espousing Web services to simplify internal business process and to distributing their services and products. Let us investigate some business models of Web services. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 16
29 WsNetCs Chapter 1 Business Models Classified B2C, or business-to-consumer, is a Web business catering to individual consumers. Amazon.com and ecommerce sites in general are classic examples. B2B, or business-to business, is a Web business catering to other businesses. Suppliers and vendors to manufacturing companies are examples of B2B businesses. Classic B2C and B2B have human interaction to Web pages. Web services facilitate two new models: S2C, or service-to-consumer, provides a programmatic interface to a consumer-type function. S2B, or service-to-business, provides a programmatic interface to a business-type function served by one business to another business. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 17
30 WsNetCs Chapter 1 Service Oriented Architecture (SOA) Objects do not always easily reflect real-world processes and relationships. Distributed object systems have trouble evolving to reflect the dynamic nature of customer requirements and businesses. Building applications out of services allows for a more flexible architecture in building complex applications, especially if the services are owned by different divisions, or even different businesses. Service orientation allows you to build applications out of new services, services cleaved out of old applications, or applications wrapped as services. SOA is important when applications have to cross trust boundaries. Object technology can be used in implementing services. Web services are the natural implementation technology for SOA. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 18
31 WsNetCs Chapter 1 Services Are Independent A service is composed of code and data. Completely separate from another services code and data. Services are connected through messaging. MQ Series technology has been around for a long time Messages are defined by contracts and XML Schema. The order of the message is part of the contract. Implementation is not part of the contract. Boundaries are explicit Code, data, database tables are either within or outside of the service, there is no sharing Database transactions are not shared among services. Failure isolation is mandatory. A service is deployed independently of other services. Service compatibility is based on policy. WS-Policy allows services to specify polices such as how authentication should be done. Policy is a set of assertions that a Service expects to be true. A Service is separate from the User Interface. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 19
32 WsNetCs Chapter 1 ASP.NET Web Services ASP.NET Web services are built on top of ASP.NET; therefore you can benefit from the features of ASP.NET to build Web services. Distinctively, ASP.NET not only takes advantage of performance enrichments found in the.net Framework and the common language runtime, it has also been designed to offer significant performance improvements over ASP and other Web development platforms. ASP.NET Web services facilitate Web services accessing the many features of the.net Framework, such as authentication, caching, tracing and state management. Developers can focus on creating or accessing Web services without needing to write infrastructure code, because ASP.NET and the.net Framework are the foundation for Web services in managed code. Visual Studio 2010 is a complete set of development tools for building Web applications, Web services, desktop applications, and mobile applications. Therefore with the assistance of Visual Studio, you can quickly create, consume and deploy Web services. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 20
33 WsNetCs Chapter 1 Alternative Technologies Within the Microsoft platform, there are several alternative technologies to ASP.NET Web Services (asmx). ASP.NET Web Services is a good match to SOA because you get explicit service boundaries, and has the scalability features of ASP.NET. Web Service Enhancements (WSE) is designed to take advantage of leading edge Service Oriented Architecture technology for ASMX..NET Remoting Distributed objects when both ends host the CLR. Works best for AppDomain to AppDomain communication within the same process. Can integrate with an existing proprietary protocol using extensibility features. Enterprise Services Need the features of COM+. Communicate with objects on local machine when you have performance issues with ASMX and WSE MSMSQ Asynchronous Messaging Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 21
34 WsNetCs Chapter 1 Windows Communication Foundation Windows Communication Foundation (WCF) is a new service-oriented programming framework for creating distributed applications. It was previously known as Indigo and is part of.net 3.5 and.net 4.0 WCF is designed to provide one mechanism for building connected applications: Within app domains Across app domains Across machines WCF builds upon and extends existing ways of building distributed applications: ASMX Web services,.net Remoting, COM, MSMQ. All these do the same basic job (connecting elements in distributed applications) but they are very different at the programming level, with complex APIs and interactions. WCF provides one model for programming distributed applications. Developers only need to learn one API. WCF leverages existing mechanisms. It uses TCP, HTTP and MSMQ for transport. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 22
35 WsNetCs Chapter 1 WCF and REST An alternative to SOAP for Web services is Representational State Transfer or REST. REST is based on the architectural style of the Web. You call a REST Web service simply by making an HTTP request. There is no protocol such as SOAP that has to be implemented on top of HTTP. This makes REST services easy to implement on both the server and client. However, ASP.NET is geared exclusively towards SOAP Web services. With WCF you can create REST Web services as well as SOAP Web services. Visual Studio 2010 and.net 4.0 make it especially easy to implement REST Web services by using some special Visual Studio templates that are available online. We discuss REST Web services in Chapter 11. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 23
36 WsNetCs Chapter 1 Summary Web services are used to implement a distributed computing architecture. Web services provide some application logic, and are available to any number of potentially dissimilar systems through the use of standards, such as SOAP, XML and HTTP. WSDL is used for describing the Web services, and UDDI provides a registry service for publishing and locating Web services. Web services trim down development cost and maintenance cost, and provide a solution to interoperability issues. Web services can create new business opportunities and used in various businesses models such as S2C and S2B scenarios. Service Oriented Architecture (SOA) is the future of enterprise application architecture, and ASP.NET Web Service is an effective current Microsoft technology match for implementation. Windows Communications Foundation (WCF) is the newest Microsoft technology for implementing SOA. With.NET 4.0 and Visual Studio 2010 it is easy to implement REST Web services. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 24
37 Chapter 10 Introduction to WCF Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 345
38 Introduction to WCF Objectives After completing this unit you will be able to: Explain how WCF unites and extends existing distribution technologies. Understand the importance of address, binding and contract to WCF services. Create a simple WCF service hosted in IIS. Implement a client of a WCF service. Understand the issues of interoperability between Web services created using ASP.NET and those created using WCF. Understand and implement data contracts. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 346
39 What Is WCF? Windows Communication Foundation (WCF) is a new service-oriented programming framework for creating distributed applications. It was previously known as Indigo and is part of.net 3.5 and above. WCF is designed to provide one mechanism for building connected applications: Within app domains Across app domains Across machines WCF builds upon and extends existing ways of building distributed applications: ASMX Web services,.net Remoting, COM, MSMQ. All these do the same basic job (connecting elements in distributed applications) but they are very different at the programming level, with complex APIs and interactions. WCF provides one model for programming distributed applications. Developers only need to learn one API. WCF leverages existing mechanisms. It uses TCP, HTTP and MSMQ for transport. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 347
40 WCF Services When using WCF, you create and consume services. A service comprises a set of related operations, which the programmer sees as method calls. Services are described by metadata, which clients can use to determine what operations are available, and how the service can be contacted. Metadata for WCF services is similar to the WSDL used by web services. Clients and services exchange messages. A client (which can be another service) communicates with a WCF service by sending and receiving messages. WCF uses SOAP as its messaging mechanism, and SOAP messages can be sent using a number of transports. Using SOAP does not imply that WCF communication is inefficient; efficient binary encodings are employed whenever possible. WCF supports several transports out of the box. TCP, HTTP, HTTPS and MSMQ. Custom transports can be added. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 348
41 WCF Services WCF supports the WS-* family of Web service protocols. The WS-* family of protocols have been developed by various bodies (including OASIS and W3C) to provide features such as security, transactions and reliable messaging to web services. WCF is very good at interop. Support for a wide range of transports, encodings and the WS-* protocols means that WCF services can interoperate with a wide range of platforms and technologies, including J2EE and web services using WS-* protocols. WCF supports the implementation of REST-based Web services. REST stands for Representational State Transfer, a style of software architecture discussed in Chapter 11. WCF provides a foundation for service orientation. WCF helps developers write distributed applications in which loosely coupled services are called by clients and one another. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 349
42 Service Orientation Service orientation is characterized by four concepts. Boundaries are explicit The boundary between client and service is explicit and highly visible, because calls are made via SOAP messages. There is no pretending as there is in DCOM and Java s RMI that you are simply playing with a remote object, and can thus ignore the cost of remoting. Services are autonomous Services are independent entities that each have their own life cycle; they may have been developed completely independently of one another. There is no run-time making sure that services work well together, and so services must be prepared to handle failure situations of all sorts. Share schemas and contracts, not classes Services are not limited to implementation in OO languages, and so service details cannot be provided in terms of classes. Services should share schemas and contracts, and these are typically described in XML. Use policy-based service compatibility Services should publish their requirements (i.e. Requiring message signing or HTTPS connections) in a machine readable form. This can be used at runtime to ensure compatibility between service and client. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 350
43 WCF and Web Services Even though it uses SOAP messaging, WCF is more than simply another way of writing Web services. WCF can be used to write traditional Web services, as well as more sophisticated services that can use the WS-* protocols. But the design of WCF means that it provides a far more general solution to distribution than Web services. WCF can use several transports. Web services tend to use HTTP or HTTPS, while WCF is configured to use TCP, HTTP, HTTPS and MSMQ. It is also possible to add new transports, should the need arise. WCF can work throughout the enterprise. WCF services can be hosted in-process, by a Windows Service or IIS. Message exchange will be optimized to use the most efficient method for exchanging data for a particular scenario. WCF is good at interop. WCF services can interoperate with a number of different platforms and technologies. WCF is highly customizable. It is possible to customize almost every part of WCF, adding or modifying transports, encodings and bindings, and plugging in new behaviors that affect the way WCF services work. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 351
44 WCF = ABC Client C B A A B C Service A B C A B C A B C = an endpoint A = address Where? B = binding How? C = contract What? Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 352
45 Address, Binding, Contract An address defines where a service can be found. It will often be an HTTP address, although other addressing schemes are supported. A binding defines how a service can be contacted Via HTTP, TCP, MSMQ or some custom mechanism. A contract defines what a service can do. In terms of method calls, their arguments and return types. A combination of an address, a binding and a contract is called an endpoint. A service can expose more than one endpoint, and endpoint data can be made available to clients in the form of metadata. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 353
46 Example Echo Service A contract defines a set of operations that a service supports. Define a contract as an interface decorated with the ServiceContract attribute. Decorate operations with the OperationContract attribute. [ServiceContract] public interface IEchoService { [OperationContract] string GetGreeting(string value); } A service class implements the interface. And so it has to implement all the operations defined in the contract. public class EchoService : IEchoService { public string GetGreeting(string value) { return "Hello, " + value; } } Note that this code says nothing about how the client communicates with the service. It is only the 'C' of the service 'ABC'. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 354
47 Hosting Services There are three ways to host a WCF service. Self-hosting in an EXE. Use any type of EXE: Console application, Windows application (Windows Forms or WPF), or Windows Service. Need to manage service lifecycle yourself. Hosting in IIS. IIS will manage the service lifecycle for you, starting the service when the first request comes in. You can only use HTTP and port 80. Configure the service using a.svc file. The examples in the chapter use IIS hosting. Hosting in Windows Activation Service (WAS) WAS is a new feature that is part of Vista and Windows 7. Similar advantages to hosting in IIS, but you can use other transports and ports as well. WAS also uses.svc files. It is the preferred way of hosting services on Windows 7. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 355
48 Demo Echo Service We ll create an Echo service, hosted in IIS. Our solution will have two projects: A website implementing the service and exposing it via HTTP A Windows client that invokes the service Use Visual Studio 2010 to create a new blank solution Echo in the Demos folder 1. 1 If you are using Vista or Windows 7, you should run Visual Studio 2010 as Administrator. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 356
49 A Website for the Service We will host our WCF service using IIS. To do this, we ll add a website project to our solution. 1. In Solution Explorer, right-click on the solution and choose Add New Web Site. 2. For template choose WCF Service. For location select HTTP. Browse to the Demos\Echo folder, which is under the WsNetCs virtual directory. 3. Click Open. A message box comes up about the Web site not being marked as an application in IIS. Click Yes. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 357
50 A Website for the Service (Cont d) 4. Type in EchoService at the end of the path. 5. Click OK. Examine the generated website files: IService.cs contains a sample service contract (in App_Code folder). Service.cs contains a sample service implementation (in App_Code folder). Service.svc provides a.svc endpoint, which helps the service model find the correct service type to host. Web.config provides service model configuration settings for the sample service. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 358
51 A Website for the Service (Cont d) 6. Delete the supplied code in IService.cs and type in the following: [ServiceContract] public interface IEchoService { [OperationContract] string GetGreeting(string value); } 7. Delete the supplied code in Service.cs and type in the following: public class EchoService : IEchoService { public string GetGreeting(string value) { return "Hello, " + value; } } 8. Edit the file Service.svc to specify the service type, based on the class name of the service implementation. (This file is analogous to the.asmx file in ASP.NET Web services.) <%@ ServiceHost Language="C#" Debug="true" Service="EchoService" CodeBehind="~/App_Code/Service.cs" %> Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 359
52 Service Configuration Services can be configured in code or using config files XML configuration files are preferred, because they make it easier to reconfigure services, and to reuse services in different contexts without needing to rebuild the service code. When configuring IIS-hosted services, information on the service can be included in the Web.config file for the website. Data is placed in the <system.servicemodel> element <?xml version="1.0"?> <configuration>... <system.servicemodel> <behaviors> <servicebehaviors> <behavior> <servicemetadata httpgetenabled="true"/> <servicedebug includeexceptiondetailinfaults="false"/> </behavior> </servicebehaviors> </behaviors> <servicehostingenvironment multiplesitebindingsenabled="true" /> </system.servicemodel>... Configuration in.net 4.0 is simpler, and in many cases, such as this one, the configuration file generated by Visual Studio works out of the box without any changes. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 360
53 Examining the Service in the Browser Since our service is hosted in IIS, we can examine the Service.svc file in the browser. In Solution Explorer, make Service.svc the Start Page. Build the solution. Run the solution. When Internet Explorer comes up, you should see a page similar to this: Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 361
54 WCF Clients As in all common distribution technologies, clients interact with services through proxies. The proxy hides details of the communication mechanism being used from the client code. The proxy implements the same interface as the service, so that the client can use exactly the same calls. Proxies are created using metadata provided by the service. Note that the page shown in the previous page gives instructions for generating a proxy. The ABC (address, binding, contract) information provided by the service can be used to construct a proxy that Knows where to contact the service. Implements code to use the appropriate communication mechanism (eg. HTTP call versus TCP). Implements the operations defined in the service interface. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 362
55 Creating WCF Clients Visual Studio 2010 can create clients to WCF services in the same way as it creates them for Web services. The configuration file contains endpoint details. You can use the svcutil.exe command line tool to generate proxies. Useful when not using Visual Studio. It also provides more control over the proxy generation process. The client code creates a proxy and calls methods Use exception handling, because lots can go wrong in distributed applications. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 363
56 Demo A Client for Echo Service We ll create a Windows Forms client. 1. Add a second project to the solution, this time a Windows Forms Application. Specify EchoWin as the name of your new project. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 364
57 Client Demo (Cont d) 2. Provide the following user interface. 3. In Solution Explorer, right-click over the EchoWin project and select Add Service Reference from the context menu. 4. Click the Discover button to find the services in the solution. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 365
58 Add Service Reference Dialog 5. In the tree view expand the services and interfaces. 6. Click OK. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 366
59 Client Demo (Cont d) 7. In EchoWin verify that there is a reference to System.ServiceModel. (Added automatically when the service reference is added.) 8. Build the solution to make sure you get a clean compile for both projects. 9. In Solution Explorer, click the Show All Files button. Observe there is now a file Reference.cs under Service References. 10. Examine the file Reference.cs. This contains the code for the proxy. Note that the proxy class is EchoServiceClient, in the namespace EchoWin.ServiceReference1. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 367
60 Client Demo (Cont d) 11. In Form1.cs import the namespace EchoWin.ServiceReference1. using EchoWin.ServiceReference1; 12. Add a handler for the Greet button and provide the following code to invoke the GetGreeting() method on the proxy. private void btngreet_click(object sender, EventArgs e) { EchoServiceClient client = new EchoServiceClient(); txtgreeting.text = client.getgreeting(txtname.text); client.close(); } 13. Make EchoWin the startup project. 14. Build and run. You should be able to enter any name and get back a greeting from the service. 15. A copy of this completed demo is provided in the Echo folder in the chapter directory. It has been modified to run in its new location. (Again, in Windows 7 you must run Visual Studio as Administrator.) Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 368
61 Lab 10A Creating a Simple Service and Client In this lab, you will use Visual Studio 2010 to create a simple WCF service that is hosted in IIS. You will then create a client Console application, use Add Service Reference to create a proxy for the service, and demonstrate that the client can contact the service. Detailed instructions are contained in the Lab 10A write-up at the end of the chapter. Suggested time: 45 minutes Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 369
62 Interop with ASMX Web Services In this course we have learned two technologies for developing Web services: ASP.NET, sometimes called ASMX Web services after the standard file extension.asmx WCF, where the standard file extension is.svc. With.NET 2.0 you can only create ASMX Web services and clients. With.NET 4.0 you can create both kinds of services and clients. To ensure interoperability between the two kinds of Web services, they should conform to Basic Profile 1.1. With ASP.NET 2.0 we specify conformance to Basic Profile 1.1 by use of the WebServiceBinding attribute. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] With WCF we can specify conformance by using the binding basichttpbinding in place of wshttpbinding. The good news with.net 4.0 is that conformance to Basic Profile 1.1 occurs out of the box with IIS hosting. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 370
63 Interop Demonstration 2 The solution EchoInterop in the chapter directory contains four projects. There are two different versions of an echo service: EchoAsmx is implemented using ASP.NET. EchoWcf is implemented using WCF. There are two client projects. ClientAsmx has Web References to both services. ClientWcf has Service References to both services. 2 To build and run this example in Windows 7 you must, as usual, start Visual Studio as Administrator. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 371
64 EchoAsmx EchoAxmx is implemented using.net 2.0 ASP.NET technology. [WebService(Namespace = " [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class EchoAsmx : System.Web.Services.WebService { [WebMethod] public string GetGreeting(string name) { return "Hello, " + name; } } It conforms to Basic Profile 1.1. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 372
65 EchoWcf EchoWcf is implemented using WCF. Here is the contract: [ServiceContract] public interface IEchoWcf { [OperationContract] string GetGreeting(string name); } Here is the implementation: public class EchoWcf : IEchoWcf { public string GetGreeting(string name) { return "Hello, " + name; } } The simplified configuration of.net 4.0 specifies the binding basichttpbinding, so the service conforms to Basic Profile 1.1. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 373
66 ASMX Client ClientAsmx connects to the services using Web References. Radio buttons allow the user to choose between EchoAsmx and EchoWcf. Code: using ClientAsmx.ASMXlhost; using ClientAsmx.WCFhost;... private void btngreet_click(object sender, EventArgs e) { if (radasmx.checked) { EchoAsmx client = new EchoAsmx(); txtgreeting.text = client.getgreeting(txtname.text); } else if (radwcf.checked) { EchoWcf client = new EchoWcf(); txtgreeting.text = client.getgreeting(txtname.text); } } Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 374
67 WCF Client ClientWcf connects to the services using Service References. Code: using ClientWcf.ServiceAsmx; using ClientWcf.ServiceWcf;... private void btngreet_click(object sender, EventArgs e) { if (radasmx.checked) { EchoAsmxSoapClient client = new EchoAsmxSoapClient(); txtgreeting.text = client.getgreeting(txtname.text); } else if (radwcf.checked) { EchoWcfClient client = new EchoWcfClient(); txtgreeting.text = client.getgreeting(txtname.text); } } Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 375
68 Data Contracts A data contract abstractly describes the data to be exchanged between a service and a client. A service is not tied to a specific platform, so you cannot pass data as CLR types across a service boundary. What is needed is a neutral format that can be converted to and from CLR types. The neutral format is an XML schema definition. To be exchanged, data must be converted to XML according to the schema, or serialized. There are several serializers in the.net Framework. By default, WCF uses the Data Contract Serializer to serialize and deserialize data. All primitive.net types, and many other Framework types as well, have default data contracts and can be serialized without any other preparation. Data types defined by the programmer must have the DataContract attribute applied to the class to be serializable. Furthermore, the DataMember attribute must be applied to each member that is to be serialized. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 376
69 Data Contract Example See Courses\Step1 in the chapter directory. Examine the file Course.cs. using System.Runtime.Serialization; [DataContract] public class Course { [DataMember] public string coursenumber; [DataMember] public string title; [DataMember] public decimal price; public Course(string id, string name, decimal p) { coursenumber = id; title = name; price = p; } } The DataContractAttribute and DataMemberAttribute classes are in the System.Runtime.Serialization namespace. There is a public constructor in the class as well as the data members. This constructor does not participate in any contract, but can be used locally by code within the service. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 377
70 Operation Contract The operation contract is specified in the file IService.cs. [ServiceContract] public interface ICourseManager { [OperationContract] Course[] GetCourses(); } The contract is implemented in the file Service.cs. public class CourseService : ICourseManager { public Course[] GetCourses() { List<Course> courses = new List<Course>(); courses.add(new Course( "411", "C# Essentials", 100m)); courses.add(new Course( "412", ".NET Framework Using C#", 150m)); return courses.toarray(); } } Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 378
71 Client Program The Console project CourseClient implements the client program. See Program.cs. static void Main(string[] args) { CourseManagerClient client = new CourseManagerClient(); Course[] courses = client.getcourses(); ShowCourses(courses); client.close(); } private static void ShowCourses(Course[] courses) { foreach (Course c in courses) Console.WriteLine("{0} {1, -25} {2, 7:C}", c.coursenumber, c.title, c.price); Console.WriteLine(" "); } Here is the output: 411 C# Essentials $ NET Framework Using C# $ Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 379
72 Deploying a WCF Web Service You can deploy a WCF Web service in the same manner that you deploy ASP.NET Web services. Use the Copy Web Site facility in Visual Studio. As a demo, let s create a copy of the Step1 version of the Courses example in the Demos folder. 1. In Demos create a new folder Courses. 2. Copy the contents of Chap10\Courses\Step1 to Demos\Courses. 3. Open the solution Courses.sln in Demos\Courses. 4. Observe that the Web Site at this new location is still the original Web Site of the Step1 version. 5. Remove this Web Site in Solution Explorer and delete the contents of the folder Demos\Courses\CourseService. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 380
73 Deployment Demo 6. Open up the solution in Chap10\Courses\Step1. 7. In Solution Explorer right-click on the Web Site. Select Copy Web Site from the context menu. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 381
74 Deployment Demo (Cont d) 8. Click the Connect button and navigate to Demos\Courses\CourseService. 9. Click Open. A message box will inform you that the Web site is not marked as an application in IIS. Click Yes to open it anyway. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 382
75 Deployment Demo (Cont d) 10. Select all the files in the Source Web Site and click the blue arrow that points to the right. 11. The files will now be copied to the Remote Web Site. 12. Use Visual Studio to open the solution in Demos\Courses. 13. In Solution Explorer right-click over the solution and choose Add Existing Web Site from the context menu. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 383
76 Deployment Demo (Cont d) 14. Navigate to Demos\Courses\CourseService. 15. Click Open. Again you get a message box reminding you that the Web site CourseService is not marked as an application in IIS. Click Yes to open it anyway. 16. Observe that the Web Site in the solution now has this URL: Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 384
77 Deployment Demo (Cont d) 17. To test that we are now working with a copy of the Web service, edit the file Service.cs to specify an additional course to be returned by GetCourses(). public Course[] GetCourses() { List<Course> courses = new List<Course>(); courses.add(new Course( "411", "C# Essentials", 100m)); courses.add(new Course( "412", ".NET Framework Using C#", 150m)); courses.add(new Course( "444", "Introduction to HTML", 50m)); return courses.toarray(); } 18. Rebuild the solution and try to run it. You still get the original output! Why? Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 385
78 Deployment Demo (Cont d) 19. The client is still connected to the Step1 service. In the client project remove the service reference and then try to add a service reference to service in Demos. 20. Click on the Details link. You ll find this helpful message: This error can be caused by a virtual directory not being configured as an application in IIS. Use IIS to configure the directory WsNetCs/Demos/Courses/CourseService as an application. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 386
79 Deployment Demo (Cont d) 21. Back in the Add Service Reference dialog click Go to attempt to find the service again. This time it will work and you can retrieve the metadata. 22. Click OK. Build and run again. This time you ll connect to the modified service. 411 C# Essentials $ NET Framework Using C# $ Introduction to HTML $50.00 Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 387
80 Lab 10B Implementing a Data Contract In this lab, you implement a data contract for courses. A service contract specifies operations to obtain a list of courses, to add a course, and to delete a course. The course data is stored in an Access database. Detailed instructions are contained in the Lab 10B write-up at the end of the chapter. Suggested time: 45 minutes Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 388
81 Summary WCF unifies a number of existing technologies for creating distributed applications. WCF services can be hosted in IIS, Windows or Console applications, or WAS. WCF services and clients exchange SOAP messages. WCF services and clients can be configured in code, or via XML configuration files. WCF services are defined by addresses, bindings and contracts. Web services created using ASP.NET are interoperable with those created using WCF as long as both conform to Basic Profile 1.1. A data contract describes the data to be exchanged between a service and a client. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 389
82 Introduction Lab 10A Creating a Simple WFC Service and Client In this lab, you will use Visual Studio 2010 to create a simple WCF service that is hosted in IIS. You will then create a client Console application, use Add Service Reference to create a proxy for the service, and demonstrate that the client can contact the service. Suggested Time: 45 minutes Root Directory: OIC\WsNetCs Directories: Labs\Lab10A (create solution here) Chap10\SimpleMath (contains lab solution) Part 1: Creating the Service Website 1. Use Visual Studio 2010 to create an empty solution SimpleMath in the working directory. 2. In Solution Explorer, right-click on the solution and choose Add New Web Site. 3. For template choose WCF Service. Use HTTP and the following URL: 4. In the file IService.cs, provide the following simple service contract ICalc. [ServiceContract] public interface ICalc { [OperationContract] int Add(int x, int y); [OperationContract] int Multiply(int x, int y); } 5. In the file Service.cs, provide the following implementation: public class Calc : ICalc { public int Add(int x, int y) { return x + y; } public int Multiply(int x, int y) Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 390
83 } { } return x * y; 6. Edit the file Service.svc to specify Calc as the service. <%@ ServiceHost Language="C#" Debug="true" Service="Calc" CodeBehind="~/App_Code/Service.cs" %> 7. In Solution Explorer, make Service.svc the Start Page. 8. Build and run the solution. When Internet Explorer comes up, it should display a page with information about the service. In particular, notice the sample client code. Part 2: Creating a Console Client 1. Add a second project to your solution, a Console application named MathCon. 2. In Solution Explorer, right-click over the MathCon project and select Add Service Reference from the context menu. 3. In the Add Service Reference dialog, click on the Discover button to find the services in the solution. Expand the services and the interfaces. 4. Note that the suggested namespace of the proxy is ServiceReference1. Click OK. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 391
84 5. In Program.cs import the namespace MathCon.ServiceReference1. 6. Provide the following code for Main() to instantiate a client proxy and exercise the two methods.. static void Main(string[] args) { CalcClient proxy = new CalcClient(); int sum = proxy.add(5, 7); Console.WriteLine("sum = {0}", sum); int prod = proxy.multiply(5, 7); Console.WriteLine("product = {0}", prod); } proxy.close(); Console.WriteLine("Press ENTER to exit"); Console.ReadLine(); 7. Make MathCon the startup project. 8. Build and run. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 392
85 Introduction Lab 10B Implementing a Data Contract In this lab, you implement a data contract for courses. A service contract specifies operations to obtain a list of courses, to add a course, and to delete a course. The course data is stored in an Access database. Suggested Time: 45 minutes Root Directory: OIC\WsNetCs Directories: Labs\Lab10B (work area) Chap10\Courses\Step1 (starter code to deploy) Chap10\Courses\Step2 (answer) Part 1: Deploy the Starter Service Website to Lab Area 1. Copy the contents of Chap10\Courses\Step1 to the work area. 2. Open the solution Courses.sln in the work area. 3. Observe that the Web Site at this new location is still the original Web Site of the Step1 version. Remove this Web Site in Solution Explorer and delete the contents of the folder Labs\Lab10B\CourseService. 4. Close the solution in the lab area, saving your modifications. Open the Step1 solution in Visual Studio. 5. In Solution Explorer right-click on the Web Site. Select Copy Web Site from the context menu. 6. Click the Connect button and navigate to Labs\Lab10B\CourseService. 7. Click Open. A message box will inform you that the Web site is not marked as an application in IIS. Click Yes to open it anyway. Do this again when it happens later. 8. Select all the files in the Source Web Site and click the blue arrow that points to the right. The files will now be copied to the Remote Web Site. 9. In Visual Studio go back to the solution in the work area. In Solution Explorer rightclick over the solution and choose Add Existing Web Site from the context menu. 10. Navigate to Labs\Lab10B\CourseService. Click Open. Observe that the Web Site in the solution now has this URL: Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 393
86 11. As a final step go to the client project and delete the existing service reference. Add a service reference to the service that is now in the solution. You won t be able to find it yet because the Web site is not configured as an application in IIS. Perform this configuration and then finish adding the service reference. You have now completed deployment of the solution with its web site and client program to the lab work area. Congratulations! Part 2: Obtain Data from an Access Database 1. Examine the file DB.cs in the App_Code folder of the Web site project. This contains a class DBData that encapsulates access to the Course table of the Zenith.mdb database. 2. Open the file Service.cs in the Web site project. Replace the stub code that obtains a list of some hard-coded courses by code that obtains the courses from the GetCourseList() method of the DBData class. public class CourseService : ICourseManager { public Course[] GetCourses() { DBData DB = new DBData(); List<Course> courses = DB.GetCourseList(); return courses.toarray(); } } 3. Build and run. You should not have to replace the service reference because you have not modified the contract, only the implementation. Now your client program should show the courses from the database. 4. Add operations to the service contract for adding and deleting a course. [ServiceContract] public interface ICourseManager { [OperationContract] Course[] GetCourses(); [OperationContract] int AddCourse(string coursenumber, string title, decimal price); [OperationContract] int DeleteCourse(string coursenumber); } 5. Implement these operations by calling the appropriate methods of the DBData class. public int AddCourse(string coursenumber, string title, decimal price) { DBData DB = new DBData(); return DB.AddCourse(courseNumber, title, price); Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 394
87 } public int DeleteCourse(string coursenumber) { DBData DB = new DBData(); return DB.DeleteCourse(courseNumber); } 6. Add code to Program.cs in the client project to exercise the new operations. Simply add a course, show the list of courses, delete the new course, and show the list again. static void Main(string[] args) { CourseManagerClient client = new CourseManagerClient(); Course[] courses = client.getcourses(); ShowCourses(courses); client.addcourse("444", "Introduction to WCF", 175m); ShowCourses(client.GetCourses()); client.deletecourse("444"); ShowCourses(client.GetCourses()); client.close(); } 7. Rebuild the solution. You will get compile errors because the old proxy does not about the new methods that you are attempting to exercise in the test program. 8. Delete the service reference and add a service reference. The proxy will now know about the new operations. 9. Build and run. Your solution should now be fully operational. Rev. 4.0 Copyright 2011 Object Innovations Enterprises, LLC 395
WCF WINDOWS COMMUNICATION FOUNDATION OVERVIEW OF WCF, MICROSOFTS UNIFIED COMMUNICATION FRAMEWORK FOR.NET APPLICATIONS
WCF WINDOWS COMMUNICATION WCF Windows Communication Foundation FOUNDATION OVERVIEW OF WCF, MICROSOFTS UNIFIED COMMUNICATION FRAMEWORK FOR.NET APPLICATIONS Peter R. Egli INDIGOO.COM 1/24 Contents 1. What
WEB SERVICES. Revised 9/29/2015
WEB SERVICES Revised 9/29/2015 This Page Intentionally Left Blank Table of Contents Web Services using WebLogic... 1 Developing Web Services on WebSphere... 2 Developing RESTful Services in Java v1.1...
Whats the difference between WCF and Web Services?
Whats the difference between WCF and Web Services? In this article I will explain the Difference between ASP.NET web service and WCF services like ASP.NET web services. I will also discusses how we use
Web services can convert your existing applications into web applications.
i About the Tutorial Web services are open standard (XML, SOAP, HTTP, etc.) based web applications that interact with other web applications for the purpose of exchanging data Web services can convert
Introduction to Web Services
Department of Computer Science Imperial College London CERN School of Computing (icsc), 2005 Geneva, Switzerland 1 Fundamental Concepts Architectures & escience example 2 Distributed Computing Technologies
Research on the Model of Enterprise Application Integration with Web Services
Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business
Simplifying Processes Interoperability with a Service Oriented Architecture
Why SOA? Simplifying Processes Interoperability with a Service Oriented Architecture Zak Merzouki, Software Architecture and Technology Director BDPA 11/20/2008 Perspective "Things should be made as simple
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems
Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems If company want to be competitive on global market nowadays, it have to be persistent on Internet. If we
Developing Java Web Services
Page 1 of 5 Developing Java Web Services Hands On 35 Hours Online 5 Days In-Classroom A comprehensive look at the state of the art in developing interoperable web services on the Java EE platform. Students
Introduction into Web Services (WS)
(WS) Adomas Svirskas Agenda Background and the need for WS SOAP the first Internet-ready RPC Basic Web Services Advanced Web Services Case Studies The ebxml framework How do I use/develop Web Services?
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
Java Web Services Training
Java Web Services Training Duration: 5 days Class Overview A comprehensive look at the state of the art in developing interoperable web services on the Java EE 6 platform. Students learn the key standards
JVA-561. Developing SOAP Web Services in Java
JVA-561. Developing SOAP Web Services in Java Version 2.2 A comprehensive look at the state of the art in developing interoperable web services on the Java EE 6 platform. Students learn the key standards
Service-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
VB.NET - WEB PROGRAMMING
VB.NET - WEB PROGRAMMING http://www.tutorialspoint.com/vb.net/vb.net_web_programming.htm Copyright tutorialspoint.com A dynamic web application consists of either or both of the following two types of
How To Create A C++ Web Service
A Guide to Creating C++ Web Services WHITE PAPER Abstract This whitepaper provides an introduction to creating C++ Web services and focuses on:» Challenges involved in integrating C++ applications with
Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies
Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,
ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:
Java WebService BENEFITS OF ATTENDANCE: PREREQUISITES: Upon completion of this course, students will be able to: Describe the interoperable web services architecture, including the roles of SOAP and WSDL.
HexaCorp. White Paper. SOA with.net. Ser vice O rient ed Ar c hit ecture
White Paper SOA with.net Ser vice O rient ed Ar c hit ecture Introduction SOA, a rich technology foundation designed for building distributed service-oriented applications for the enterprise and the web
A standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist [email protected] Copyright IBM Corporation 2005. All rights
Q Lately I've been hearing a lot about WS-Security. What is it, and how is it different from other security standards?
MSDN Home > MSDN Magazine > September 2002 > XML Files: WS-Security, WebMethods, Generating ASP.NET Web Service Classes WS-Security, WebMethods, Generating ASP.NET Web Service Classes Aaron Skonnard Download
Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006
Grid Computing Web s Fall 2006 The Grid: Core Technologies Maozhen Li, Mark Baker John Wiley & Sons; 2005, ISBN 0-470-09417-6 Web s Based on Oriented Architecture (SOA) Clients : requestors Servers : s
IBM Rational Rapid Developer Components & Web Services
A Technical How-to Guide for Creating Components and Web Services in Rational Rapid Developer June, 2003 Rev. 1.00 IBM Rational Rapid Developer Glenn A. Webster Staff Technical Writer Executive Summary
Middleware and the Internet. Example: Shopping Service. What could be possible? Service Oriented Architecture
Middleware and the Internet Example: Shopping Middleware today Designed for special purposes (e.g. DCOM) or with overloaded specification (e.g. CORBA) Specifying own protocols integration in real world
Implementing a WCF Service in the Real World
Implementing a WCF Service in the Real World In the previous chapter, we created a basic WCF service. The WCF service we created, HelloWorldService, has only one method, called GetMessage. Because this
Oracle SOA Reference Architecture
http://oraclearchworld.wordpress.com/ Oracle SOA Reference Architecture By Kathiravan Udayakumar Introduction to SOA Service Oriented Architecture is a buzz word in IT industry for few years now. What
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
WA2087 Programming Java SOAP and REST Web Services - WebSphere 8.0 / RAD 8.0. Student Labs. Web Age Solutions Inc.
WA2087 Programming Java SOAP and REST Web Services - WebSphere 8.0 / RAD 8.0 Student Labs Web Age Solutions Inc. 1 Table of Contents Lab 1 - WebSphere Workspace Configuration...3 Lab 2 - Introduction To
Creating XML Report Web Services
5 Creating XML Report Web Services In the previous chapters, we had a look at how to integrate reports into Windows and Web-based applications, but now we need to learn how to leverage those skills and
AquaLogic Service Bus
AquaLogic Bus Wolfgang Weigend Principal Systems Engineer BEA Systems 1 What to consider when looking at ESB? Number of planned business access points Reuse across organization Reduced cost of ownership
A Web Services Created Online Training and Assessment Scheme
International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2015 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Md Mobin
Service Computing: Basics Monica Scannapieco
Service Computing: Basics Monica Scannapieco Generalities: Defining a Service Services are self-describing, open components that support rapid, low-cost composition of distributed applications. Since services
Accessing Data with ADOBE FLEX 4.6
Accessing Data with ADOBE FLEX 4.6 Legal notices Legal notices For legal notices, see http://help.adobe.com/en_us/legalnotices/index.html. iii Contents Chapter 1: Accessing data services overview Data
T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm
T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm Based on slides by Sasu Tarkoma and Pekka Nikander 1 of 20 Contents Short review of XML & related specs
Internationalization and Web Services
Internationalization and Web Services 25 th Internationalization and Unicode Conference Presented by Addison P. Phillips Director, Globalization Architecture webmethods, Inc. 25 th Internationalization
Introduction to UDDI: Important Features and Functional Concepts
: October 2004 Organization for the Advancement of Structured Information Standards www.oasis-open.org TABLE OF CONTENTS OVERVIEW... 4 TYPICAL APPLICATIONS OF A UDDI REGISTRY... 4 A BRIEF HISTORY OF UDDI...
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1) E14294-04 January 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include: What
SOA, BPM, and Microsoft: A Pragmatic View
SOA, BPM, and Microsoft: A Pragmatic View David Chappell Chappell & Associates www.davidchappell.com Copyright 2006 David Chappell Vision and Pragmatism Vision is essential But rubber must eventually meet
CT30A8902 Service Oriented Architecture Exercises
CT30A8902 Service Oriented Architecture Exercises Overview Web Service Creating a web service [WebService][Web Method] Publishing Web service in IIS server Consuming the Web service WCF Service Key difference
Middleware and the Internet
Middleware and the Internet Middleware today Designed for special purposes (e.g. DCOM) or with overloaded specification (e.g. CORBA) Specifying own protocols integration in real world network? Non-performant
Using Web Services to exchange information via XML
Paper TS07 Using Web Services to exchange information via XML Edward Foster, Oxford Pharmaceutical Sciences, UK ABSTRACT Web Services have evolved over the past 4 years and are a key component of Service
Introduction to Testing Webservices
Introduction to Testing Webservices Author: Vinod R Patil Abstract Internet revolutionized the way information/data is made available to general public or business partners. Web services complement this
SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008
SOA Fundamentals For Java Developers Alexander Ulanov, System Architect Odessa, 30 September 2008 What is SOA? Software Architecture style aimed on Reuse Growth Interoperability Maturing technology framework
Building and Using Web Services With JDeveloper 11g
Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the
What is a Web service?
What is a Web service? Many people and companies have debated the exact definition of Web services. At a minimum, however, a Web service is any piece of software that makes itself available over the Internet
Oracle Application Server 10g Web Services Frequently Asked Questions Oct, 2006
Oracle Application Server 10g Web Services Frequently Asked Questions Oct, 2006 This FAQ addresses frequently asked questions relating to Oracle Application Server 10g Release 3 (10.1.3.1) Web Services
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1.6) E14294-06 November 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include:
TIBCO ActiveMatrix Service Bus Getting Started. Software Release 2.3 February 2010
TIBCO ActiveMatrix Service Bus Getting Started Software Release 2.3 February 2010 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO
Software Requirement Specification Web Services Security
Software Requirement Specification Web Services Security Federation Manager 7.5 Version 0.3 (Draft) Please send comments to: [email protected] This document is subject to the following license:
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives
Getting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
Middleware Lou Somers
Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
Oracle Service Bus Examples and Tutorials
March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan
Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC
Consuming and Producing Web Services with Web Tools Christopher M. Judd President/Consultant Judd Solutions, LLC Christopher M. Judd President/Consultant of Judd Solutions Central Ohio Java User Group
Cloud Computing & Service Oriented Architecture An Overview
Cloud Computing & Service Oriented Architecture An Overview Sumantra Sarkar Georgia State University Robinson College of Business November 29 & 30, 2010 MBA 8125 Fall 2010 Agenda Cloud Computing Definition
http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx
ASP.NET Overview.NET Framework 4 ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is
Sentinet for BizTalk Server SENTINET
Sentinet for BizTalk Server SENTINET Sentinet for BizTalk Server 1 Contents Introduction... 2 Sentinet Benefits... 3 SOA and APIs Repository... 4 Security... 4 Mediation and Virtualization... 5 Authentication
Choosing a Development Tool
Microsoft Dynamics GP 2013 R2 Choosing a Development Tool White Paper This paper provides guidance when choosing which development tool to use to create an integration for Microsoft Dynamics GP. Date:
The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14
The presentation explains how to create and access the web services using the user interface. Page 1 of 14 The aim of this presentation is to familiarize you with the processes of creating and accessing
Testing Web Services Today and Tomorrow
Copyright Rational Software 2002 http://www.therationaledge.com/content/oct_02/m_webtesting_jb.jsp Testing Web Services Today and Tomorrow by Jason Bloomberg Senior Analyst ZapThink LLC With all the attention
IBM WebSphere ILOG Rules for.net
Automate business decisions and accelerate time-to-market IBM WebSphere ILOG Rules for.net Business rule management for Microsoft.NET and SOA environments Highlights Complete BRMS for.net Integration with
CHAPTER 10: WEB SERVICES
Chapter 10: Web Services CHAPTER 10: WEB SERVICES Objectives Introduction The objectives are: Provide an overview on how Microsoft Dynamics NAV supports Web services. Discuss historical integration options,
Web Services Advanced Topics
Web Services Advanced Topics Where things are now and where they are going Version 9 Web Services Advanced Topics WSAdvanced-2 Enterprise Web Services Industry trends and organizations Security and Reliability
Introduction to Service-Oriented Architecture for Business Analysts
Introduction to Service-Oriented Architecture for Business Analysts This course will provide each participant with a high-level comprehensive overview of the Service- Oriented Architecture (SOA), emphasizing
Business Process Execution Language for Web Services
Business Process Execution Language for Web Services Second Edition An architect and developer's guide to orchestrating web services using BPEL4WS Matjaz B. Juric With Benny Mathew and Poornachandra Sarang
IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide
IBM SPSS Collaboration and Deployment Services Version 6 Release 0 Single Sign-On Services Developer's Guide Note Before using this information and the product it supports, read the information in Notices
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES Peter R. Egli INDIGOO.COM 1/16 Contents 1. EAI versus SOA versus ESB 2. EAI 3. SOA 4. ESB 5. N-tier enterprise architecture
Definition of SOA. Capgemini University Technology Services School. 2006 Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2
Gastcollege BPM Definition of SOA Services architecture is a specific approach of organizing the business and its IT support to reduce cost, deliver faster & better and leverage the value of IT. November
Oracle Service Bus. User Guide 10g Release 3 Maintenance Pack 1 (10.3.1) June 2009
Oracle Service Bus User Guide 10g Release 3 Maintenance Pack 1 (10.3.1) June 2009 Oracle Service Bus User Guide, 10g Release 3 Maintenance Pack 1 (10.3.1) Copyright 2007, 2008, Oracle and/or its affiliates.
Creating Web Services in NetBeans
Creating Web Services in NetBeans Fulvio Frati [email protected] Sesar Lab http://ra.crema.unimi.it 1 Outline Web Services Overview Creation of a Web Services Server Creation of different Web Services
WebSphere Portal Server and Web Services Whitepaper
WebSphere Server and s Whitepaper Thomas Schaeck ([email protected]) IBM Software Group Abstract As web services will become the predominant method for making information and applications available programmatically
An Oracle White Paper November 2009. Oracle Primavera P6 EPPM Integrations with Web Services and Events
An Oracle White Paper November 2009 Oracle Primavera P6 EPPM Integrations with Web Services and Events 1 INTRODUCTION Primavera Web Services is an integration technology that extends P6 functionality and
Virtual Credit Card Processing System
The ITB Journal Volume 3 Issue 2 Article 2 2002 Virtual Credit Card Processing System Geraldine Gray Karen Church Tony Ayres Follow this and additional works at: http://arrow.dit.ie/itbj Part of the E-Commerce
Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur
Module 17 Client-Server Software Development Lesson 42 CORBA and COM/DCOM Specific Instructional Objectives At the end of this lesson the student would be able to: Explain what Common Object Request Broker
Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)
Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Michael P. Papazoglou (INFOLAB/CRISM, Tilburg University, The Netherlands)
What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
What is Middleware? Application Application Middleware Middleware Operating System Operating System Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
Service Virtualization: Managing Change in a Service-Oriented Architecture
Service Virtualization: Managing Change in a Service-Oriented Architecture Abstract Load balancers, name servers (for example, Domain Name System [DNS]), and stock brokerage services are examples of virtual
LinuxWorld Conference & Expo Server Farms and XML Web Services
LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
COMPARISON OF SOAP BASED TECHNOLOGIES:.NET REMOTING AND ASP.NET WEB SERVICES
JOURNAL OF AERONAUTICS AND SPACE TECHNOLOGIES JULY 2006 VOLUME 2 NUMBER 4 (23-28) COMPARISON OF SOAP BASED TECHNOLOGIES:.NET REMOTING AND ASP.NET WEB SERVICES Güray Turkish Air Force Academy Computer Engineering
SCA-based Enterprise Service Bus WebSphere ESB
IBM Software Group SCA-based Enterprise Service Bus WebSphere ESB Soudabeh Javadi, WebSphere Software IBM Canada Ltd [email protected] 2007 IBM Corporation Agenda IBM Software Group WebSphere software
WCF Service Creation With C#
Not quite what you are looking for? You may want to try: Three ways to do WCF instance management A closer look at Windows Communication Foundation highlights off Sign in home articles quick answers discussions
Mobility Information Series
SOAP vs REST RapidValue Enabling Mobility XML vs JSON Mobility Information Series Comparison between various Web Services Data Transfer Frameworks for Mobile Enabling Applications Author: Arun Chandran,
Web Services Technologies
Web Services Technologies XML and SOAP WSDL and UDDI Version 16 1 Web Services Technologies WSTech-2 A collection of XML technology standards that work together to provide Web Services capabilities We
Getting Started with Service- Oriented Architecture (SOA) Terminology
Getting Started with - Oriented Architecture (SOA) Terminology Grace Lewis September 2010 -Oriented Architecture (SOA) is a way of designing, developing, deploying, and managing systems it is neither a
Lesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
Copyright 2012, Oracle and/or its affiliates. All rights reserved.
1 OTM and SOA Mark Hagan Principal Software Engineer Oracle Product Development Content What is SOA? What is Web Services Security? Web Services Security in OTM Futures 3 PARADIGM 4 Content What is SOA?
Walkthrough: Creating and Using an ASP.NET Web Service in Visual Web Developer
http://msdn.microsoft.com/en-us/library/8wbhsy70.aspx Walkthrough: Creating and Using an ASP.NET Web Service in Visual Web Developer In addition to letting you create Web pages, Microsoft Visual Studio
Literature Review Service Frameworks and Architectural Design Patterns in Web Development
Literature Review Service Frameworks and Architectural Design Patterns in Web Development Connor Patrick [email protected] Computer Science Honours University of Cape Town 15 May 2014 Abstract Organizing
Programmabilty. Programmability in Microsoft Dynamics AX 2009. Microsoft Dynamics AX 2009. White Paper
Programmabilty Microsoft Dynamics AX 2009 Programmability in Microsoft Dynamics AX 2009 White Paper December 2008 Contents Introduction... 4 Scenarios... 4 The Presentation Layer... 4 Business Intelligence
Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform
Part III: Component Architectures Natividad Martínez Madrid y Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid {nati, spickin}@it.uc3m.es Introduction Contents Client-server
Writing Grid Service Using GT3 Core. Dec, 2003. Abstract
Writing Grid Service Using GT3 Core Dec, 2003 Long Wang [email protected] Department of Electrical & Computer Engineering The University of Texas at Austin James C. Browne [email protected] Department
How To Understand A Services-Oriented Architecture
Introduction to Service Oriented Architecture CSCI-5828 Foundations of Software Engineering Ming Lian March 2012 Executive Summary This Executive Summary gives the straight word to the fresh that have
Developing Java Web Services to Expose the WorkTrak RMI Server to the Web and XML-Based Clients
Developing Ja Web Services to Expose the WorkTrak RMI Server to the Web and XML-Based Clients Roochi Sahni Abstract-- One development on the Internet involves a group of open standard technologies referred
