Home > SOA Tips > The Web Services Advisor > Web services notification
SOA Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

THE WEB SERVICES ADVISOR

Web services notification


Daniel Rubio
06.27.2006
Rating: -4.50- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Web services are a boon when it comes to achieving a loosely coupled architecture since they are not locked down to a specific platform provider or consumer. In principle, this design is optimal for many enterprise settings, but also comes with its shortcomings. Up next we will address one important factor which requires a specific Web services approach on account of this same loosely coupled architecture : Application notification.

The concept of application notification is rooted in enterprise messaging technology such as Java JMS, Microsoft MSMQ and TIBCO Rendezvous. The adoption of such messaging technology came to the forefront in enterprise IT with the increased pressure of establishing communication channels as ample as possible between the many disparate applications in an organization. However, with this same approach of mixing and matching n-types of applications via messaging came the issue of establishing a uniform notification mechanism to confront the issues inherent in such a design.

Since Web services' primary objective is also that of bridging application disparities using a similar principle, that of of XML messaging, by consequence this same notification issue carries over to certain Web services scenarios. The weight notification carries in Web services is not only due to the various design variations that can arise when bridging different applications, but also on account of the network bound nature of such applications, which in turn bring issues like latency, network failure or unavailability into a design.

In an effort to address such challenges, OASIS, which is charged with advancing many Web services standards, created Web Services Notification (WSN) . WSN's intent is to provide an event-driven manner in which to create topic-based publish/subscribe Web services. The approach and terminology which might sound familiar, especially if you have worked with any of the previously mentioned enterprise messaging techn


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


RELATED CONTENT
The Web Services Advisor
Use SoaML to facilitate Model Driven Architecture
Enterprise mashup patterns act as API enablers
XQuery learns to write using XUF
Descriptive Languages for RESTful Services
Notable Python language update on view
Try XML-based Extensible Business Reporting Language (XBRL) for accounting reports
Whatever happened to ''X''?
The technology of Web Service Security
Thrift: A pragmatic approach to service integration
What's new at the W3C

Web services development
Oracle brings Fusion Middleware into the modern age
Oracle Fusion Middleware 11g supports SCA, JavaServer Faces development
Investment site turns to Xignite, Amazon cloud computing to power portfolio tracker
SimpleDB shows promise
Yahoo says no deal
Amazon links Web services to data
StrikeIron offers new 'Data as a Service'
SOA products aim at healthcare
Web 2.0 tool debuts
WSO2 debuts ultra-light ESB

SOA event-driven architecture (EDA)
MiniGuide: End-to-end testing for SOA and enterprise transactions
Bury SOA inside a larger architectural vision
CEP makers Aleri and Coral8 to merge
Leading an architecture-first mandate
New TOGAF framework released
Tibco takes BPM and BI into 3-D
IBM WebSphere grows to include better Business Event Processing
From mainframes to iPhones and beyond: IBM preps mobile SOA connection
IBM rules SOA/BPM with ILOG buy – analysts
SOA architect tips: Focus on business, communication

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
ColdFusion  (SearchSOA.com)
Delphi  (SearchSOA.com)
Eclipse  (SearchSOA.com)
elegant solution  (SearchSOA.com)
interaction management  (SearchSOA.com)
message-driven processing  (SearchSOA.com)
Ruby on Rails  (SearchSOA.com)
Tim Berners-Lee  (SearchSOA.com)
Web services  (SearchSOA.com)
Web Services: Glossary  (SearchSOA.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


ologies, consists of the following parts:

While WSN's working group breaks down the previous parts into even more specific concepts, at a high level these four concepts should be sufficient to grasp the Web services pattern WSN tries to address. It should also be noted that WSN is actually conformed by three specifications: WS-Base Notification, WS-Brokered Notification and WS-Topics, but as is the case with terms, knowing the intricacies of these three working groups should be of minimal concern for end users dealing with a WSN implementation.

Now that we have covered WSN's core concepts, let's move on to a hands-on WSN example. As in other columns, we will base our exploration on open source software produced by the Apache Software Foundation. For our particular case, Pubscribe will provides us with a WSN implementation that can be used in conjunction with the rest of the Web services stack produced by Apache, such as Axis for the core engine, Apache's WSRF implementation, Apache Kandula for WS-Coordination or Apache Sandesha for WS-ReliableMessaging, among other projects/specs.

Before we kick things off, you should be aware that Pubscribe from Apache is tightly integrated with Apache's WSRF (Web Services Resource Framework) implementation , to a certain extent this makes sense, since a Web service notification process implies maintaining some type of state on behalf of a publisher for later retrieval by a subscriber, but keep in mind this does not mean every Web service stack will require WSRF to use WSN. This is a specific choice made by Apache's WSN designers, a route which might or not be the same for other WSN implementations. You can read an earlier column on WSRF for core concepts on this other Web services specification.

Our application consists of two types of Web services used in a call center. One type is used for dispatching incoming requests (Publisher) while the others are used to attend such requests (Subscriber) with the actual payload (Notification message) consisting of an XML-encoded fragment. At a business level, the Web services publishers can represent an organization's head offices, while the subscribers can be thought of as branches or off-shore systems, which take incoming requests on a first-come-first-serve basis from the publisher.

Given this scenario, lets take a look at a fragment of the WSDL contract which would be published by the head office that and later need to be processed by each subscriber. Listing 1.1 shows such a contract.

Listing 1.1 WSDL contract using WSN.

Near the top you can observe the namespece wsntw for Web Services Notification. Moving along you will also observe two operations related to notifications events: Subscribe and GetCurrentMessage, methods which are invoked by the client Web service to inform the publisher it wishes to be notified of events and to obtain the latest message, respectively. Interspersed throughout the WSDL contract you will also find WSRF statements as well as the typical operations and bindings associated with a WSDL contract. However, we will limit ourselves to describing the fragments related to our central theme on notification.

Due to its length we won't illustrate the Web service implementation behind this WSDL, neither the publisher nor its corresponding subscriber Web services, but be assured that the life-cycle corresponding to the Web services notification process is concentrated in the two aforementioned methods in the WSDL with the logic behind these two methods being built with the API provided by Pubscribe.

With this we conclude our look into WSN. You should now be in a position to incorporate into the same loosely coupled architectures composed as Web services the capability of application notification and with it support the enterprise business needs of longer lived process that require event-based notification.

About the author

Daniel Rubio is an independent technology consultant specializing in enterprise and Web-based software. He blogs regularly on these and other software areas at http://www.webforefront.com/

.

Rate this Tip
To rate tips, you must be a member of SearchSOA.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



SOA Trends and Strategy - SOA Education, SOA Development, SOA Implementations
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts