REST in Practice

Total Page:16

File Type:pdf, Size:1020Kb

REST in Practice REST in Practice Jim Webber, Savas Parastatidis, and Ian Robinson Beijing · Cambridge · Farnham · Köln · Sebastopol · Tokyo REST in Practice by Jim Webber, Savas Parastatidis, and Ian Robinson Copyright © 2010 Jim Webber, Savas Parastatidis, and Ian Robinson. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Simon St.Laurent Indexer: Lucie Haskins Production Editor: Rachel Monaghan Cover Designer: Karen Montgomery Copyeditor: Audrey Doyle Interior Designer: Ron Bilodeau Proofreader: Rachel Monaghan Illustrator: Robert Romano Production Services: Newgen North America Printing History: September 2010: First Edition. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc., REST in Practice, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and au- thors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. ISBN: 978-0-596-80582-1 [M] C o n t e n t s Foreword .. ............................ ix Preface .. ............................. xi 1 The Web As a Platform for Building Distributed Systems .. 1 Architecture of the Web 2 Thinking in Resources 4 From the Web Architecture to the REST Architectural Style 12 The Web As an Application Platform 15 Web Friendliness and the Richardson Maturity Model 18 GET on Board 20 2 Introducing Restbucks: How to GET a Coffee, Web Style .. ........................... 21 Restbucks: A Little Coffee Shop with Global Ambitions 22 Toolbox 27 Here Comes the Web 30 3 Basic Web Integration .. ................... 31 Lose Weight, Feel Great! 31 A Simple Coffee Ordering System 32 URI Templates 35 URI Tunneling 37 POX: Plain Old XML over HTTP 42 We Are Just Getting Started 54 4 CRUD Web Services .. .................... 55 Modeling Orders As Resources 55 Building CRUD Services 57 Aligning Resource State 78 Consuming CRUD Services 83 Consuming Services Automatically with WADL 86 CRUD Is Good, but It’s Not Great 90 v 5 Hypermedia Services .. .................... 93 The Hypermedia Tenet 93 Hypermedia Formats 97 Contracts 108 Hypermedia Protocols 112 Implementing a Hypermedia Service 128 Building the Ordering Service in Java 128 Building the Ordering Service in .NET 140 Ready, Set, Action 152 6 Scaling Out .. ..........................155 GET Back to Basics 155 Caching 157 Making Content Cacheable 161 Implementing Caching in .NET 167 Consistency 171 Extending Freshness 179 Stay Fresh 183 7 The Atom Syndication Format .. ...............185 The Format 185 Common Uses for Atom 188 Using Atom for Event-Driven Systems 189 Building an Atom Service in Java 207 Building an Atom Service in .NET 219 Atom Everywhere? 234 After the Event 236 8 Atom Publishing Protocol .. 237 Atom Publishing Protocol 238 Implementing Order Fulfillment Using AtomPub 249 Implementing AtomPub in .NET 268 A Versatile Protocol 283 9 Web Security .. .........................285 HTTP Security Essentials 286 Identity and the OpenID Protocol 295 The OAuth Protocol 315 Service Hacks and Defenses 339 Final Thoughts 349 vi Contents 10 Semantics .. ..........................351 Syntax Versus Semantics 351 Structure and Representation of Information 352 The Semantic Web 357 Microformats 372 Linked Data and the Web 373 Guidance 374 11 The Web and WS-*. 375 Are Web Services Evil? 375 SOAP: The Whole Truth 376 WSDL: Just Another Object IDL 380 Two Wrongs Don’t Make a Right 386 Secure, Reliable, Transacted 387 A Requiem for Web Services? 405 12 Building the Case for the Web .. ..............407 No More Silver Bullets 407 Building and Running Web-Based Services 407 No Architecture Without Measurement 409 Selling the Web 412 Go Forth and Build 414 Index .. ..............................415 Contents vii Chapter one The Web As a Platform for Building Distributed Systems The Web haS radically trAnsformed thE way we produce and share informa- tion. Its international ecosystem of applications and services allows us to search, aggre- gate, combine, transform, replicate, cache, and archive the information that underpins today’s digital society. Successful despite its chaotic growth, it is the largest, least formal integration project ever attempted—all of this, despite having barely entered its teenage years. Today’s Web is in large part the human Web: human users are the direct consumers of the services offered by the majority of today’s web applications. Given its success in managing our digital needs at such phenomenal scale, we’re now starting to ask how we might apply the Web’s underlying architectural principles to building other kinds of distributed systems, particularly the kinds of distributed systems typically implemented by “enterprise application” developers. Why is the Web such a successful application platform? What are its guiding principles, and how should we apply them when building distributed systems? What technologies can and should we use? Why does the Web model feel familiar, but still different from previous platforms? Conversely, is the Web always the solution to the challenges we face as enterprise application developers? These are the questions we’ll answer in the rest of this book. Our goal throughout is to describe how to build distributed systems based on the Web’s architecture. We show how to implement systems that use the Web’s predominant application protocol, 1 HyperText Transfer Protocol (HTTP), and which leverage REST’s architectural tenets. We explain the Web’s fundamental principles in simple terms and discuss their relevance in developing robust distributed applications. And we illustrate all this with challenging examples drawn from representative enterprise scenarios and solutions implemented using Java and .NET. The remainder of this chapter takes a first, high-level look at the Web’s architecture. Here we discuss some key building blocks, touch briefly on the REpresentational State Transfer (REST) architectural style, and explain why the Web can readily be used as a platform for connecting services at global scale. Subsequent chapters dive deeper into the Web’s principles and discuss the technologies available for connecting systems in a web-friendly manner. Architecture of the Web Tim Berners-Lee designed and built the foundations of the World Wide Web while a research fellow at CERN in the early 1990s. His motivation was to create an easy-to- use, distributed, loosely coupled system for sharing documents. Rather than starting from traditional distributed application middleware stacks, he opted for a small set of technologies and architectural principles. His approach made it simple to imple- ment applications and author content. At the same time, it enabled the nascent Web to scale and evolve globally. Within a few years of the Web’s birth, academic and research websites had emerged all over the Internet. Shortly thereafter, the busi- ness world started establishing a web presence and extracting web-scale profits from its use. Today the Web is a heady mix of business, research, government, social, and individual interests. This diverse constituency makes the Web a chaotic place—the only consistency being the consistent variety of the interests represented there; the only unifying factor the seemingly never-ending thread of connections that lead from gaming to commerce, to dating to enterprise administration, as we see in Figure 1-1. Despite the emergent chaos at global scale, the Web is remarkably simple to under- stand and easy to use at local scale. As documented by the World Wide Web Consortium (W3C) in its “Architecture of the World Wide Web,” the anarchic architecture of today’s Web is the culmination of thousands of simple, small-scale interactions between agents and resources that use the founding technologies of HTTP and the URI.* * “Architecture of the World Wide Web, Volume One,” http://www.w3.org/TR/webarch/. 2 CHAPTER 1: the web as A platform for Building DISTRIButeD SYSTEMS Figure 1-1. the Web The Web’s architecture, as portrayed in Figure 1-1, shows URIs and resources playing a leading role, supported by web caches for scalability. Behind the scenes, service bound- aries support isolation and independent evolution of functionality, thereby encourag- ing loose coupling. In the enterprise, the same architectural principles and technology can be applied. Architecture OF THE Web 3 Traditionally we’ve used middleware to build distributed systems. Despite the amount of research and development that has gone into such platforms, none of them has managed to become as pervasive as the Web is today. Traditional middleware tech- nologies have always focused on the computer science aspects of distributed systems: components, type systems, objects, remote procedure calls, and so on. The Web’s middleware is a set of widely deployed and commoditized servers. From
Recommended publications
  • GS1 Digital Link Standard (DRAFT) Enabling Consistent Representation of GS1 Identification Keys Within Web Addresses to Link to Online Information and Services
    GS1 Digital Link Standard (DRAFT) enabling consistent representation of GS1 identification keys within web addresses to link to online information and services Release [ToBe]1.1, Draft, 10 June 2019 IMPORTANT Disclaimer applicable to this Community Review public draft This document is a DRAFT, a work in progress and NOT the final GS1 standard. This document is for review only and it is provided "as is". GS1 does not make any representation or warranty, express or implied, including, but not limited to, warranties of merchantability, fitness for a particular purpose or use, non-infringement, or title; that the contents of the document are suitable for specific purposes; nor that the implementation of such contents will not infringe any third party patents, copyrights, trademarks or other rights. Furthermore, GS1 assumes no liability whatsoever for any inadvertent errors or omissions that may appear in the document. In no event shall GS1 be liable for any direct, indirect, special or consequential damages arising out of any use of the document or the performance or implementation of the contents thereof. Although the standard development process is in progress and governed by the GS1 Intellectual Property Policy, intellectual property right issues could occur any time. The document itself cannot infringe patent rights, but the implementation thereof could. Therefore, if you implement the draft standard contained in the document, you do so entirely at your own risk. Implementers and distributors of software products are encouraged to provide feedback, but should consult with their own attorneys, and form their own conclusions concerning the implementability and possible infringement of third-party rights.
    [Show full text]
  • Web Services and Service Oriented Architectures 1 ©2009 Cesare Pautasso Web Sites (1992)
    SOA with REST Cesare Pautasso Faculty of Informatics University of Lugano http://www.pautasso.info [email protected] 31.3.2009 Web Services and Service Oriented Architectures 1 ©2009 Cesare Pautasso Web Sites (1992) Web HTML Web Browser HTTP Server WS-* Web Services (2000) SOAP WSDL Client XML Server (HTTP) 31.3.2009 Web Services and Service Oriented Architectures 2 ©2009 Cesare Pautasso RESTful Web Services (2007) PO-XML JSON RSS WADL Web Client HTTP Server WS-* Web Services (2000) SOAP WSDL Client XML Server (HTTP) 31.3.2009 Web Services and Service Oriented Architectures 3 ©2009 Cesare Pautasso Where do Web services come from? • Address the problem of • REST advocates have come enterprise software to believe that their ideas are standardization just as applicable to solve • Enterprise Computing application integration Standards for Interoperability problems. (WS started 2001) • A layered architecture with a variety of messaging, description and discovery specifications • Are all specifications really composable? • Do things from the ground up, quickly, in well factored, distinct, tightly focused specifications • Tools will hide the complexity • “Look ma’, no tools!” 31.3.2009 Web Services and Service Oriented Architectures 4 ©2009 Cesare Pautasso Dealing with Heterogeneity • Web Applications • Enterprise Computing Picture from Eric Newcomer, IONA EricNewcomer, Picture from HTTP CICS IMS 31.3.2009 Web Services and Service Oriented Architectures 5 ©2009 Cesare Pautasso Big Web Services WS-PageCount Messaging 232 pages • High perceived
    [Show full text]
  • Scott Guthrie Keynote Speaker at NDC 2011 See Agenda at P.42-43
    For software developers and leaders NDC motivates Unit 4, Agresso see why at p.28 Scott Guthrie Keynote Speaker at NDC 2011 see Agenda at p.42-43 The Big Wall: Who needs How to Bring a Huge a service bus, Product Backlog anyway? Down to Size by Udi Dahan by Mitch Lacey ALSO FEATURING: IAN ROBINSON ANDERS NORÅS ROD PADDOCK GASPAR NAGY JONAS BANDI JEFF WILCOX GREG SHACKLES DOMINICK BAIER JON SKEET GILL CLEEREN GARY SHORT BILLY HOLLIS MARK SEEMANN SCOTT bellware NORWEGIAN DEVELOPERS CONFERENCE 2011 Oslo Spektrum, Oslo June 8 -10th Navn: Hege Lidenskap: Spreke løsningskonsepter Jobb: Senior Business Consultant Navn: Terje Lidenskap: SharePoint Jobb: Senior Software Engineer FOTO: BO MATHISEN Bli en del av vårt sterke fagmiljø innen samhandling og SharePoint Steria er blitt kåret til en av Norges beste arbeidsplasser fire år på rad. Det er ikke uten grunn. Mye skyldes de gode utviklingsmulighetene. Mye skyldes de utfordrende prosjektene. Mye skyldes det sterke og gode fagmiljøet. Velkommen til et av Europas største Vårt fagmiljø innen samhandling og informasjons- Spennende utfordringer it-konsulentselskaper håndtering er trolig et av Nord-Europas sterkeste. Vi er Steria er en kunnskapsbedrift. Vi lever av å gi gode Det har skjedd mye siden vi etablerte oss i 1969 i EMC Documentum partner og den eneste leverandøren råd om ledelse og it. Basert på våre sterke fagmiljøer Paris. Vi er nå et av Europas 10 største it-konsulent- som har godkjent Noark 5 kjerne for Documentum med bistår vi en rekke av Norges største virksomheter innen selskaper med 20 000 medarbeidere i 16 land og sakarkiv.
    [Show full text]
  • Html-Zh-Cn.Pdf
    HTML #html 1 1: HTML 2 2 2 Examples 2 2 2 2 3 3 2: Div 5 5 5 Examples 5 5 5 3: HTML 5 7 7 Examples 7 Html 5 7 4: HTML 8 Examples 8 HTML 8 8 5: SVG 9 9 9 Examples 9 HTMLSVG 9 9 object 9 SVG 9 CSSSVG 10 6: TABINDEX 11 11 11 Examples 11 Tab 11 Tab 11 Tab 11 7: HTMLCSS 12 12 12 Examples 12 12 12 13 13 8: 14 14 14 14 Examples 14 14 14 14 15 application-name 15 author 15 description 15 generator 15 keywords 15 16 16 16 Facebook / Open Graph 16 Facebook / 17 17 Google+ / Schema.org 17 17 18 9: 19 19 19 Examples 19 19 10: 21 21 21 21 Examples 21 21 21 21 21 22 11: 23 23 Examples 23 23 23 24 25 25 25 25 26 26 26 27 12: 28 28 28 Examples 28 =“” 28 = “alertdialog” 29 =“” 29 =“” 29 =“” 29 =“” 30 =“” 30 =“” 30 = “columnHeader” 30 =“” 31 =“” 31 = “contentinfo” 31 =“” 31 =“” 31 =“” 32 =“” 32 =“” 32 =“” 32 =“” 33 =“” 33 =“” 33 = “IMG” 33 =“” 34 =“” 34 =“” 34 =“” 34 =“” 34 =“” 35 =“” 35 =“” 35 =“” 35 =“” 35 =“” 36 = “menuitemcheckbox” 36 = “menuitemradio” 36 =“” 36 =“” 36 =“” 36 =“” 37 =“” 37 =“” 37 =“” 37 = “RadioGroup” 37 =“” 38 = “rowgroup” 38 = “rowHeader” 38 =“” 38 =“” 39 =“” 39 =“” 39 =“” 39 =“” 40 =“” 40 =“” 40 =“” 40 =“” 40 =“” 41 = “tabpanel” 41 =“” 41 =“” 41 =“” 41 =“” 42 =“” 42 = “TreeGrid” 42 = “treeitem” 42 13: 44 44 44 44 Examples 44 44 44 44 14: 46 46 46 Examples 46 46 46 47 47 srcset 48 srcset 48 srcset 48 48 15: HTMLJavaScript 50 50 50 50 Examples 50 JavaScript 50 JavaScript 50 JavaScript 50 Javascript 50 16: 52 52 52 52 Examples 53 ` `` `/ 53 53 53 53 17: 55 Examples 55 55 HTML5 55 18: 56 56 Examples 56 56 MIME 56 19: 57 57 57 Examples
    [Show full text]
  • GS1 Digital Link: Resolution
    GS1 Digital Link: Resolution Resolving GS1 Digital Link URIs to one or more sources of related informationenabling consistent representation of GS1 identification keys within web addresses to link to online information and services To Be 1.2, Draft 0.6, 22 October 2020 GS1 Digital Link Standard Document Summary Document Item Current Value Document Name GS1 Digital Link: resolution Document Date 22 October 2020 Document Version To be 1.2 Document Issue Document Status Draft Document Description enabling consistent representation of GS1 identification keys within web addresses to link to online information and services Contributors (to be updated by Greg) Log of Changes Release Date of Change Changed By Summary of Change 0.1 2020-04-20 Phil Archer, Mark Harrison Preparation for work on version 1.2 (by editing version 1.1). Known specific issues are highlighted where relevant in the text. 0.2 2020-05-14 Phil Archer, Ralph Tröger Additional issues from RT: https for canonical URIs, identification of split in GRAIs; place holders for expected work on binary EPC/RFID 0.3 2020-08-07 Phil Archer Split from original all in one standard. Signifiant changes to matching of link attributes to requests 0.4 2020-10-02 Dom Guinard, Phil Archer Responding to Dom’s comments and MSWG meeting 2020-10-01 0.5 2020-10-14 Phil Archer Further responses to comments received from Dom and Frits van den Bos, tidying up of refs and glossary, introductory material added with links to other DL standards. 0.6 2020-10-22 Phil Archer Removed schema.org as a namespace that SHOULD be supported Disclaimer GS1®, under its IP Policy, seeks to avoid uncertainty regarding intellectual property claims by requiring the participants in the Work Group that developed this GS1 Digital Link: Resolution standard version 1.2 to agree to grant to GS1 members a royalty-free licence or a RAND licence to Necessary Claims, as that term is defined in the GS1 IP Policy.
    [Show full text]
  • Where Is the Semantic Web? – an Overview of the Use of Embeddable Semantics in Austria
    Where Is The Semantic Web? – An Overview of the Use of Embeddable Semantics in Austria Wilhelm Loibl Institute for Service Marketing and Tourism Vienna University of Economics and Business, Austria [email protected] Abstract Improving the results of search engines and enabling new online applications are two of the main aims of the Semantic Web. For a machine to be able to read and interpret semantic information, this content has to be offered online first. With several technologies available the question arises which one to use. Those who want to build the software necessary to interpret the offered data have to know what information is available and in which format. In order to answer these questions, the author analysed the business websites of different Austrian industry sectors as to what semantic information is embedded. Preliminary results show that, although overall usage numbers are still small, certain differences between individual sectors exist. Keywords: semantic web, RDFa, microformats, Austria, industry sectors 1 Introduction As tourism is a very information-intense industry (Werthner & Klein, 1999), especially novel users resort to well-known generic search engines like Google to find travel related information (Mitsche, 2005). Often, these machines do not provide satisfactory search results as their algorithms match a user’s query against the (weighted) terms found in online documents (Berry and Browne, 1999). One solution to this problem lies in “Semantic Searches” (Maedche & Staab, 2002). In order for them to work, web resources must first be annotated with additional metadata describing the content (Davies, Studer & Warren., 2006). Therefore, anyone who wants to provide data online must decide on which technology to use.
    [Show full text]
  • Wiley.Smashing.HTML5.Feb.2011.Pdf
    01_977279-ffirs.indd i 10/28/10 9:54 PM SMASHING HTML5 01_977279-ffirs.indd i 10/28/10 9:54 PM PUBLISHER’S ACKNOWLEDGMENTS Some of the people who helped bring this book to market include the following: Editorial and Production VP Consumer and Technology Publishing Director: Michelle Leete Associate Director–Book Content Management: Martin Tribe Associate Publisher: Chris Webb Publishing Assistant: Ellie Scott Development Editor: Elizabeth Kuball Copy Editor: Elizabeth Kuball Technical Editor: Harvey Chute Editorial Manager: Jodi Jensen Senior Project Editor: Sara Shlaer Editorial Assistant: Leslie Saxman Marketing Senior Marketing Manager: Louise Breinholt Marketing Executive: Kate Parrett Composition Services Compositor: Wiley Composition Services Proofreader: Susan Hobbs Indexer: Potomac Indexing, LLC 01_977279-ffirs.indd ii 10/28/10 9:54 PM SMASHING HTML5 Bill Sanders wnload from Wow! eBook <www.wowebook.com> o D A John Wiley and Sons, Ltd, Publication 01_977279-ffirs.indd iii 10/28/10 9:54 PM Th is edition fi rst published 2011 © 2011 William B. Sanders. Registered offi ce John Wiley & Sons Ltd, Th e Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, United Kingdom For details of our global editorial offi ces, for customer services and for information about how to apply for permission to reuse the copyright material in this book please see our website at www.wiley.com. Th e right of the author to be identifi ed as the author of this work has been asserted in accordance with the Copyright, Designs and Patents Act 1988. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopy- ing, recording or otherwise, except as permitted by the UK Copyright, Designs and Patents Act 1988, without the prior permission of the publisher.
    [Show full text]
  • Achieving Linked Enterprise Data with Restful Services and Link Relations W3C Workshop on Linked Enterprise Data
    Achieving Linked Enterprise Data with RESTful Services and Link Relations W3C Workshop on Linked Enterprise Data Cornelia Davis EMC [email protected] 25 October 2011 While the proponents of the Linked Data movement prescribe the use of RDF, RDF Schema, OWL and SPARQL, with the “5-star model”, even the staunchest supporters acknowledge that there are other ways to achieve at least some level of data linking. In the general sense, Linked Data means that data entities are connected to one another in a manner that can be “understood” by programmatic clients. While the body of Linked Open Data has grown respectably, adoption of this paradigm in the enterprise has been slow. The transition of web services interfaces from an RPC/SOAP-based style to a RESTful style, a phenomenon that is happening in most enterprises today, is an excellent opportunity to begin making enterprise data available as linked data, even without requiring corporate buy-in on the full “Semantic Web.” RESTful Services The uptake of RESTful services out on the web1 and the popularization of cloud computing has helped drive enterprises to develop RESTful interfaces to their products. In general, however, true understanding of the principles of REST remains weak and poses a risk to the potential for linked data that RESTful interfaces offer. All four of the primary REST principles are critical to the cause: • Identification and addressability of resources: All interesting bits of information are identified with URIs and those URIs are generally URLs. • Uniform interface: Interaction with resources is through a standardized set of operations, with well understood semantics (usually HTTP).
    [Show full text]
  • XEP-0240: Auto-Discovery of Jabberids
    XEP-0240: Auto-Discovery of JabberIDs Peter Saint-Andre Ralph Meijer mailto:xsf@stpeter:im mailto:ralphm@ik:nu xmpp:peter@jabber:org xmpp:ralphm@ik:nu http://stpeter:im/ 2008-04-30 Version 0.1 Status Type Short Name Deferred Standards Track NOT_YET_ASSIGNED This specification defines a recommended best practice for linking to JabberIDs from documents hosted on the World Wide Web. Legal Copyright This XMPP Extension Protocol is copyright © 1999 – 2020 by the XMPP Standards Foundation (XSF). Permissions Permission is hereby granted, free of charge, to any person obtaining a copy of this specification (the ”Specification”), to make use of the Specification without restriction, including without limitation the rights to implement the Specification in a software program, deploy the Specification in a network service, and copy, modify, merge, publish, translate, distribute, sublicense, or sell copies of the Specifi- cation, and to permit persons to whom the Specification is furnished to do so, subject to the condition that the foregoing copyright notice and this permission notice shall be included in all copies or sub- stantial portions of the Specification. Unless separate permission is granted, modified works that are redistributed shall not contain misleading information regarding the authors, title, number, or pub- lisher of the Specification, and shall not claim endorsement of the modified works by the authors, any organization or project to which the authors belong, or the XMPP Standards Foundation. Warranty ## NOTE WELL: This Specification is provided on an ”AS IS” BASIS, WITHOUT WARRANTIES OR CONDI- TIONS OF ANY KIND, express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.
    [Show full text]
  • Enterprise Integration Patterns with WSO2 ESB
    WSO2 EIP Guide Enterprise Integration Patterns with WSO2 ESB 1 April - 2013 WSO2 EIP Guide Table of Contents 1. Enterprise Integration Patterns with WSO2 ESB . 4 1.1 Messaging Systems . 8 1.1.1 Message Channels . 9 1.1.2 Message . 12 1.1.3 Pipes and Filters . 13 1.1.4 Message Router . 16 1.1.5 Message Translator . 20 1.1.6 Message Endpoint . 24 1.2 Messaging Channels . 27 1.2.1 Point-to-Point Channel . 28 1.2.2 Publish-Subscribe Channel . 31 1.2.3 Datatype Channel . 34 1.2.4 Invalid Message Channel . 38 1.2.5 Dead Letter Channel . 41 1.2.6 Guaranteed Delivery . 47 1.2.7 Messaging Bridge . 51 1.2.8 Message Bus . 54 1.3 Message Construction . 55 1.3.1 Command Message . 56 1.3.2 Document Message . 58 1.3.3 Event Message . 61 1.3.4 Request-Reply . 63 1.3.5 Return Address . 66 1.3.6 Correlation Identifier . 69 1.3.7 Message Sequence . 70 1.3.8 Message Expiration . 70 1.3.9 Format Indicator . 73 1.4 Message Routing . 74 1.4.1 Content-Based Router . 76 1.4.2 Message Filter . 79 1.4.3 Dynamic Router . 82 1.4.4 Recipient List . 86 1.4.5 Splitter . 90 1.4.6 Aggregator . 93 1.4.7 Resequencer . 96 1.4.8 Composed Msg. Processor . 100 1.4.9 Scatter-Gather . 104 1.4.10 Routing Slip . 109 1.4.11 Process Manager . 113 1.4.12 Message Broker . 114 1.5 Message Transformation .
    [Show full text]
  • Page 1 of 9 Codeproject: Efficiently Exposing Your Data with Minimal
    CodeProject: Efficiently exposing your data with minimal effort. Free source code and pr ... Page 1 of 9 6,623,518 members and growing! (20,991 online) Email Password Sign in Join Remember me? Lost your password? Home Articles Quick Answers Message Boards Job Board Catalog Help! Soapbox Web Development » ASP.NET » Samples License: The Code Project Open License (CPOL) C#, XML.NET 3.5, WCF, LINQ, Architect, Dev Efficiently exposing your data with minimal effort Posted: 16 Nov 2009 By V.GNANASEKARAN Views: 1,238 An article on how we can expose our data efficiently with minimal effort by leveraging Microsoft ADO.NET Data Services. Bookmarked: 7 times Advanced Search Articles / Quick Answers Go! Announcements Search Add to IE Search Windows 7 Comp Print Share Discuss Report 11 votes for this article. Win a laptop! Popularity: 4.62 Rating: 4.44 out of 5 1 2 3 4 5 Monthly Competition Download source code - 101 KB ARTICLES Desktop Development Web Development Introduction Ajax and Atlas Applications & Tools For enterprises which have been in business for decades, problems due to silos of applications and data that ASP evolved over the years is a common issue. These issues sometimes become show stoppers when an enterprise is ASP.NET starting a new strategic initiative to revamp its IT portfolio, to float new business models and explore new ASP.NET Controls business opportunities. ATL Server Caching This article is going to discuss possible options available for unification of data silos, and how efficiently an Charts, Graphs and Images enterprise can expose its data with minimal effort by leveraging the recent advancements in technology.
    [Show full text]
  • CS8651-Internet Programming Department of CSE 1 Unit- I Part
    CS8651-Internet Programming Department of CSE CS6501 - Internet programming Unit- I Part - A 1 Define Java. Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed to have the "look and feel" of the C++ language, but it is simpler to use than C++ and enforces an object- oriented programming model. 2. What is a Class? Class is a template for a set of objects that share a common structure and a common behaviour. 3. What is an Object? Object is an instance of a class. It has state, behaviour and identity. It is also called as an instance of a class. 4. What is an Instance? An instance has state, behaviour and identity. The structure and behaviour of similar classes are defined in their common class. An instance is also called as an object. 5. What are different types of access modifiers (Access specifiers)? Access specifiers are keywords that determine the type of access to the member of a class. These keywords are for allowing privileges to parts of a program such as functions and variables. These are: public: Anything declared as public can be accessed from anywhere. private: Anything declared as private can’t be seen outside of its class. protected: Anything declared as protected can be accessed by classes in the same package and subclasses in the there packages. default modifier : Can be accessed only to classes in the same package. 6. What is method overloading and method overriding? Method overloading: When a method in a class having the same method name with different arguments is said to be method overloading.
    [Show full text]