NFJS Bookstore
JRuby Cookbook
by Justin Edelson and Henry Liu
-
If you're interested in JRuby, you probably don't need a tutorial on Ruby, Rails, or Java -- you just need to know how to get things done. This Cookbook offers practical solutions for using the Java implementation of the Ruby language, with targeted recipes for deploying Rails web applications on Java servers, integrating JRuby code with Java technologies, developing JRuby desktop applications with Java toolkits, and more. Using numerous reusable code samples, JRuby Cookbook shows you how to:
- Install and update JRuby on Windows, Mac OS X, and Linux, and IDEs such as NetBeans and Eclipse
- Package and deploy Rails apps on Java Servlet containers and Java EE application servers, including JBoss, Tomcat, and GlassFish
- Integrate Ruby and Rails applications with popular Java EE technologies such as JMS, JMX, JPA, Spring, and Hibernate
- Develop desktop and client applications with cross-platform Java UI technologies and toolkits such as Swing, SWT, and Java 2D
- Maximize the flexibility of your testing and build environment, using both existing Java-based tools such as Ant and Maven and newer Ruby-based tools such as Rake, Raven, and Buildr
The JRuby interpreter combines Ruby's simplicity and ease of use with Java's extensive libraries and technologies, a potent blend that opens new possibilities for Ruby, Rails, and Java. This Cookbook helps you take full advantage of JRuby's potential.
"The JRuby Cookbook is an excellent book for any polyglot who is trying to bridge the gap between Java and Ruby. It provides solutions to specific problems developers face in both their development and testing environments, along with the applications they're building."-- Bob McWhirter, Research & Prototyping, Red Hat Middleware
Practical RichFaces
by Max Katz
-
JBoss RichFaces is a rich JavaServer Faces (JSF) component library that helps developers quickly develop next–generation web applications. Practical RichFaces describes how to best take advantage of RichFaces, the integration of the Ajax4jsf and RichFaces libraries, to create a flexible and powerful programs. Assuming some JSF background, it shows you how you can radically reduce programming time and effort to create rich Ajax-based applications.
What you’ll learn
- Quickly learn how to build rich Internet applications with out–of–the–box RichFaces components.
- Discover best strategies for implementing Ajax applications using RichFaces.
- Find out when best to use the two libraries.
- Create new skins for your app in no time.
- Create applications without needing to write any JavaScript code.
Who this book is for
Java developers with knowledge of JSF looking to build next–generation web applications using RichFaces, JSF users, Java programmers wishing to add Ajax to their existing programs, and old users of Ajax4jsf.
Table of Contents
- Introduction
- Quick Start with JBoss RichFaces
- RichFaces Basic Concepts
- More a4j: Tags, Concepts, and Features
- Input Components
- Output Components
- Data Iteration Components
- Selection Components
- Menu Components
- Scrollable Data Table and Tree
- Skins
Career 2.0: Take Control of Your Life
by Jared Richardson
-
Jared Richardson will discuss why you should card. How corporations are, by definition, soulless entities, who usually
don't care about you, just quarterly profits. He delves into how jobs tend to overspecialize our skill set, and then lay us off when the skill set becomes obsolete. He talks about setting achievable goals, an d how to break those goals down into daily activities. The next chapters cover solid strategies you can use to achieve your goals. Finally, he will coach you in the skills you'll need to execute on those strategies. Remember, there is only one person who has your best interest at heart, and that's you. If you choose to not manage your own career, don't be upset if no on else does either. Don't be upset if you don't get what you want out of this life. It's not enough to want something. You've got to decide what you want, then take steps to make it happen. What's the first step to take to make your dreams come true? Wake up. Then start acting on those dreams. This book can help you get started.
Hibernate Search in Action
by Emmanuel Bernard and John Griffin
-
Enterprise and web applications require full-featured, "Google-quality" searchcapabilities, but such features are notoriously difficult to implement and maintain.Hibernate Search builds on the Lucene feature set and offers an easyto-implement interface that integrates seamlessly with Hibernate-the leadingdata persistence solution for Java applications.
Hibernate Search in Action introduces both the principles of enterprise searchand the implementation details a Java developer will need to use HibernateSearch effectively. This book blends the insights of the Hibernate Search leaddeveloper with the practical techniques required to index and manipulate data,assemble and execute search queries, and create smart filters for better searchresults. Along the way, the reader masters performance-boosting concepts likeusing Hibernate Search in a clustered environment and integrating with thefeatures already in your applications.
This book assumes you're a competent Java developer with some experienceusing Hibernate and Lucene.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
Professional JavaScript for Web Developers
by Nicholas C. Zakas
-
Professional JavaScript for Web Developers, 2nd Edition, provides a developer-level introduction along with the more advanced and useful features of JavaScript.
Starting at the beginning, the book explores how JavaScript originated and evolved into what it is today. A detailed discussion of the components that make up a JavaScript implementation follows, with specific focus on standards such as ECMAScript and the Document Object Model (DOM). The differences in JavaScript implementations used in different popular web browsers are also discussed.
Building on that base, the book moves on to cover basic concepts of JavaScript including its version of object-oriented programming, inheritance, and its use in various markup languages such as HTML. An in-depth examination of events and event handling is followed by an exploration of browser detection techniques and a guide to using regular expressions in JavaScript. The book then takes all this knowledge and applies it to creating dynamic user interfaces.
The last part of the book is focused on advanced topics, including performance/memory optimization, best practices, and a look at where JavaScript is going in the future.
This book is aimed at three groups of readers:
- Experienced developers familiar with object-oriented programming who are looking to learn JavaScript as it relates to traditional OO languages such as Java and C++
- Web application developers attempting to enhance the usability of their web sites and web applications
- Novice JavaScript developers aiming to better understand the language
In addition, familiarity with the following related technologies is a strong indicator that this book is for you:
- Java
- PHP
- ASP.NET
- HTML
- CSS
- XML
This book is not aimed at beginners who lack a basic computer science background or those looking to add some simple user interactions to web sites. These readers should instead refer to Wrox’s Beginning JavaScript, 3rd Edition (Wiley, 2007).
This book covers:
- What Is JavaScript?—Explains the origins of JavaScript: where it came from, how it evolved, and what it is today. Concepts introduced include the relationship between JavaScript and ECMAScript, the Document Object Model (DOM), and the Browser Object Model (BOM). A discussion of the relevant standards from the European Computer Manufacturer’s Association (ECMA) and the World Wide Web Consortium (W3C) is also included.
- JavaScript in HTML—Examines how JavaScript is used in conjunction with HTML to create dynamic web pages. Introduces the various ways of embedding JavaScript into a page, including a discussion surrounding the JavaScript content-type and its relationship to the element.
- Language Basics—Introduces basic language concepts, including syntax and flow control statements. Explains the syntactic similarities of JavaScript and other C-based languages and points out the differences. Type coercion is introduced as it relates to built-in operators.
- Variables, Scope, and Memory—Explores how variables are handled in JavaScript given their loosely typed nature. A discussion about the differences between primitive and reference values is included, as is information about execution context as it relates to variables. Also, a discussion about garbage collection in JavaScript explains how memory is reclaimed when variables go out of scope.
- Reference Types—Covers all of the details regarding JavaScript's built-in reference types, such as Object and Array. Each reference type described in ECMA-262 is discussed both in theory and how they relate to browser implementations.
- Object-Oriented Programming—Explains how to use object-oriented programming in JavaScript. Since JavaScript has no concept of classes, several popular techniques are explored for object creation and inheritance. Also covered is the concept of function prototypes and how that relates to an overall OO approach.
- Anonymous Functions—Explores one of the most powerful aspects of JavaScript: anonymous functions. Topics include closures, how the this object works, the module pattern, and creating private object members.
- The Browser Object Model—Introduces the Browser Object Model (BOM), which is responsible for objects allowing interaction with the browser itself. Each of the BOM objects is covered, including window, document, location, navigator, and screen.
- Client Detection—Explains various approaches to detecting the client machine and its capabilities. Different techniques include capability detection and user-agent string detection. Each approach is discussed for pros and cons as well as situational appropriateness.
- The Document Object Model—Introduces the Document Object Model (DOM) objects available in JavaScript as defined in DOM Level 1. A brief introduction to XML and its relationship to the DOM gives way to an in-depth exploration of the entire DOM and how it allows developers to manipulate a page.
- DOM Levels 2 and 3 Explains how DOM Levels 2 and 3 augmented the DOM with additional properties, methods, and objects. Compatibility issues between Internet Explorer and other browsers are discussed.
- Events—Explains the nature of events in JavaScript, where they originated, legacy support, and how the DOM redefined how events should work. A variety of devices are covered, including the Wii and iPhone.
- Scripting Forms—Looks at using JavaScript to enhance form interactions and work around browser limitations. Discussion focuses on individual form elements such as text boxes and select boxes and on data validation and manipulation.
- Error Handling and Debugging—Discusses how browsers handle errors in JavaScript code and presents several ways to handle errors. Debugging tools and techniques are also discussed for each browser, including recommendations for simplifying the debugging process.
- XML in JavaScript—Presents the features of JavaScript used to read and manipulate eXtensible Markup Language (XML) data. Explains the differences in support and objects in various web browsers, and offers suggestions for easier cross-browser coding. This also covers the use of eXtensible Stylesheet Language Transformations (XSLT) to transform XML data on the client.
- ECMAScript for XML—Discusses the ECMAScript for XML (E4X) extension to JavaScript, which is designed to simplify working with XML. Explains the advantages of E4X over using the DOM for XML manipulation.
- Ajax and JSON—Looks at common Ajax techniques, including the use of the XMLHttpRequest object and Internet Explorer's XDomainRequest object for cross-domain Ajax. Explains the differences in browser implementations and support as well as recommendations for usage.
- Advanced Techniques—Dives into some of the more complex JavaScript patterns, including function currying, partial function application, and dynamic functions. Also covers creating a custom event framework to enable simple event support for custom objects.
- Client-Side Storage—Discusses the various techniques for storing data on the client machine. Begins with a discussion of the most commonly supported feature, cookies, and then discusses newer functionality such as DOM storage.
- Best Practices—Explores approaches to working with JavaScript in an enterprise environment. Techniques for better maintainability are discussed, including coding techniques, formatting, and general programming practices. Execution performance is discussed and several techniques for speed optimization are introduced. Last, deployment issues are discussed, including how to create a build process.
- Upcoming APIs—Introduces APIs being created to augment JavaScript in the browser. Even though these APIs aren't yet complete or fully implemented, they are on the horizon and browsers have already begun partially implementing their features. Includes the Selectors API and HTML 5.
- The Evolution of JavaScript—Looks into the future of JavaScript to see where the language is headed. ECMAScript 3.1, ECMAScript 4, and ECMAScript Harmony are discussed.
Designing Web Interfaces: Principles and Patterns for Rich Interactions
by Bill Scott and Theresa Neil
-
Want to learn how to create great user experiences on today's Web? In this book, UI experts Bill Scott and Theresa Neil present more than 75 design patterns for building web interfaces that provide rich interaction. Distilled from the authors' years of experience at Sabre, Yahoo!, and Netflix, these best practices are grouped into six key principles to help you take advantage of the web technologies available today. With an entire section devoted to each design principle, Designing Web Interfaces helps you:
- Make It Direct-Edit content in context with design patterns for In Page Editing, Drag & Drop, and Direct Selection
- Keep It Lightweight-Reduce the effort required to interact with a site by using In Context Tools to leave a "light footprint"
- Stay on the Page-Keep visitors on a page with overlays, inlays, dynamic content, and in-page flow patterns
- Provide an Invitation-Help visitors discover site features with invitations that cue them to the next level of interaction
- Use Transitions-Learn when, why, and how to use animations, cinematic effects, and other transitions
- React Immediately-Provide a rich experience by using lively responses such as Live Search, Live Suggest, Live Previews, and more
Designing Web Interfaces illustrates many patterns with examples from working websites. If you need to build or renovate a website to be truly interactive, this book gives you the principles for success.
-
In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de hOra -- offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they've learned from years of experience. Among the 97 principles in this book, you'll find useful advice such as:
- Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar)
- Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm)
- Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards)
- Simplicity Before Generality, Use Before Reuse (Kevlin Henney)
- For the End User, the Interface Is the System (Vinayak Hegde)
- It's Never Too Early to Think About Performance (Rebecca Parsons)
To be successful as a software architect, you need to master both business and technology. This book tells you what top software architects think is important and how they approach a project. If you want to enhance your career, 97 Things Every Software Architect Should Know is essential reading.
Grails Persistence with GORM and GSQL (FirstPress)
by Robert Fischer
-
Unique to the popular Grails web framework is its architecture. While other frameworks are built from the ground up, Grails leverages existing and proven technologies that already have advanced functionality built in. One of the key technologies in this architecture is Hibernate, on top of which Grails builds its GORM (Grails Object Relational Mapping) model layer. This provides Grails a persistence solution.
Published with the developer in mind, firstPress technical briefs explore emerging technologies that have the potential to be critical for tomorrow’s industry. Apress keeps developers one step ahead by presenting key information as early as possible in a PDF of 150 pages or less. Explore the future through Apress with Grails Persistence with GORM and GSQL.
This firstPress book covers Grails persistence with GORM, from defining your first model to the nature of transactions and advanced Hibernate querying. Other APIs and tools such as GSQL (Groovy SQL) are covered as well, as needed, to empower your Grails persistence efforts.
What you’ll learn
- Extend the Grails web framework into a broader, semi–enterprise framework by including and integrating Hibernate–based Java persistence, known as GORM.
- Use mappings to customize default behaviors and work with legacy schemas.
- Use constraints to define your object once and have those constraints enforced both in code and at the database level.
- Use advanced features of GORM and Hibernate Query Language (HQL) to simplify database querying and report generation.
- Debug and tune trips for GORM and Hibernate.
- Fill in the gaps with GSQL.
Who this book is for
This title is for those who have committed to dedicating some time to mastering Grails and are looking to move beyond the basics, and are especially interested in Grails and Groovy persistence for some limited transaction handling and/or accessing databases.
Table of Contents
- Defining the Model in GORM
- Customizing GORM Mapping and Enforcing Data Integrity
- Querying with GORM and HQL
- GORM Usage in Grails
- Filling in the Gaps with Groovy SQL and Spring’s JDBC Support
The Definitive Guide to Grails
by Graeme Rocher and Jeff Scott Brown
-
The rise of Ruby on Rails has signified a huge shift in how we build web applications today; it is a fantastic framework with a growing community. There is, however, space for another such framework that integrates seamlessly with Java. Thousands of companies have invested in Java, and these same companies are losing out on the benefits of a Rails–like framework. Enter Grails.
Grails is not just a Rails clone. It aims to provide a Rails–like environment that is more familiar to Java developers and employs idioms that Java developers are comfortable using, making the adjustment in mentality to a dynamic framework less of a jump. The concepts within Grails, like interceptors, tag libs, and Groovy Server Pages (GSP), make those in the Java community feel right at home.
Grails' foundation is on solid open source technologies such as Spring, Hibernate, and SiteMesh, which gives it even more potential in the Java space: Spring provides powerful inversion of control and MVC, Hibernate brings a stable, mature object relational mapping technology with the ability to integrate with legacy systems, and SiteMesh handles flexible layout control and page decoration.
Grails complements these with additional features that take advantage of the coding–by–convention paradigm such as dynamic tag libraries, Grails object relational mapping, Groovy Server Pages, and scaffolding.
Graeme Rocher, Grails lead and founder, and Jeff Brown bring you completely up–to–date with their authoritative and fully comprehensive guide to the Grails framework. You'll get to know all the core features, services, and Grails extensions via plug–ins, and understand the roles that Groovy and Grails are playing in the changing Web.
Programming Clojure (Pragmatic Programmers)
by Stuart Halloway
-
Clojure is a dynamic language for the Java Virtual Machine, with a compelling combination of features:
Clojure is elegant. Clojure's clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.
Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.
Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones.
Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory.
Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer.
Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code.
Many other languages offer some of these features, but the combination of them all makes Clojure sparkle. Programming Clojure shows you why these features are so important, and how you can use Clojure to build powerful programs quickly.
Java Message Service: Creating Distributed Enterprise Applications
by Mark Richards, Richard Monson-Haefel, and David A Chappell
-
Java Message Service, Second Edition, is a thorough introduction to the standard API that supports "messaging" -- the software-to-software exchange of crucial data among network computers. You'll learn how JMS can help you solve many architectural challenges, such as integrating dissimilar systems and applications, increasing scalability, eliminating system bottlenecks, supporting concurrent processing, and promoting flexibility and agility.
Updated for JMS 1.1, this second edition also explains how this vendor-agnostic specification will help you write messaging-based applications using IBM's MQ, Progress Software's SonicMQ, ActiveMQ, and many other proprietary messaging services.
With Java Message Service, you will:- Build applications using point-to-point and publish-and-subscribe messaging models
- Use features such as transactions and durable subscriptions to make an application reliable
- Implement messaging within Enterprise JavaBeans (EJB) using message-driven beans
- Use JMS with RESTful applications and with the Spring application framework
Messaging is a powerful paradigm that makes it easier to uncouple different parts of an enterprise application. Java Message Service, Second Edition, will quickly teach you how to use the key technology that lies behind it.
Grails in Action
by Glen Smith and Peter Ledbrook
-
For web developers used to wrestling with Java and XML, Grails is a breath of fresh air. Developers are instantly productive, picking up all the benefits of the Ruby-based Rails framework without giving up any of the power of Java.
Grails in Action is a comprehensive look at Grails for Java developers. It covers the nuts and bolts of the core Grails components and is jam-packed with tutorials, techniques, and insights from the trenches.
The book starts with an overview of Grails and how it can help you get your web dev mojo back. Then it walks readers through a Twitter-style social networking app-built in Grails, of course-where they implement high-interest features like mashups, AJAX/JSON, animation effects, full text search, rounded corners, and lots of visual goodness. The book also covers using Grails with existing Java technology, like Spring, Hibernate, and EJBs.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
Solr 1.4 Enterprise Search Server
by David Smiley and Eric Pugh
- The book takes a tutorial approach with fully working examples. It will show you how to implement a Solr-based search engine on your intranet or web site. This book is for developers who would like to use Solr for their applications. You only need to have basic programming skills to use Solr. Knowledge of Lucene is certainly a bonus.
-
If the projects you manage don't go as smoothly as you'd like, 97 Things Every Project Manager Should Know offers knowledge that's priceless, gained through years of trial and error. This illuminating book contains 97 short and extremely practical tips -- whether you're dealing with software or non-IT projects -- from some of the world's most experienced project managers and software developers. You'll learn how these professionals have dealt with everything from managing teams to handling project stakeholders to runaway meetings and more.
While this book highlights software projects, its wise axioms contain project management principles applicable to projects of all types in any industry. You can read the book end to end or browse to find topics that are of particular relevance to you. 97 Things Every Project Manager Should Know is both a useful reference and a source of inspiration.
Among the 97 practical tips:- "Clever Code Is Hard to Maintain...and Maintenance Is Everything" -- David Wood, Partner, Zepheira
- "Every Project Manager Is a Contract Administrator" -- Fabio Teixeira de Melo, Planning Manager, Construtora Norberto Odebrecht
- "Can Earned Value and Velocity Coexist on Reports?" -- Barbee Davis, President, Davis Consulting
- "How Do You Define 'Finished'"? -- Brian Sam-Bodden, author, software architect
- "The Best People to Create the Estimates Are the Ones Who Do the Work" -- Joe Zenevitch, Senior Project Manager, ThoughtWorks
- "How to Spot a Good IT Developer" -- James Graham, independent management consultant
- "One Deliverable, One Person" -- Alan Greenblatt, CEO, Sciova
AspectJ in Action: Enterprise AOP with Spring Applications
by Ramnivas Laddad
-
To allow the creation of truly modular software, OOP has evolved into aspect-oriented programming. AspectJ is a mature AOP implementation for Java, now integrated with Spring.
AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad's best-selling first edition. It's a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You'll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you'll apply AOP to common problems encountered in enterprise applications.
This book requires no previous experience in AOP and AspectJ, but it assumes you're familiar with OOP, Java, and the basics of Spring.
"Clear, concisely worded, well-organized ... a pleasure to read."
-From the Foreword by Rod Johnson, Creator of the Spring Framework
"This book teaches you how to think in aspects. It is essential reading for both beginners who know nothing about AOP and experts who think they know it all."
-Andrew Eisenberg, AspectJ Development Tools Project Committer
"Ramnivas showcases how to get the best out of AspectJ and Spring."
-Andy Clement, AspectJ Project Lead
"One of the best Java books in years."
-Andrew Rhine, Software Engineer, eSecLending
"By far the best reference for Spring AOP and AspectJ."
-Paul Benedict, Software Engineer, Argus Health Systems
"Ramnivas expertly demystifies the awesome power of aspect-oriented programming."
-Craig Walls, author of Spring in Action
-
Drive Even More Value from Virtualization: Write VMware® Applications that Automate Virtual Infrastructure Management
Companies running VMware have already achieved enormous gains through virtualization. The next wave of benefits will come when they reduce the time and effort required to run and manage VMware platforms. The VMware Infrastructure Software Development Kit (VI SDK) includes application programming interfaces (APIs) that allow developers and administrators to do just that. Until now, there has been little documentation for the APIs. In VMware VI and vSphere SDK, software architect Steve Jin demystifies the entire VMware VI and new vSphere SDK and offers detailed, task-based coverage of using the APIs to manage VMware more efficiently and cost-effectively.
Jin walks you through using the VI SDK and cloud-computing vSphere SDK to manage ESX servers, ESX clusters, and VirtualCenter servers in any environment–no matter how complex. Drawing on his extensive expertise working with VMware strategic partners and enterprise customers, he places the VI SDK in practical context, presenting realistic samples and proven best practices for building robust, effective solutions. Jin demonstrates how to manage every facet of a VMware environment, including inventory, host systems, virtual machines (VMs), snapshots, VMotion, clusters, resource pools, networking, storage, data stores, events, alarms, users, security, licenses, and scheduled tasks. Coverage includes
- Understanding how the VI SDK fits into your VMware VI and Cloud Ready vSphere Environment
- Discovering the VI and vSphere SDK from the bottom up
- Using the author’s new VI Java API to write shorter, faster, and more maintainable code
- Managing VI and vSphere inventory and configurations
- Moving running VMs and storages across different physical platforms without disruption
- Optimizing system resources, hardening system securities, backing up VMs and other resources
- Leveraging events, alarms, and scheduled tasks to automate the system management
- Developing powerful applications that integrate multiple API features and run on top of or alongside VMware platforms
- Using the VI SDK to monitor performance
- Scripting with the VI SDK: building solutions with VI Perl, PowerShell, and Jython
- Avoiding the pitfalls that trip up VMware VI developers
- Integrating with and extending VMware platforms using VI SDK
This book is an indispensable resource for all VMware developers and administrators who want to get more done in less time; for hardware vendors who want to integrate their products with VMware; for ISV developers building new VMware applications; and for every professional and student seeking a deeper mastery of virtualization.
-
Professional BlazeDS: Creating Rich Internet Applications with Flex and Java
by Shashank Tiwari
-
A hands-on guide to creating Rich Internet Applications (RIA) using BlazeDS
BlazeDS enables you to easily connect to back-end distributed data and push data in real time to Adobe Flex and Adobe AIR applications in order to garner more responsive Rich Internet Application (RIA) experiences. It is a scalable option for Flex and Java integration and allows you to create excellent RIAs with both Flex and Java.
This informative resource provides you with detailed examples and walkthroughs that explain the best practices for creating RIAs using BlazeDS. You'll begin with the essentials of BlazeDS and then more on to more advanced topics. Along the way, you'll learn the real-world concerns that surround enterprise-based Java and Flex applications.
- BlazeDS enables you to connect to back-end distributed data in order to garner more responsive Rich Internet Application (RIA) experiences
- Begins with an introduction to BlazeDS, and explains the necessary features for integrating new and existing Java data sources and applications with Flex-based RIAs
- Provides hands-on examples and addresses real-world concerns surrounding enterprise-based Java and Flex applications
- Serves as a comprehensive walk through for creating RIAs using BlazeDS
If you're looking to create rich, productive, and engaging applications, then this book is for you.
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
Grails: A Quick-Start Guide
by Dave Klein
-
Grails is a full stack web development framework that enables you to build complete web applications in a fraction of the time and with less code than other frameworks.
In Grails: A Quick-Start Guide, you'll see how to use Grails by iteratively building an unique, working application. By the time we're done, you'll have built and deployed a real, functioning website.
Along the way, we'll learn about domain classes, controllers, and GSP views. We'll see how Grails allows us to use powerful frameworks like Spring and Hibernate without even knowing it.
Using this hands-on, pragmatic approach, we'll explore topics such as AJAX in Grails, custom tags, and plugins. We'll dig into Grails' powerful view technology, Groovy Server Pages, and see how we can easily leverage the help given to us by scaffolding to create custom user interfaces faster than you would have thought possible.
With Grails, you can get a lot done with little effort. With this book, you'll get a lot done as well. It's time to bring the fun back into web programming. Get started with Grails today.
JavaServer Faces 2.0, The Complete Reference
by Ed Burns and Chris Schalk
-
The Definitive Guide to JavaServer Faces 2.0
Fully revised and updated for all of the changes in JavaServer Faces (JSF) 2.0, this comprehensive volume covers every aspect of the official standard Web development architecture for JavaEE. Inside this authoritative resource, the co-spec lead for JSF at Sun Microsystems shows you how to create dynamic, cross-browser Web applications that deliver a world-class user experience while preserving a high level of code quality and maintainability.
JavaServer Faces 2.0: The Complete Reference features an integrated sample application to use as a model for your own JSF applications, with code available online. The book explains all JSF features, including the request processing lifecycle, managed beans, page navigation, component development, Ajax, validation, internationalization, and security. Expert Group Insights throughout the book offer insider information on the design of JSF.
- Set up a development environment and build a JSF application
- Understand the JSF request processing lifecycle
- Use the Facelets View Declaration Language, managed beans, and the JSF expression language (EL)
- Define page flow with the JSF Navigation Model, including the new "Implicit Navigation" feature
- Work with the user interface component model and the JSF event model, including support for bookmarkable pages and the POST, REDIRECT, GET pattern
- Use the new JSR-303 Bean Validation standard for model data validation
- Build Ajax-enabled custom UI components
Extend JSF with custom non-UI components - Manage security, accessibility, internationalization, and localization
- Learn how to work with JSF and Portlets from the JSF Team Leader at Liferay, the leading Java Portal vendor
Ed Burns is a senior staff engineer at Sun Microsystems and is the co-specification lead for JavaServer Faces. He is the co-author of JavaServer Faces: The Complete Reference and author of Secrets of the Rock Star Programmers.
Chris Schalk is a developer advocate and works to promote Google's APIs and technologies. He is currently engaging the international Web development community with the new Google App Engine and OpenSocial APIs.
Neil Griffin is committer and JSF Team Lead for Liferay Portal and the co-founder of The PortletFaces Project.
Ready-to-use code at www.mhprofessonal.com/computingdownload
Oracle Coherence 3.5
by Aleksandar Seovic, Mark Falco, and Patrick Peralta
- This title covers Coherence features progressively, from simple to more advanced topics, and provides best-practice guidance on when and how to use each. Numerous examples are provided throughout the book that will help you become familiar with Coherence APIs. You will also be able to reuse many of the sample classes or mini-frameworks encapsulating Coherence best practice and providing missing features directly within your own applications. This should significantly increase your productivity when developing Coherence applications. Finally, a sample application that you can download from the companion web site will show you how to use Coherence as part of the broader infrastructure stack, including Spring Framework and Hibernate, as well as how to access Coherence from a WPF-based .NET desktop application. This book is written for architects and developers responsible for the design and development of Internet or Enterprise applications (web-based or otherwise) that need to scale to support a large number of simultaneous users, while at the same time providing fast response times and high availability. The book assumes a solid knowledge of Java, and a familiarity with Domain Driven Design (DDD) is helpful.
Enterprise Development with Flex: Best Practices for RIA Developers (Adobe Developer Library)
by Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky
-
If you want to use Adobe Flex to build production-quality Rich Internet Applications for the enterprise, this groundbreaking book shows you exactly what's required. You'll learn efficient techniques and best practices, and compare several frameworks and tools available for RIA development -- well beyond anything you'll find in Flex tutorials and product documentation. Through many practical examples, the authors impart their considerable experience to help you overcome challenges during your project's life cycle.
Enterprise Development with Flex also suggests proper tools and methodologies, guidelines for determining the skill sets required for the project, and much more.
- Choose among several frameworks to build Flex applications, including Cairngorm, PureMVC, Mate, and Clear Toolkit
- Apply selected design patterns with Flex
- Learn how to extend the Flex framework and build your own component library
- Develop a sample AIR application that automatically synchronizes local and remote databases to support your sales force
- Get solutions for leveraging AMF protocol and synchronizing Flex client data modifications with BlazeDS-based servers
- Determine the actual performance of your application and improve its efficiency
CSS Detective Guide: Tricks for solving tough CSS mysteries, The
by Denise R. Jacobs
-
One of the toughest challenges novice CSS developers face is when seemingly perfect code doesn’t translate into a perfectly rendered browser page—and with all the different browsers available today, this happens all too often. The CSS Detective Guide aims to help, by teaching real world troubleshooting skills. You’ll learn how to track clues, analyze the evidence, and get to the truth behind CSS mysteries. These aren’t pat solutions, but rather strategies for thinking about CSS. Author Denise Jacobs begins by going over the basics of CSS with a special emphasis on common causes of problems. Then she shows you methods for giving your code the third degree. Then you’ll take a look at the line-up of usual suspects, the common problems and persistent bugs that are often encountered in CSS.
Finally, you’ll have the chance to play detective and find the guilty culprit in:
- The Case of the Devilish Details
- The Case of the Mistaken Identity
- The Case of the Single White Space
- The Case of the Float with a Mind of Its Own
- The Case of the Browser Who Hated Me
- The Case of the LOL Layout
www.CssDetectiveGuide.com
Spring Python 1.1
by Greg Lee Turnquist
- The book is an introduction to Spring Python. It starts with simple practical applications, moving on to more advanced applications with two advanced case studies at the end of the book. It is packed with screenshots, examples, and ready-to-use code making it very suitable for a beginner while also showing tactics and concepts suitable for the most experienced developers. Each chapter starts with a simple problem to solve, and then dives into how Spring Python provides the solution with step-by-step code samples. Along the way, screenshots and diagrams are used to show critical parts of the solution. The case studies start off with a handful of use cases, and then proceed step-by-step to incrementally develop features. Some use cases are left to the reader to implement as an exercise. Key problems discovered along the way are exposed and then solved, giving the reader the chance to solve them, or to read the author's solutions. This book is for Python developers who want to take their applications to the next level, by adding/using parts that scale their application up, without adding unnecessary complexity. It is also helpful for Java developers who want to mix in some Python to speed up their coding effort.
InterACT with Web Standards: A holistic approach to web design (Voices That Matter)
by Erin Anderson, Virginia DeBolt, Derek Featherstone, Lars Gunther, Denise R. Jacobs, Leslie Jensen-Inman, Chris Mills, Christopher Schmitt, Glenda Sims, and Aarron Walter
-
Laying the foundation for a solid understanding of Web design, this book weaves together industry best practices and standards-based design techniques. It is built on practical examples and short exercises crafted to help readers learn quickly and retain information. Starting with the basics this book teaches:
- Internet fundamentals
- Planning, content strategy, and information architecture
- HTML and CSS
- Accessibility
25% of all author proceeds from this book will be donated to The Open Web Education Alliance (http://www.w3.org/2005/Incubator/owea/) to help advance web education around the world.
Core JavaServer Faces (3rd Edition)
by David Geary and Cay S. Horstmann
-
JavaServer Faces (JSF) is the standard Java EE technology for building web user interfaces. It provides a powerful framework for developing server-side applications, allowing you to cleanly separate visual presentation and application logic. JSF 2.0 is a major upgrade, which not only adds many useful features but also greatly simplifies the programming model by using annotations and “convention over configuration” for common tasks.
To help you quickly tap into the power of JSF 2.0, the third edition of Core JavaServer™ Faces has been completely updated to make optimum use of all the new features. The book includes
- Three totally new chapters on using Facelets tags for templating, building composite components, and developing Ajax applications
- Guidance on building robust applications with minimal hand coding and maximum productivity–without requiring any knowledge of servlets or other low-level “plumbing”
- A complete explanation of the basic building blocks–from using standard JSF tags, to working with data tables, and converting and validating input
- Coverage of advanced tasks, such as event handling, extending the JSF framework, and connecting to external services
- Solutions to a variety of common challenges, including notes on debugging and troubleshooting, in addition to implementation details and working code for features that are missing from JSF
- Proven solutions, hints, tips, and “how-tos” show you how to use JSF effectively in your development projects
Core JavaServer™ Faces, Third Edition, provides everything you need to master the powerful and time-saving features of JSF 2.0 and is the perfect guide for programmers developing Java EE 6 web apps on Glassfish or another Java EE 6-compliant application servers, as well as servlet runners such as Tomcat 6.
-
Professional F# 2.0
by Ted Neward, Aaron Erickson, Talbott Crowell, and Rick Minerich
-
This is a book on the F# programming language.
On the surface of things, that is an intuitively obvious statement, given the title of this book. However, despite the apparent redundancy in saying it aloud, the sentence above elegantly describes what this book is about: The authors are not attempting to teach developers how to accomplish tasks from other languages in this one, nor are they attempting to evangelize the language or its feature set or its use "over" other languages. They assume that you are considering this book because you have an interest in learning the F# language: its syntax, its semantics, its pros and cons, and its use in concert with other parts of the .NET ecosystem.
The intended reader is a .NET developer, familiar with at least one of the programming languages in the .NET ecosystem. That language might be C# or Visual Basic, or perhaps C++/CLI, IronPython or IronRuby.
Lucene in Action, Second Edition: Covers Apache Lucene 3.0
by Michael McCandless, Erik Hatcher, and Otis Gospodnetic
-
When Lucene first hit the scene five years ago, it was nothing short ofamazing. By using this open-source, highly scalable, super-fast search engine,developers could integrate search into applications quickly and efficiently.A lot has changed since then-search has grown from a "nice-to-have" featureinto an indispensable part of most enterprise applications. Lucene now powerssearch in diverse companies including Akamai, Netflix, LinkedIn,Technorati, HotJobs, Epiphany, FedEx, Mayo Clinic, MIT, New ScientistMagazine, and many others.
Some things remain the same, though. Lucene still delivers high-performancesearch features in a disarmingly easy-to-use API. Due to its vibrant and diverseopen-source community of developers and users, Lucene is relentlessly improving,with evolutions to APIs, significant new features such as payloads, and ahuge increase (as much as 8x) in indexing speed with Lucene 2.3.
And with clear writing, reusable examples, and unmatched advice on bestpractices, Lucene in Action, Second Edition is still the definitive guide todeveloping with Lucene.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
AdvancED Flex 4
by Shashank Tiwari, Elad Elrom, and Charlie Schulze
-
AdvancED Flex 4 makes advanced Flex 4 concepts and techniques easy. Ajax, RIA, Web 2.0, mashups, mobile applications, the most sophisticated web tools, and the coolest interactive web applications are all covered with practical, visually oriented recipes.
- Completely updated for tools new to Flex 4
- Demonstrates how to use Flex 4 to create robust and scalable enterprise-grade rich Internet applications
- Teaches you to build high-performance web applications with interactivity that really engages your users
What you’ll learn
Practiced beginners and intermediate users of Flex, especially those with a knowledge of other web development tools, will learn to leverage Flex 4’s new tools and capabilities to build truly advanced web applications.
- Get the most out of the new features introduced in Flex 4
- Integrate Flex 4 with PHP, Java, JavaScript, and Ruby on Rails
- Leverage architectural and design patterns
- Create mashups and collaborative applications using Flex 4
- Build rich media applications using audio and video streaming and open-source 3D libraries
- Tune the performance of your Flex applications
Who this book is for
This book is for web developers who want and need to create rich Internet applications on time and within budget. It is also for all Flex developers including those upgrading from Flex 3, intermediate users who want to build their skills to an advanced level, and other web developers who want to integrate their web tools with Flex.
Table of Contents
- Building Applications Using Test-Driven Development
- Turbo-Charging Data Binding
- Workflow enhancements with Flash Catalyst
- Flex and AIR: Taking Applications to the Desktop
- 20 Enhancements Overview
- Creating Themes in Flex 4
- Integrating Flex with Java Using Services
- Integrating via Data Services
- Talking with JavaScript and HTML: Web Page Integration
- Flex Mashups
- Flash Security
- Migrating Web 10 Interfaces to RIA
- Working with Web 20 APIs
- Facilitating Audio and Video
- Using 3D in Flex
JavaFX 1.2 Application Development Cookbook
by Vladimir Vivien
- This book is a comprehensive collection of recipes that elaborate on known use cases. You will find an organized step-by-step procedure to accomplish each task followed by detailed explanations to better understand how and why each step was undertaken, and many links to online references and other related sections in the book that supplement the subject in question. The book is written so that you can work through the recipes in order or go straight to the recipes that interest you; where a recipe depends on other recipes they are clearly referenced. If you are a Java developer, Rich Internet Application content developer, or graphic designer who wants to build RIAs featuring animations, videos, and other feature-rich content, this book is for you. Knowledge of Java, JavaScript, and JavaFX components is not essential, but will help you exploit this book to your advantage.
Spring Recipes: A Problem-Solution Approach (Expert's Voice in Open Source)
by Gary Mak, Daniel Rubio, and Josh Long
-
With over 3 million users/developers, Spring Framework is the leading “out of the box” Java framework. Spring addresses and offers simple solutions for most aspects of your Java/Java EE application development, and guides you to use industry best practices to design and implement your applications.
The release of Spring Framework 3 has ushered in many improvements and new features. Spring Recipes: A Problem-Solution Approach, Second Edition continues upon the bestselling success of the previous edition but focuses on the latest Spring 3 features for building enterprise Java applications. This book provides elementary to advanced code recipes to account for the following, found in the new Spring 3:
- Spring fundamentals: Spring IoC container, Spring AOP/ AspectJ, and more
- Spring enterprise: Spring Java EE integration, Spring Integration, Spring Batch, jBPM with Spring, Spring Remoting, messaging, transactions, scaling using Terracotta and GridGrain, and more.
- Spring web: Spring MVC, Spring Web Flow 2, Spring Roo, other dynamic scripting, integration with popular Grails Framework (and Groovy), REST/web services, and more.
This book guides you step by step through topics using complete and real-world code examples. Instead of abstract descriptions on complex concepts, you will find live examples in this book. When you start a new project, you can consider copying the code and configuration files from this book, and then modifying them for your needs. This can save you a great deal of work over creating a project from scratch!
What you’ll learn
- How to use the IoC container and the Spring application context to best effect.
- Spring’s AOP support, both classic and new Spring AOP, integrating Spring with AspectJ, and load-time weaving.
- Simplifying data access with Spring (JDBC, Hibernate, and JPA) and managing transactions both programmatically and declaratively.
- Spring’s support for remoting technologies (RMI, Hessian, Burlap, and HTTP Invoker), EJB, JMS, JMX, email, batch, scheduling, and scripting languages.
- Integrating legacy systems with Spring, building highly concurrent, grid-ready applications using Gridgain and Terracotta Web Apps, and even creating cloud systems.
- Building modular services using OSGi with Spring DM and Spring Dynamic Modules and SpringSource dm Server.
- Delivering web applications with Spring Web Flow, Spring MVC, Spring Portals, Struts, JSF, DWR, the Grails framework, and more.
- Developing web services using Spring WS and REST; contract-last with XFire, and contract–first through Spring Web Services.
- Spring’s unit and integration testing support (on JUnit 3.8, JUnit 4, and TestNG).
- How to secure applications using Spring Security.
Who this book is for
This book is for Java developers who would like to rapidly gain hands-on experience with Java/Java EE development using the Spring framework. If you are already a developer using Spring in your projects, you can also use this book as a reference—you’ll find the code examples very useful.
Table of Contents
- Introduction to Spring
- Advanced Spring IoC Container
- Spring AOP and AspectJ Support
- Scripting in Spring
- Spring Security
- Integrating Spring with Other Web Frameworks
- Spring Web Flow
- Spring @MVC
- Spring RESTSpring and Flex
- Grails
- Spring Roo
- Spring Testing
- Spring Portlet MVC Framework
- Data Access
- Transaction Management in Spring
- EJB, Spring Remoting, and Web Services
- Spring in the Enterprise
- Messaging
- Spring Integration
- Spring Batch
- Spring on the Grid
- jBPM and Spring
- OSGi and Spring
REST in Practice: Hypermedia and Systems Architecture
by Jim Webber, Savas Parastatidis, and Ian Robinson
-
Why don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and enterprise-class applications?
In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.
- Learn basic Web techniques for application integration
- Use HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applications
- Discover the Create, Read, Update, Delete (CRUD) pattern for manipulating resources
- Build RESTful services that use hypermedia to model state transitions and describe business protocols
- Learn how to make Web-based solutions secure and interoperable
- Extend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPub
- Understand how the Semantic Web will impact systems design
Driving Technical Change
by Terrence Ryan
-
Your co-workers' resistance to new technologies can be baffling. Logical arguments can fail. If you don't do politics, you will fail. With Driving Technical Change, by Terrence Ryan, you'll learn to read users' "patterns of resistance"-and then dismantle their objections. Every developer must master the art of evangelizing. With these techniques and strategies, you'll help your organization adopt your solutions-without selling your soul to organizational politics.
Finding cool languages, tools, or development techniques is easy-new ones are popping up every day. Convincing co-workers to adopt them is the hard part. The problem is political, and in political fights, logic doesn't win for logic's sake. Hard evidence of a superior solution is not enough. But that reality can be tough for programmers to overcome.
In Driving Technical Change: Why People On Your Team Don't Act on Good Ideas, and How to Convince Them They Should, Adobe software evangelist Terrence Ryan breaks down the patterns and types of resistance technologists face in many organizations.
You'll get a rich understanding of what blocks users from accepting your solutions. From that, you'll get techniques for dismantling their objections-without becoming some kind of technocratic Machiavelli.
In Part I, Ryan clearly defines the problem. Then in Part II, he presents "resistance patterns"-there's a pattern for each type of person resisting your technology, from The Uninformed to The Herd, The Cynic, The Burned, The Time Crunched, The Boss, and The Irrational. In Part III, Ryan shares his battle-tested techniques for overcoming users' objections. These build on expertise, communication, compromise, trust, publicity, and similar factors. In Part IV, Ryan reveals strategies that put it all together-the patterns of resistance and the techniques for winning buy-in. This is the art of organizational politics.
In the end, change is a two-way street: In order to get your co-workers to stretch their technical skills, you'll have to stretch your soft skills. This book will help you make that stretch without compromising your resistance to playing politics. You can overcome resistance-however illogical-in a logical way.
HTML5 & CSS3 For The Real World
by Estelle Weyl, Louis Lazaris, and Alexis Goldstein
-
HTML5 and CSS3 for the Real World is ideal for any web designer or developer who wants to start using the latest generation of web technologies in their everyday work.
This book will teach you how to:
- understand the new semantic markup available in HTML5
- use CSS3 to make sites beautiful without sacrificing clean markup or resorting to complex workarounds
- employ native HTML5 video and audio in your pages
- use web fonts to enrich a site's typography
- make web applications accessible using WAI-ARIA
- make the most of the new HTML form elements.
It also features:
- details on all the new HTML5 and CSS3 elements and features
- information on the current level of browser support
- advice for creating great experiences for all users thanks to progressive enhancement.
Pro Spring Batch (Expert's Voice in Spring)
by Michael T. Minella
-
Since its release, Spring Framework has transformed virtually every aspect of Java development including web applications, security, aspect-oriented programming, persistence, and messaging. Spring Batch, one of its newer additions, now brings the same familiar Spring idioms to batch processing. Spring Batch addresses the needs of any batch process, from the complex calculations performed in the biggest financial institutions to simple data migrations that occur with many software development projects.
Pro Spring Batch is intended to answer three questions:- What? What is batch processing? What does it entail? What makes it different from the other applications we are developing? What are the challenges inherent in the development of a batch process?
- Why? Why do batch processing? Why can’t we just process things as we get them? Why do we do batch processing differently than the web applications that we currently work on?
- How? How to implement a robust, scalable, distributed batch processing system using open-source frameworks
Pro Spring Batch gives concrete examples of how each piece of functionality is used and why it would be used in a real-world application. This includes providing tips that the "school of hard knocks" has taught author Michael Minella during his experience with Spring Batch. Pro Spring Batch includes examples of I/O options that are not mentioned in the official user’s guide, as well as performance tips on things like how to limit the impact of maintaining the state of your jobs.
The author also walks you through, from end to end, the design and implementation of a batch process based upon a theoretical real-world example. This includes basic project setup, implementation, testing, tuning and scaling for large volumes.What you’ll learn
- Batch concepts and how they relate to the Spring Batch framework
- How to use declarative I/O using the Spring Batch readers/writers
- Data integrity techniques used by Spring Batch, including transactions and job state/restartability
- How to scale batch jobs via distributed batch processing
- How to handle testing batch processes (Unit and functional)
Who this book is for
- Java developers with Spring experience.
- Java Architects designing batch solutions
Table of Contents
- Batch and Spring
- Spring Batch 101
- Sample Job
- Understanding Jobs and Steps
- Job Repository and Metadata
- Running a Job
- Readers
- Item Processors
- Item Writers
- Sample Application
- Scaling and Tuning
- Testing Batch Processes
Building and Testing with Gradle
by Tim Berglund and Matthew McCullough
-
Build and test software written in Java and many other languages with Gradle, the open source project automation tool that’s getting a lot of attention. This concise introduction provides numerous code examples to help you explore Gradle, both as a build tool and as a complete solution for automating the compilation, test, and release process of simple and enterprise-level applications.
Discover how Gradle improves on the best ideas of Ant, Maven, and other build tools, with standards for developers who want them and lots of flexibility for those who prefer less structure.
- Use Gradle with Groovy, Clojure, Scala, and languages beyond the JVM, such as Flex and C
- Get started building a simple Java program using Gradle's command line tooling and a small build script
- Learn how to configure and construct tasks, Gradle's fundamental unit of build activity
- Take advantage of Gradle's integration with Ant
- Use Gradle to integrate with or transition from Maven, and to build software more cleanly
- Perform application unit and integration tests using JUnit, TestNG, Spock, and Geb
Jenkins: The Definitive Guide
by John Ferguson Smart
-
Streamline software development with Jenkins, the popular Java-based open source tool that has revolutionized the way teams think about Continuous Integration (CI). This complete guide shows you how to automate your build, integration, release, and deployment processes with Jenkins—and demonstrates how CI can save you time, money, and many headaches.
Ideal for developers, software architects, and project managers, Jenkins: The Definitive Guide is both a CI tutorial and a comprehensive Jenkins reference. Through its wealth of best practices and real-world tips, you'll discover how easy it is to set up a CI service with Jenkins.
- Learn how to install, configure, and secure your Jenkins server
- Organize and monitor general-purpose build jobs
- Integrate automated tests to verify builds, and set up code quality reporting
- Establish effective team notification strategies and techniques
- Configure build pipelines, parameterized jobs, matrix builds, and other advanced jobs
- Manage a farm of Jenkins servers to run distributed builds
- Implement automated deployment and continuous delivery
-
This volume provides an overview and an understanding of REST (Representational State Transfer). Discussing the constraints of REST the book focuses on REST as a type of web architectural style. The focus is on applying REST beyond Web applications (i.e., in enterprise environments), and in reusing established and well-understood design patterns when doing so. The reader will be able to understand how RESTful systems can be designed and deployed, and what the results are in terms of benefits and challenges encountered in the process.
Since REST is relatively new as an approach for designing Web Services, the more advanced part of the book collects a number of challenges to some of the assumptions and constraints of REST, and looks at current research work on how REST can be extended and applied to scenarios that often are considered not to be a good match for REST.
This work will help readers to reach a deeper understanding of REST on a practical as well as on an advanced level.
Enterprise Java Applications Architecture on VMware
by Emad Benjamin
- This book is the culmination of 7 years of experience in running Java on VMware vSphere both internally at VMware and at VMware customer sites. In fact many of VMware’s customers run critical enterprise Java applications on VMware vSphere where they have achieved better TCO, and SLAs. This book covers high level architecture and implementation details, such as design and sizing, high availability designs, automation of deployments, best practices, tuning, and troubleshooting techniques.
Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors
by Venkat Subramaniam
-
More than ever, learning to program concurrency is critical to creating faster, responsive applications. Speedy and affordable multicore hardware is driving the demand for high-performing applications, and you can leverage the Java platform to bring these applications to life.
Concurrency on the Java platform has evolved, from the synchronization model of JDK to software transactional memory (STM) and actor-based concurrency. This book is the first to show you all these concurrency styles so you can compare and choose what works best for your applications. You'll learn the benefits of each of these models, when and how to use them, and what their limitations are.
Through hands-on exercises, you'll learn how to avoid shared mutable state and how to write good, elegant, explicit synchronization-free programs so you can create easy and safe concurrent applications. The techniques you learn in this book will take you from dreading concurrency to mastering and enjoying it. Best of all, you can work with Java or a JVM language of your choice - Clojure, JRuby, Groovy, or Scala - to reap the growing power of multicore hardware.
If you are a Java programmer, you'd need JDK 1.5 or later and the Akka 1.0 library. In addition, if you program in Scala, Clojure, Groovy or JRuby you'd need the latest version of your preferred language. Groovy programmers will also need GPars.
12 Essential Skills for Software Architects
by Dave Hendricksen
-
Master the Crucial Non -Technical Skills Every Software Architect Needs!
Thousands of software professionals have the necessary technical qualifications to become architects, but far fewer have the crucial non-technical skills needed to get hired and succeed in this role. In today’s agile environments, these “soft” skills have grown even more crucial to success as an architect. For many developers, however, these skills don’t come naturally–and they’re rarely addressed in formal training. Now, long-time software architect Dave Hendricksen helps you fill this gap, supercharge your organizational impact, and quickly move to the next level in your career.
In 12 Essential Skills for Software Architects, Hendricksen begins by pinpointing the specific relationship, personal, and business skills that successful architects rely upon. Next, he presents proven methods for systematically developing and sharpening every one of these skills, from negotiation and leadership to pragmatism and vision.
From start to finish, this book’s practical insights can help you get the architect position you want–and thrive once you have it!
The soft skills you need…
…and a coherent framework and practical methodology for mastering them!
Relationship skills
Leadership, politics, gracious behavior, communication, negotiation
Personal skills
Context switching, transparency, passion
Business skills
Pragmatism, vision, business knowledge, innovation
Learning HTML5 Game Programming: A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL
by James L. Williams
-
Get Started Fast with HTML5 Online Game Programming!
HTML5 will transform web and mobile gaming. As new browsers rapidly adopt it, HTML5 will do everything “legacy” technologies such as Flash and Silverlight have done—and much more. In Learning HTML5 Game Programming, pioneering developer James L. Williams gives you all the knowledge, code, and insights you’ll need to get started fast!
Williams combines detailed explanations of HTML5’s key innovations with examples, including two case study applications that address the entire development process. He guides you through setting up a state-of-the-art HTML5 development environment; making the most of HTML5’s canvas tag, SVG vector graphics, and WebGL 3D; and targeting diverse mobile and social platforms. It’s all here: from the essentials of online game design to the nitty-gritty details of performance optimization.
About the Website
All code samples and answers to chapter exercises are available for download at www.informit.com/title/9780321767363 and on Github at https://github.com/jwill/html5-game-book.
Coverage includes
· Understanding the HTML5 innovations that make it possible to create amazingly rich games
· Setting up a state-of-the-art open source HTML5 game development environment
· Using JavaScript to drive sophisticated interactions between users and games
· Building basic games fast, with the prototype-based Simple Game Framework (SGF)
· Generating movement and gameplay with the canvas tag and surface
· Creating games with SVG vector graphics using the RaphaëlJS Javascript library
· Using Three.js to build powerful WebGL 3D games with far less complexity
· Developing games without JavaScript, using Google Web Toolkit (GWT) or CoffeeScript
· Building a complete multiplayer game server using Node.js and WebSockets
· Planning and choosing tools for mobile game development with HTML5
· Optimizing game performance with offline cache, minification, and other techniques
Learning HTML5 Game Programming is the fastest route to success with HTML5 game development—whether you’re a long-time game developer or a web/mobile programmer building games for the first time.
Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services
by Robert Daigneau
-
Web services have been used for many years. In this time, developers and architects have encountered a number of recurring design challenges related to their usage, and have learned that certain service design approaches work better than others to solve certain problems.
In Service Design Patterns, Rob Daigneau codifies proven design solutions for web services that follow the REST architectural style or leverage the SOAP/WSDL specifications. This catalogue identifies the fundamental topics in web service design and lists the common design patterns for each topic. All patterns identify the context in which they may be used, explain the constituent design elements, and explore the relative strengths and trade-offs. Code examples are provided to help you better understand how the patterns work but are kept general so that you can see how the solutions may be applied to disparate technologies that will inevitably change in the years to come.
This book will help readers answer the following questions:
- How do you create a web service API, what are the common API styles, and when should a particular style be used?
- How can clients and web services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time?
- What are the options for implementing web service logic, and when should a particular approach be used?
- How can clients become less coupled to the underlying systems used by a service?
- How can information about a web service be discovered?
- How can generic functions like authentication, validation, caching, and logging be supported on the client or service?
- What changes to a service cause clients to break?
- What are the common ways to version a service? How can web services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade?
This book is an invaluable resource for enterprise architects, solution architects, and developers who use web services to create enterprise IT applications, commercial or open source products, and Software as a Service (SaaS) products that leverage emerging Cloud platforms.
-
Java Application Architecture: Modularity Patterns with Examples Using OSGi (Robert C. Martin Series)
by Kirk Knoernschild
-
“I’m dancing! By god I’m dancing on the walls. I’m dancing on the ceiling. I’m ecstatic. I’m overjoyed. I’m really, really pleased.”
–From the Foreword by Robert C. Martin (a.k.a. Uncle Bob)
This isn’t the first book on Java application architecture. No doubt it won’t be the last. But rest assured, this title is different. The way we develop Java applications is about to change, and this title explores the new way of Java application architecture.
Over the past several years, module frameworks have been gaining traction on the Java platform, and upcoming versions of Java will include a module system that allows you to leverage the power of modularity to build more resilient and flexible software systems. Modularity isn’t a new concept. But modularity will change the way we develop Java applications, and you’ll only be able to realize the benefits if you understand how to design more modular software systems.
Java Application Architecture will help you
- Design modular software that is extensible, reusable, maintainable, and adaptable
- Design modular software today, in anticipation of future platform support for modularity
- Break large software systems into a flexible composite of collaborating modules
- Understand where to place your architectural focus
- Migrate large-scale monolithic applications to applications with a modular architecture
- Articulate the advantages of modular software to your team
Java Application Architecture lays the foundation you’ll need to incorporate modular design thinking into your development initiatives. Before it walks you through eighteen patterns that will help you architect modular software, it lays a solid foundation that shows you why modularity is a critical weapon in your arsenal of design tools. Throughout, you’ll find examples that illustrate the concepts. By designing modular applications today, you are positioning yourself for the platform and architecture of tomorrow. That’s why Uncle Bob is dancing.
Programming Clojure
by Stuart Halloway and Aaron Bedra
-
If you want to keep up with the significant changes in this important language, you need the second edition of Programming Clojure. Stu and Aaron describe the modifications to the numerics system in Clojure 1.3, explain new Clojure concepts such as Protocols and Datatypes, and teach you how to think in Clojure.
Programming Clojure, 2nd Edition is a significant update to the classic book on the Clojure language. You'll get thorough coverage of all the new features of Clojure 1.3, and enjoy reorganized and rewritten chapters that reflect the significance of new Clojure concepts. Many code examples have been rewritten or replaced, and every page has been reevaluated in the light of Clojure 1.3.
As Aaron and Stu show you how to build an application from scratch, you'll get a rich view into a complete Clojure workflow. And you'll get an invaluable education in thinking in Clojure as you work out solutions to the various parts of a problem.
Clojure is becoming the language of choice for many who are moving to functional programming or dealing with the challenges of concurrency. Clojure offers:
The simplicity of an elegantly designed language
The power of Lisp
The virtues of concurrency and functional style
The reach of the JVM
The speed of hand-written Java code
It's the combination of these features that makes Clojure sparkle. Programming Clojure, 2nd Edition shows you how to think in Clojure, and to take advantage of these combined strengths to build powerful programs quickly.
What You Need:
Oracle JDK 6
A text editor
Griffon in Action
by Andres Almiray, Danno Ferrin, and James Shingler
-
Summary
Griffon in Action is a comprehensive tutorial written for Java developers who want a more productive approach to UI development. After a quick Groovy tutorial, you'll immediately dive into Griffon and start building examples that explore its high productivity approach to Swing development.
About the TechnologyYou can think of Griffon as Grails for the desktop. It is a Groovy-driven UI framework for the JVM that wraps and radically simplifies Swing. Its declarative style and approachable abstractions are instantly familiar to developers using Grails or JavaFX.
About the BookGriffon in Action gets you going quickly. Griffon's convention-over-configuration approach requires minimal code to get an app off the ground, so you can start seeing results immediately. You'll learn how SwingBuilder and other Griffon "builders" provide a coherent DSL-driven development experience. Along the way, you'll explore best practices for structure, architecture, and lifecycle of a Java desktop application.
Written for Java developers—no experience with Groovy, Grails, or Swing is required.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
What's Inside- Griffon from the ground up
- Full compatibility with Griffon 1.0
- Using SwingBuilder and the other "builders"
- Practical, real-world examples
- Just enough Groovy
=======================================
Table of Contents
- Welcome to the Griffon revolution
- A closer look at Griffon
- Models and binding
- Creating a view
- Understanding controllers and services
- Understanding MVC groups
- Multithreaded applications
- Listening to notifications
- Testing your application
- Ship it!
- Working with plugins
- Enhanced looks
- Griffon in front, Grails in the back
- Productivity tools
PART 1 GETTING STARTED
PART 2 ESSENTIAL GRIFFON
Presentation Patterns: Techniques for Crafting Better Presentations
by Neal Ford, Matthew McCullough, and Nathaniel Schutta
-
Presentation Patterns is the first book on presentations that categorizes and organizes the building blocks (or patterns) that you’ll need to communicate effectively using presentation tools like Keynote and PowerPoint.
Patterns are like the lower-level steps found inside recipes; they are the techniques you must master to be considered a master chef or master presenter. You can use the patterns in this book to construct your own recipes for different contexts, such as business meetings, technical demonstrations, scientific expositions, and keynotes, just to name a few.
Although there are no such things as antirecipes, this book shows you lots of antipatterns—things you should avoid doing in presentations. Modern presentation tools often encourage ineffective presentation techniques, but this book shows you how to avoid them.
Each pattern is introduced with a memorable name, a definition, and a brief explanation of motivation. Readers learn where the pattern applies, the consequences of applying it, and how to apply it. The authors also identify critical antipatterns: clichés, fallacies, and design mistakes that cause presentations to disappoint. These problems are easy to avoid—once you know how.
Presentation Patterns will help you
- Plan what you’ll say, who you’ll say it to, how long you’ll talk, and where you’ll present
- Perfectly calibrate your presentation to your audience
- Use the storyteller’s “narrative arc” to full advantage
- Strengthen your credibility—and avoid mistakes that hurt it
- Hone your message before you ever touch presentation software
- Incorporate visuals that support your message instead of hindering it
- Create highly effective “infodecks” that work when you’re not able to deliver a talk in person
- Construct slides that really communicate and avoid “Ant Fonts,” “Floodmarks,” “Alienating Artifacts,” and other errors
- Master 13 powerful techniques for delivering your presentation with power, authority, and clarity
Whether you use this book as a handy reference or read it from start to finish, it will be a revelation: an entirely new language for systematically planning, creating, and delivering more powerful presentations. You’ll quickly find it indispensable—no matter what you’re presenting, who your audiences are, or what message you’re driving home.
-
Spring Data
by Mark Pollack, Oliver Gierke, Thomas Risberg, Jon Brisbin, and Michael Hunger
-
You can choose several data access frameworks when building Java enterprise applications that work with relational databases. But what about big data? This hands-on introduction shows you how Spring Data makes it relatively easy to build applications across a wide range of new data access technologies such as NoSQL and Hadoop.
Through several sample projects, you’ll learn how Spring Data provides a consistent programming model that retains NoSQL-specific features and capabilities, and helps you develop Hadoop applications across a wide range of use-cases such as data analysis, event stream processing, and workflow. You’ll also discover the features Spring Data adds to Spring’s existing JPA and JDBC support for writing RDBMS-based data access layers.
- Learn about Spring’s template helper classes to simplify the use ofdatabase-specific functionality
- Explore Spring Data’s repository abstraction and advanced query functionality
- Use Spring Data with Redis (key/value store), HBase(column-family), MongoDB (document database), and Neo4j (graph database)
- Discover the GemFire distributed data grid solution
- Export Spring Data JPA-managed entities to the Web as RESTful web services
- Simplify the development of HBase applications, using a lightweight object-mapping framework
- Build example big-data pipelines with Spring Batch and Spring Integration
The Definitive Guide to Grails 2
by Jeff Scott Brown and Graeme Rocher
-
Grails is a full stack framework which aims to greatly simplify the task of building serious web applications for the JVM. The concepts within Grails, like interceptors, tag libs, and Groovy Server Pages (GSP), make those in the Java community feel right at home.
Grails’ foundation is on solid open source technologies such as Spring, Hibernate, and SiteMesh, which gives it even more potential in the Java space: Spring provides powerful inversion of control and MVC, Hibernate brings a stable, mature object relational mapping technology with the ability to integrate with legacy systems, and SiteMesh handles flexible layout control and page decoration.
Grails complements these with additional features that take advantage of the coding–by–convention paradigm such as dynamic tag libraries, Grails object relational mapping, Groovy Server Pages, and scaffolding.
Graeme Rocher, Grails lead and founder, and Jeff Brown bring you completely up–to–date with their authoritative and fully comprehensive guide to the Grails 2 framework. You’ll get to know all the core features, services, and Grails extensions via plug–ins, and understand the roles that Groovy and Grails are playing in the changing Web.
What you’ll learn
- Discover how the Web is changing and the role the Groovy language and its Grails framework play
- Get to know the Grails Project and its domains, services, filters, controllers, views, testing, and plug–ins
- Experience the availability of plug–ins for Rich Client and Ajax, web services, performance/utilities, scheduling, security, functionality, and even Persistence
- See how Grails works with other frameworks like Spring, Wicket, Hibernate, and more
- Create custom plug–ins in Grails
Who this book is for
This book is for everyone who is looking for a more agile approach to web development with a dynamic scripting language such as Groovy. This includes a large number of Java developers who have been enticed by the productivity gains seen with frameworks such as Ruby on Rails, JRuby on Rails, etc. The Web and its environment is a perfect fit for easily adaptable and concise languages such as Groovy and Ruby, and there is huge interest from the developer community in general to embrace these languages.
Table of Contents
- The Essence of Grails
- Getting Started with Grails 2
- Understanding Domain Classes
- Understanding Controllers
- Understanding Views
- Mapping URLs
- Internationalization
- Ajax
- GORM
- Services
- Dependency Management
- Plugins
Testing in Scala
by Daniel Hinojosa
-
If you build your Scala application through Test-Driven Development, you’ll quickly see the advantages of testing before you write production code. This hands-on book shows you how to create tests with ScalaTest and the Specs2—two of the best testing frameworks available—and how to run your tests in the Simple Build Tool (SBT) designed specifically for Scala projects.
By building a sample digital jukebox application, you’ll discover how to isolate your tests from large subsystems and networks with mocking code, and how to use the ScalaCheck library for automated specification-based testing. If you’re familiar with Scala, Ruby, or Python, this book is for you.
- Get an overview of Test-Driven Development
- Start a simple project with SBT and create tests before you write code
- Dive into SBT’s basic commands, interactive mode, packaging, and history
- Use ScalaTest both in the command line and with SBT, and learn how to incorporate JUnit and TestNG
- Work with the Specs2 framework, including Specification styles, matchers DSLs, and Data Tables
- Understand mocking by using Java frameworks EasyMock and Mockito, and the Scala-only framework ScalaMock
- Automate testing by using ScalaCheck to generate fake data
Spring in a Nutshell
by Sam Brannen, Tareq Abedrabbo, Boris Burgstaller, and Baruch Sadogursky
-
The most complete reference available for the Spring 3.x framework, Spring in a Nutshell provides all of the details you need to configure and build lightweight enterprise applications on the Java platform -- ideal whether you're new to Spring or familiar with previous versions of this popular open source framework.
You'll quickly get up to speed on the fundamentals of Spring and how it enables you to write clean and simple applications with code that's portable, reusable, testable, and maintainable. You'll also discover how flexible this framework really is. This book provides techniques that will help you use Spring in a single class within your application, in a single application layer, or throughout your entire application, from the top to the bottom.
- Get everything you need to know to build enterprise Java applications, as well as web-based applications for browsers and RESTful web services
- Discover how Spring handles transactions, remoting, messaging, aspect-oriented programming, testing, and more
- Build web applications with Spring MVC that access data with JDBC, JPA, Hibernate, etc.
- Learn about the Spring Expression Language and the framework's dynamic language support
- Consult quick reference guides to XML schemas and annotations used throughout the Spring Framework