|
|
|
Learning WCF: A Hands-on Guide
This easy-to-use introduction to Microsoft Windows Communication Foundation (WCF) is ideal for developers who want to learn to build services on a company network or as part of an enterprise system. Built into Windows Vista and Longhorn, and available for Windows XP and Windows 2003, WCF provides a platform for service-oriented architecture (SOA) that enables secure and reliable communication among systems within an organization or across the Internet. With WCF, software developers can focus on their business applications and not the plumbing required to connect them. Furthermore, with WCF developers can learn a single programming API to achieve results previously provided by ASMX, Enterprise Services and .NET Remoting. Learning WCF removes the complexity of using this platform by providing detailed answers, explanations and code samples for the most common questions asked by software developers. Windows Communication Foundation (or WCF, formerly code name "Indigo") provides a set of programming APIs that make it easy to build and consume secure, reliable, and transacted services. This platform removes the need for developers to learn different technologies such as ASMX, Enterprise Services and .NET Remoting, to distribute system functionality on a corporate network or over the Internet. The first truly service-oriented platform, WCF provides innovations that decouple service design and development from deployment and distribution - creating a more flexible and agile environment. WCF also encapsulates all of the latest web service standards for addressing, security, reliability and more..
Price: $25.66
[ Notify me when price goes down.]
|
|
In the Making
From the first page to the last, from Thomas Kinkaid (really!) to Matthew Barney, this book serves as a launching pad. Conclusions are perpetually delayed. Resolutions are continually postponed. The text is written for takeoff, not arrival. It is a first step for readersi explorations of current modes of art making and for their own future artistic achievements. The much-anticipated follow-up to Art on the Edge. . .and Over, Linda Weintraubis highly accessible introduction to contemporary art since the 1970s, In the Making: Creative Options for Contemporary Art explores essential but sometimes elusive facets of art making today. In her trademark writing style--straightforward and jargon-free--Weintraub sets out to itemize the conceptual and practical concerns that go into making contemporary art in all its endless permutations. In six clearly defined thematic sections--iScoping an Audience,i iSourcing Inspiration,i iCrafting an Artistic 'Self,'i iExpressing an Artistic Attitude,i iChoosing a Mission,i and iMeasuring Successi--Weintraub moves artist by artist, in 40 individual chapters, using each to explain a different aspect of art making. Isaac Julien makes work for a highly specific audience; Michal Rovner communicates through metaphor and symbol; Charles Ray disrupts the viewer's assumptions; Pipilotti Rist is inspired by female emotions; William Kentridge is moved by apartheid and redemption; Vanessa Beecroft epitomizes the biography of a smart, attractive, Caucasian woman; and Matthew Barney achieves success through resistance. Through a compelling combination of renowned and up-and-coming artists, Weintraub creates a complex understanding of how to make and look at contemporary art--but in a simple, easily digestible format and language. In addition to being a fine read for anyone who simply wants to understand how to look at contemporary art, In the Making is also an exceptional pedagogical tool, one that addresses what is fast becoming a huge gap in art education. Teaching artistic techniques no longer provides young artists with a sufficient education--a full range of conceptual issues needs to be considered in any well-rounded studio practice. Yet these very same conceptual issues are often those that are dealt with textually in art history and criticism classes. Weintraub persuasively offers a series of texts that fit squarely into this gap, addressing issues that concern anyone who is learning how to make art or how to understand it. In addition, In the Making includes a series of interviews in which many of the artists discuss the practical issues of their life's work. Conducted by Weintraub's students at Oberlin College, the interviews pose questions about the artists' schooling, their studio space, and how they support themselves if their main income doesn't come from their art--the kind of questions every art student has always wanted to ask the artists whose work they see on gallery walls..
Price: $16.93
[ Notify me when price goes down.]
|
|
Programming WCF Services (Programming)
Written by Microsoft software legend Juval Lowy, "Programming WCF Services" is the authoritative introduction to Microsoft's new, and some say revolutionary, unified platform for developing service-oriented applications (SOA) on Windows Relentlessly practical, the book delivers insight, not documentation, to teach developers what they need to know to build the next generation of SOAs. After explaining the advantages of service-orientation for application design and teaching the basics of how to develop SOAs using WCF, the book shows how you can take advantage of built-in features such as service hosting, instance management, asynchronous calls, synchronization, reliability, transaction management, disconnected queued calls and security to build best in class applications. "Programming WCF Services" focuses on the rationale behind particular design decisions, often shedding light on poorly-documented and little-understood aspects of SOA development. Developers and architects will learn not only the "how" of WCF programming, but also relevant design guidelines, best practices, and pitfalls. Original techniques and utilities provided by the author throughout the book go well beyond anything that can be found in conventional sources. Based on experience and insight gained while taking part in the strategic design of WCF and working with the team that implemented it, "Programming WCF Services" provides experienced working professionals with the definitive work on WCF. Not only will this book make you a WCF expert, it will make you a better software engineer. It's the Rosetta Stone of WCF..
Price: $25.08
[Notify me when price goes down.]
|
|
Programming Erlang: Software for a Concurrent World
Erlang solves one of the most pressing problems facing developers today: how to write reliable, concurrent, high-performance systems. It's used worldwide by companies who need to produce reliable, efficient, and scalable applications. Invest in learning Erlang now. Moore's Law is the observation that the amount you can do on a single chip doubles every two years. But Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow. Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures. Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a 4 core processor than on a single core processor, all without you having to change a line of code. Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future. This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang. It includes example code you'll be able to build upon. In addition, the book contains the full source code for two interesting applications: A SHOUTcast server which you can use to stream music to every computer in your house, and a full-text indexing and search engine that can index gigabytes of data. Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language..
Price: $21.14
[Notify me when price goes down.]
|
|
Distributed Systems: Principles and Paradigms (2nd Edition)
Virtually every computing system today is part of a distributed system. Programmers, developers, and engineers need to understand the underlying principles and paradigms as well as the real-world application of those principles. Now, internationally renowned expert Andrew S. Tanenbaum – with colleague Martin van Steen – presents a complete introduction that identifies the seven key principles of distributed systems, with extensive examples of each. Adds a completely new chapter on architecture to address the principle of organizing distributed systems. Provides extensive new material on peer-to-peer systems, grid computing and Web services, virtualization, and application-level multicasting. Updates material on clock synchronization, data-centric consistency, object-based distributed systems, and file systems and Web systems coordination. For all developers, software engineers, and architects who need an in-depth understanding of distributed systems. .
Price: $60.00
[ Notify me when price goes down.]
|
|
Security Engineering: A Guide to Building Dependable Distributed Systems
Gigantically comprehensive and carefully researched, Security Engineering makes it clear just how difficult it is to protect information systems from corruption, eavesdropping, unauthorized use, and general malice. Better, Ross Anderson offers a lot of thoughts on how information can be made more secure (though probably not absolutely secure, at least not forever) with the help of both technologies and management strategies. His work makes fascinating reading and will no doubt inspire considerable doubt--fear is probably a better choice of words--in anyone with information to gather, protect, or make decisions about. Be aware: This is absolutely not a book solely about computers, with yet another explanation of Alice and Bob and how they exchange public keys in order to exchange messages in secret. Anderson explores, for example, the ingenious ways in which European truck drivers defeat their vehicles' speed-logging equipment. In another section, he shows how the end of the cold war brought on a decline in defenses against radio-frequency monitoring (radio frequencies can be used to determine, at a distance, what's going on in systems--bank teller machines, say), and how similar technology can be used to reverse-engineer the calculations that go on inside smart cards. In almost 600 pages of riveting detail, Anderson warns us not to be seduced by the latest defensive technologies, never to underestimate human ingenuity, and always use common sense in defending valuables. A terrific read for security professionals and general readers alike. --David Wall Topics covered: How some people go about protecting valuable things (particularly, but not exclusively, information) and how other people go about getting it anyway. Mostly, this takes the form of essays (about, for example, how the U.S. Air Force keeps its nukes out of the wrong hands) and stories (one of which tells of an art thief who defeated the latest technology by hiding in a closet). Sections deal with technologies, policies, psychology, and legal matters..
Price: $52.49
[Notify me when price goes down.]
|
|
Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online
Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate On-Line Computing as you know it has changed No longer are you tied to using expensive programs stored on your computer No longer will you be able to only access your data from one computer No longer will you be tied to doing work only from your work computer or playing only from your personal computer. Enter cloud computing–an exciting new way to work with programs and data, collaborate with friends and family, share ideas with coworkers and friends, and most of all, be more productive! The “cloud” consists of thousands of computers and servers, all linked and accessible to you via the Internet. With cloud computing, everything you do is now web-based instead of being desktop-based; you can access all your programs and documents from any computer that’s connected to the Internet. Whether you want to share photographs with your family, coordinate volunteers for a community organization, or manage a multi-faceted project in a large organization, cloud computing can help you do it more easily than ever before. Trust us. If you need to collaborate, cloud computing is the way to do it. • Learn what cloud computing is, how it works, who should use it, and why it’s the wave of the future. • Explore the practical benefits of cloud computing, from saving money on expensive programs to accessing your documents ANYWHERE. • See just how easy it is to manage work and personal schedules, share documents with coworkers and friends, edit digital photos, and much more! • Learn how to use web-based applications to collaborate on reports and presentations, share online calendars and to-do lists, manage large projects, and edit and store digital photographs. Michael Miller is known for his casual, easy-to-read writing style and his ability to explain a wide variety of complex topics to an everyday audience. Mr. Miller has written more than 80 nonfiction books over the past two decades, with more than a million copies in print. His books for Que include Absolute Beginner’s Guide to Computer Basics, Googlepedia: The Ultimate Google Resource, and Is It Safe?: Protecting Your Computer, Your Business, and Yourself Online. His website is located at www.molehillgroup.com. Covers the most popular cloud-based applications, including the following: • Adobe Photoshop Express • Apple MobileMe • Glide OS • Google Docs • Microsoft Office Live Workspace • Zoho Office CATEGORY: Web Applications COVERS: Cloud Computing USER LEVEL: Beginner-Intermediate .
Price: $12.99
[ Notify me when price goes down.]
|
|
Distributed Systems: Concepts and Design (4th Edition) (International Computer Science Series)
This new edition represents a significant update of the best-selling book, incorporating and anticipating the major developments in distributed systems technology. All chapters have been thoroughly revised and updated, including emphasis on the Internet, intranets, and middleware. New material includes coverage of large-scale applications, fault modeling and fault tolerance, models of system execution, object-orientation, and distributed multimedia systems. Discussion of security has also been brought forward in the book and integrated with other related technologies. The book includes a new chapter on distributed multimedia systems, and also provides new material on current network technologies such as IPv6, Mobile IP, and active and wireless networks. Throughout, Java and CORBA are used as the basis for most examples. This book is designed for programmers who need to learn the principles and practice of distributed system design. Readers should have an understanding of programming and elementary computer architecture, as well as a familiarity with basic operating system concepts, but the book does not require knowledge of networks..
Price: $44.07
[ Notify me when price goes down.]
|
|
Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB (Programming)
Product Description Building on the success of its storefront and fulfillment services, Amazon now allows businesses to "rent" computing power, data storage and bandwidth on its vast network platform. This book demonstrates how developers working with small- to mid-sized companies can take advantage of Amazon Web Services (AWS) such as the Simple Storage Service (S3), Elastic Compute Cloud (EC2), Simple Queue Service (SQS), Flexible Payments Service (FPS), and SimpleDB to build web-scale business applications. With AWS, Amazon offers a new paradigm for IT infrastructure: use what you need, as you need it, and pay as you go. Programming Web Services explains how you can access Amazon's open APIs to store and run applications, rather than spend precious time and resources building your own. With this book, you'll learn all the technical details you need to: Store and retrieve any amount of data using application servers, unlimited data storage, and bandwidth with the Amazon S3 service Buy computing time using Amazon EC2's interface to requisition machines, load them with an application environment, manage access permissions, and run your image using as many or few systems as needed Use Amazon's web-scale messaging infrastructure to store messages as they travel between computers with Amazon SQS Leverage the Amazon FPS service to structure payment instructions and allow the movement of money between any two entities, humans or computers Create and store multiple data sets, query your data easily, and return the results using Amazon SimpleDB. Scale up or down at a moment's notice, using these services to employ as much time and space as you need Whether you're starting a new online business, need to ramp upexisting services, or require an offsite backup for your home, Programming Web Services gives you the background and the practical knowledge you need to start using AWS. Other books explain how to build web services. This book teaches businesses how to take make use of existing services from an established technology leader. Create HTML POST Forms That Allow Your Web Site Visitors to Upload Files Into Your S3 Account Using a Standard Web Browser By James Murty, creator of the JetS3t Java S3 library and author of Programming Amazon Web ServicesAmazon’s Simple Storage Service (S3) provides cheap and unlimited online data storage for anyone with a credit card and an Amazon Web Service (AWS) account. If you have an AWS account, you can interact with the S3 service using specialized tools to upload and manage your files. It is very convenient to have access to this online storage resource for yourself, but there may be situations where you would like to allow others to upload files into your account. For this purpose, S3 accepts uploads via specially-crafted and pre-authorized HTML POST forms. You can include these forms in any web page to allow your web site visitors to send you files using nothing more than a standard web browser. In this article, I will demonstrate how to build simple S3 POST forms. I will assume that you have already signed up for the S3 service, and that you have an S3 client program for creating buckets and viewing files in your account. Before you proceed, create your own bucket to store uploaded files — in the examples below I will use a bucket named s3-bucket. POST Form Web PageHere is a web page with an S3 POST Form that you can use as a template for your own forms: S3 POST Form
This template demonstrates some important features of an S3 POST form, and the web page that contains it: - The web page that contains the form has a
meta tag in the head section that tells web browsers to use the UTF-8 unicode character encoding. - The form’s
action parameter specifies an S3 URL that includes the name of your destination bucket, in this case the bucket called s3-bucket. - The form contains a number of input fields with parameter names and values that will be sent to the S3 service. If any required input fields are missing, or if a field has an incorrect value, the service will not accept uploads from the form.
The S3 service uses information from the form’s input fields to authorize uploads, and to set the properties of uploaded file objects. Here is a description of the most common input fields: | Field Name | Description |
|---|
| key | A name for the S3 object that will store the uploaded file’s data. This name can be set in advance when you know what information the user will upload, for example: uploads/monthly_report.txt. If you do not know the name of the file a user will upload, the key value can include the special variable ${filename} which will be replaced with the name of the uploaded file. For example, the key value uploads/${filename} will become the object name uploads/Birthday Cake.jpg if the user uploads a file called Birthday Cake.jpg. | | AWSAccessKeyId | The Access Key Identifier credential for your Amazon Web Service account. | | acl | The access control policy to apply to the uploaded file. If you do not want the uploaded file to be made available to the general public, you should use the value private. To make the uploaded file publicly available, use the value public-read. | | success_action_redirect | The URL address to which the user’s web browser will be redirected after the file is uploaded. This URL should point to a “Successful Upload” page on your web site, so you can inform your users that their files have been accepted. S3 will add bucket, key and etag parameters to this URL value to inform your web application of the location and hash value of the uploaded file. | | policy | A Base64-encoded policy document that applies rules to file uploads sent by the S3 POST form. This document is used to authorize the form, and to impose conditions on the files that can be uploaded. Policy documents will be described in more detail below. | | signature | A signature value that authorizes the form and proves that only you could have created it. This value is calculated by signing the Base64-encoded policy document with your AWS Secret Key, a process that I will demonstrate below. | | Content-Type | The content type (mime type) that will be applied to the uploaded file, for example image/jpeg for JPEG picture files. If you do not know what type of file a user will upload, you can either prompt the user to provide the appropriate content type, or write browser scripting code that will automatically set this value based on the file’s name.If you do not set the content type with this field, S3 will use the default value application/octet-stream which may prevent some web browsers from being able to display the file properly. | | file | The input field that allows a user to select a file to upload. This field must be the last one in the form, as any fields below it are ignored by S3. |
This overview of the form’s input fields should help you to modify the template POST form to suit your own purposes. At a minimum, you will need to edit the form’s action parameter to point to your own S3 bucket, and set the value of the AWSAccessKeyId field to your AWS Access Key credential. To complete the form and make it acceptable to the S3 service, you will also need to generate a policy document and signature value. Policy DocumentS3 POST forms include a policy document that authorizes the form and imposes limits on the files that can be uploaded. When S3 receives a file via a POST form, it will check the policy document and signature to confirm that the form was created by someone who is allowed to store files in the target S3 account. A policy document is a collection of properties expressed in JavaScript Object Notation, which simply means that the document’s structure and content must conform to a certain format. Every policy document contains two top-level items: expiration - A Greenwich Mean Time (GMT) timestamp that specifies when the policy document will expire. Once a policy document has expired, the upload form will no longer work.conditions - A set of rules to define the values that may be included in the form’s input fields, and to impose size limits for file uploads.
Here is a policy document corresponding to the POST form template above. This policy has an expiration date of January 1st 2009: {"expiration": "2009-01-01T00:00:00Z", "conditions": [ {"bucket": "s3-bucket"}, ["starts-with", "$key", "uploads/"], {"acl": "private"}, {"success_action_redirect": "http://localhost/"}, ["starts-with", "$Content-Type", ""], ["content-length-range", 0, 1048576] ] }
To create a valid S3 POST form, you must include a policy document whose conditions section contains a rule for almost every input field in the form. At a minimum, this document must include rules for the bucket and key values of the uploaded file object. In addition to these two rules, you will need to include a rule for every other input field in the form except for AWSAccessKeyId, signature, policy and file. Because our template POST form includes the input fields acl, success_action_redirect, and Content-Type, our policy document includes rules corresponding to these fields. Our policy document also includes an extra content-length-range rule that limits the size of files that can be uploaded. There are three kinds of rules you can apply in your policy document: - Equality rule, which checks that an input field’s value is set to a given string. An equality rule is expressed as a name and value pair within brace characters, for example:
{"acl": "private"} - Starts-With rule, which checks that an input field’s value begins with a given string. If the given string is empty, S3 will check only that the field is present in the form and will not care what value it contains. A starts-with rule is expressed as a three-element array that contains the term
starts-with, followed by the name of the input field preceded by a $ symbol, then the prefix string value for comparison. In the policy document above, we use starts-with rules for the key and Content-Type fields because we do not know in advance the name of the file a user will upload, or what type of file it will be. The rule for the Content-Type field uses an empty string for comparison, which means it will permit any content type value. The rule for the object’s key name uses the prefix string “upload/”, which means that the key value must always start with the upload/ subdirectory path. - Content length rule, which checks that the size of an uploaded file is between a given minimum and maximum value. If this rule is not included in a policy document, users will be able to upload files of any size up to the 5GB limit imposed by S3.
A content length rule is expressed as a three-element array that contains the term content-length-range, followed by integer values to set the minimum and maximum file size. The policy document above includes a content length rule that will prevent the form from uploading files larger than 1MB in size (1,048,576 bytes).
It is important to make sure that your policy document corresponds exactly to your S3 POST form. If there are any discrepancies between the input field values in your form and the rule values in your policy document, or if your form contains input fields that do not have corresponding rules in your policy, the S3 service will reject the form and return an incomprehensible XML error message to your users. Sign Your S3 POST FormTo complete your S3 POST form, you must sign it to prove to S3 that you actually created the form. If you do not sign the form properly, or if someone else tries to modify your form after it has been signed, the service will be unable to authorize it and will reject the upload. To sign your form you need to perform two steps: - Base64-encode the policy document, and include it in the form’s
policy input field. - Calculate a signature value (SHA-1 HMAC) from the encoded policy document using your AWS Secret Key credential as a password. Include this value in the form’s
signature input field after Base64-encoding it.
Almost all programming languages include libraries for performing these two steps. Here are some example code fragments to do the job with different languages, assuming you have already defined the variables policy_document and aws_secret_key. Rubyrequire 'base64' require 'openssl' require 'digest/sha1' policy = Base64.encode64(policy_document).gsub("\n","") signature = Base64.encode64( OpenSSL::HMAC.digest( OpenSSL::Digest::Digest.new('sha1'), aws_secret_key, policy) ).gsub("\n","")
Javaimport sun.misc.BASE64Encoder; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; String policy = (new BASE64Encoder()).encode( policy_document.getBytes("UTF-8")).replaceAll("\n",""); Mac hmac = Mac.getInstance("HmacSHA1"); hmac.init(new SecretKeySpec( aws_secret_key.getBytes("UTF-8"), "HmacSHA1")); String signature = (new BASE64Encoder()).encode( hmac.doFinal(policy.getBytes("UTF-8"))) .replaceAll("\n", "");
Pythonimport base64 import hmac, sha policy = base64.b64encode(policy_document) signature = base64.b64encode( hmac.new(aws_secret_key, policy, sha).digest())
Once you have calculated the values for the policy and signature input fields and included these values in your form, the form should be complete. Save the web page and form document as an .html file, open it in your favorite web browser, and test it by uploading some files to your S3 bucket. ConclusionThe form web page and policy document templates in this article should give you a starting point for creating your own upload forms. With some minor modifications to the template documents and a little coding, you will be able to create authorized forms that make it easy for your web site visitors to upload files to your S3 account. The S3 service’s POST support is a powerful feature with many potential uses. You could create a single upload form to allow your friends and colleagues to send you files that are too large for email, or you could modify your web applications to generate forms on-demand so your users can store their data in S3 rather than on your own server. Just remember that you will be liable for any S3 data transfer and storage fees incurred by the people who use your forms. .
Price: $24.99
[ Notify me when price goes down.]
|
|
Configuring SAP R/3 FI/CO: The Essential Resource for Configuring the Financial and Controlling Modules
Configure the FI and CO Modules to Meet All Your Business Requirements Configuring SAP R/3 FI/CO is the only book of its kind: a detailed, practical guide to configuring R/3's two most popular modules. Written by the experts responsible for R/3 configuration in a Fortune 200 company, it provides detailed instructions and examples for all the Financial and Controlling submodules--information that will help you make good on your company's sizable investment. Coverage includes: * FI Enterprise Structure * General Ledger * Substitutions and Validations * Automatic account assignments * Accounts Payable * Accounts Receivable * Credit Management * Lockbox * CO Enterprise Structure * Cost Element Accounting * Cost Center Accounting * Internal Orders * CO settlement * Profitability Analysis (CO-PA) * Profit Center Accounting * Investment Management Visit this book's companion Web site at www.virtuosollc.com for additional coverage of FI/CO configuration techniques..
Price: $41.72
[ Notify me when price goes down.]
|
|
|
|
|