Archive

Archive for April, 2009

REST and SOAP for Services

April 29th, 2009 PeterPaul No comments

First of all, in the title REST and SOAP is explicitly chosen for the word AND. I do not see any reason why there should be an exclusive or. There are already enough ((almost) religious) wars in IT, and in the world in general.

Besides that it can be hard to compare these two. How should one compare a software architecture (REST) with a protocol (SOAP)? Frankly, I don’t know. What I do know is that both are ways to implement a Service. And sometime during the A(architecture) part while implementing a SOA there have to be guidelines when to use SOAP and in what cases to use REST. In the mean time SOA as an architectural model stays neutral to technology platforms.

REST

REST (the origin of REST) is closer to the web’s protocols. Or the other way around, the larger part of the World Wide Web conforms to the REST principles. RESTful services do not require WSDL operation specs. Since standard methods of HTTP (GET, PUT, POST, DELETE) are used, the number of operations is predictable.
The principles underlying REST result in advantages including:

  • Less software has to be written on the client side;
  • There will be less dependence on software (vendor) specific implementation;
  • It is easy to understand, due to hyperlink representation.

SOAP

SOAP is a protocol working in a RPC way for exchanging structured information. SOAP, WSDL and XML based messages, solved a part of the problem of how to (self) describe messages for the exchange of information. That was a great step. And when we started to work with these standards, we noticed that it was not secure. To solve this developers started to add information to the header. And over time a (WS) standard came that solved the security issues.

In the enterprise world, security wasn’t the only lack. There were a lot of other issues that had to be solved. This resulted in the WS-* stack. Which is, at this point in time, quite extensive. And that makes it hard to oversee it all. This has led to the point of view that SOAP and WS-* are complex and hard to implement. And WS-* can be hard to implement. However the complication is not due to the WS-* stack, but due to the fact that we live in a complex world and are trying to solve complex problems! OK, there is one part where it could be due to the WS-* stack: The fact that there is not a single managed set of specifications, that is consistent, will get a lot of people confused. This resulted in specifications that overlap and compete. Which doesn’t benefit it’s cause.

Web services based on SOAP and WS-* enable a lot of companies to exchange information and perform business functions, also meeting the non-functional requirements. Some examples: functional requirements (like the ones resulting in transactions) and implementation and architectural decisions (eg composite services) are better implemented with SOAP than with REST.

Coexist

Both in everyday use where Amazon offers both REST and SOAP web services, as in a more theoretical view, the Dual Protocol Pattern, it can be seen that these two can coexist. Offering the same capability, and offering a capability for which a specific implementation fits best.

Oracle gets Sun Microsystems (and MySQL for free)

April 21st, 2009 PeterPaul No comments

Not to long ago Oracle tried to acquire MySQL, and Sun got away with the prize. Few years earlier, actually in 2005, Oracle acquired InnoDB. This was seen as an effort to lower the valuation of MySQL by removing one of it´s primary storage engines. Which (under the assumption that the valuation of Sun wasn´t raised to much after they got MySQL) succeeded in the end, since they got MySQL in the package.
Anyway for MySQL adapts the good news is that MySQL probably will stay open source according to a founding developer of WordPress.

Questions

As with any merger a lot of questions will be raised that can be answered in the following months (or years). Will Oracle continue with multiple JVMs? Both acquisition of BEA and Sun brought one into the company.
Same goes for application servers… Oracle had one, bought one with BEA, and one with Sun. Oracle favored WebLogic over OC4J. But will Glassfish remain in the portfolio?

However most worrying point for Oracle´s customers will be how this will effect release dates of (long) promised features, and bug fixes. Just like the integration effort after the acquisition of BEA is doing right now…

And what has MS got to do with it…

Did I already mention that Oracle now has also acquired Open Office. This means that these two rivals have created a new field to play the battle of giants.

Update June 8th, 2009 Sun´s special stockholder meeting to vote on the adoption of the merger agreement is scheduled for July 16, 2009.

Categories: Oracle, Release
Tags: , , , , ,

What is in the (Oracle Advanced) queue?

April 16th, 2009 PeterPaul No comments

As a quick follow up on the previous post… If you are using a JMS queue with Oracle´s Advanced Queueing or Streams (as they have been extended to) the previously described tool can´t help you out.

