Showing posts with label Java. Show all posts
Showing posts with label Java. Show all posts

Sunday, March 13, 2011

Developing Java Beans



Developing Java Beans
Robert Englander | 1997-06-01 00:00:00 | O'Reilly Media | 316 | Java
Java Beans is the most important development in Java this year. It gives Java developers the ability to work with sophisticated graphical development tools and to integrate Java software into projects using other component technologies, such as Microsoft's ActiveX. Developing Java Beans gives you a firm grounding in every aspect of the Java Beans component architecture. You'll learn how to create components that can be manipulated by tools like Borland's JBuilder or IBM's VisualAge for Java, enabling others to build entire applications by using and reusing these building blocks. Beyond the basics, Developing Java Beans teaches you how to create Beans that can be saved and restored properly; how to take advantage of introspection to provide more information about a Bean's capabilities; how to provide property editors and customizers that manipulate a Bean in sophisticated ways; and how to integrate Java Beans into ActiveX projects. If you're a Java developer, you'll want to take advantage of Java's component architecture. Developing Java Beans gives you a comprehensive introduction to this exciting new technology. The book covers:
  • Events, event listeners, and adapters
  • Properties, indexed properties, bound properties, and vetoable property changes
  • Persistence, serialization, versioning, and object validation
  • Packaging Beans using JAR files
  • The BeanBox, a prototypical development tool
  • Reflection and introspection
  • Property editors and customizers
  • The ActiveX bridge; using Java Beans in Visual Basic programs

Reviews
A nice little text with useful snippets of code, and advice on

applying them. However, the order of presentation can be a little

confusing. Also, some of the topics were a little beyond what I

needed it for, though that is not a bad thing.



What I found annoying at times was that it did not always address a

question I may have had about how to apply a particular class.

Having "Learning Java: 2nd Edition" helped somewhat to alleviate

this as it had more in the way of explanations than this book.



For the absolute beginner I would probably recommend another book.

However, if the reader has background knowledge in Java, or other

programming languages then this book will probably prove to be

useful.
Reviews
I've been programming for 10 years, and I have 2 bookcases full of ORA and ADW books. I have to say that this is among the most confusing programming books I've seen.

I'm in the same position as the guy below who's confused after 3 chapters. The first couple of chapters of this book seem to be a tutorial about event handling, and applet creation. Applets? I have no idea where the author is going with this stuff. It's not that I don't understand the concept of event handling, it's just that this guy does not explain what the heck handlers and listeners have to do with beans. I'm sure they do, somehow...

Perhaps if the author provided an an explanation up front about where he's going with the code, I'd stick with the program. Even better, how about an overview of why beans are so great and useful, with some trivial examples. Then progress to the 'real world' stuff.

I'm dissapointed with this book because I need to learn about Beans... fast. 3 chapters of working bean code and good examples would have been enough for my instincts to kick in and take me the rest of the way. I don't have the time to search for answers, I thought that a $30.00 investment in an ORA book would have saved me hours of searching. Well, not this time.

If you can get the applets from chapters 1 and/or 2 working, please post how in this forum. You'd be doing a lot of folks a favor. Good luck figuring out if you should be compiling *.java.1 or *.java.2 examples.

That's enough about this one... Now I have to find a GOOD beans book.
Reviews
This is not a good tutorial about Java Beans. In order to explain the Java Bean concept you have to start with the Java Beans specifications of Sun. This would answer question about which things are relevant and why they are relevant in JavaBeans development. Now the the reader almost jumps into a long winded explanation about events and adapters, wondering why this is relevant and what the writer wants to explain. To make matters worse: the example contains errors! Basically, after the first three chapters I was utterly confused.

