New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Miko Matsumura on Sep 20, 2006
The The OASIS Reference Model for Service Oriented Architecture v1.0 has been submitted for standardization by OASIS.
A reference model is an abstract framework for understanding significant relationships among the entities of some environment, and for the development of consistent standards or specifications supporting that environment. A reference model is based on a small number of unifying concepts and may be used as a basis for education and explaining standards to a non-specialist. [1] A reference model is not directly tied to any standards, technologies or other concrete implementation details, but it does seek to provide a common semantics that can be used unambiguously across and between different implementations.
A Reference Model is used by architects as a template for composing architectures. Much the same way as the auto industry agrees on the logical divisions in components of a car, the software industry uses reference models to make logical divisions and groupings within architectures. Doing so makes it easier for vendor products to be aligned to meet the requirements of the architecture and allows users to understand where their products fit into their corporate architecture. It works much the same way as when a tire manufacturer knows that an auto manufacturer understands implicitly that a "wheel" is a round component that bolts to a " hub" and accepts a " tire" into its rim. Unlike specific architectures, however, the reference model does not specify what size the wheel is or what bolt pattern it must use, only that it has those attributes. Individual instance of wheel and rim may vary in size, shape, and composition.
As such, this OASIS work provides an abstract template for definiing SOA projects. The document describes SOA as a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains.
You can read the full committee draft of the specification here (31 page PDF file).
while i agree that precise definition of concepts and their relationships (which is what this reference model provides, IMHO) is important, i really think that a mapping of these concepts to real technologies would very much clarify the discussion and also make it more useful to the practitioner. What's more, this reference architecture has been written by people who presumably had very concrete technologies in the back of their minds, and to drop that reference to technologies is neither very honest (as it falsely suggests a top-down process) nor very useful.
So: does anybody know of a document that provides the missing link between the SOA reference model and concrete webservice standards (WS-*)? Not that this link isn't obvious in some cases (say "service interface" and "policy")...
thank you,
gerald
www.gerald-loeffler.net
I did actually work on this TC for awhile. I know they were also planning on publishing a "Reference Architecture". This document may address the issues you raise. I'm not sure when it is targeted for completion, I was getting a bit overextended so I left the TC. Here is a link to the RA subcommittee page: wiki.oasis-open.org/soa-rm/ReferenceArchitecture
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
2 comments
Watch Thread Reply