Buy Microsoft .NET Distributed Applications by Matthew MacDonald
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology > Computer programming / software engineering > Microsoft .NET Distributed Applications: Integrating XML Web Services and .NET Remoting
Microsoft .NET Distributed Applications: Integrating XML Web Services and .NET Remoting

Microsoft .NET Distributed Applications: Integrating XML Web Services and .NET Remoting


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

Make the jump to distributed application programming using the .NET Framework—and introduce a new level of performance, scalability, and security to your network and enterprise applications. Expert .NET developer Matthew MacDonald shares proven techniques for fully exploiting .NET Remoting, XML Web services, and other .NET technologies and integrating them into your real-world solutions. MacDonald digs into key .NET building blocks and architectural issues, explaining which features and designs will best serve your customized distributed application projects—and when to use them. Case studies with full code examples illustrate these practical techniques in action, as well as demonstrating their benefits and tradeoffs. Learn how to: Cross application boundaries with .NET Remoting, XML Web services, and Message Queuing Create responsive clients and scalable servers with multithreading Model your distributed application with interfaces, facades, and factories Use COM+ services such as object pooling, JIT activation, and transactions Craft a data transfer plan with Microsoft ADO.NET—without concurrency errors Help secure your code end to end—from the transport level to the presentation tier Learn ways to avert—or unclog—performance bottlenecks in your applications Automate deployment using self-updating applications and XML Web services Master stateless programming and other best practices for distributed applications

