Desert Southwest Software Symposium
July 25 - 27, 2008 - Phoenix, AZ
Brian is an avid XML, web services, and ESB engineer/architect/explorer
Brian is a long-time Java architect and real-world engineer, who can credibly wax nostagic about the JDK 1.0 beta days. In the decade since that release, Brian has worked mostly in and around places where web services and the Java VM reign. Clients have included: LeapFrog, Inc., GE Medical Systems, The Motor Cycle Council of America, Cardinal Health (Pyxis Corp. division), the U.S. Dept. of Defense, and many others.
Lately Brian has restricted his professional life to the bounds that his family of four children will allow, venturing away from coding and architecture work only to publish white papers, serve as an independent expert on the JSR 225 (XQJ) Expert Group, and of course share his astounding revelations to No Fluff Just Stuff symposium audiences.
Brian's specific interests include system integration through web services, ESBs and public service networks; and agile system- and unit-specification and testing.
In years past: Brian was the first Tips and Techniques Editor for the Java Developer's Journal; wrote four marginally useful technical books on Java and web development; was the first Java instructor for DevelopMentor, with whom he has delivered thousands of man-days of material to engineers across the maturity spectrum at companies and organizations across North America.
This one's for all the "architects" out there designing and specing services, and those who have to work with them. Whether you are building it or consuming it, the most painful thing about sharing a service is sharing an understanding of what the service does. This presentation teaches you how to dispel ambiguities, techno-mumbo-jumbo, and reliance on institutional knowledge that bogs down service development and testing today using the 5 essential parts of an interface specification known as Operation-State Modeling (OSM).
WSDLs and XSDs describe the structure of service messages, but its not enough to describe the intended behavior of the service. Poorly-written English-language docs are the defacto standard of the day for describing service behavior. If you're like me, that seems completely ridiculous. Just like messages models (WSDL/XSD) are machine-consumable, so should behavior descriptions.
This presentation introduces the OSM way for specing services that avoids the painful and inevitable consequences of Word doc descriptions -- slow development and testing because of: subjective requirement interpretations by developers and testers, inconsistency, and ambiguity. A properly-written spec is objectively consistent, without unnecessary ambiguity, and ultimately stunningly faster to implement and test. This introduction will explain and demonstrate the 5 essential parts of a service interface specification.
Introduction to The Java API for RESTful Services (JAX-RS). RESTful Java web services are a pretty radical departure from what you are probably familiar with. JAX-RS avoids the "Java method == service operation" typical in all the popular web service stacks, opting instead for a much more comfortable way of making information services available over HTTP. For the busy developer who wants a fast, practical introduction to RESTful services and the JAX-RS API in particular.
This talk starts by differentiating the RESTful model that JAX-RS relies on from the more common RPC model of web services. Basically, RESTful services use (entity + verb) as the target of a service request, which turns out to be such a better way of doing things compared to the RPC service model where the verb is king.
The introduction is brief so we can get on to several practical JAX-RS examples. We'll look at implementing a RESTful service with a service class, identifying target entities and verb, different kinds of parameters, and how other RESTful concepts map to the JAX-RS Java 5 annotations. We'll make sure to have time as well to demonstrate consuming a public RESTful service in Java.
Integrate enterprise resources with the best-known open-source Java ESB. This is an introductory session with a brief summary of Mule internals: the goal is for the Mule-curious to walk away a with enough knowledge and techniques to develop Mule-based solutions. You'll have the right start to becoming a Mule development master.
We'll start out with a brief introduction to Mule components and its model for integration, then move quickly on to practical knowledge: creating Mule integration components (UMBs), deployment and system configuration, writing unit tests for your components, and managing integration tests for multi-component systems.