With examples in Node.js and Raspberry Pi
A hands-on guide that will teach how to design and implement scalable, flexible, and open IoT solutions using web technologies. This book focuses on providing the right balance of theory, code samples, and practical examples to enable you to successfully connect all sorts of devices to the more » web and to expose their services and data over REST APIs.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Because the Internet of Things is still new, there is no universal application protocol. Fortunately, the IoT can take advantage of the web, where IoT protocols connect applications thanks to universal and open APIs.
About the Book
Building the Web of Things is a guide to using cutting-edge web technologies to build the IoT. This step-by-step book teaches you how to use web protocols to connect real-world devices to the web, including the Semantic and Social Webs. Along the way you'll gain vital concepts as you follow instructions for making Web of Things devices. By the end, you'll have the practical skills you need to implement your own web-connected products and services.
* Introduction to IoT protocols and devices
* Connect electronic actuators and sensors (GPIO) to a Raspberry Pi
* Implement standard REST and Pub/Sub APIs with Node.js on embedded systems
* Learn about IoT protocols like MQTT and CoAP and integrate them to the Web of Things
* Use the Semantic Web (JSON-LD, RDFa, etc.) to discover and find Web Things
* Share Things via Social Networks to create the Social Web of Things
* Build a web-based smart home with HTTP and WebSocket
* Compose physical mashups with EVRYTHNG, Node-RED, and IFTTT
About the Reader
For both seasoned programmers and those with only basic programming skills.
About the Authors
Dominique Guinard and Vlad Trifa pioneered the Web of Things and cofounded EVRYTHNG, a large-scale IoT cloud powering billions of Web Things.
Table of Contents
1. PART 1 BASICS OF THE IOT AND THE WOT
2. From the Internet of Things to the Web of Things
3. Hello, World Wide Web of Things
4. Node.js for the Web of Things
5. Getting started with embedded systems
6. Building networks of Things
7. PART 2 BUILDING THE WOT
8. Access: Web APIs for Things
9. Implementing Web Things
10. Find: Describe and discover Web Things
11. Share: Securing and sharing Web Things « less
Build real-world, production-ready solutions in Go using cutting-edge technology and techniques
ABOUT THIS BOOK
* Get up to date with Go and write code capable of delivering massive world-class scale performance and availability
* Learn to apply the nuances of the Go language, and get to know the open source community that surrounds it to implement a wide range of start-up quality projects
* more » Write interesting and clever but simple code, and learn skills and techniques that are directly transferrable to your own projects
WHO THIS BOOK IS FOR
If you are familiar with Go and are want to put your knowledge to work, then this is the book for you. Go programming knowledge is a must.
WHAT YOU WILL LEARN
* Build quirky and fun projects from scratch while exploring patterns, practices, and techniques, as well as a range of different technologies
* Create websites and data services capable of massive scale using Go's net/http package, exploring RESTful patterns as well as low-latency WebSocket APIs
* Interact with a variety of remote web services to consume capabilities ranging from authentication and authorization to a fully functioning thesaurus
* Develop high-quality command-line tools that utilize the powerful shell capabilities and perform well using Go's in-built concurrency mechanisms
* Build microservices for larger organizations using the Go Kit library
* Implement a modern document database as well as high-throughput messaging queue technology to put together an architecture that is truly ready to scale
* Write concurrent programs and gracefully manage the execution of them and communication by smartly using channels
* Get a feel for app deployment using Docker and Google App Engine
Go is the language of the Internet age, and the latest version of Go comes with major architectural changes. Implementation of the language, runtime, and libraries has changed significantly. The compiler and runtime are now written entirely in Go. The garbage collector is now concurrent and provides dramatically lower pause times by running in parallel with other Go routines when possible.
This book will show you how to leverage all the latest features and much more. This book shows you how to build powerful systems and drops you into real-world situations. You will learn to develop high-quality command-line tools that utilize the powerful shell capabilities and perform well using Go's in-built concurrency mechanisms. Scale, performance, and high availability lie at the heart of our projects, and the lessons learned throughout this book will arm you with everything you need to build world-class solutions. You will get a feel for app deployment using Docker and Google App Engine. Each project could form the basis of a start-up, which means they are directly applicable to modern software markets.
STYLE AND APPROACH
This book provides fun projects that involve building applications from scratch. These projects will teach you to build chat applications, a distributed system, and a recommendation system. « less
A Framework for Building Modern PHP Apps
What sets Laravel apart from other PHP web frameworks? Speed and simplicity, for starters. This rapid application development framework and its vast ecosystem of tools let you quickly build new sites and applications with clean, readable code. With this practical guide, Matt Stauffer--a leading teacher more » and developer in the Laravel community--provides the definitive introduction to one of today's most popular web frameworks.
The book's high-level overview and concrete examples will help experienced PHP web developers get started with Laravel right away. By the time you reach the last page, you should feel comfortable writing an entire application in Laravel from scratch.
Dive into several features of this framework, including:
* Blade, Laravel's powerful, custom templating tool
* Tools for gathering, validating, normalizing, and filtering user-provided data
* Laravel's Eloquent ORM for working with the application's databases
* The Illuminate request object, and its role in the application lifecycle
* PHPUnit, Mockery, and PHPSpec for testing your PHP code
* Laravel's tools for writing JSON and RESTful APIs
* Interfaces for file system access, sessions, cookies, caches, and search
* Tools for implementing queues, jobs, events, and WebSocket event publishing
* Laravel's specialty packages: Scout, Passport, Cashier, Echo, Elixir, Valet, and Socialite « less
Unleash the power of Spring MVC and build enterprise-grade, lightning-fast web applications
ABOUT THIS BOOK
* Configure Spring MVC to build logic-less controllers that transparently support the most advanced web techniques
* Secure your developments with easy-to-write, reliable unit and end-to-end tests
* Get this fast-paced, practical guide to produce REST resources and templates as required more » by the latest front-end best practices
WHO THIS BOOK IS FOR
This Learning Path is for Java developers who want to exploit Spring MVC and its features to build web applications. It will help you step up in your career and stay up to date or learn more about Spring's web scalability.
WHAT YOU WILL LEARN
* Set up and build standalone and web-based projects using Spring Framework with Maven or Gradle
* Develop RESTful API applications for XML and JSON data transfers
* Investigate Spring data access mechanisms with Spring Data Repositories
* Generate templates for a responsive and powerful front end with AngularJS and Bootstrap
* Authenticate over REST with a BASIC authentication scheme and OAuth2; handle roles and permissions
* Communicate through WebSocket and STOMP messages
* Design complex advanced-level forms and validate the model
* Create maintainable unit and acceptance tests to secure the apps
* Deploy the web application to the cloud in a snap
Spring MVC helps you build flexible and loosely coupled web applications. The Spring MVC Framework is designed in such a way that every piece of logic and functionality is highly configurable. This Learning Path aims to make you an expert in designing web applications with Spring MVC 4.
In our first module, we'll begin with an introduction to the Spring framework. You'll then learn aspect-oriented programming. Packed with real-world examples, you'll get an insight into how you can use Spring Expression Language in your applications to make them easier to manage and maintain.
In the final module, you'll find out how to take advantage of Spring MVC's advanced features - essential if you are to properly master the framework. To do this you'll investigate the inner mechanics of Spring MVC, and how they tie into to the broader principles that inform many modern web architectures. With further guidance on how to test, secure, and optimize your application, as well as designing RESTful services, you'll very quickly be ready to use Spring in your next web project.
This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:
* Spring Essentials by Shameer Kunjumohamed, Hamidreza Sattari
* Spring MVC Cookbook by Alex Bretet
* Mastering Spring MVC 4 by Geoffroy Warin
STYLE AND APPROACH
This is a hands-on, practical guide based on logical modules of the whole Spring framework family, employing a combination of theory and examples with pro-level practices, techniques, and solutions. « less
What every web developer should know about networking and web performance
How prepared are you to build fast and efficient web applications? This eloquent book provides what every web developer should know about the network, from fundamental limitations that affect performance to major innovations for building even more powerful browser applications - including HTTP 2.0 and more » XHR improvements, Server-Sent Events (SSE), WebSocket, and WebRTC.
Author Ilya Grigorik, a web performance engineer at Google, demonstrates performance optimization best practices for TCP, UDP, and TLS protocols, and explains unique wireless and mobile network optimization requirements. You'll then dive into performance characteristics of technologies such as HTTP 2.0, client-side network scripting with XHR, real-time streaming with SSE and WebSocket, and P2P communication with WebRTC. « less
Develop professional applications in Java EE 7 with this essential reference guide
Update your knowledge of the Enterprise Java platform through this user-friendly tutorial that's designed around real-life examples. The pragmatic approach means you'll be up to speed almost effortlessly. For intermediate users upwards.
* Learn about local and remote service endpoints, more » containers, architecture, synchronous and asynchronous invocations, and remote communications in a concise reference
* Understand the architecture of the Java EE platform and then apply the new Java EE 7 enhancements to benefit your own business-critical applications
* Learn about integration test development on Java EE with Arquillian Framework and the Gradle build system
* Learn about containerless builds featuring the GlassFish 4.0 embedded application server
* Master Java EE 7 with this example-based, up-to-date guide with descriptions and explanations
The seventh edition of the Enterprise Java platform is aimed at helping Java engineers take advantage of the advancements in HTML5 and web standards. Web Sockets, asynchronous input and output with Servlets, and strong type safety through the CDI containers will ensure that Java EE 7 remains popular for server-side applications.
If you are a user aiming to get acquainted with the Java EE 7 platform, this book is for you.
"Java EE 7 Handbook" provides a solid foundation of knowledge for developers to build business applications. Following the lead of Agile practices, there is a focus on writing tests to demonstrate test-driven development principles, using the embedded GlassFish 4.0 container examples and the Gradle build system. You will learn about CDI, EJB, JPA, JMS, MDB, Servlets, WebSocket, JAX-RS, Bean Validation, and so much more.
"Java EE 7 Handbook" is designed as a companion to the professional software developer who quickly needs to lookup some working code, understand the basics of the framework, and then go out and fulfill the business contract with the customer. Typically, engineers are under pressure to develop professional code that is of high quality and contains a low number of bugs. Java EE 7 Handbook relies heavily on the Arquillian framework to illustrate how much easier it is to write Java EE tests, and together with the modern practice of writing containerless applications that actually embed an application container, developing agile Java EE suddenly becomes reasonable, smart, pragmatic, and achievable.
What you will learn from this book
* Understand the JSR and the API that are assembled together for Java EE 7
* Write server side and client side WebSocket connection in Java
* Understand the essential differences and similarities between the EJB and CDI containers, as well as dependency injection
* Learn about Gradle builds, embedded containers, and the Arquillian Framework
* Build server side endpoints with EJB in stateless, stateful, and singleton modes
* Write REST server side endpoints on the client and server side
* Write asynchronous Servlet input and output and also annotated Servlet, Context Listeners
* Map entities in Java Persistence with the essential cardinalities including the Java side of many-to-many relationships
* Learn about mapping entities to stored procedures and entity graphs
* Fully understand how to verify your POJO before they hit the database with Bean Validation API
* Be prepared for the Java EE 8 journey and beyond, which may include deployment to the cloud « less
MASTER APPLICATION DEVELOPMENT WITH JAVA WEBSOCKET
Build dynamic enterprise Web applications that fully leverage state-of-the-art communication technologies. Written by the leading expert on Java WebSocket programming, this Oracle Press guide offers practical development strategies and detailed example more » applications. Java WebSocket Programming explains how to design client/server applications, incorporate full-duplex messaging, establish connections, create endpoints, handle path mapping, and secure data. You’ll also learn how to encrypt Web transmissions and enrich legacy applications with Java WebSocket.
* Develop Web applications using the Java WebSocket API
* Create and publish annotated and programmatic endpoints
* Manage the lifecycle events of WebSocket endpoints
* Maintain reliable connections across the endpoint lifecycle
* Manage synchronous and asynchronous messaging
* Define encoding and decoding strategies for complex messaging
* Configure message timeouts, size limits, and exceptions
* Map message paths and route incoming URIs to Web containers
* Secure data, authenticate users, and encrypt connections « less