Table of Contents:
Acknowledgments xix Introduction xxi PART I KEY TECHNOLOGIES 1 Understanding Distributed Architecture 3 What Is a Distributed Application? 3 Client/Server Architecture 5 Problems with Client/Server Architecture 7 Distributed Architecture 9 Advantages of Distributed Architecture 10 DCOM and the History of Distributed Applications 12 .NET Distributed Technologies 13 2 .NET Components 19 What Is a Component? 19 The Component s Role in a Distributed System 20 Service Providers 21 Information Packages 22 Dissecting a Sample Component 22 The IComponent Interface 28 Using Components at Design Time 29 Resources and Disposable Classes 31 Connection Strings and Configuration Files 34 Configuration Files in Visual Studio .NET 37 Deploying an Assembly 38 Sharing Assemblies 39 Searching for Private Assemblies 40 Versioning Assemblies 42 Shared Assemblies and the GAC 43 Delayed Signing 46 Using Configuration Files with Shared Assemblies 47 Versioning Policies with Strong-Named Assemblies 50 Code Bases with Shared Assemblies 51 A Final Word About Assembly Binding 52 3 Disconnected Data: The Universal Language 55 The Role of ADO.NET in a Distributed System 56 The ADO.NET Object Family 57 The Data Objects 58 Direct Data Source Interaction 59 Direct Queries and Data Readers 63 Stored Procedures 67 Provider-Agnostic ADO.NET Code 70 Transactions 72 The DataSet 73 Creating a DataSet 75 DataSet Indirection Through Column Mappings 77 Navigating the DataSet 79 Relations 81 Updating from a DataSet 85 Update Issues 87 Handling Errors 89 XML and Cross-Platform Data Exchange 90 4 .NET Remoting: A More Durable DCOM 93 The Role of .NET Remoting in a Distributed System 94 .NET Remoting Fundamentals 95 Serializable Classes 96 Remotable Classes 99 The Remote Component Host 101 Key .NET Remoting Design Decisions 103 Activation Modes 103 Object Lifetime 104 Server and Client Activation 105 Communication 105 A Simple Remoting Server 108 The Remote Object 108 The Component Host 109 The Client Application 112 A Remotable Component with User Interface 115 Testing with Visual Studio .NET 115 Using a Different Formatter 116 Using Multiple Channels 118 SingleCall Objects 119 Singleton Objects 120 Bidirectional Communication 121 Using Events 122 Using Delegates 127 Configuring Object Lifetime 129 Modifying Lifetime 132 Using a Leasing Sponsor 134 Common Remoting Exceptions 136 5 XML Web Services (RPC the Easy Way) 139 The Role of XML Web Services in a Distributed System 139 .NET Remoting vs. XML Web Services 140 XML Web Service Plumbing 142 The Role of IIS 145 Creating a Virtual Directory 146 The XML Web Service File Format 147 Creating an XML Web Service 148 Data Serialization 153 Testing the XML Web Service 156 The WSDL Document 158 Consuming the XML Web Service 158 Examining the Proxy Class 161 Using the Proxy Class 163 Debugging Web Services 164 ASP.NET Platform Services 167 SOAP Headers and SOAP Extensions 168 Publishing an XML Web Service 169 Cross-Platform XML Web Services 170 6 Threaded Clients (Responsive Interfaces) 175 What Is Multithreading? 175 The Role of Threaded Clients in a Distributed System 176 Threading in .NET 179 Asynchronous Delegates 180 Asynchronous Remoting Calls 184 Asynchronous Web Service Calls 184 Wait Handles 186 Callbacks 187 Asynchronous I/O 190 Custom Threading 191 Thread Priorities 194 Thread Management 196 Thread Debugging 199 Locking 200 Race Conditions 203 Deadlocks 204 Advanced Locking with the Monitor Class 205 Custom Threaded Objects 208 Threading and User Interfaces 211 Using Callbacks and Locking 213 Sending Instructions to a Thread 217 7 Thread Pools and Services (Scalable Programming) 221 The Role of Threading in a Distributed System 221 Singleton Basics 223 Tracking Clients 225 Managing and Cleaning Up Tasks 228 Ticket Systems 230 Locking 231 An XML Web Service Singleton 234 Thread Pools 235 Windows Services 237 Creating a Windows Service 238 Installing a Windows Service 243 Debugging a Windows Service 246 Controlling Windows Services 248 Using a Windows Service for a Component Host 250 8 Messaging (Lightweight Communication) 253 The Role of Messaging in a Distributed System 254 Fire-and-Forget Communication 255 Introducing Message Queuing 257 Message Queuing Server 258 Dependent Client 258 Independent Client 259 Message Queuing Basics 259 Types of Message Queues 260 The Message Queue Service 262 Configuring Message Queues 262 The Anatomy of a Message 264 Manipulating Queues in .NET 265 Selecting a Queue 266 Searching for a Queue 268 Creating a Queue 268 Sending a Message 269 Sending Object Messages 271 Advanced Message Configuration 273 Receiving a Message 275 Browsing Messages 277 Response and Acknowledgement Messages 278 Message Queues in a Distributed Application 280 COM+ Queued Components 281 9 COM+ (Component Services) 283 The Role of COM+ in a Distributed System 284 COM and Interop 285 COM+ Registration Basics 286 Giving Your Assembly a Strong Name 288 Dynamic Registration 289 Manual Registration 291 COM+ and the Declarative Model 292 COM+ Versioning 294 Using a COM+ Component 295 Object Pooling 295 The Ideal Pooled Component 296 Pooling and State 297 A Pooled Component Example 299 Establishing a Pool 304 Activation, Deactivation, and Conditional Pooling 306 Pooling and Data Providers 307 Object Pooling vs. Connection Pooling 309 Just-in-Time Activation 309 JIT Activation and Object Pooling 313 JIT Activation and .NET 314 Automatic Transactions 314 Objects and Transactions 316 Rolling a Custom Transaction 320 Isolation Levels 321 Web Method Transactions 322 Less Useful COM+ Services 323 Queued Components 324 Role-Based Security 325 Synchronization 325 Loosely Coupled Events 325 Object Construction String 325 SOAP Services (Only in COM+ 1.5) 326 PART II DEVELOPING AN ARCHITECTURE 10 Enterprise Application Modeling 329 Key Considerations for Distributed Components 329 Cross-Process and Cross-Computer Communication 330 The Question of State 330 Are Remote Objects Really Objects? 332 Performance vs. Scalability 336 The Lessons Learned 338 Designing in Tiers 340 Business Objects 341 Rules 341 Distributed Design Patterns 343 Interfaces 344 Factories 345 Facades 345 Facades and Interception 348 Facades and XML Web Services 349 Facades and Transactions 350 Choosing the Right .NET Technology 351 Internal and External Systems 351 Hybrid Internal/External Systems 352 The Common Back End 353 Partially Disconnected Systems 353 Upgrading from COM 355 Physical Architecture 356 Scaling 356 Load Balancing 357 11 Advanced Remoting Techniques 359 Developing with .NET Remoting in Mind 359 ByRef and ByVal Arguments 360 Exception Propagation 360 Static Members 361 Private Methods 361 Public Members 362 Versioning 363 Interface-Based Programming 366 Problems with Interface-Based Remoting 373 .NET Remoting and XML Web Services Revisited 376 Soapsuds and WSDL Description 376 ASP.NET Hosting 378 Programmatic Registration 380 Dynamic Publication 383 Recording Connection Information with an XML Web Service 383 A Closer Look at ObjRef 389 12 Optimizing the Data Tier 391 Connection Pooling 391 Connections and Application Domains 394 Testing Connection Pooling 395 Developing a Data Transfer Plan 400 Batch Updates 401 Caching 404 Output (Response) Caching 405 Considerations for Output Caching 406 Data Caching 408 Determining a Caching Strategy 412 Optimizing the Database 414 Stored Procedures 414 Indexes 414 Profiling 415 Partition Large Data Tables 416 Placing Code in the Data Tier 417 Normalizing 418 13 Implementing Security 421 Authentication and Authorization 422 Windows Authentication 424 IIS Authentication Settings 426 Setting Authentication Information with an XML Web Service Client 429 Setting Authentication Information with a .NET Remoting Client 430 Available User Information 431 Impersonation 433 Custom Role-Based Authentication 435 Ticket Systems 439 Passing Tickets Automatically 443 Encryption 445 SSL 446 SSL and Certificates 446 Communicating with SSL 448 The .NET Encryption Classes 450 Selective Asymmetric Encryption 451 Selective Symmetric Encryption 457 Selective Encryption with .NET Remoting 462 Using Custom Classes to Wrap Encryption 462 Using .NET Serialization to Encrypt Classes 465 Code Access Security 468 Security and the Stack Walk 469 Security Demands 471 Security Assert, Deny, and PermitOnly 473 14 Monitoring, Logging, and Profiling 477 Server-Side Logging 477 Logging with Facades and Reflection 481 The Windows Event Log 484 Direct Mail Notification 492 Client-Side Logging 493 Using Tracing 494 Catching Unhandled Errors 500 Profiling with Performance Counters 500 Essential Performance Counters 501 Custom Performance Counters 503 15 Deployment Strategies 511 Traditional Deployment Problems and .NET Solutions 511 The Application Launcher 512 Security Holes in the Upgrade XML Web Service 521 Other Enhancements to the Application Launcher 522 The Application Browser 523 The Application Browser XML Web Service 525 The Application Browser Modules 527 The Application Browser 527 Code Access Security 531 Improving Communication in the Application Browser 536 A More Dynamic Application Browser 541 PART III CASE STUDIES 16 Invoicer.NET Traveling Sales 545 Defining the Problem 546 Key Analysis 547 Evaluating Different Paths 548 Defining the Solution 549 The Data Layer 550 Stored Procedures 552 The Excel Spreadsheet 555 The Data Component 557 The CustomersDB Class 558 The OrdersDB Class 560 The InvoicerTables Class 564 The ExcelTranslator Class 565 The Back-End OrderProcessor Service 570 The Web Front End 575 The XML Web Service Layer 577 Migration Strategies 580 Adding Security 580 Adding Early Validation 581 Using Unique Filenames 581 Excel Headaches and a Dedicated Windows Client 581 17 Transact.NET Order Fulfillment 585 Defining the Problem 585 Key Analysis 586 Defining the Solution 588 The Data Layer 590 Stored Procedures 591 The Data Component 596 The ProductDB Class 598 The OrderDB Class 599 The TransactTables Class 606 The Order Submission XML Web Service 607 The Order Client 611 The Internal OrderFill Client 617 The Queue Monitor 623 Future Directions 626 Adding Security 626 Adding Confirmation GUIDs 626 Supporting Multiple Order-Filling Clients 627 18 SuperCompute.NET Work Requests 631 Defining the Problem 631 Key Analysis 633 Defining the Solution 634 The Data Layer 636 Stored Procedures 637 The Data Component 642 The UserDB Class 643 The SessionDB Class 644 The TaskDB Class 647 The SuperComputeTables Class 653 The Render Web Service 654 RenderService Authentication 654 RenderService Functionality 658 The Client 660 The Task Processor 663 The TaskProcessor Component 664 The Task Processor Front End 664 Downloading a Rendered File 672 Future Directions 674 Adding Ticket Caching 674 Enhanced Client Cleanup 676 Adding Message Queuing 676 Adding Load Balancing 676 19 Microsoft Case Studies 681 The IBuySpy Storefront 682 The IBuySpy Portal 684 Duwamish 7 685 .NET Pet Shop 687 Fitch & Mather Stocks 7 688 Nile Books 689 ColdStorage 689 Jaggle 689 Favorites Service 690 INDEX

About the Author :
Matthew MacDonald is a developer, author, and educator in all things Visual Basic and .NET. He's worked with Visual Basic and ASP since their initial versions, and has written over a dozen books on the subject, including The Book of VB .NET (No Starch Press) and Visual Basic 2005: A Developer's Notebook (O'Reilly).


Best Sellers


Product Details
  • ISBN-13: 9780735619333
  • Publisher: Microsoft Press,U.S.
  • Publisher Imprint: Microsoft Press,U.S.
  • Height: 229 mm
  • No of Pages: 752
  • Weight: 1000 gr
  • ISBN-10: 0735619336
  • Publisher Date: 12 Feb 2003
  • Binding: Paperback
  • Language: English
  • Sub Title: Integrating XML Web Services and .NET Remoting
  • Width: 187 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Microsoft .NET Distributed Applications: Integrating XML Web Services and .NET Remoting
Microsoft Press,U.S. -
Microsoft .NET Distributed Applications: Integrating XML Web Services and .NET Remoting
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Microsoft .NET Distributed Applications: Integrating XML Web Services and .NET Remoting

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    Fresh on the Shelf


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!