Showing posts with label object-oriented design. Show all posts
Showing posts with label object-oriented design. Show all posts

Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development) Review

Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development)
Average Reviews:

(More customer reviews)
Are you looking to buy Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development) ReviewKudos to the author and publisher for this release.
This book is a tour de force of the subject of Mashups.
I was looking for a good book on this subject so that I could introduce it to students as part of an extra-curricular technology program in NYC and this book is perfect.
In a sentence, Mashups are created by taking data from one or more sources and making something new and useful from them.
In my opinion, the subject is very important because there is a vast amount of data that is available now. Today the challenge is not just finding data but putting to use. This book shows you how to do that.
The author's writing style is excellent, mixing theory and applications. The book is filled with hands on examples as well as references for research in each of the areas.
I believe that this book can be read by anyone interested in the subject, regardless of their technical background. For those that want to create Mashups without programming, this book shows you how. For those that want to delve into programming, everything that you need is covered including AJAX, PHP, various data formats and how to parse them, various Javascript libraries and more.
The book is laid out in four parts:
1. Remixing Information Without Programming
As the title suggests, the chapters in this section require no previous programming experience. The author walks through some specific examples, introduces terminology and analyzes how sites like Flickr and del.icio.us work so that you can get the most out of them. Tools such as Yahoo! Pipes (a browser-based visual application for Mashups and Remixing) are explored. Following along with the discussion the reader can put together a Mashup or Remix by simply understanding the concepts and using tools, but not having to delve into coding.
2. Remixing a Single Web Application Using Its API
For the person who wants to code, this part of the book jumps right in discussing the Flickr API, PHP usage, XML processing and more. From there the discussion moves to other APIs and using AJAX/Javascript widgets.
3. Making Mashups
This section starts by delving into the ProgrammableWeb website. Showing how to find what resources are available, studying existing Mashups via which APIs they use and how to go about creating new ones. From there XMLHttpRequest and Javascript libraries such as YUI are covered and a step-by-step example is given using the previously discussed techniques. Lastly, the author addresses issues around implementing Mashups on your site including standards, accessibility and your own API. I was glad to see these topics covered as sometimes in the haste of getting something online, they can be overlooked.
4. Exploring Other Mashup Topics
This final section of the book covers a large range of interesting topics such as Map-based Mashups, Social Bookmarking, Calendars, Online Storage, Desktop and Office Suites, Embeddable Data Formats and Searches.
As you can see, there's a lot of information covered in this book. In my opinion, everything that one could want on the subject and written in such a way that you want to keep reading, exploring and creating your own Mashups.
I highly recommend this book - so far, it has been my favorite read of 2008!Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development) OverviewMashups are hugely popular right now, a very important topic within the general area of Web 2.0, involving technologies such as CSS, JavaScript, Ajax, APIs, libraries, and server-side languages (such as PHP and ASP.NET.) This book aims to be the definitive tome on Mashup development, to stand in the middle of all the other, more API specific books coming out on Google Maps, Flickr, etc.The book shows you how to create real world Mashups using all the most poplar APIs, such as Google Maps, Flickr, Amazon Web Services, and delicious, and includes examples in multiple different server-side languages, such as PHP, Java, and .NET. It will have a large target audience, but still deliver an effective and engaging learning experience, regardless of the specific technologies the reader prefers to use.

Want to learn more information about Pro Web 2.0 Mashups: Remixing Data and Web Services (Expert's Voice in Web Development)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Distributed Programming with Ruby Review

Distributed Programming with Ruby
Average Reviews:

(More customer reviews)
Are you looking to buy Distributed Programming with Ruby? Here is the right place to find the great deals. we can offer discounts of up to 90% on Distributed Programming with Ruby. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Distributed Programming with Ruby ReviewThis book provides an excellent survey of distributed programming techniques using the Ruby platform. As a software engineer who is largely unfamiliar with Ruby, but very familiar with distributed programming, I was able to leverage the book both to understand "how you do things" in Ruby, as well as to introduce myself to the (libraries, framework tools, etc.) which make distributed programming a reality. My experience in reading this book was that it had a great flow, and a very clean presentation on the subject matter. I walked away with a deeper understanding of the Ruby language itself, as well as a mapping from "strategy/design concept" to "implementation toolkit" should I have a need to write a distributed service in Ruby. In summary, the book provides an excellent survey of both distributed concepts, as well as several options available on the Ruby platform for each, covering: DRb, Rinda, RingyDingy, Starfish, Distribunaut, Politics, Starling, working with Rabbit MQ, BackgrounDRb, and Delayed Job.
Much like the Ruby language itself, the text is very concise in explaining even fairly complicated concepts. It achieves this focus of delivery by building on fundamental concepts, providing a very simple starting point, and layering on additional "would like to" one at a time, without confusing the underlying intention. This pattern is present both at the micro level, as each chapter introduces a new distributed challenge and leaves you with a working knowledge of what the Ruby space has to offer for solutions implementations; as well as at the macro level, as the topics of each chapter progress from very simple things like remote procedure calls and data marshalling, to advanced topics such as an remote work processor, distributed work queue based on a map-reduce framework or a message queue service. While the phrase "map-reduce" is mentioned in several topic headings, there is no actual example of a problem solved with a map and reduce against a distributed dataset. The final topic, although not directly a distributed programming concept, is useful information for any production system that does any work of interest: a work scheduler using BackgrounDRb.
In a similar way, each chapter presents a very tiny example app, with complete code, and a walk through, distinguishing between the concept at hand, and the library specific implementation semantics. Also, similar examples are used where appropriate, making it easier to understand the specific nuances of a particular library. Mirroring the measured build up of the text, the code samples evolve in a simple and natural way over the course of a given topic. Although one might complain that there is little imagination in the examples, this focus ensures that the reader walks away with a clear understanding of the "Hello World" level implementation - details are left up to further research.
My only complaint in terms of coverage is that the book is overly "Ruby-only" focused. As an engineer working in a largely heterogeneous environment, I would be interested in a comparison of the internal "Ruby" only packages (e.g. DRb or Rinda) vs. tools that are a bit more cross platform: e.g. in this case, a comparison against a more generalized, stack agnostic marshalling framework (e.g. Google's Protocol Buffers, Facebook's Thrift, Cisco's Etch, or Microsoft's M). In particular, this would signify where the Ruby platform offers a particular advantage for a particular kind of distributed problem. However, as the title goes, this text is focused on the Ruby specific implementations of various technologies, instead of how Ruby as a language plays (with others) in these various areas.
Overall, I would say this is an excellent resource to use as a pointer for further research. If you are developing distributed systems using Ruby, then you are likely already aware of a certain number of these libraries; the survey of alternative options might be informative. For someone like myself who is familiar with distributed systems development but relatively ignorant of Ruby, it proved to be an excellent introduction both to the language, as well as to the Ruby specific semantics for implementing a basic distributed design (e.g. marshalling, task / job execution, etc.)
(Reposted from Bay APLN [...])Distributed Programming with Ruby Overview"A must have title for the well-rounded Ruby programmer building advanced Rails applications and large systems!" OBIE FERNANDEZ, Series EditorComplete, Hands-On Guide to Building Advanced Distributed Applications with RubyDistributed programming techniques make applications easier to scale, develop, and deploy—especially in emerging cloud computing environments. Now, one of the Ruby community's leading experts has written the first definitive guide to distributed programming with Ruby. Mark Bates begins with a simple distributed application, and then walks through an increasingly complex series of examples, demonstrating solutions to the most common distributed programming problems.Bates presents the industry's most useful coverage of Ruby's standard distributed programming libraries, DRb and Rinda. Next, he introduces powerful third-party tools, frameworks, and libraries designed to simplify Ruby distributed programming, including his own Distribunaut. If you're an experienced Ruby programmer or architect, this hands-on tutorial and practical reference will help you meet any distributed programming challenge, no matter how complex.Coverage includes• Writing robust, secure, and interactive applications using DRb—and managing its drawbacks• Using Rinda to build applications with improved flexibility, fault tolerance, and service discovery• Simplifying DRb service management with RingyDingy• Utilizing Starfish to facilitate communication between distributed programs and to write MapReduce functions for processing large data sets• Using Politics to customize the processes running on individual server instances in a cloud computing environment • Providing reliable distributed queuing with the low-overhead Starling messaging server • Implementing comprehensive enterprise messaging with RabbitMQ and Advanced Message Queuing Protocol (AMQP)• Offloading heavyweight tasks with BackgrounDRb and DelayedJob

Want to learn more information about Distributed Programming with Ruby?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...