Agile Project Management: Lessons Learned at Google
In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.
Tracking change and innovation in the enterprise software development community
Posted by Arnon Rotem-Gal-Oz on Jun 26, 2007 03:00 AM
A group of several vendors including IBM, Adobe, SAP, Oracle ,BEA systems and Active Endpoints published today a final draft for a new suggested WS-* spec that goes by the interesting name "WS-BPEL4People". Compared to WS-BPEL which deals with automated business processes, the WS-BPEL4People spec, which has been under works for nearly two years now, aims to add human workflow capabilities to SOA in general and to the recently approved WS-BPEL 2.0 spec specifically.Web Services Business Process Execution Language, version 2.0 (WS-BPEL 2.0 orThe second spec introduced is WS-Human Task which defines interfaces to allow introducing people tasks as services in an SOA independently of WS-BPEL. The idea is that non-human services will have a consistent and standard way to interact with humans. The spec defines the goals as follows:
BPEL for brevity) introduces a model for business processes based on Web services.
A BPEL process orchestrates interactions among different Web services. The
language encompasses features needed to describe complex control flows, including
error handling and compensation behavior. In practice, however many business
process scenarios require human interactions. A process definition should incorporate
people as another type of participants, because humans may also take part in
business processes and can influence the process execution.
This specification introduces a BPEL extension to address human interactions in BPEL
as a first-class citizen. It defines a new type of basic activity which uses human tasks
as an implementation, and allows specifying tasks local to a process or use tasks
defined outside of the process definition. This extension is based on the WS-
HumanTask specification.
Human tasks, or briefly tasks enable the integration of human beings in service-The vendors plan is to submit both specs to Oasis and approve them as yet another WS-* standard.
oriented applications. This document provides a notation, state diagram and API for
human tasks, as well as a coordination protocol that allows interaction with human
tasks in a more service-oriented fashion and at the same time controls tasks’
autonomy. The document is called Web Services Human Task (abbreviated to WS-
HumanTask for the rest of this document).
Human tasks are services “implemented” by people. They allow the integration of
humans in service-oriented applications. A human task has two interfaces. One
interface exposes the service offered by the task, like a translation service or an
approval service. The second interface allows people to deal with tasks, for example
to query for human tasks waiting for them, and to work on these tasks.
A human task has people assigned to it. These assignments define who should be
allowed to play a certain role on that task. Human tasks may also specify how task
metadata should be rendered on different devices or applications making them
portable and interoperable with different types of software. Human tasks can be
defined to react on timeouts, triggering an apropriate escalation action.
This also holds true for notifications. Notifications are a special type of human task
that allows the sending of information about noteworthy business events to people.
Notifications are always oneway, i.e., they are delivered in a fire-and-forget manner:
The sender pushes out notifications to people without waiting for these people to
acknowledge their receipt.
...they can fix some of the issues (such as people resolution) and come up with a name.that doesn't sound like a punchline. :)On the other hand SAP's Alan Rickayzen is excited about the new standards . On his blog you can see a diagram of the components of the two standards as well as a pod-cast explaining them briefly.
SOA Development Survival Guide
Introducing application infrastructure virtualization and WebSphere Virtual Enterprise
IBM software architect eKit: Grady Booch podcast, whitepapers, articles
RESTful todo list sample tutorial with Groovy & Project Zero
Ensuring SOA success with effective, automated control throughout the lifecycle
funny name, great idea. Commoditising human workflow is a good next step for the standards bodies at it enables best practice to be shared independently of the vendors and helps to move the debate on to solving the next set of problems by commoditising some of the current integration and data porting challenges.
In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.
In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.
It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.
In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.
In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.
Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.
Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.
In this talk from QCon SF 2007, Justin Gehtland explains two open solutions to distributed identity and their Rails integration components: OpenID (using ruby-openid) and CAS (using rubycas-client).
1 comment
Reply