This book also needs a clearer description about the use of Java Beans. In a next update we definitely need a chapter about how JavaBeans are used in Java Server Pages.
Reviews
This book is titled "Developing Java Beans". It spends lots of time to talk about the detailed architecture of Event model and other important topics used in Beans. It is well written and easy to follow. However, may not be the good book for those poeple in a rush just want to how to write a Java Beans.
Reviews
Actually I bought this book about two years ago, and at that time Java Beans were gaining popularity as an instance of component model for distributed computing. I was at that time interested in Enterprise Java Beans rather than client side beans. So I did not really use the book that much. However, from the limited reading I did, it seemed like a very well written book for the uninitiated, gave a good view of the Beans, how to create the client side beans etc. However, since then I have moved my field of interest from Java to some thing else, and in the mean time EJB have taken an increasingly important role in the server side component model. So I hope this book is updated or the same authors write a separate book on EJB (more meaningful to do the latter).

Download this book!

Free Ebooks Download

Tuesday, February 22, 2011

Java and JMX: Building Manageable Systems



Java and JMX: Building Manageable Systems
| 1969-12-31 00:00:00 | | 0 | Java


Comprehensive coverage-from APIs, programming techniques, and pitfalls, to the integration of JMX applications into J2EE and Web services. The definitive JMX reference. Softcover.

User review
Excellent Resource
This book is divided into three parts. The first section is a history of managing computer applications and an explanation of why JMX is needed for Java applications. The second part goes into detail about JMX and the third section is about JMX applications.

The first section is an informative history of managing computer applications from mainframes to present day applications. I the reader can skip this section, if he or she just wants to understand JMX.

The second section explains Means and the tools behind JMX-based management. MBeans represent a resource that a management system will monitor and control. The MBean is the resource according to the management server. The book goes into great detail in creating and using MBeans, including the MBean notification events. In this part, as throughout the book, the explanations are clear and comprehensive. The examples fully show the user how it works and are explained completely by the authors.

This book has a serious and comprehensive style. The authors assume that the reader has a fairly extensive knowledge of Java. This book is an excellent introduction to JMX and is comprehensive in its coverage of all topics related to JMX. I would recommend this book for anyone interested in learning about JMX.

User review
Not just a cookbook
Unlike `JMX in Action` from Manning, this book goes beyond the How To of JMX.
It introduces the reader to the fundamental problems of systems management, before jumping into concrete implementations.
It explains the history of the industry from the days when hundreds of people shared one mainframe and sys-admin was the same as god, to the present days when everyone has access to hundreds of computers.
It also gives an overview of the numerous system management standards and explains why some of them were successful while others were not.
Before I got to the JMX chapters I understood how the veterans in the industry with decades of experience distilled the scope of systems management to a few basic concepts that define it.
It helped me make a better choice when thinking about which parts of an application should be manageable.
Very strong book.
Just be aware that it is not a very fun reading. The book uses a tight, dry and fast style. You better be serious about it before turning the front page.

User review
Easy to understand
Remember when java burst onto the scene on 1996, and you could write cool applets that showed animations on a web page? Well things have progressed vastly since then, and especially after the dotcom crash, being essential is far more important than being cool. The emphasis with java has shifted from towards backend, web server-type applications, when you have to interact with legacy databases and management tools. The problem with the latter is that if you are writing a java application that is to be controlled by some management level software, this latter item could be furnished by several companies. It is expensive to customise your code for each management package; but not to do so may severely restrict your sales.

JMX, Java Management Extensions, arose to solve this puzzle. It is still fairly new, and not many java programmers may be familiar with it. If so, this new book [2003 vintage] will help educate you. The authors point out a simple analogy that may clarify. Shortly after java was introduced, there was a need to let java programs access data in databases made by various
vendors. The solution was an industry standard API, called JDBC. Each database vendor wrote an implementation of this API, which was hence called a JDBC driver. This let java programmers program to that interface and ignore any lower level details.

So if you can understand that, you can understand JMX. The difference is that here your java application will be controlled by some management software, whereas with JDBC, your java program would have been the controlling entity.

The bulk of the book goes into the details of the JMX API. [Ok, it may not be literally an application programmable interface, but conceptually you can think of it that way.] The exposition is straightforward and logical.

A nice resource for the aspiring JMX developer.


Download this book!

Free Ebooks Download

Thursday, February 17, 2011

Java: Practical Guide for Programmers



Java: Practical Guide for Programmers
| 2002-12-23 00:00:00 | | 150 | Java


