How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
This volume is a handbook for enterprise system developers, guiding them through the intricacies and lessons learned in enterprise application development. It provides proven solutions to the everyday problems facing information systems developers.
“For software developers of all experience levels looking to improve their results, and design and implement domain-driven enterprise applications consistently with the best current state of professional practice, Implementing Domain-Driven Design will impart a treasure trove of knowledge hard won within the DDD and enterprise application architecture communities over the last couple decades.” –Randy Stafford, Architect At-Large, Oracle Coherence Product Development “This book is a must-read for anybody looking to put DDD into practice.” –Udi Dahan, Founder of NServiceBus Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools. Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations. Building on Eric Evans' seminal book, Domain-Driven Design, the author presents practical DDD techniques through examples from familiar domains. Each principle is backed up by realistic Java examples–all applicable to C# developers–and all content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS system for a multitenant environment. The author takes you far beyond “DDD-lite” approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD's “strategic design patterns” using Bounded Context, Context Maps, and the Ubiquitous Language. Using these techniques and examples, you can reduce time to market and improve quality, as you build software that is more flexible, more scalable, and more tightly aligned to business goals. Coverage includes Getting started the right way with DDD, so you can rapidly gain value from it Using DDD within diverse architectures, including Hexagonal, SOA, REST, CQRS, Event-Driven, and Fabric/Grid-Based Appropriately designing and applying Entities–and learning when to use Value Objects instead Mastering DDD's powerful new Domain Events technique Designing Repositories for ORM, NoSQL, and other databases
Jim Webber, Savas Parastatidis, Ian Robinson
REST continues to gain momentum as the best method for building web services, leaving many web architects to consider whether and how to include this approach in their SOA and SOAP-dominated world. This book offers a down-to-earth explanation of REST, with techniques and examples that show you how to design and implement integration solutions using the REST architectural style. Explore several web communications approaches, and discover what makes REST different Walk through the pros and cons of the RESTful approach Learn how the underlying architecture of the Web can drastically simplify programming built on top of it View REST in the context of cloud computing and the Semantic Web Understand how hypermedia serves as a model for computers to process data
David M. Geary, Cay S. Horstmann
The #1 guide to rapid user interface development with Java Server Faces (JSF) - now fully updated for the powerful new JSF 2.0 * *By two of the world's most respected Java experts: David Geary and Cay Horstmann. *Shows web developers how to automate low-level details, eliminate unnecessary complexity in server-side development, and write superior JSF 2.0 production code. *Systematically covers JSF 2.0's powerful Ajax support, open source innovations, and new feature set. JavaServer Faces (JSF) is the most powerful solution for rapid user interface development in Java-based server-side applications. Now, the world's bestselling guide to JSF, Core JavaServer Faces, has been thoroughly updated to reflect the powerful new JSF 2.0 release. In this new third edition, authors David Geary and Cay Horstmann delve into all facets of JSF 2.0 development, offering today's best practices for building robust applications, minimizing handcoding, and maximizing productivity. Drawing on unsurpassed insider knowledge of the Java platform, they present solutions, hints, tips, and 'how-tos' for writing superior JSF 2.0 production code, even if you're new to JSF, JavaServer Pages', or servlets. Geary and Horstmann systematically cover JSF's powerful Ajax development capabilities, the new open source innovations that make JSF 2.0 even more valuable, and all these new features: View Scope; Component Implicit EL Object; FacesContext; Attribute Map; New Event System; Resources; Resource Relocation; and Project Stage (Production, Development, UnitTest, SystemTest, Extension.) Web developers will discover how to: * *Automate low-level details and eliminate unnecessary complexity in serverside development. *Implement best practices in areas ranging from UI design and style sheets to internationalization. *More effectively leverage external services, including databases, LDAP directories, security, and Web services
Mike Keith, Merrick Schincariol
Pro JPA 2 introduces, explains, and demonstrates how to use the Java Persistence API (JPA). JPA provides Java developers with both the knowledge and insight needed to write Java applications that access relational databases through JPA. Authors Mike Keith and Merrick Schincariol take a hands–on approach to teaching by giving examples to illustrate each concept of the API and showing how it is used in practice. All of the examples use a common model from an overriding sample application, giving readers a context from which to start and helping them to understand the examples within an already familiar domain. After completing the book, you will have a full understanding and be able to successfully code applications using JPA. The book also serves as a reference guide during initial and later JPA application experiences. Hands-on examples for all the aspects of the JPA specification, based on the reference implementation of this specification A special section on migration to JPA Expert insight about various aspects of the API and when they are useful Portability hints to provide increased awareness of the potential for non–portable JPA code What you’ll learn Get started with enterprise applications using JPA 2 Get up to speed with object–relational mapping and Entity Manager Learn and use queries and the query language (JP QL) Employ advanced object–relational mapping techniques Use XML mapping files and learn other advanced techniques Package and deploy your Java persistence applications Test your Java persistence applications Migrate your Java persistence applications Who this book is for The book generally targets enterprise and persistence developers who fall in one of three categories: Those who are new to persistence; we will present some background information and introduce these readers to the basic persistence concepts to bring them up to speed. Those who know and/or use existing ORM persistence products such as Hibernate or TopLink. Those who have already used JPA and want to learn about newer features introduced by JPA 2, or have a good reference book to consult when they develop JPA applications. In general, we assume that the reader is knowledgeable with Java, SQL, and JDBC, and has a little knowledge of J2EE. Table of Contents Introduction Getting Started Enterprise Applications Object-Relational Mapping Collection Mapping Entity Manager Using Queries Query Language Criteria API Advanced Object-Relational Mapping Advanced Topics XML Mapping Files Packaging and Deployment Testing Migration
"Two thumbs up" —Gregory V. Wilson, Dr. Dobbs Journal (October 2004) No one can disparage the ability to write good code. At its highest levels, it is an art. But no one can confuse writing good code with developing good software. The difference—in terms of challenges, skills, and compensation—is immense. Coder to Developer helps you excel at the many non-coding tasks entailed, from start to finish, in just about any successful development project. What's more, it equips you with the mindset and self-assurance required to pull it all together, so that you see every piece of your work as part of a coherent process. Inside, you'll find plenty of technical guidance on such topics as: Choosing and using a source code control system Code generation tools--when and why Preventing bugs with unit testing Tracking, fixing, and learning from bugs Application activity logging Streamlining and systematizing the build process Traditional installations and alternative approaches To pull all of this together, the author has provided the source code for Download Tracker, a tool for organizing your collection of downloaded code, that's used for examples throughout this book. The code is provided in various states of completion, reflecting every stage of development, so that you can dig deep into the actual process of building software. But you'll also develop "softer" skills, in areas such as team management, open source collaboration, user and developer documentation, and intellectual property protection. If you want to become someone who can deliver not just good code but also a good product, this book is the place to start. If you must build successful software projects, it's essential reading.
Java Enterprise Edition (Java EE) continues to be one of the leading Java technologies and platforms from Oracle (previously Sun). Beginning Java EE 6 Platform with GlassFish 3, Second Edition is this first tutorial book on the final version of the Java EE 6 Platform. Step by step and easy to follow, this book describes many of the Java EE 6 specifications and reference implementations, and shows them in action using practical examples. This book uses the new version of GlassFish 3 to deploy and administer the code examples. Written by an expert member of the Java EE 6 specification request and review board in the Java Community Process (JCP), this book contains the best information possible, from an expert’s perspective on enterprise Java technologies. What you’ll learn Get started with the final version of the Java EE 6 Platform. Explore and use the EJB 3.1 and JPA 2.0 APIs from entities to session beans to message driven beans, and more. Discover web tier development APIs including JSPs, JSTL, and Expression Language, and especially the new JSF 2.0 and Facelets. Uncover the web services, RESTful services, and more available in Java EE 6. Create dynamic user interfaces for your enterprise and transactional Java applications. Who this book is for This book is for advanced Java programmers as well as Java EE 6 beginners. Architects will also find information about how to layer their Java EE applications. Table of Contents Java EE 6 at a Glance Java Persistence Object-Relational Mapping Managing Persistent Objects Callbacks and Listeners Enterprise Java Beans Session Beans and the Timer Service Callbacks and Interceptors Transactions and Security JavaServer Faces Pages and Components Processing and Navigation Sending Messages SOAP Web Services RESTful Web Services
Mike Keith, Merrick Schincariol
Pro JPA 2, Second Edition introduces, explains, and demonstrates how to use the new Java Persistence API (JPA) 2.1 from the perspective of one of the specification creators. A one-of-a-kind resource, it provides both theoretical and extremely practical coverage of JPA usage for both beginning and advanced developers. Authors Mike Keith and Merrick Schincariol take a hands–on approach, based on their wealth of experience and expertise, by giving examples to illustrate each concept of the API and showing how it is used in practice. The examples use a common model from an overriding sample application, giving readers a context from which to start and helping them to understand the examples within an already familiar domain. After completing the book, you will have a full understanding of JPA and be able to successfully code applications using its annotations and APIs. The book also serves as an excellent reference guide during initial and later JPA application experiences. Hands-on examples for all aspects of the JPA specification Expert insight about various aspects of the API and when they are useful Portability hints to provide increased awareness of the potential for non–portable JPA code What you’ll learn How to get started with enterprise applications using JPA 2.1 Simple and advanced object–relational mapping techiques How to use the complete Entity Manager API How to create queries using the query language (JP QL) and the Criteria API Locking, concurrency, and other advanced concepts How to use XML mapping files and descriptors How to package and deploy your Java Persistence applications How to test your Java Persistence applications Who this book is for The book generally targets enterprise and persistence developers who fall in one of three categories: Those who are new to persistence; we will offer an introduction to persistence and to the basic concepts so these readers can have solid base from which to become proficient at JPA. Those who know and/or use existing ORM persistence products such as Hibernate or TopLink/EclipseLink. Those who have already used JPA and want to learn about newer features introduced by JPA 2.1, or have a good reference book to consult when they develop JPA applications. In general, we assume that the reader is knowledgeable with Java, SQL, and JDBC, and has a little knowledge of Java EE. Table of Contents Introduction Getting Started Enterprise Applications Object Relational Mapping Collection Mapping Entity Manager Using Queries Java Persistence Query Language Criteria Advanced Object Relational Mapping Advanced Queries Advanced Topics XML Mapping Files Packaging and Deployment Testing
We are building systems today--and using computers to control them--that have the potential for large-scale destruction of life and environment. More than ever, software engineers and system developers, as well as their managers, must understand the issues and develop the skills needed to anticipate and prevent accidents before they occur. Professionals should not require a catastrophe to happen before taking action. Addressing this need in her long-awaited book, Nancy Levenson examines what is currently known about building safe electromagnetic systems and looks at past accidents to see what practical lessons can be applied to new computer-controlled systems.Software Demonstrates the importance of integrating software safety efforts with system safety engineering Describes models of accidents and human error that underlie particular approaches to safety problems Presents the elements of a software program, including management, hazard analysis, requirements analysis, design for safety, design of the human-machine interface, and verification 0201119722B04062001
Gary Mak, Josh Long
The Spring framework is a widely adopted enterprise and general Java framework. The release of Spring Framework 3.0 has added many improvements and new features for Spring development. Written by Gary Mak, author of the bestseller Spring Recipes, and Josh Long, an expert Spring user and developer, Spring Enterprise Recipes is one of the first books on Spring 3.0. This key book focuses on Spring Framework 3.0, the latest version available, and a framework-related suite of tools, extensions, plug-ins, modules, and more—all of which you may want and need for building three-tier Java EE applications. Build Spring enterprise and Java EE applications from the ground up using recipes from this book as templates to get you started, fast. Employ Spring Integration, Spring Batch and jBPM with Spring to bring your application’s architecture to the next level. Use Spring’s remoting, and messaging support to distribute your application, or bring your application to the cloud with GridGain and Terracotta. What you’ll learn Integrate legacy systems with Spring, bridging the gaps with Spring’s JMS support and Spring Integration. Use Spring Batch to insulate yourself from the tedious, hard-to-test code required to efficiently handle offline or batch processing scenarios. Build highly concurrent, grid-ready applications using Gridgain and Terracotta Build modular services using OSGi with Spring DM and Spring Dynamic Modules and SpringSource dm Server. Take the lightweight philosophy of the Spring framework to its logical extension. The Spring framework brings you all of the power of JEE, à la carte! Integrate Spring with Java EE 5 and 6 APIs and services. How to leverage job scheduling, and e-mail services using Spring's abstractions. Who this book is for A new breed of applications is in demand today. Either these applications are simply not supported by JEE, or the support is tedious, and not reflective of modern-day architectures. This book is for those with a working knowledge of Java and Spring who would like to take their skills, and their applications, to the next level. Table of Contents Introduction to Spring What’s New in Spring 3.0? Data Access Transaction Management in Spring EJB, Spring Remoting, and Web Services Spring in the Enterprise Messaging Spring Integration Spring Batch Distributed Spring jBPM and Spring OSGi and Spring
This book is aimed at Java developers, system administrators, application testers using WildFly, and anyone who performs a DevOps role. Whether you are completely new to WildFly or just require an understanding of WildFly's new features, this book is for you.
Emmanuel Bernard, John Griffin
"Hibernate Search in Action introduces the subject of full-text search and helps readers master the Hibernate Search library. You'll start with the basics, like indexing your domain model and querying. Then, you'll learn to add human-friendly features like phonetic approximation, relevance ranking, and search by synonym. You'll also learn how to scale Lucene in a clustered environment and access Lucene natively to extend Hibernate Search. The book does not assume any previous knowledge of Hibernate Search." --Résumé de l'éditeur.
Cameron Wallace McKenzie, Kerri Sheehan
McKenzie brings to light the idea that a technology that is fun and easy to use should also be fun and easy to learn. Building upon simple, straightforward examples, this book explores the key concepts needed to leverage the Hibernate framework. (Computer Books)