For this case a blog by a former colleague helps us out. This approach boils down to…

Find the queue you want to monitor.

1
2
3
4
5
SELECT owner
,      queue_table
,      type
,      user_comment
FROM   all_queue_tables

Perform a query.

1
2
3
4
5
6
SELECT msgid
,      enq_time
,      enq_uid
,      qt.user_data.text_vc
FROM   my_queue_table qt  --alter the table name
WHERE  q_name = 'MY_QUEUE' --alter the queue name

What is in the queue?

April 16th, 2009 PeterPaul No comments
Async queue

Async queue

One of our customers asked me exactly this question. They have an  Oracle ESB and it seemed that it could not handle all incoming requests. With the queues being a decoupling point between the incoming requests and the related transactions to the back office systems, its size can be an indication of just how busy the system is.

As I couldn’t find the answer using the Oracle Enterprise Manager Oracle Enterprise Manager and its MBeans, I started to look on the web for a tool. The tool I found and started to use was HermesJMS. This helps you interact with JMS providers making it easy to browse or search queues and topics, copy messages around and delete them.

HermesJMS screenshot

HermesJMS screenshot

The HermesJMS requires Java 1.6. It has a clear installation guide installation guide and it is tested for multiple JMS providers. Besides the guide we needed for the Oracle AS there is also another blog describing the install and use of HermesJMS.

Using HermesJMS we were able to answer this customers question.

Categories: Oracle, SOA Suite, Service Bus
Tags: , , , ,

Starting with SOA Patterns

April 8th, 2009 PeterPaul No comments

With the growing presence and maturity of Service-Oriented Architectures (SOA) in the IT industry, the question how to effectively implement a SOA grows louder. As does the need for good reference implementations. Patterns can fill an important role here. The simplest way to describe a pattern is that it provides a proven solution to a common problem individually documented in a consistent format and usually as part of a larger collection. This article will give you some starting points to jump start into the world of SOA Patterns.

Buy the book

SOA Patterns book cover

SOA Patterns book cover

SOA author Thomas Erl has in cooperation with experts and practitioners throughout the SOA community written a 865 page book called SOA Design Patterns .
This book helped me not only to get a better understanding of SOA Patterns, but also of SOA “in general”. Not exactly a cover to cover read, but with some good picks of patterns using the index, this read has enabled me to enhance the quality of my advice to our customers.

Podcasts and Web

Partially due to nostalgic reasons I still love to hold a (large) pile of paper while reading. However, while not as extensive as the book, the community site SOA Patterns that comes with the book offers a great reference. Besides that you can find a series of podcasts based on the book. I increased the knowledge transfer efficiency by listening to these podcasts while commuting.

Both of the starting point will give you a head start working with SOA Patterns. The book offers the most thorough and in-depth information. While the podcast plus web offers a great efficiency of knowledge transfer and a solid reference. This article from SOA World magazine will give you a good introduction.

Update May 28th 2009: As Clemens Utschig points out there is a series of podcasts in the OTN Arch2Arch community on the involvement of Oracle (employees) in Thomas Erl’s book. Part 1 Part 2 Part 3

Small steps, big steps

April 1st, 2009 PeterPaul No comments

One of the big steps (or even jumps) a lot of people in the Oracle community would like to see is the release of SOA Suite 11g. In the mean time we would be very glad if a smaller step was taken: the release of SOA Suite 10.1.3.5. 

Oracle SOA Suite

Oracle SOA Suite

This release could actually be a larger step than can be derived from the version number. Why?  In the light of the strategic directions that Oracle has projected, we would like to use WebLogic and the Oracle Service Bus (the former ALSB) besides Oracle BPEL. Preferably the latest and greatest ;-) Currently the lastest supported Oracle/BEA WebLogic version for SOA Suite (10.1.3.4) is 9.2, according to Metalink. SOA Suite 10.1.3.5 will enable us (according to Metalink) to run both the latest version of SOA Suite and the latest WebLogic server (10.3). Certified that is.

Update Release 11g

The release of Fusion Middleware 11g preceded the release of SOA Suite 10.1.3.5. From now on the challenge as described above can be faced by using 11g.

Categories: Oracle, Release, SOA Suite
Tags: ,