Brandon Werner

Archive for the ‘SOAP’ Category

ACM Article: Restful web services vs. big web services: making the right architectural decision

Tuesday, June 3rd, 2008

Great article on ACM regarding when to use REST vs. WS-* standards that are in wide use in SOA architectures today. Very interesting reading for those who may want to take the light-weight approach vs. using the webservice composition and discovery tools that enterprises may find in the TIBCO and IBM SOA stack.

ABSTRACT

Recent technology trends in the Web Services (WS) domain indicate that a solution eliminating the presumed complexity of the WS-* standards may be in sight: advocates of REpresentational State Transfer (REST) have come to believe that their ideas explaining why the World Wide Web works are just as applicable to solve enterprise application integration problems and to simplify the plumbing required to build service-oriented architectures. In this paper we objectify the WS-* vs. REST debate by giving a quantitative technical comparison based on architectural principles and decisions. We show that the two approaches differ in the number of architectural decisions that must be made and in the number of available alternatives. This discrepancy between freedom-from-choice and freedom-of-choice explains the complexity difference perceived. However, we also show that there are significant differences in the consequences of certain decisions in terms of resulting development and maintenance costs. Our comparison helps technical decision makers to assess the two integration styles and technologies more objectively and select the one that best fits their needs: REST is well suited for basic, ad hoc integration scenarios, WS-* is more flexible and addresses advanced quality of service requirements commonly occurring in enterprise computing.

Service Data Objects Architecture: Business Objects with Smarts Presentation

Thursday, April 17th, 2008

This is a presentation I created to describe how SDOs can be used in the Insurance enterprise space to provide sanity in the large and diverse messages. These are increasingly being passed around as Business Objects in a Domain architecture as companies move their old object patterns to a service based approach (I refer to it as servitized business objects).

If you are looking for my particular experience on how SDOs and the IBM EMF framework that contains them works against the large ACORD schema, you can find my critique of Websphere Process Server and ACORD here and the SDO design pattern plugin I wrote for Rational Software Architect here.

You can download the slideshow here.

How To Write Java XML Pinging (Technorati, blogs) In To Your Application.

Thursday, December 1st, 2005

Another very sought after and often Googled code block from my Fatima (JavaPress) project on Java.net is how to use Apache’s XML-RPC to ping update services for blogs, podcasting, email, ect. Many services like Technorati and BlogSpot use XML pinging, and many people get led astray by using Sun’s XML-RPC library which only uses SOAP.

You must use Apache’s XML-RPC. Why? Since SUN Microsystem’s API(s) insist on using SOAP as the transmission protocol but integrators wish to have XML sent instead, you have to use the xmlrpc-1.2 code from the Apache Foundation. Technorati and others don’t accept a SOAP envelope obviously.

So, here is a ping service for you. Just download Apache’s XML-RPC and call the class.

Do to formatting issues in Internet Explorer, I can no longer include the code in this post. You may download it from the Fatima project on Java.net directly or view it in JavaLobby.

How To RSS With Rome, Demonstrated by Fatima on Java.net

Wednesday, November 30th, 2005

Many people have asked how I implemented RSS in Fatima (JavaPress) on Java.net since the object model for Sun’s Rome API is a little.. dense, and suited more for abstract aggrigation in your applications like Technorati. However, Rome is extremely powerful and offers lots of transformation and organization of your RSS feeds (no matter if you generate them or you grab them). Well, below is a general class that implements everything you would need to start generating your own RSS feeds using the ROME API, and for everyone that wants to get started quick this example should help you out.

doSyndication() is where you’ll want to focus your attention.

NOTE: This generates both regular RSS and shows you how to generate RSS with the embed tag for Podcasts!

Do to formatting issues in Internet Explorer, I can no longer show the code in this entry. You may download it from the Fatima project on Java.net directly or view it at JavaLobby.