If you're an experienced programmer, you already have a rock-solid foundation for learning Java. All you need is a resource that takes your experience into account and explains Java's key principles and techniques in an intelligent, efficient way.

Java: Practical Guide for Programmers is precisely that resource. Here, you won't have to wade through hundreds of pages of overly simplistic material to learn the basics of Java programming. Instead, you get highly focused instruction in the core elements of Java 1.4, accompanied by carefully chosen examples and line-by-line analyses that are right to the point. You'll be astonished at how soon you can begin productive coding in Java, and how quickly your skills will progress.

Web resources:
Source code from the book is no longer available at
http://www.zm.sikora.btinternet.co.uk/source.html
Please press the 'Companion Page' button on the upper right side of this page to access a zip file containing it.


Sun J2SE download page
http://java.sun.com/j2se/downloads.html

Sun J2SE API documentation
http://java.sun.com/j2se/1.4.1/docs/index.html

* Written expressly for people who already know a procedural or object-oriented programming language.
* Takes a concise approach designed to make the most of the experience you already have.
* Covers the core elements of Java 1.4, including language syntax, OO features, collections, exception handling, input/output, threads, event handling, and Swing components.
* Filled with incisive coding examples and line-by-line analyses.
* Via a companion Web site, provides downloadable example code and links to additional resources.

User review
A CONCISE Java Grammar!
I love this little one. From time to time, between working through and losing myself in half dozen or more heavy tomes of Java book, I would come back to this little one to get a grip of fundamentals and essentials. The book is concise and no nonsense. I also like the banking application sample code. Practical enough. Who doesn't bank?

User review
Good for experienced coders
As the book's title shows, it's just a guide, a simple guide that you can not expect too much details out from it. Before learning Java, I am a Delphi coder. So, I was looking for some book to transfer me from Delphi to Java quickly. Within merely 170-odd pages, Sikora brings you an overview of the Java language. I think this guide just right fits my taste. Another thing to be mentioned, if you are a serious coder, a detailed reference is necessary. As what I am doing now, Java 2, The Complete Reference is by far the most suitable book for me, after I have an bird's eye view from Sikora's guide.

User review
quickly learn Java?
Indeed, Sikora offers a quick start to learning Java. He eshews an exhaustive enumeration of every core class in J2SE. Instead, he takes several high level topics and explains which common classes deal with these. A question arises. Can you indeed learn Java from so slender a book? Perhaps. Sikora teaches a core functionality. Made easier if you have already programmed in some other language.


For graphics, he leads you right into Swing. No time wasted on the earlier and inferior AWT classes.


For input/output, Java is more powerful than C or C++, but concomitantly harder to use. The coding is far more verbose, compared to a simple printf() or scanf() in C, for example. The minimal descriptions in Java given here are admirable in how he found the essence of enough to be useful.

User review
Java for self-starters
If I could only recommend one book to an experienced programmer who wanted to learn Java it would be this one. It's only 170 pages long and it doesn't contain anything that's unnecessary. But it does cover syntax, flow control, classes and methods, inheritance, exception handling, file I/O, GUI's, collections and threads. That's genuinely Java in a nutshell.

The author can offer such a stripped-down book, of course, because he assumes that the reader already understands programmatic flow control and objects, and can follow a basic inheritance hierarchy without tedious explanation.

Java isn't a difficult language: it can merely be made to seem so by textbooks that bury simple facts under mountains of verbiage. I hope other authors will take Zbigniew Sikora's `Java: Practical Guide for Programmers` as a model for textbooks for busy people.


Download this book!

Free Ebooks Download

Sunday, February 13, 2011

The Java EE 6 Tutorial: Basic Concepts



The Java EE 6 Tutorial: Basic Concepts
Eric Jendrock, Ian Evans, Devika Gollapudi | 2010-01-01 00:00:00 | Prentice Hall | 600 | Java
The Java EE 6 Tutorial: Basic Concepts, Fourth Edition, is a task-oriented, example-driven guide to developing enterprise applications for the Java Platform, Enterprise Edition 6 (Java EE 6). Written by members of the Java EE 6 documentation team at Oracle, this book provides new and intermediate Java programmers with a deep understanding of the platform.

