Pro Business Applications with Silverlight 4

Size: px
Start display at page:

Download "Pro Business Applications with Silverlight 4"

Transcription

1 Pro Business Applications with Silverlight 4 Chris Anderson

2 Pro Business Applications with Silverlight 4 Copyright 2010 by Chris Anderson All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): ISBN-13 (electronic): Printed and bound in the United States of America Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. President and Publisher: Paul Manning Lead Editor: Jon Hassell Technical Reviewer: Editorial Board: Clay Andres, Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Jonathan Gennick, Jonathan Hassell, Michelle Lowman, Matthew Moodie, Duncan Parkes, Jeffrey Pepper, Frank Pohlmann, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Coordinating Editor: Tracy Brown Copy Editors: Julie Hammond, Damon Larson, Heather Lang, Kim Wimpsett. Compositor: Bytheway Publishing Services Indexer: Toma Mulligan Artist: April Milne Cover Designer: Anna Ishchenko Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY Phone SPRINGER, fax , orders-ny@springersbm.com, or visit For information on translations, please rights@apress.com, or visit Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. ebook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales ebook Licensing web page at The information in this book is distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at You will need to answer questions pertaining to this book in order to successfully download the code.

3 For my grandmother Connie, a great role model for will power, optimism, generousity, patience, and love. I miss her dearly.

4 Contents at a Glance Contents at a Glance...iv Contents...v About the Author... xix Acknowledgments... xx Chapter 1: Introduction...1 Chapter 2: Getting Started with Silverlight...13 Chapter 3: An Introduction to XAML...35 Chapter 4: The Navigation Framework...73 Chapter 5: Exposing Data from the Server: Using WCF RIA Services...93 Chapter 6: Implementing Summary Lists Chapter 7: Building Data Entry Forms Chapter 8: Securing Your Application Chapter 9: Styling Your Application Chapter 10: Advanced XAML and Data Binding Chapter 11: Creating Custom Controls Chapter 12: The Model-View-ViewModel (MVVM) Design Pattern Chapter 13: Printing and Reporting Chapter 14: Out of Browser Mode, and Interacting with the Operating System Chapter 15: Application Deployment Index iv

5 C Contents Contents at a Glance...iv Contents...v About the Author... xix Acknowledgments... xx Chapter 1: Introduction...1 Who This Book Is For...1 About This Book...2 About the Author...3 Silverlight Overview...4 What Is Silverlight?... 4 A Short History of Silverlight... 6 What Can Silverlight Bring to Your Business Application?... 7 When Should You Not Use Silverlight?... 8 Comparing Silverlight to Other Microsoft Platforms... 9 Comparison with Adobe Flash/Flex Business Applications Overview...11 Summary...12 Chapter 2: Getting Started with Silverlight...13 Required Tools...13 Visual Studio Expression Blend 4 and SketchFlow v

6 Silverlight 4 Tools WCF RIA Services Silverlight Toolkit SQL Server 2008 Express Edition Silverlight Spy (and.net Reflector) Creating a Silverlight Application...16 Silverlight Application Silverlight Navigation Application Silverlight Business Application Silverlight Class Library WCF RIA Services Class Library Silverlight Unit Test Application Running and Exploring the Default Silverlight Business Application Project...19 Exploring the Initial Silverlight Project Structure...22 Project Links The Web Application Project Structure The Silverlight Application Project Structure Recommended Project Template Modifications...31 XAP Files...32 Summary...33 Chapter 3: An Introduction to XAML...35 Overcoming XAML s Steep Learning Curve...35 Why Learn XAML?...36 XAML Syntax, Document Structure, and Features...37 Core XAML Syntax Creating an Object Hierarchy Namespaces Assigning Property Values to Controls vi

7 Attached Properties XAML Namespace Properties Design-Time Properties Markup Extensions Namescopes Controls...50 Base Control Classes Layout Controls XAML vs. Windows Forms Controls Property Names Assigning Event Handlers Creating a Simple User Interface Resources and Resource Dictionaries...62 Styles...64 Templates...65 Data Binding...65 Binding to an Object Binding to a Collection Designing User Experiences...70 The Designer/Developer Workflow...71 XAML User Interfaces: A Different Perspective...71 Summary...72 Chapter 4: The Navigation Framework...73 Getting Started with the Navigation Framework...73 Components of the Navigation Framework...75 The Frame Control The Page Class The NavigationService Object The NavigationContext Object vii

8 Navigating Between Views...77 View URIs Navigation Methods on the Frame Control Navigation Methods on the NavigationService Object Using a HyperlinkButton Control Using the Source Property of the Frame Control User-Initiated Navigation Passing Data Between Views...80 Passing Data Using Query String Parameters Reading Query String Parameters Passing Complex Data Types Between Views...82 Deep Links...82 URI Mapping to Enable Friendly URIs...83 Integrating with the Browser History...85 Handling Navigation Events...87 Frame Events View Events Caching Views...89 Visual Transition Effects...90 Alternative User Interface Frameworks...91 Summary...91 Chapter 5: Exposing Data from the Server: Using WCF RIA Services...93 What Is WCF RIA Services?...94 How the WCF RIA Services Code Generator Works...95 How Do You Use WCF RIA Services?...96 Linking Your Silverlight and Web Projects Creating Your Domain Services Creating Domain Operations on Your Domain Services viii

9 Consuming the Domain Services Getting Started...98 Creating a Data Access Layer Using the Entity Framework Configuring the Database About the Entity Framework Creating an Entity Model Domain Services Understanding the Domain Service Life Cycle Creating a Domain Service Domain Operations Query Operations Insert/Update/Delete Operations Invoke Operations Custom Operations Decorating Entities Metadata Classes Controlling Client Entity Generation Validation Presentation Miscellaneous Data Annotations Presentation Model Types Creating the Presentation Model Class Populating and Exposing Your Presentation Model Types Updating Your Presentation Model Types Sharing Code/Logic Across Tiers Inspecting the Generated Code in the Silverlight Project Encapsulating Logic in a Separate WCF RIA Services Class Library Handling Server Errors ix

