SOA: From "Market"ecture to Architecture Sessions

SOA: From "Market"ecture to Architecture

With Track Host: Mark Hansen, Ph.D., Author, SOA Using Java Web Services

From "Market"ecture to Architecture is aimed at looking at SOA's role in the SDLC beyond being a marketing buzzword. As with the rise of any important technology, there is a lot of buzz and misunderstanding surrounding SOA principles. In this track, cut through the hype and get real-world perspective on how to approach SOA, and learn how to use the Java platform to build an SOA. Browse all SOA sessions or select a session title from below:

More SOA-related sessions we recommend.


Sessions

• Building RESTful Web Services with the JAX-RS API with Mark Hansen, Ph.D., Author, SOA Using Java Web Services

In this presentation, Mark introduces the new JAX-RS API. JAX-RS is formally known as JSR 311: The Java API for RESTful Web Services. Programmers can use JAX-RS to annotate classes and publish them as services. This approach enables programmers to avoid much of the repetitive, low level, coding required to create RESTful services directly using servlets.

First, the concept of a RESTful service is described. Then, the basic JAX-RS programming elements are introduced. Code snippets are used to illustrate how JAX-RS annotations can be used to bind Java classes and methods to a particular RESTful service.

Next, Mark looks at how JAX-RS can be used together with JAXB to support RESTful services with standard XML messaging interfaces. A "meet in the middle" approach is illustrated that enables programmers to bind existing Java objects to standardized message structures.

Last, a demo is presented that shows how JAX-RS can be used to migrate a Windows forms-based expense reporting system to a browser-based interface using RESTful services deployed by JAX-RS.

This talk is aimed at intermediate Java programmers. Basic knowledge of XML is helpful, but not required.

In this session, you will learn:

• The concept of RESTful service;

• Features of basic JAX-RS programming elements;

• How JAX-RS can be used together with JAXB to support RESTful services with standard XML messaging interfaces;

• How JAX-RS can be used to migrate a Windows forms-based expense reporting system to a browser-based interface using RESTful services deployed by JAX-RS.


• Building SOA Applications with JAX-WS, JAXB, and Ajax with Mark Hansen, Ph.D., Author, SOA Using Java Web Services

In this practical talk, Mark teaches programmers powerful coding techniques for SOA using JAX-WS and JAXB. In addition, Ajax is used to illustrate how a front end can be bundled with JAX-WS endpoints. Mark’s presentation illustrates integration and collaboration best practices via a live demo that includes a SOA infrastructure and code snippets.

First, you learn how JAX-WS and JAXB define a standard binding of Java language elements to equivalent XML and Web Service components. Both SOAP and REST examples are provided that demonstrate the techniques for generating and customizing the Java APIs needed for building SOA applications.

Next, Mark examines the difference between the traditional code-first and contract-first approaches to Web Services. A new approach, called "meet-in-the-middle" is described. Meet-in-the-middle recognizes that both code and contract (i.e., schemas and WSDLs) exist from the beginning of most SOA application development projects. Writing code using the meet-in-the-middle approach is often more effective than the traditional approaches when building integration and collaboration applications. Examples of meet-in-the-middle code are presented.