Starting with expert guidance on web tier technologies, including JavaServer Faces and Facelets, this book also covers building web services using JAX-WS and JAX-RS, developing business logic with Enterprise JavaBeans components, accessing databases using the Java Persistence API, securing web and enterprise applications, and using Contexts and Dependency Injection for the Java EE platform.

This edition contains extensive new material throughout, including detailed introductions to the latest APIs and platform features, and instructions for using the latest versions of GlassFish Server Open Source Edition and NetBeans IDE. Key platform features covered include

Convention over configuration, so developers need specify only those aspects of an application that vary from the convention
Annotated POJOs (Plain Old Java Objects) with optional XML configuration
Simplified but more flexible packaging
Lightweight Web Profile that is ideal for developing web applications

The Java Series…from the Source
Since 1996, when Addison-Wesley published the first edition of The Java Programming Language by Ken Arnold and James Gosling, this series has been the place to go for complete, expert, and definitive information on Java technology. The books in this series provide the detailed information developers need to build effective, robust, and portable applications and are an indispensable resource for anyone using the Java platform.
Download this book!

Free Ebooks Download

Tuesday, February 8, 2011

Agile Java Development with Spring, Hibernate and Eclipse (Developer's Library)



Agile Java Development with Spring, Hibernate and Eclipse (Developer's Library)
| 2006-05-09 00:00:00 | | 0 | Java


Agile Java? Development With Spring, Hibernate and Eclipse is a book about robust technologies and effective methods which help bring simplicity back into the world of enterprise Java development. The three key technologies covered in this book, the Spring Framework, Hibernate and Eclipse, help reduce the complexity of enterprise Java development significantly. Furthermore, these technologies enable plain old Java objects (POJOs) to be deployed in light-weight containers versus heavy-handed remote objects that require heavy EJB containers. This book also extensively covers technologies such as Ant, JUnit, JSP tag libraries and touches upon other areas such as such logging, GUI based debugging, monitoring using JMX, job scheduling, emailing, and more. Also, Extreme Programming (XP), Agile Model Driven Development (AMDD) and refactoring are methods that can expedite the software development projects by reducing the amount of up front requirements and design; hence these methods are embedded throughout the book but with just enough details and examples to not sidetrack the focus of this book. In addition, this book contains well separated, subjective material (opinion sidebars), comic illustrations, tips and tricks, all of which provide real-world and practical perspectives on relevant topics. Last but not least, this book demonstrates the complete lifecycle by building and following a sample application, chapter-by-chapter, starting from conceptualization to production using the technology and processes covered in this book. In summary, by using the technologies and methods covered in this book, the reader will be able to effectively develop enterprise-class Java applications, in an agile manner!

 

 

User review
Steps for getting sample code to work
I entered a rating of 4 because I just got the book and have just started reading the first chapter. However, I had no problem getting the sample code to run right off the bat. Since there were complaints about that, I thought I'd revisit the steps here.


First note that you can download the code without registering by going to the author's web site [,,.]


You'll have to install Tomcat and Ant before you can run the sample code. After these are installed, unzip the downloaded author's code. Go to the timex subdirectory. Edit local.properties, changing the first line to your deployment directory [,,.]. On a command line in the same directory, execute `ant deploy`. You now have to start the database server. To do this, execute: ant -f timexhsqldb.xml hsqldm


Finally you have to start the web application server if you haven't already done so. You'll need to open another command line window because the window in which the database server is running is occuppied until you decide to shut this server down. Given where I installed Tomcat, for me this was as simple as executing: /usr/local/tomcat/bin/startup.sh. But no matter where you installed it, just go to Tomcat's bin directory and execute either startup.sh (for UNIX) or startup.bat (for Windows). When you are done running the author's web application, entering CTRL-C from the command line where the database server is running will stop it. To stop Tomcat, go to its bin directory and execute the shutdown command.

User review
General Overview of Agile Java Development
I felt like the book basically defines terminology and gives a broad overview of the three technologies. I agree with the reviews that said he tried to do too much, in this book. One solution would have been to drop the Eclipse section, thus giving him more space to write about Hibernate and Spring. Besides everything about Eclipse is well documented, for free. I also agree with the reviews that did not like his writing style. I feel that when I am just begining to learn about something new, I don't want to read about all of the exceptions. Only after I know the basics, would the exceptions be helpfull. However, I did get enough general information to begin learning Hibernate and Spring, through other books. That in combination with the fact that the book was heavily discounted, enabled me to feel like I didn't do too bad. I am afraid if I would have paid full price I might have dropped the rating to one star. The cost benefit ratio would have been different.

User review
More a Manifesto for Agile Development than a tutorial,,.
This book tries to cover too many things. The book is more a Manifesto for Agile Development from an experienced programmer than a technical book.


Thus this small book misses all the details any technical person would like to see. The book is definitely not a comprehensive API guide to Spring or Hibernate, nor does it intend to be. The author repeatedly said : `more to come later` or `we'll see this in later chapter` etc. But that moment never arrived,,.


The books can be used to get an overall idea for a manager or a programmer who is totally a newbie to the concepts.


The more interesting part is on Agile Development where it seems to be a Manifesto but definitely not a tutorial.

User review
Do not purchase this book if you don't need a 250 page resume!
I can not believe how anybody who has read this book would honestly give it a 5 star. I read the whole book, waiting for that moment that I could say: Oh, that's what the author meant by repeatedly saying: `more to come later` or `we'll see this in later chapter` etc. That moment never arrived. This book looks like a hurried and lousy compilation of 5 day presentations on each subject that this books claims to cover, without proper editing and attention to detail.

I read the book riding the metro in Washington DC and I can honestly say that I would rather see DC tourists block the left side of the escalators in the metro stations on a busy rush hour day than read or refer to this book again



User review
Believe what he said!
Somewhere in the initial few pages, the author give his readers a few options before reading (or buying for that matter) this book. One of them was to trust his advice, agree that Spring+Hibernate+Eclipse are cool technologies and scrap the idea of this book.


I continued reading but now I recommend accepting his idea and save some bucks or buy something more useful, maybe separate books on Spring and Hibernate (btw, Spring in Action 2nd Edition is now available). All of these are surely good technologies but the book never goes into detail of any one of them (and it was not supposed to) and for installation/setup refers you to `latest installation instructions`.


Without the depth of details on any particular technology, and lack of instructions on making you up and running makes this book feasible only for a small window of people who want to try out and be `convinced` themselves personally before eventually buying separate books on each technology.


I did not comment on the content because content comes after the 'purpose' of the book. For me its a two-star book and does not even require a content review (read other reviews for content if you really want to buy this).


Download this book!

Free Ebooks Download

Friday, January 28, 2011

Great Ideas in Computer Science with Java



Great Ideas in Computer Science with Java
AW Biermann | 1900-01-01 00:00:00 | MIT Press | 563 | Java
Product Description
This volume presents the "great ideas" of computer science, condensing a large amount of complex material into a manageable, accessible form; it does so using the Java programming language. The book is based on the problem-oriented approach that has been so successful in traditional quantitative sciences. For example, the reader learns about database systems by coding one in Java, about system architecture by reading and writing programs in assembly language, about compilation by hand-compiling Java statements into assembly language, and about noncomputability by studying a proof of noncomputability and learning to classify problems as either computable or noncomputable. The book covers an unusually broad range of material at a surprisingly deep level. It also includes chapters on networking and security. Even the reader who pursues computer science no further will acquire an understanding of the conceptual structure of computing and information technology that every well-informed citizen should have.
About the Author
Alan W. Biermann is Professor of Computer Science and Dietolf Ramm is Associate Professor of the Practice of Computer Science at Duke University. Biermann is the author of the first two editions of Great Ideas in Computer Science (MIT Press, 1990, 1997). Ramm is Director of Undergraduate Studies at Duke.
Download this book!

Free Ebooks Download

Friday, January 14, 2011

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management



OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management
| 2007-08-31 00:00:00 | | 0 | Java


Get your workflow up and running with this step-by-step guide authored by an active developer of the OSWorkflow project with real-world examples

Basics of OSWorkflowIntegrating business rules with DroolsTask scheduling with Quartz

In Detail

OSWorkflow is an open-source workflow engine written entirely in Java with a flexible approach and a technical user-base target. It is released under the Apache License. You can create simple or complex workflows, depending on your needs. You can focus your work on the business logic and rules. No more Petri Net or finite state machine coding! You can integrate OSWorkflow into your application with a minimum of fuss. OSWorkflow provides all of the workflow constructs that you might encounter in real-life processes, such as steps, conditions, loops, splits, joins, roles, etc.

This book explains in detail all the various aspects of OSWorkflow, without assuming any prior knowledge of Business Process Management. Real-life examples are used to clarify concepts.

What you will learn from this book?

In this book we will:
Understand basics of BPM technology.See how to create workflows with the help of an examples workflow.Integrate Drools open source engine in our workflow engine.Integrate Quartz task scheduler along with the Workflow.

Approach

This book gives step-by-step instructions on how to do things. The basics are explained first and then examples help to clarify and reinforce the principles.

Who this book is written for?

The book is aimed at experienced Java developers and system architects who want to develop complex Java applications using the OSWorkflow workflow engine. OSWorkflow is a flexible low-level workflow implementation for developers and architects; it is not a quick `plug-and-play` solution for non-technical end users.



User review
A real hit!
I've been playing around with open source workflow engines for quite some time, Enhydra Shark, JBoss jBPM, etc. At each attempt I feel like I'm playing with a black box, guessing at it's internal behavior, not understanding the results. I hadn't really considered OSWorkflow because it didn't have the 'press' of the other packages. Then I bought this book and found out how much fun one can really have with a workflow engine. All of the components are pluggable, as this book points out, repeatedly. If you don't like the behavior of a component, change it -- and here's how. Need a different persistent store, change it, customize it. This is truly a programmer's workflow engine and this book will appeal to programmers.


This book also shows how, with examples, how to integrate JBoss Rules (aka DROOLS), Quartz scheduling, and Esper complex event processing.


The only downside which I found was not with the book, but with the OSWorkflow distribution, the Hibernate support is old, v2.8.0. At first I was disappointed but with the help of this book, I just wrote my own Hibernate 3.x support in a matter of a few hours and I now know the package much more intimately as result. I went on to customize and *optimize* this for my project.


OSWorkflow is a great workflow engine, let's hope this book give the kick-start which it needs to be even better.

User review
Great Book, Lots of Useful Info
`OSWorkflow`, by Adrian Naya Lazo, published by in August 2007, is for experienced Java developers and system architects wanting to develop complex Java applications that make use of the OSWorkflow engine. Since the OSWorkflow engine is not plug-and-play, but requires low-level configuration, it is not intended for non-technical end users. Despite that, the book doesn't assume prior knowledge of business process management.


The book is divided into eight chapters. Chapter 1, `BPM and Workflow Basics` introduces workflow engines, different types of business process management systems, traceability, and auditing. At the end of this chapter you will have a high level understanding of what Business Process Manaegement technology entails. In Chapter 2, `Introduction and Basics`, you enter the Hello World scenario. For this kind of chapter, there is a lot of information here. It might have been better to have a very short `Hello World` chapter, with just the simplest scenario, because this covers quite a lot. Still, the chapter is very good in laying the basis for the rest of the book. You are shown where to get the OSWorkflow engine on-line, how to navigate a sample user interface, you begin to understand the basics of OSWorkflow, and then look at some important XML definitions and an example workflow, steps, actions, results, splits, and joins. Interestingly, you are shown how to send an e-mail automatically, by configuring an XML file. Then you are shown an alternative approach, not via XML, but using a visual designer. (This part could have been the first `Hello World` chapter, with the earlier XML tags being in a follow up chapter.)


Chapter 3 tells you about adding code to definitions created in the previous chapter. Because chapter 2 covered so much, chapter 3 already touches on advanced topics, such as transient data, function providers, registers, conditions, and BeanShell scripting. Tips such as those relating to Auto and Finish Actions are also outlined here. `Using OSWorkflow in your Application` is the title of chapter 4. Here OSWorkflow APIs are discussed, allowing you to embed OSWorkflow within an application. In addition, persistence, unit testing, Spring integration, and security are discussed in some detail. Chapter 5 tells you about integrating business rules with JBoss Rules. You are shown how the Rules engine works, as well as its connection with the Drools open-source engine. Usefully, it defines its terms as it goes along, even `What is JBoss Rules?` The integration with OSWorkflow rules is well described and the examples given are relevant.


The next chapters dig deeper into the integration between OSWorkflow and other software. For example, in chapter 6 you are taught about `Scheduling with Quartz`. Quartz, a time scheduler, can integrate with OSWorkflow, so that you can sendin events and actions. The location and installation of Quartz is mentioned and briefly introduced, prior to an interesting chapter culminating in a customer support scenario, as well as a claims processing scenario. Both are pretty complex, well described, and really bring the concepts discussed into focus. Further advanced topics are discussed in chapter 7, in particular, Event Stream Processing and Complex Event Processing. The Esper CEP engine is tackled in detail throughout the chapter, and then coupled with the OSWorkflow engine. Examples are given, again, including an interesting one involving event-based mail alerts via patterns and listeners, also using the EQL (Esper Query Language), which is an interesting diversion in this chapter. Finally, chapter 8 outlines how to integrate with Dashboards provided by Pentaho. The Pentaho charting capabilities are discussed and then applied to the OSWorkflow instance database for creating a dashboard relevant to OSWorkflow monitoring and analysis.


In general, the book delivers what it promises. It provides a lot of explanations and diagrams and actual code snippets. It starts from the beginning, referring to on-line resources and continues from there, step by step, with a lot of real life scenarios. However, it would have been good to have seen how OSWorkflow compares with alternatives. Similarly, it is not clear why Quartz and Pentaho, for example, were chosen as endpoints for integration, rather than one of their competitors. The book is clear and well written with many examples. Despite the complexity of the subject and the broad range of topics covered, it was an enjoyable read.

User review
Complete coverage of real workflow solutions
In the past I made some works with OSWorkflow and indeed it was really a hard task to collect the documentation and examples on how to use it. Reading this book I found a lot of useful information about different forms of using OSWorkflow.

There are many intresting topics that you can left behind in an enterprise application that use a workflow, an example is event management, and in this book you can found how to make it with OSWorkflow and Esper, and other main topic in this kind of applications is Business Rules, and there is a good coverage of this using JBoss Rules

Integration with Spring, JUnit, Hibernate are other topics that are very important when you use OSWorkflow also are covered in the book.

User review
Review from the creator of OSWorkflow
I can't believe it's been over 8 years since I first went from `open source user` to `open source developer`, but it was all the way back in 1999 when I released OSWorkflow, which was based on my work at Cisco Systems developing a document management system, to the open source world. It was designed to be a simple, easy-to-use workflow system based on the principles of the `finite state machine`.


While it was considered lower level than other competing business process solutions, it actually got quite a bit of traction due to it's simplicity and the fact that instead of using big `businessy` terms that other offerings used to describe themselves, it never hid what it was: a core finite state machine engine designed to make it easy to manage the workflow of many entities (people, issues, documents, etc).


Since then, OSWorkflow has been a pretty good success: a GUI for creating workflows was built, the development team evolved beyond just me (in fact, I haven't been involved in the project directly for 5+ years), became the core of the super-popular JIRA issue tracker, and now it has it's own book.


As the original creator of OSWorkflow, I was given a copy of the book and read through it the other day. In addition to the tremendous pride at seeing the contents in print, I was actually surprised to learn many new things about OSWorkflow. The book covers topics such as complex branching, rules engine integration, Spring integration (Spring didn't exist back when I used OSWorkflow!), and even tie in to those complex business process solutions I never quite `got`.


Overall, the book is an excellent guide to OSWorkflow and building workflow systems in Java in general.


Download this book!

Free Ebooks Download