10 Handling Data Concurrency Violations Methods of Identifying Concurrency Violations Configuring the Entity Model to Check for Concurrency Violations Testing Your Solution Resolving Conflicts in the Domain Service Transactions WCF RIA Services Toolkit Alternative Communication Technologies WCF Services WCF Data Services HTTP Requests Sockets Summary Chapter 6: Implementing Summary Lists Exposing a Summary Collection from the Server Collections and Collection Views ObservableCollection<T> Views Consuming Data from the Server Understanding the Domain Context XAML-Based Approach Code-Based Approach Choosing the Right Approach Explicitly Specifying a Domain Service Host Using the BusyIndicator Control Displaying the Summary List Retrieving the Data from the Server Configuring and Customizing a Control for Displaying Data x

11 Choosing the Right Control Manipulating Summary Lists Querying Data Exposed by a Domain Operation Filtering the Summary List Sorting the Summary List Grouping the Summary List Paging the Summary List Drilling Down on a Record Opening Details in a New View Opening Details in a Pop-Up Window Displaying Details Using the DataGrid s Row Details Implementing a Master/Details View Handling Errors Summary Chapter 7: Building Data Entry Forms Creating the Data Entry User Interface Laying Out the Data Entry Form Refining the Data Entry Form s Functionality Using the DataGrid for Data Entry Structuring Objects for Use by Data Entry Forms Implementing the INotifyPropertyChanged Interface Implementing the IEditableObject Interface Adding Calculated Properties to Your Classes Data Validation Displaying Validation Errors Types of Data Validation Defining Validation Rules Exposing Validation Errors to the User Interface xi

12 Notifying the User Interface of Object-Level Validation Errors The Validator Class Customizing Validation Attribute Error Messages Submitting Changes to the Server Change-Tracking Submitting Changes via the DomainDataSource Control Submitting Changes via a Domain Context Handling Errors Handling Concurrency Violations Summary Chapter 8: Securing Your Application Implementing Server-Side Security Using RIA Services The ASP.NET Membership API Configuring Your Database for Forms Authentication Authentication Requiring Authentication Role-Based Operation Access Restrictions Returning a Subset of Data Based on the User s ID or Role Permitting Update/Delete Operations According to Data Exposing Custom User Profile Data User Registration Avoiding SQL Injection Attacks Sanitizing Errors Sent to the Client Implementing Client-Side Security Authenticating and Registering Users Accessing and Updating User Information Implementing Client-Side Restrictions Storing Data Locally Encrypting Data Passed Between the Server and the Client xii

13 Cross-Domain Access Policies Implementing Cross-Domain Policies for HTTP-Based Communication Implementing Cross-Domain Policies for Socket-Based Communication Implementing Cross-Scheme Access Policies Restricting Access to Your Application Summary Chapter 9: Styling Your Application The Designer/Developer Workflow Defining Style Resources Defining a Style Resource Defining Style Resources at Various Locations Naming Style Resources Inheriting Style Resources Styling Constraints Control Templates Default Control Templates Templating a Control Control Template Structure Theming Creating a Custom Theme Silverlight Toolkit Themes Silverlight Navigation/Business Application Themed Project Templates Icons and Images Animation Pixel Shaders / Effects Miscellaneous Styling Tips Defining Constants in XAML Restoring a Control s Default Style xiii

14 Summary Chapter 10: Advanced XAML and Data Binding Advanced XAML Comments in XAML Defining Constants Using OR to Combine Enumerated Values in XAML Triggers, Actions, and Behaviors Blendability Creating Consolidated Namespaces MoXAML Power Toys Advanced Data Binding Assigning the Source of a Binding Binding to a Resource Defining Resources in the Code-Behind (For Binding To) Binding to Nested Properties Binding to Indexed Properties Binding to Collection Views Enhancing Data Binding Data Binding in Code Getting and Setting Attached Property Values in Code Additional Tips Summary Chapter 11: Creating Custom Controls Adding Functionality to an Existing Control Creating User Controls Creating a Simple User Control Exposing Properties Exposing Methods xiv

15 Exposing Events Determining If in Design-Time or Runtime Mode Constraining the User Control s Size Creating Custom Controls Creating the Custom Control The Control Structure Defining the Control s Default Template Defining the Control s Behavior Content Controls Containing a Single Control as Content Containing Multiple Controls as Content Attached Properties Summary Chapter 12: The Model-View-ViewModel (MVVM) Design Pattern The Purpose of Implementing MVVM Why You Should Implement MVVM MVVM Theory The Layers View / View Model Configurations MVVM in Practice Creating the Layers Connecting the Layers View and ViewModel Interactions Layer Interaction Summary Hotly Debated Implementation Details MVVM and RIA Services Implementing the Model Implementing the View Model xv

16 Implementing the View Frameworks Summary Chapter 13: Printing and Reporting The Importance of Implementing Reporting Potential Solutions for Implementing Reporting Generating a PDF Generating HTML Generating Office Documents Using Silverlight 4 Printing Functionality Third-Party Report Viewers Office Integration Using COM Choosing a Reporting Strategy Printing Functionality in Silverlight Generating and Displaying a PDF Report Generating a Report on the Server Displaying the Report on the Client Summary Chapter 14: Out of Browser Mode, and Interacting with the Operating System Out of Browser Configuring OOB Mode Installing the Application to Run Out of Browser Determining Installation Status Determining Whether Running Inside or Outside the Browser Where/How is the Application s.xap File Stored and Run? Interacting with the OOB Window Checking for Updates xvi

17 Debugging Out of Browser Uninstalling the Application Toast Notifications Caching Data Locally Caching to Isolated Storage Caching to a Client-Side Database Detecting Network Connection Availability File System Open/Save Dialogs The Open File Dialog The Save File Dialog Drag Drop Target Clipboard Full Screen Initiating Full Screen Mode Detecting the Switch to and from Full Screen Mode Retaining Full Screen Mode When Unfocused Keyboard Access Elevated Trust Enabling Elevated Trust File System Access COM Automation Custom Chrome Other Restrictions Lifted By Elevated Trust Restrictions Imposed by Elevated Trust Disabling Elevated Trust Applications with a Windows Group Policy Summary Chapter 15: Application Deployment Deploying the Application to the Server xvii

18 Server Requirements Using Xcopy Publishing Creating a Web Package Creating a Setup Program Deploying the Application to the Client The Default Silverlight Installation Process Customizing the Silverlight Installation Experience Pushing the Silverlight Runtime to Users in the Enterprise Building a Client Desktop Installer Improving on the Default Application Loading Screen Creating the Application Pre-loader Files Designing the Application Pre-loader Updating the Application Download Progress Configuring the Application Pre-loader in the HTML File Testing the Application Pre-loader Partitioning Your Application Initial Steps Assembly Caching Downloading Modules on Demand Digitally Signing Your Application Summary Index xviii

19 About the Author Chris Anderson has been a professional developer for over 10 years, specializing in building desktop, web, and mobile business applications using Microsoft technologies for industries as wide ranging as accounting, property valuation, mining, the fresh produce industry, logistics, field services, sales, and construction. He holds a Bachelor of Engineering in Computer Systems with a Diploma in Engineering Practice. Chris is now a co-owner of Peer Placements (a specialist recruitment firm for software developers), in addition to working as a consultant, author, and Australian representative of the SilverlightShow.net website. Currently specializing in Silverlight Chris has spoken on this topic at conferences such as Code Camp Australia, TechEd Australia, Silverlight Code Camp Australia, REMIX Australia, and numerous Sydney Silverlight Designer and Developer Network (SDDN) meetings (for which he is a co-organizer). Chris maintains a blog at and can be found on Twitter at xix

20 ABOUT THE TECHNICAL REVIEWERS Acknowledgments I had no idea what I was getting into when taking on this book. Writing a book is a long, arduous task that consumes your entire life, but now that this book is complete I would like to thank those who were instrumental in helping it come to fruition. I d like to start by thanking the members of the Apress team with whom I worked closely throughout the writing process. I m grateful for their guidance and encouragement. I d like to thank Jonathon Hassell and Anne Collett, and in particular Tracy Brown, who was extremely patient with me even as deadlines were rapidly approaching. My great thanks also go to my technical editor Ilia Iordanov, who, with an eagle eye, spotted many issues I had missed, and made some great suggestions. I would especially like to thank Greg Harris ( who gave his time to review every chapter in its draft form, and who provided me with extensive feedback. I really appreciate the amount of time and effort Greg voluntarily spent on this project. His contributions are invaluable. I would also like to thank Miguel Madero and Pencho Popadiyn, who provided additional valuable feedback on the Model-View-ViewModel Design Pattern chapter, and Sergey Klementiev for providing a solution to a problem I had with RIA Services. My thanks also go to all the Silverlight bloggers who provided solutions to difficult problems. I ve credited you in the text when you ve provided information that helped me along my way. From a personal perspective, I d really like to thank my sister Michelle, chef extraordinare, for providing me with home-cooked frozen meals that kept me decently fed for a month when I was working furiously on this book and barely leaving the house. It was a huge help. I d also like to thank Mark Wallis, who covered for me with my clients whilst I had my head down writing. I hope they ll forgive my absence. xx

Pro Business Applications with Silverlight 4

Pro Business Applications with Silverlight 4 Pro Business Applications with Silverlight 4 Chris Anderson Apress* Contents at a Glance Contents About the Author Acknowledgments iv v xix xx a Chapter 1: Introduction 1 Who This Book Is For 1 About This

More information

Beginning Silverlight 3

Beginning Silverlight 3 Beginning Silverlight 3 From Novice to Professional Robert Lair Beginning Silverlight 3: From Novice to Professional Copyright 2009 by Robert Lair All rights reserved. No part of this work may be reproduced

More information

Pro.NET 4 Parallel Programming in C#

Pro.NET 4 Parallel Programming in C# Pro.NET 4 Parallel Programming in C# Adam Freeman Pro.NET 4 Parallel Programming in C# Copyright 2010 by Adam Freeman All rights reserved. No part of this work may be reproduced or transmitted in any form

More information

Companion ebook Available Pro Android Includes Android 1.5 SOURCE CODE ONLINE US $44.99

Companion ebook Available Pro Android Includes Android 1.5 SOURCE CODE ONLINE US $44.99 The EXPERT s VOIce in Open Source Pro Android Covers Google s Android Platform and its fundamental APIs, from basic concepts such as Android resources, intents, and content providers to advanced topics

More information

Python 3 for Absolute Beginners

Python 3 for Absolute Beginners Python 3 for Absolute Beginners Tim Hall and J-P Stacey Python 3 for Absolute Beginners Copyright 2009 by Tim Hall and J-P Stacey All rights reserved. No part of this work may be reproduced or transmitted

More information

C++ Quick Syntax Reference

C++ Quick Syntax Reference C++ Quick Syntax Reference Mikael Olsson C++ Quick Syntax Reference Copyright 2013 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part

More information

Pro SQL Server 2008 Mirroring

Pro SQL Server 2008 Mirroring Pro SQL Server 2008 Mirroring Robert L. Davis, Ken Simmons Pro SQL Server 2008 Mirroring Copyright 2009 by Robert L. Davis, Ken Simmons All rights reserved. No part of this work may be reproduced or transmitted

More information

Objective-C Quick Syntax Reference

Objective-C Quick Syntax Reference Objective-C Quick Syntax Reference Matthew Campbell Objective-C Quick Syntax Reference Copyright 2014 by Matthew Campbell This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

MATLAB Programming for Numerical Analysis. César Pérez López

MATLAB Programming for Numerical Analysis. César Pérez López MATLAB Programming for Numerical Analysis César Pérez López MATLAB Programming for Numerical Analysis Copyright 2014 by César Pérez López This work is subject to copyright. All rights are reserved by the

More information

Web Development, Silverlight, and

Web Development, Silverlight, and The EXPERT s VOIce in.net Beginning Web Development, Silverlight, and ASP.NET AJAX From Novice to Professional Learn how to build web applications using ASP.NET AJAX, WPF, WCF, and WF, as well as Silverlight.

More information

Windows 10 Revealed. The Universal Windows Operating System for PC, Tablets, and Windows Phone. Kinnary Jangla

Windows 10 Revealed. The Universal Windows Operating System for PC, Tablets, and Windows Phone. Kinnary Jangla Windows 10 Revealed The Universal Windows Operating System for PC, Tablets, and Windows Phone Kinnary Jangla Windows 10 Revealed Kinnary Jangla Bing Maps San Francisco, California, USA ISBN-13 (pbk): 978-1-4842-0687-4

More information

Pro Data Backup and Recovery. Steven Nelson

Pro Data Backup and Recovery. Steven Nelson Pro Data Backup and Recovery Steven Nelson Pro Data Backup and Recovery Copyright 2011 by Steven Nelson All rights reserved. No part of this work may be reproduced or transmitted in any form or by any

More information

Excel 2010 Made Simple

Excel 2010 Made Simple Excel 2010 Made Simple Abbott Katz i Excel 2010 Made Simple Copyright 2011 by Abbott Katz All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic

More information

Pro SQL Server 2008 Policy-Based Management. Ken Simmons Colin Stasiuk Jorge Segarra

Pro SQL Server 2008 Policy-Based Management. Ken Simmons Colin Stasiuk Jorge Segarra Pro SQL Server 2008 Policy-Based Management Ken Simmons Colin Stasiuk Jorge Segarra PRO SQL SERVER 2008 POLICY-BASED MANAGEMENT Copyright 2010 by Ken Simmons, Colin Stasiuk, Jorge Segarra All rights reserved.

More information

Pro Entity Framework 4.0

Pro Entity Framework 4.0 Pro Entity Framework 4.0 Scott Klein CONTENTS Pro Entity Framework 4.0 Copyright 2010 by Scott Klein All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,

More information

Pro JavaScript Performance Monitoring and Visualization

Pro JavaScript Performance Monitoring and Visualization Pro JavaScript Performance Monitoring and Visualization Tom Barker Pro JavaScript Performance Copyright 2012 by Tom Barker This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

Beginning ASP.NET MVC 4. José Rolando Guay Paz

Beginning ASP.NET MVC 4. José Rolando Guay Paz Beginning ASP.NET MVC 4 José Rolando Guay Paz Beginning ASP.NET MVC 4 Copyright 2013 by José Rolando Guay Paz This work is subject to copyright. All rights are reserved by the Publisher, whether the whole

More information

Pro ASP.NET SharePoint 2010 Solutions Techniques for Building SharePoint Functionality into ASP.NET Applications

Pro ASP.NET SharePoint 2010 Solutions Techniques for Building SharePoint Functionality into ASP.NET Applications Pro ASP.NET SharePoint 2010 Solutions Techniques for Building SharePoint Functionality into ASP.NET Applications Dave Milner i Pro ASP.NET SharePoint 2010 Solutions: Techniques for Building SharePoint

More information

Swift Quick Syntax Reference

Swift Quick Syntax Reference Swift Quick Syntax Reference Matthew Campbell Swift Quick Syntax Reference Copyright 2014 by Matthew Campbell This work is subject to copyright. All rights are reserved by the Publisher, whether the whole

More information

Foundation Flash Catalyst. Greg Goralski LordAlex Leon

Foundation Flash Catalyst. Greg Goralski LordAlex Leon Foundation Flash Catalyst Greg Goralski LordAlex Leon Foundation Flash Catalyst Copyright 2010 by Gerg Goralski and LordAlex Leon All rights reserved. No part of this work may be reproduced or transmitted

More information

Building Spring 2 Enterprise Applications

Building Spring 2 Enterprise Applications Building Spring 2 Enterprise Applications Interface 21 with Bram Smeets and Seth Ladd Building Spring 2 Enterprise Applications Copyright 2007 by Interface 21, Bram Smeets, Seth Ladd All rights reserved.

More information

Practical Spring LDAP

Practical Spring LDAP Practical Spring LDAP Enterprise Java LDAP Development Made Easy Balaji Varanasi Practical Spring LDAP: Enterprise Java LDAP Development Made Easy Copyright 2013 Balaji Varanasi. All rights reserved. This

More information

Silverlight and ASP.NET Revealed. Matthew MacDonald

Silverlight and ASP.NET Revealed. Matthew MacDonald Silverlight and ASP.NET Revealed Matthew MacDonald Silverlight and ASP.NET Revealed Copyright 2007 by Matthew MacDonald All rights reserved. No part of this work may be reproduced or transmitted in any

More information

Microsoft Computer Vision APIs Distilled

Microsoft Computer Vision APIs Distilled Microsoft Computer Vision APIs Distilled Getting Started with Cognitive Services Alessandro Del Sole Microsoft Computer Vision APIs Distilled Alessandro Del Sole Cremona, Italy ISBN-13 (pbk): 978-1-4842-3341-2

More information

Flash Builder and Flash Catalyst The New Workflow. Steven Peeters

Flash Builder and Flash Catalyst The New Workflow. Steven Peeters Flash Builder and Flash Catalyst The New Workflow Steven Peeters Flash Builder and Flash Catalyst The New Workflow Copyright 2010 by Steven Peeters All rights reserved. No part of this work may be reproduced

More information

Functional Programming in R

Functional Programming in R Functional Programming in R Advanced Statistical Programming for Data Science, Analysis and Finance Thomas Mailund Functional Programming in R: Advanced Statistical Programming for Data Science, Analysis

More information

Essential Angular for ASP.NET Core MVC

Essential Angular for ASP.NET Core MVC Essential Angular for ASP.NET Core MVC Adam Freeman Essential Angular for ASP.NET Core MVC Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-2915-6 ISBN-13 (electronic): 978-1-4842-2916-3 DOI 10.1007/978-1-4842-2916-3

More information

Beginning Web Development, Silverlight, and ASP.NET AJAX

Beginning Web Development, Silverlight, and ASP.NET AJAX Beginning Web Development, Silverlight, and ASP.NET AJAX From Novice to Professional Laurence Moroney Beginning Web Development, Silverlight, and ASP.NET AJAX: From Novice to Professional Copyright 2008

More information

JavaScript Quick Syntax Reference

JavaScript Quick Syntax Reference JavaScript Quick Syntax Reference Mikael Olsson JavaScript Quick Syntax Reference Copyright 2015 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Pro ASP.NET MVC 5. Adam Freeman

Pro ASP.NET MVC 5. Adam Freeman Pro ASP.NET MVC 5 Adam Freeman Pro ASP.NET MVC 5 Copyright 2013 by Adam Freeman This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is

More information

C Quick Syntax Reference

C Quick Syntax Reference C Quick Syntax Reference Mikael Olsson C Quick Syntax Reference Copyright 2015 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of

More information

Pro Perl Parsing. Christopher M. Frenz

Pro Perl Parsing. Christopher M. Frenz Pro Perl Parsing Christopher M. Frenz Pro Perl Parsing Copyright 2005 by Christopher M. Frenz Lead Editors: Jason Gilmore and Matthew Moodie Technical Reviewer: Teodor Zlatanov Editorial Board: Steve Anglin,

More information

Web Programming with Dart. Moises Belchin Patricia Juberias

Web Programming with Dart. Moises Belchin Patricia Juberias Web Programming with Dart Moises Belchin Patricia Juberias Web Programming with Dart Copyright 2015 by Moises Belchin and Patricia Juberias This work is subject to copyright. All rights are reserved by

More information

Building Custom Tasks for SQL Server Integration Services

Building Custom Tasks for SQL Server Integration Services Building Custom Tasks for SQL Server Integration Services Andy Leonard Building Custom Tasks for SQL Server Integration Services Andy Leonard Farmville, Virginia, USA ISBN-13 (pbk): 978-1-4842-2939-2 ISBN-13

More information

Pro Excel 2007 VBA. Jim DeMarco

Pro Excel 2007 VBA. Jim DeMarco Pro Excel 2007 VBA Jim DeMarco Pro Excel 2007 VBA Copyright 2008 by Jim DeMarco All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical,

More information

MATLAB Numerical Calculations. César Pérez López

MATLAB Numerical Calculations. César Pérez López MATLAB Numerical Calculations César Pérez López MATLAB Numerical Calculations Copyright 2014 by César Pérez López This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Introducing Aviary. Mike Peutz

Introducing Aviary. Mike Peutz Introducing Aviary Mike Peutz Introducing Aviary Copyright 2009 by Mike Peutz All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical,

More information

Learn PHP 7. Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL. Steve Prettyman

Learn PHP 7. Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL. Steve Prettyman THE EXPERT S VOICE IN WEB DEVELOPMENT Learn PHP 7 Object-Oriented Modular Programming using HTML5, CSS3, JavaScript, XML, JSON, and MySQL Steve Prettyman Learn PHP 7 Object-Oriented Modular Programming

More information

Web Standards Creativity: Innovations in Web Design with XHTML, CSS, and DOM Scripting

Web Standards Creativity: Innovations in Web Design with XHTML, CSS, and DOM Scripting Web Standards Creativity: Innovations in Web Design with XHTML, CSS, and DOM Scripting Cameron Adams Mark Boulton Andy Clarke Simon Collison Jeff Croft Derek Featherstone Ian Lloyd Ethan Marcotte Dan Rubin

More information

Expert C# 5.0 with.net 4.5 Framework

Expert C# 5.0 with.net 4.5 Framework Expert C# 5.0 with.net 4.5 Framework Mohammad Rahman Apress Expert C# 5.0: with.net 4.5 Framework Copyright 2013 by Mohammad Rahman This work is subject to copyright. All rights are reserved by the Publisher,

More information

Beginning JSF 2 APIs and JBoss Seam. Kent Ka Iok Tong

Beginning JSF 2 APIs and JBoss Seam. Kent Ka Iok Tong Beginning JSF 2 APIs and JBoss Seam Kent Ka Iok Tong Beginning JSF 2 APIs and JBoss Seam Copyright 2009 by Kent Ka Iok Tong All rights reserved. No part of this work may be reproduced or transmitted in

More information

Visual Studio Condensed. Patrick Desjardins

Visual Studio Condensed. Patrick Desjardins Visual Studio Condensed Patrick Desjardins Visual Studio Condensed Copyright 2014 by Patrick Desjardins This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or

More information

Pro MERN Stack. Full Stack Web App Development with Mongo, Express, React, and Node. Vasan Subramanian

Pro MERN Stack. Full Stack Web App Development with Mongo, Express, React, and Node. Vasan Subramanian Pro MERN Stack Full Stack Web App Development with Mongo, Express, React, and Node Vasan Subramanian Pro MERN Stack Vasan Subramanian Bangalore, Karnataka, India ISBN-13 (pbk): 978-1-4842-2652-0 ISBN-13

More information

Accelerated GWT. Building Enterprise Google Web Toolkit Applications. Vipul Gupta

Accelerated GWT. Building Enterprise Google Web Toolkit Applications. Vipul Gupta Accelerated GWT Building Enterprise Google Web Toolkit Applications Vipul Gupta Accelerated GWT: Building Enterprise Google Web Toolkit Applications Copyright 2008 by Vipul Gupta All rights reserved. No

More information

Beginning Windows Phone 7 Development. Henry Lee and Eugene Chuvyrov

Beginning Windows Phone 7 Development. Henry Lee and Eugene Chuvyrov Beginning Windows Phone 7 Development Henry Lee and Eugene Chuvyrov i Beginning Windows Phone 7 Development Copyright 2010 by Henry Lee & Eugene Chuvyrov All rights reserved. No part of this work may be

More information

Pro ODP.NET for Oracle Database 11g. Edmund Zehoo

Pro ODP.NET for Oracle Database 11g. Edmund Zehoo Pro ODP.NET for Oracle Database 11g Edmund Zehoo Pro ODP.NET for Oracle Database 11g Copyright 2010 by Edmund Zehoo All rights reserved. No part of this work may be reproduced or transmitted in any form

More information

Beginning Silverlight 5 in C #

Beginning Silverlight 5 in C # Table of Contents: Chapter 1. Welcome to Silverlight 5 1.1 The Evolution of the User interface 1.2 Rich Internet Application Solutions 1.3 What is Silverlight? 1.4 Benefits of Silverlight 1.4.1 Cross-Platform/Cross-Browser

More information

Windows 8 MVVM Patterns Revealed

Windows 8 MVVM Patterns Revealed Windows 8 MVVM Patterns Revealed Covers both C# and JavaScript Ashish Ghoda Windows 8 MVVM Patterns Revealed Copyright 2012 by Ashish Ghoda This work is subject to copyright. All rights are reserved by

More information

A Programmer's Guide to

A Programmer's Guide to J2EE FrontEnd Technologies: A Programmer's Guide to Servlets, JavaServer Pages, and Enterprise JavaBeans LENNART JGRELID APress Media, LLC J2EE FrontEnd Technologies: A Programmer's Guide to Servlets,

More information

Scalable Big Data Architecture

Scalable Big Data Architecture Scalable Big Data Architecture A Practitioner s Guide to Choosing Relevant Big Data Architecture Bahaaldine Azarmi Scalable Big Data Architecture Copyright 2016 by Bahaaldine Azarmi This work is subject

More information

Pro Python. Marty Alchin

Pro Python. Marty Alchin Pro Python Marty Alchin Pro Python Copyright 2010 by Marty Alchin All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including

More information

Foundations of JSP Design Patterns

Foundations of JSP Design Patterns Foundations of JSP Design Patterns ANDREW PATZER EDITED BY MATTHEW MOODIE APress Media, LLC Foundatlons of JSP Design Patterns Copyright O 2004 by Andrew Patzer, Matthew Moodle Originally published by

More information

Agile Swift. Swift Programming Using Agile Tools and Techniques. Godfrey Nolan

Agile Swift. Swift Programming Using Agile Tools and Techniques. Godfrey Nolan Agile Swift Swift Programming Using Agile Tools and Techniques Godfrey Nolan Agile Swift: Swift Programming Using Agile Tools and Techniques Godfrey Nolan Huntington Woods, Michigan, USA ISBN-13 (pbk):

More information

Carlo Scarioni. Pro Spring Security

Carlo Scarioni. Pro Spring Security Carlo Scarioni Pro Spring Security Pro Spring Security Copyright 2013 by Carlo Scarioni This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material

More information

Silverlight Recipes. A Problem-Solution Approach. Apress* Jit Ghosh and Rob Cameron

Silverlight Recipes. A Problem-Solution Approach. Apress* Jit Ghosh and Rob Cameron . Silverlight Recipes A Problem-Solution Approach i Jit Ghosh and Rob Cameron Apress* Contents at a Glance Contents About the Author About the Technical Reviewer Acknowledgments Introduction iv v xxvi

More information

Introducing. Silverlight 4. Gear up fast to develop line of business rich internet applications using Silverlight 4. Ashish Ghoda

Introducing. Silverlight 4. Gear up fast to develop line of business rich internet applications using Silverlight 4. Ashish Ghoda The EXPERT s VOIce in Silverlight Introducing Silverlight 4 Gear up fast to develop line of business rich internet applications using Silverlight 4 Ashish Ghoda Introducing Silverlight 4 Ashish Ghoda

More information

Date on Database. Writings C. J. Date

Date on Database. Writings C. J. Date Date on Database Writings 2000 2006 C. J. Date Date on Database: Writings 2000 2006 Copyright 2006 by C. J. Date All rights reserved. No part of this work may be reproduced or transmitted in any form or

More information

ASP.NET Core Recipes

ASP.NET Core Recipes ASP.NET Core Recipes A Problem-Solution Approach Second Edition John Ciliberti ASP.NET Core Recipes: A Problem-Solution Approach John Ciliberti Sparta, New Jersey, USA ISBN-13 (pbk): 978-1-4842-0428-3

More information

The Definitive Guide to HTML Video. Silvia Pfeiffer

The Definitive Guide to HTML Video. Silvia Pfeiffer The Definitive Guide to HTML Video Silvia Pfeiffer i The Definitive Guide to HTML Video Copyright 2010 by Silvia Pfeiffer All rights reserved. No part of this work may be reproduced or transmitted in any

More information

"Charting the Course... MOC A Introduction to Web Development with Microsoft Visual Studio Course Summary

Charting the Course... MOC A Introduction to Web Development with Microsoft Visual Studio Course Summary Description Course Summary This course provides knowledge and skills on developing Web applications by using Microsoft Visual. Objectives At the end of this course, students will be Explore ASP.NET Web

More information

Android Continuous Integration

Android Continuous Integration Android Continuous Integration Build-Deploy-Test Automation for Android Mobile Apps Pradeep Macharla Android Continuous Integration Pradeep Macharla North Carolina, USA ISBN-13 (pbk): 978-1-4842-2795-4

More information

Developing C# Apps for iphone and ipad Using MonoTouch

Developing C# Apps for iphone and ipad Using MonoTouch Developing C# Apps for iphone and ipad Using MonoTouch ios Apps Development for.net Developers Bryan Costanich i Developing C# Apps for iphone and ipad Using MonoTouch: ios Apps Development for.net Developers

More information

Pro Angular 6. Third Edition. Adam Freeman

Pro Angular 6. Third Edition. Adam Freeman Pro Angular 6 Third Edition Adam Freeman Pro Angular 6 Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-3648-2 ISBN-13 (electronic): 978-1-4842-3649-9 https://doi.org/10.1007/978-1-4842-3649-9 Library

More information

Java Quick Syntax Reference. Second Edition. Mikael Olsson

Java Quick Syntax Reference. Second Edition. Mikael Olsson Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Mikael Olsson Hammarland, Länsi-Suomi, Finland ISBN-13 (pbk):

More information

James Cryer. Pro Grunt.js

James Cryer. Pro Grunt.js James Cryer Pro Grunt.js Pro Grunt.js Copyright 2015 by James Cryer This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned,

More information

Beginning ASP.NET. 4.5 in C# Matthew MacDonald

Beginning ASP.NET. 4.5 in C# Matthew MacDonald Beginning ASP.NET 4.5 in C# Matthew MacDonald Contents About the Author About the Technical Reviewers Acknowledgments Introduction xxvii xxix xxxi xxxiii UPart 1: Introducing.NET. 1 & Chapter 1: The Big

More information

The Windows 10 Productivity Handbook

The Windows 10 Productivity Handbook The Windows 10 Productivity Handbook Discover Expert Tips, Tricks, and Hidden Features in Windows 10 Mike Halsey The Windows 10 Productivity Handbook Mike Halsey Sheffield, Yorkshire, UK ISBN-13 (pbk):

More information

Pro SharePoint 2013 Administration Rob Garrett

Pro SharePoint 2013 Administration Rob Garrett Pro SharePoint 2013 Administration Rob Garrett Apress Pro SharePoint 2013 Administration Copyright 2013 by Rob Garrett This work is subject to copyright. All rights are reserved by the Publisher, whether

More information

Beginning Java and Flex Migrating Java, Spring, Hibernate, and Maven Developers to Adobe Flex

Beginning Java and Flex Migrating Java, Spring, Hibernate, and Maven Developers to Adobe Flex Beginning Java and Flex Migrating Java, Spring, Hibernate, and Maven Developers to Adobe Flex Filippo di Pisa Begi nning Jav a and F lex: Mi grating Jav a, Spri ng, Hibernate, and Maven Developers to Adobe

More information

Migrating to Swift from Android

Migrating to Swift from Android Migrating to Swift from Android Sean Liao Migrating to Swift from Android Copyright 2014 by Sean Liao This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part

More information

iphone Design Award-Winning Projects Chris Dannen

iphone Design Award-Winning Projects Chris Dannen iphone Design Award-Winning Projects Chris Dannen i iphone Design Award-Winning Projects Copyright 2009 by Chris Dannen All rights reserved. No part of this work may be reproduced or transmitted in any

More information

The Definitive Guide to Grails 2

The Definitive Guide to Grails 2 The Definitive Guide to Grails 2 Jeff Scott Brown Graeme Rocher Apress The Definitive Guide to Grails 2 Copyright 2013 by Jeff Scott Brown and Graeme Rocher This work is subject to copyright. All rights

More information

Expert Shell Scripting

Expert Shell Scripting Expert Shell Scripting Ron Peters Expert Shell Scripting Copyright 2009 by Ron Peters All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic

More information

Android Continuous Integration

Android Continuous Integration Android Continuous Integration Build-Deploy-Test Automation for Android Mobile Apps Pradeep Macharla Android Continuous Integration Build-Deploy-Test Automation for Android Mobile Apps Pradeep Macharla

More information

Beginning Objective-C

Beginning Objective-C Beginning Objective-C James Dovey Ash Furrow Beginning Objective-C Copyright 2012 by James Dovey and Ash Furrow This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Learn Excel 2016 for OS X

Learn Excel 2016 for OS X Learn Excel 2016 for OS X Second Edition Guy Hart-Davis Learn Excel 2016 for OS X Copyright 2015 by Guy Hart-Davis This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Raven: Scripting Java Builds with Ruby MATTHIEU RIOU

Raven: Scripting Java Builds with Ruby MATTHIEU RIOU Raven: Scripting Java Builds with Ruby MATTHIEU RIOU Raven: Scripting Java Builds with Ruby Copyright 2007 by Matthieu Riou All rights reserved. No part of this work may be reproduced or transmitted in

More information

Pro ASP.NET SignalR. Real-Time Communication in.net with SignalR 2.1. Keyvan Nayyeri Darren White

Pro ASP.NET SignalR. Real-Time Communication in.net with SignalR 2.1. Keyvan Nayyeri Darren White Pro ASP.NET SignalR Real-Time Communication in.net with SignalR 2.1 Keyvan Nayyeri Darren White Pro ASP.NET SignalR: Real-Time Communication in.net with SignalR 2.1 Copyright 2014 by Keyvan Nayyeri and

More information

Pro Python System Administration

Pro Python System Administration Pro Python System Administration Rytis Sileika Pro Python System Administration Copyright 2010 by Rytis Sileika All rights reserved. No part of this work may be reproduced or transmitted in any form or

More information

Pro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone. Buddy James. Lori Lalonde

Pro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone. Buddy James. Lori Lalonde Pro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone Buddy James Lori Lalonde Contents J About the Authors About the Technical Reviewer Acknowledgments Introduction xiii

More information

Word Business Documents

Word Business Documents THE EXPERT S VOICE IN OFFICE Beginning Microsoft Word Business Documents From Novice to Professional Learn How to Create Specialized Business Documents with Microsoft Word James J. Marshall Beginning Microsoft

More information

SQL Server AlwaysOn Revealed

SQL Server AlwaysOn Revealed SQL Server AlwaysOn Revealed Second Edition Peter A. Carter SQL Server AlwaysOn Revealed, 2nd Edition Peter A. Carter Botley, United Kingdom ISBN-13 (pbk): 978-1-4842-2396-3 ISBN-13 (electronic): 978-1-4842-2397-0

More information

C++ Recipes. A Problem-Solution Approach. Bruce Sutherland

C++ Recipes. A Problem-Solution Approach. Bruce Sutherland C++ Recipes A Problem-Solution Approach Bruce Sutherland C++ Recipes: A Problem-Solution Approach Copyright 2015 by Bruce Sutherland This work is subject to copyright. All rights are reserved by the Publisher,

More information

Digital Illustration Fundamentals

Digital Illustration Fundamentals Wallace Jackson Digital Illustration Fundamentals Vector, Raster, WaveForm, NewMedia with DICF, DAEF and ASNMF 1st ed. 2015 Wallace Jackson Lompoc, California, USA ISBN 978-1-4842-1696-5 e-isbn 978-1-4842-1697-2

More information

Microsoft Visual Studio 2010

Microsoft Visual Studio 2010 Microsoft Visual Studio 2010 A Beginner's Guide Joe Mayo Mc Grauu Hill New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto Contents ACKNOWLEDGMENTS

More information

"Charting the Course to Your Success!" MOC B Programming in C# Course Summary

Charting the Course to Your Success! MOC B Programming in C# Course Summary Course Summary Description This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language. During their five days in

More information

JavaScript Essentials for SAP ABAP Developers

JavaScript Essentials for SAP ABAP Developers JavaScript Essentials for SAP ABAP Developers A Guide to Mobile and Desktop Application Development Rehan Zaidi JavaScript Essentials for SAP ABAP Developers: A Guide to Mobile and Desktop Application

More information

RMAN Recipes for Oracle Database 11g

RMAN Recipes for Oracle Database 11g RMAN Recipes for Oracle Database 11g A Problem-Solution Approach Darl Kuhn, Sam Alapati, and Arup Nanda RMAN Recipes for Oracle Database 11g: A Problem-Solution Approach Copyright 2007 by Darl Kuhn, Sam

More information

Practical Ruby Gems. David Berube

Practical Ruby Gems. David Berube Practical Ruby Gems David Berube Practical Ruby Gems Copyright 2007 by David Berube All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or

More information

Android Fragments. Dave MacLean Satya Komatineni

Android Fragments. Dave MacLean Satya Komatineni Android Fragments Dave MacLean Satya Komatineni Android Fragments Copyright 2014 by Dave MacLean, Satya Komatineni This work is subject to copyright. All rights are reserved by the Publisher, whether the

More information

Microsoft Mapping. Geospatial Development in Windows 10 with Bing Maps and C# Second Edition. Carmen Au Ray Rischpater

Microsoft Mapping. Geospatial Development in Windows 10 with Bing Maps and C# Second Edition. Carmen Au Ray Rischpater Microsoft Mapping Geospatial Development in Windows 10 with Bing Maps and C# Second Edition Carmen Au Ray Rischpater Microsoft Mapping: Geospatial Development in Windows 10 with Bing Maps and C# Copyright

More information

Realtime Web Apps. With HTML5 WebSocket, PHP, and jquery. Apress. Jason Lengstorf Phil Leggetter

Realtime Web Apps. With HTML5 WebSocket, PHP, and jquery. Apress. Jason Lengstorf Phil Leggetter Realtime Web Apps With HTML5 WebSocket, PHP, and jquery Jason Lengstorf Phil Leggetter Apress Realtime Web Apps: With HTML5 WebSocket, PHP, and jquery Copyright 2013 by Jason Lengstorf, Phil Leggetter

More information

Practical Amazon EC2, SQS, Kinesis, and S3

Practical Amazon EC2, SQS, Kinesis, and S3 Practical Amazon EC2, SQS, Kinesis, and S3 A Hands-On Approach to AWS Sunil Gulabani Practical Amazon EC2, SQS, Kinesis, and S3: A Hands-On Approach to AWS Sunil Gulabani Ahmedabad, Gujarat, India ISBN-13

More information

Pro Android C++ with the NDK

Pro Android C++ with the NDK Pro Android C++ with the NDK Onur Cinar Apress Pro Android C++ with the NDK Copyright 2012 by Onur Cinar This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or

More information

Beginning the Linux Command Line. Sander van Vugt

Beginning the Linux Command Line. Sander van Vugt Beginning the Linux Command Line Sander van Vugt Beginning the Linux Command Line Copyright 2009 by Sander van Vugt All rights reserved. No part of this work may be reproduced or transmitted in any form

More information

Beginning Ubuntu Server Administration

Beginning Ubuntu Server Administration Beginning Ubuntu Server Administration From Novice to Professional Sander van Vugt Beginning Ubuntu Server Administration: From Novice to Professional Copyright 2008 by Sander van Vugt All rights reserved.

More information

Beginning Ubuntu Server Administration

Beginning Ubuntu Server Administration Beginning Ubuntu Server Administration From Novice to Professional Sander van Vugt Beginning Ubuntu Server Administration: From Novice to Professional Copyright 2008 by Sander van Vugt All rights reserved.

More information

"Charting the Course... SharePoint 2007 Hands-On Labs Course Summary

Charting the Course... SharePoint 2007 Hands-On Labs Course Summary Course Summary Description This series of 33 hands-on labs allows students to explore the new features of Microsoft SharePoint Server, Microsoft Windows, Microsoft Office, including Microsoft Office Groove,

More information

Installing and Administering a Satellite Environment

Installing and Administering a Satellite Environment IBM DB2 Universal Database Installing and Administering a Satellite Environment Version 8 GC09-4823-00 IBM DB2 Universal Database Installing and Administering a Satellite Environment Version 8 GC09-4823-00

More information

Beginning CSS Preprocessors

Beginning CSS Preprocessors Beginning CSS Preprocessors With Sass, Compass, and Less Anirudh Prabhu Beginning CSS Preprocessors: With SASS, Compass.js, and Less.js Copyright 2015 by Anirudh Prabhu This work is subject to copyright.

More information