The details of a Service Layer are at the discretion of the implementers. However, like any architectural choices, there are better ones as well as some that are not so good. The PanDOORA architectural template recommends an approach that provides advantages over some less-structured but simpler-to-understand designs.



The thinnest possible Service Layer has only three elements:

  • A back-end adaptor that knows how to send/receive messages to/from the existing system.
  • A front-end Web service that is accessible by the service consumers.
  • A mediation layer that converts between the two messaging and invocation styles.

In the simplest implementation all three elements could actually be coded within the “doPost” method of a single servlet. Unfortunately, doing it that way creates an undesirable coupling between the elements and guarantees that a change to any part ripples through the code.

Any best practice approach provides decoupling between the “front” and “back” ends. That makes it easy for the implementer to replace or modify one part without having to recode another part. So if the underlying legacy system undergoes an upgrade that changes details of the messaging, the front end (and the consumers) don’t need to know that or deal with it.

In addition to decoupling the front and back ends, the mediator element should be decoupled from both of them so that it can be changed or replaced as required. In fact, some of the mediator’s responsibilities might be provided by a separate facility such as an ESB. For example, the actual version and location of the service provider could be determined within ESB as a runtime decision. In that case, changing a table might result in another choice. In an example of message-based routing, details of the initial request might result in a different style of response – possibly a choice of currency or language. Maximum flexibility and the opportunities for unlimited value add require that the layers be completely separated.

PanDOORA is an architectural template. It does not provide code, but rather gives guidance on the design. PanDOORA for Web Services helps designers by giving a template for a Service Layer. This layer has six elements. In a specific implementation, each element would normally be a single Java class, although that is not a restriction, just observed practice.

  • The Requestor Adaptor knows how to access the underlying system.
  • The Requester Agent decouples the Business Service from the Requestor Adaptor.
  • The Business Service contains all business logic. It is generally a poor practice to put business logic outside the Business Service.
  • The Provider Adaptor is the actual Web service. In practice, this may be a SAAJ-style Servlet, or it could be a Java Bean that is extended with an automatically-generated JAX-RPC SEI.
  • The Provider Agent decouples the Provider Adaptor from the Business Service.
  • The Client Proxy resides in the client and knows how to access the Provider Adaptor Web service. Depending on the situation, the Client Proxy may be supplied by the implementers of the Provider Adaptor, or it may be generated from supplied WSDL.
  • Various “Contracts” are Java Interfaces representing Value Objects containing the parameters that are passed from one layer to the next, which results in a further level of decoupling. We discuss the options for implementing the Contracts below.

-1-

1  2  

   Next Page

Explore Our Topics

  • EDITOR'S BRIEFING

ebizQ editorial highlights and updates, compiled by Site Editor Anne Stuart

  • BPM: Big for 2012: BPM is a top priority for companies everywhere this year, according to TechTarget's global survey. Anne Stuart reports.
  • Cloud coverage: Cloud computing offers significant benefits--and challenges--for BPM. Crystal Bedell explains in ebizQ's latest BPM Quarterly e-zine.
  • Simple advantage: When properly integrated, complex event processing can provide plenty of business value. For more, see this feature by SearchSOA Editor in Chief Jack Vaughan.
  • ebizQ editorial: Browse our collection of independent editorial content, including articles, tips, Q & As, podcasts, guest columns, book excerpts and more.
  • Virtual Conferences
  • Webinars
  • Roundtables

BPM in Action

March 10, 2011

The sixth annual BPM in Action 2011 Virtual Conference will explore cutting-edge market developments in BPM and describe how to leverage them for improved business operation and performance. More

View All Virtual Conferences

Best Practices in Moving Processes to the Clouds

Date:Apr 07, 2010
Time:13:00 PM ET- (17:00 GMT)

REGISTER TODAY!

How Can the Cloud Fit Into Your Applications Strategy?

Date:Apr 07, 2010
Time:12:00 PM ET- (16:00 GMT)

REGISTER TODAY!
View All Roundtables
  • Research Library
  • Podcasts
  • News

Joe McKendrick: Part II of II: Designing Evolve-ability into SOA and IT Systems

In part two of Joe McKendrick's recent podcast with Miko Matsumura, chief strategist for Software AG, they talk about how SOA and IT systems need to change and grow and adapt with the organization around it.

Listen Now

Phil Wainewright: Helping Brands Engage with Social Media

Phil Wainewright interviews David Vap, VP of products at RightNow Technologies, and finds out how sharing best practices can help businesses understand how best to engage with online communities.

Listen Now

Peter Schooff: Making Every IT Dollar Result in a Desired Business Outcome: Scott Hebner of IBM Rati

Scott Hebner, Vice President of Marketing and Strategy for IBM Rational, discusses a topic on the top of every company's mind today: getting the most from IT investments.

Listen Now

Jessica Ann Mola: Where Will BI Fit In? Lyndsay Wise Explains

In BI, this tough economy and the increasing role of Web 2.0 and MDM are certainly topics on people's minds today. WiseAnalytics' Lyndsay Wise addresses each of them in this informative podcast.

Listen Now

Dennis Byron: Talking with...Deepak Singh of BPM Provider Adeptia

Deepak Singh, President and CTO of Adeptia, joins ebizQ's Dennis Byron in a podcast that gets its hand around the trend of industry-specific BPM.

Listen Now
More Podcasts
  • Most Popular
  • Quick Guide
  • Most Discussed

Quick Guide: What is BPM?

Learn More

Quick Guide: What is Event Processing?

Smart event processing can help your company run smarter and faster. This comprehensive guide helps you research the basics of complex event processing (CEP) and learn how to get started on the right foot with your CEP project using EDA, RFID, SOA, SCADA and other relevant technologies. Learn More

Quick Guide: What is Enterprise 2.0?

A lot of people are talking about Enterprise 2.0 as being the business application of Web 2.0 technology. However, there's still some debate on exactly what this technology entails, how it applies to today's business models, and which components bring true value. Some use the term Enterprise 2.0 exclusively to describe the use of social networking technologies in the enterprise, while others use it to describe a web economy platform, or the technological framework behind such a platform. Still others say that Enterprise 2.0 is all of these things. Learn More


E-Zine: BPM Quarterly

This new publication from our sister site SearchSOA.com explores workflow, business activity monitoring (BAM) and complex event processing (CEP) issues.

Featured Bloggers

Scott Cleveland's Latest Blog Posts:

Read Scott Cleveland's Blog
Peter Schooff's Latest Blog Posts:

Read Peter Schooff's Blog
Michael Poulin's Latest Blog Posts:

Read Michael Poulin's Blog
Tim Huenemann 's Latest Blog Posts:

Read Tim Huenemann 's Blog
Adrian Grigoriu's Latest Blog Posts:

Read Adrian Grigoriu's Blog
Steven Minsky's Latest Blog Posts:

Read Steven Minsky's Blog
Andre Yee's Latest Blog Posts:

Read Andre Yee's Blog

View All ebizQ Bloggers