Building Web Applications with Erlang: Working with REST and Web Sockets on Yaws [NOOK Book]

Overview

Why choose Erlang for web applications? Discover the answer hands-on by building a simple web service with this book. If you’re an experienced web developer who knows basic Erlang, you’ll learn how to work with REST, dynamic content, web sockets, and concurrency through several examples. In the process, you’ll see first-hand that Erlang is ideal for building business-critical services.

Erlang was designed for fault-tolerant, non-stop telecom systems, and building applications ...

See more details below
Building Web Applications with Erlang: Working with REST and Web Sockets on Yaws

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$10.49
BN.com price
(Save 34%)$15.99 List Price

Overview

Why choose Erlang for web applications? Discover the answer hands-on by building a simple web service with this book. If you’re an experienced web developer who knows basic Erlang, you’ll learn how to work with REST, dynamic content, web sockets, and concurrency through several examples. In the process, you’ll see first-hand that Erlang is ideal for building business-critical services.

Erlang was designed for fault-tolerant, non-stop telecom systems, and building applications with it requires a large set of skills. By the end of the book, you’ll have the information you need to build a basic web service and get it running.

  • Explore the power of Erlang and REST for building web services
  • Serve static and dynamic content with the Yaws web server
  • Use different methods for outputting data to user, such as encoding Erlang data structures into JSON or XML
  • Build an application to listen for HTTP requests, process them, store data, and return useful data
  • Go beyond the request-response model—push data to clients with web sockets
  • Use Erlang and Yaws to stream data from the server to a client

"A book which is truly needed and will help get Erlang to the next level."

—Francesco Cesarini, CEO of Erlang Solutions, author of Erlang Programming.

Read More Show Less

Product Details

  • ISBN-13: 9781449320652
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 6/5/2012
  • Sold by: Barnes & Noble
  • Format: eBook
  • Edition number: 1
  • Pages: 100
  • Sales rank: 1,262,176
  • File size: 5 MB

Meet the Author

Zachary Kessin has been working on developing interactive web applications since 1994. In the last few years Zachary's focus has been on building complex applications in the browser with Javascript, browser-based testing with Selenium, functional programming, and code generation.

Read More Show Less

Table of Contents

Preface;
Who This Book Is For;
Learning Erlang;
Before You Start;
What You Will Learn;
The Limits of This Book;
Help! It Doesn’t Compile or Run!;
Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
How to Contact Us;
Acknowledgments;
Chapter 1: Building Scalable Systems with Erlang and REST;
1.1 Why Erlang?;
1.2 Why Web Services? Why REST?;
1.3 New Opportunities for Scaling and Resilience;
Chapter 2: Getting Started with Yaws;
2.1 Working with Yaws;
2.2 Dynamic Content in Yaws;
2.3 Templates;
2.4 Logging;
Chapter 3: Appmods: Dynamic Content in Yaws;
3.1 Appmod Configuration;
3.2 When the URI Does Not Correspond to a File;
3.3 Cookies;
3.4 Session Handling;
3.5 Access Control;
3.6 Interacting with Erlang Services and Business Logic Layers;
Chapter 4: Implementing REST;
4.1 Decoding a Request;
4.2 Response and Headers;
4.3 Building the Response;
4.4 Responding to the REST Request;
4.5 A Full Example;
Chapter 5: File Upload;
5.1 The File Upload Request;
5.2 Saving to Disk;
5.3 Putting It All Together;
5.4 Storage in a Distributed System;
5.5 Saving to Amazon S3;
Chapter 6: WebSockets;
6.1 The WebSocket Request;
6.2 Basic WebSocket Handler;
6.3 Advanced WebSocket Handler;
Chapter 7: Streaming;
7.1 Simple Streaming;
Chapter 8: Using the HTTP Client;
8.1 Making a Request;
8.2 Using OAuth;
Chapter 9: Building an Application with OTP;
9.1 Directory Structure;
9.2 Building an Application Server;
9.3 The Generic Server;
9.4 The Multicast Server;
9.5 Interfacing the Server with the Web;
9.6 Some Client-Side Code;
9.7 Let’s Have Some Adult Supervision Around Here!;
9.8 A Little Optimization;
9.9 Bundling as an Application;
9.10 The App File;
9.11 Wrapping Up OTP;
Installing Erlang and Yaws;
Beyond Yaws;
Web Servers;
Web Frameworks;
Interfacing with Ruby and Python;
Ruby;
Python;
Using Erlang with Emacs;
Distel;
Flymake Mode;
Gen Server Template;

Read More Show Less

Customer Reviews

Average Rating 5
( 2 )
Rating Distribution

5 Star

(2)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Anonymous

    Posted December 6, 2013

    Waiting!

    Luv it so far! Write more!

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 6, 2013

    <>

    <>

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)