Architecture Perspectives

From MapbenderWiki

Jump to: navigation, search

Architecture Perspectives

The architecture of any SDI can be depicted in simple diagrams with three sections, the data store, the service and the client level. The diagram below additionally differentiates between the geospatial services (software) and the interfaces (standards) as developed and defined by the OGC and normed by ISO. Taking simplicity to be the prime goal of any general architecture design is a good idea because complexity emerges by itself.

Architecture diagram from: http://geonetwork-opensource.org/download/SDI-Architecture.ppt/view with friendly permission by Jeroen Ticheler.

To make it short, SDIs run on the Web. It's application protocol is HTTP hiding the underlying transport layers. Simple enough. But there is an ongoing discussion around the buzz words SOA, ROA, REST, RESTful and SOAP that need to be put into context to make sense, this time having clarity in mind as a prime goal.

The messaging protocol SOAP exposes arbitrary non-uniform software procedures through messaging between service endpoints. This allows to connect software procedures via the global network by piggy packing messages wrapped within a separate protocol on the existing application protocol HTTP ignoring most of the latter protocol's potential. If this sounds over complicated that is probably right. The SOAP technology is frequently associated with the highly indistinct an nebulous service-oriented architecture paradigm (SOA) although they have nothing in common but three letters. Adding to the confusion, the way the Web works has been codified in the REST paradigm (Representational State Transfer) which gave birth to another somewhat vague paradigm of the Resource-oriented Architecture (ROA).

Both architecture paradigms use common terms but with distinctly different and frequently incompatible meanings. The same terms are used in both contexts but with different connotations and from different levels of perspective. In the ROA all resources can also be a service thus in one way making the SOA a subset of the ROA. From another perspective the ROA is an implementation of the broader SOA concept and its largest existing network is the Web.

The difference in the paradigms are that they look at the architecture from a usability point of view whereas what is commonly known as the SOA seems to have evolved from a software perspective. Potentially oversimplifying things again it could be stated that the ROA is the system architect's view that can be implemented by the software architect using Service-oriented architecture software. Luckily in most cases the software in question can be used following either paradigm, in the worst case by putting a facade in front of it that connects to the Web which REST does by itself.

Views
Personal tools