Last, a case study and demo are presented. The demo system illustrates how JAX-WS and JAXB can be used to implement the meet-in-the-middle approach. This demo system integrates eBay, Amazon, and Yahoo! Shopping. Incorporates a new, meet-in-the-middle architecture for SOA that the presenter developed as part of his SOA-J open source framework (https://sourceforge.net/projects/soa-j).

The demo shows the audience how to use JAX-WS, JAX-RS and JAXB to integrate eBay, Amazon, and Yahoo! Shopping.

This talk is aimed at intermediate to advanced Java programmers. Knowledge of XML and familiarity with WSDL is helpful, but not required.

In this session, you will learn:

• How JAX-WS and JAXB define a standard binding of Java language elements to equivalent XML and Web Service components;

• The difference between the traditional code-first and contract-first approaches to Web Services, and a new approach, called "meet-in-the-middle";

• How JAX-WS and JAXB can be used to implement the meet-in-the-middle approach;

•How to use JAX-WS, JAX-RS and JAXB to integrate eBay, Amazon, and Yahoo! Shopping.


• High Performance SOA: How to Use the Metro Web Service Stack to Build Fast, Scalable Services with Kohsuke Kawaguchi, Senior Staff Engineer, Sun Microsystems

Because a Web Service stack hides so many levels of details, it's often hard for developers to have a proper mental model for estimating the cost and the overhead when designing a system. Plus, each day we see more and more production web service deployments replacing older systems - In those settings, the performance of Web Services always get significant attention.

In this session, Kohsuke discusses various choices of programming models, features in Metro and how that affects the overall performance. A high-level model of the inner working of Metro will be presented, as well as several new advanced performance related features, such as streaming attachment handling for large attachmen transfer, binary XML encoding, or asynchronous server endpoint implementation.

In this session, you will learn:

• The architecture of Metro;

• How to stream attachment handling;

• What the dominating cost factors in web service stacks like Metro are;

• How to asynchronously server-side process.


• Implementing an ESB Solution Using Mule with Ross Mason, Co-founder/CTO, MuleSource, Inc.

More and more companies are investing in SOA/ESB and integration projects. Since companies rarely throw away existing systems, most Java developers need to understand how to build applications around existing or legacy systems in a service-oriented way.

Even though SOA and ESB terms have been around for some years now, there is still much confusion about what they really mean and how they apply to the problems we are trying to solve today. This session attempts to provide some clarity - Through demonstration.

This session will be a practical guide for building an ESB architecture using Mule and other open source technologies. Since there are plenty of moving parts, there will only be a minimal introduction to the ESB concept and Mule itself. The session will also cover a pragmatic approach to building an ESB system.

Rather than focusing on particular features of one specific project, this session offer attendees a holistic view of implementing an ESB solution using both Mule and other open source products, and will clarify how to approach the design of an ESB solution with some simple rules applicable to most SOA projects.

In this session you will learn:

• How to use Mule and other technologies when attempting to build and ESB solution for their organization;

• Simple rules for designing and implementing;

• How to use your existing Java development skills to build, or integrate with, an SOA/ESB.


• REST and SOAP: Arch Enemies or BFF? with Ted Neward, Author, Effective Enterprise Java, and Brian Sletten, Partner, Zepheira, LLC

After years of talking about Web Services, developers are still confused about how to go about using them. In part, this is because there is a substantial amount of dogma from the different camps. This session will skip over the politics and focus on the technical merits and limitations of each approach and provide a larger context for their use in an enterprise.

In this session, Brian and Ted will present a spin-free discussion about REST and SOAP: What they offer, how they differ and why you might want to use one or the other. The SOAP vendors often overstate the value of WSDL and the interoperability potential of the WS-* stack. The REST-afarians often overstate the simplicity of their approach, or fail to realize that it requires more than URLs. This session will highlight the value propositions of each approach and how they can work together.

In addition to a frank, technical discussion of the particulars of REST and SOAP, we will provide concrete strategic guidance for deploying services in an organization.

In this session, you will:

• Dive into the granularity of services in an SOA;

• Explore the benefits of addressability for services;

• Participate in a larger discussion of resource-oriented computing;

• Delve into security issues, including data access control;

• Learn about support for transactions across services;

• Discuss the impact of regulatory compliance on SOAs.


Staying Off the Bus: SOA Strategies Without ESBs with Brian Sletten, Partner, Zepheira, LLC

Web-oriented techniques and technologies provide abstractions and flexibility while simultaneously enabling decentralized linkage that reflect the edge-oriented realities of most organizations. A shift in thinking and open standards is often all that is necessary to overcome persistent SOA challenges.

While the concept of an Enterprise Service Bus (ESB) has caught the attention of software and service architects, it is largely unnecessary in an SOA strategy built on open Web standards. There is no bus on the Web and it displays the resilience and flexibility we’d like in the enterprise. Why impose a centralized strategy on a fundamentally decentralized environment? It simply represents a single-point of failure and a set of demands on service providers that may not always be viable.

Still, there are features promised by bus implementations (orchestration, event-processing, data transformation, quality of service metrics, etc.) that we would like to employ. We will go over a series of strategies that allow us to provide these capabilities, leveraging existing Web services implementations and maintain our decentralized realities.

In this session, you will learn:

• The tensions and benefits of centralized service strategies;

• How to achieve the benefits of a centralized service solution without its drawbacks;

• How to integrate disparate services from different parts of an organization, its vendors and partners without requiring a central software strategy like an ESB;

• How to lay an integration strategy over existing services without having to involve the service producers;

• How to apply Web-oriented technologies in the Enterprise;

•How to use REST and RDF to publish, find, bind and describe services regardless of underlying implementation;

• How to support transparent data transformation and schema migration;

• How to support data access control and regulatory compliance;

• How to define logical, resolvable names for quality of service and other metrics.


• The Social Enterprise - A Web 2.0-style Registry for Java Service Development with Glen Daniels, Director of Java Platforms, WSO2; VP of Web Services, Apache Software Foundation

Service-oriented architecture, like any kind of programmer reuse model, is about people as much as technology. This talk will demonstrate how adding a layer of social (or "Web 2.0") features to your infrastructure can provide fertile ground to help grow a vibrant and connected community of developers, business people, and technologists. Social features include things like tags, comments, and syndication feeds.

This session will demonstrate how a "social registry/repository" can enable both grass-roots development and IT-pleasing governance, with simple Java and REST interfaces. Because we can directly connect SOA components and metadata with the human community creating them and the code using them, the relationships of both the software and the people can be enriched.

In this session, you will learn:

• How to add social features to your application's infrastructure;

• How to use social features like tags, comments and syndication feeds to grow a community;

• How build a social registry/repository with Java and REST interfaces.


More SOA-related sessions we recommend: