Skip to content

Commit

Permalink
[1] Created Project in Atlas, imported Proposal and Working Outline
Browse files Browse the repository at this point in the history
  • Loading branch information
ALRubinger committed Aug 2, 2012
1 parent ed3bd48 commit 27eff4b
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 0 deletions.
39 changes: 39 additions & 0 deletions Book-Proposal.asciidoc
@@ -0,0 +1,39 @@
== PROPOSAL for O’Reilly Media:
Continuous Enterprise Development in Java

=== Authors:
Andrew Lee Rubinger | +alr@alrubinger.com+ +
Dan Allen | +dan.j.allen@gmail.com+ +
Aslak Knutsen | +aslak@4fs.no+ +

=== Editors:
Meghan Blanchette +
Michael Loukides

=== Preamble:

As builders of test-oriented frameworks, we’re well aware of the link between "testing" and "development". But the bond is too weak. We believe that testing is the very foundation of development--essential for learning and critical for asserting that code is consumable, complete, and correct. Yet, testing is still widely viewed as an optional part of development. We want to collapse the gap that stands between them.

Over the past 2 years we've come to recognize that the testing platform we’ve developed with the JBoss community is "The Missing Link in Enterprise Java". It’s a means for users to validate components as they're being constructed by invoking them in a real environment. Where the Java EE Specifications intentionally leave out concerns involving container interaction, our solution provides convenient abstractions in a vendor-agnostic manner.

We aim not to be focused on any one set of APIs, nor explain too fully Java EE from a conceptual level; instead, we'll present a use-case-focused approach to the proper and effective development of Enterprise Java, with tests acting as the proving grounds. The reader will learn how to perform continuous development, which means that whether they are learning a new technology, debugging broken behavior or laying down new code, all the knowledge remains in the system in form of test cases.

=== Motivation:

Most documentation resources in the EE space concern themselves with the mechanics of the subsystems; this leaves unanswered the question of how to tackle common problems encountered during development, for instance:

* How to bootstrap new projects.
* How to try out new technologies you want to incorporate.
* How to prove a feature works without (or before) having a UI.
* How to incorporate dummy data into testing.
* How to validate user interfaces.
* How to ensure transactional boundaries are correct.
* In short: how to build end-to-end applications in a testable fashion.

=== Why Us?:

Bolstered by our recent experience gained by presenting these solutions and soliciting feedback from audiences the world over, we believe we're well-positioned to explain Java EE development from creation all the way through full-system runtime testing. But more importantly, this subject has long been a work of passion that's driven the projects we create. Andrew has enjoyed his experience with O’Reilly and Mike Loukides on the 6th Editiion of the Enterprise JavaBeans book, Dan has published the popular “Seam in Action” with Manning, and Aslak has been successfully heading the technical direction of the Arquillian project since its inception.

=== Market:

The target demographic will primarily be Java EE audiences, though the text will also be applicable to extensions beyond this realm.
45 changes: 45 additions & 0 deletions Working-Outline.asciidoc
@@ -0,0 +1,45 @@
== Working Outline

. Testing is Development
.. Benefits and Criticisms
.. Types of Tests
... Unit
... Integration
... Functional
... System
.. Foundation Test Frameworks
... JUnit
... TestNG
.. Continuous Progress
... Integration
.... Automation
.... Phased Testing
... Deployment
. The Arquillian Testing Platform
.. Testing Framework
... API Overview
... Container Abstraction
.. The Extension Suite (?)
.. The Arquillian Philosophy
... Java EE and Beyond
. Zero to Java EE: Creating a Tested Application
.. Bootstrap
... JBoss Forge
... Create OpenShift Account
... Add some simple business logic and make ARQ tests
... Set up CI
... Probably OpenShift Jenkins
... Deploy
... OpenShift
. N Chapters, One per Use Case
.. UI
.. Security
.. Transactions
.. Data
.. Behaviour-Driven Development
.. Integration with Spring and EE
.. .etc...
. Implementing an Arquillian Container
. Extending Arquillian
.. Philosophy of Extensions
.. Example Extension

0 comments on commit 27eff4b

Please sign in to comment.