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 Hartmut Wilms on Apr 19, 2007
John Evdemon, an architect with the Microsoft Architecture Strategy Team has published an initial draft of the introductory chapter of a Microsoft Abstract SOA Reference Model. According to Evdemon this paper shall serve as an abstract reference for understanding, designing and building software architectures that adhere to service-oriented principles.
Right at the beginning of the first chapter John Evdemon states that Microsoft has always promoted a "grow-to-fit" approch to SOA efforts:
In this approach, SOA efforts are driven by strategic vision and business need, and are met through incremental, iterative SOA projects that are designed to deliver on business goals one business need at a time. Microsoft has been using this technique to assist customers with their SOA initiatives since the .NET framework was first released in 1999.
Although called an Abstract SOA Reference Model, the paper follows this pragmatic approach by providing a use-case-driven approach to explain the underlying architectural requirements of a SOA. Evdemon explains Microsoft's belief "that there are three abstract capability layers exposed within a SOA:"
The first two layers or architectures relate to the classical web services triangle, where web services are registered and provided (exposed) by one or two participants and consumed by another. The third layer expresses the loosely coupled nature of a SOA that allows for great flexibility in composing or integrating services.
[...] the SOA architectural model is fractal. This means that a service can be used to Expose IT assets (such as a Line of Business system), be Composed into workflows or Business Processes (each of which may also be exposed as a service) and be Consumed by end users, systems or other services. SOA is a fractal, not layered model.
Each of the three architectures encompasses a set of five architectural capabilities:
The five architectural capabilities serves as a set of views to better understand the challenges associated with Exposing existing IT investments as services, Composing the services into business processes and Consuming these processes across the organization.
John Evdemon refers to the four tenets regarding service design and summarizes the intent of the paper as follows:
In this chapter we provided some useful analogies for understanding the fractal nature of SOA. Services are the fundamental building blocks of SOA, although services do not necessarily need to be web services. Ideally these services should follow the four service design tenets which describe a set of best practices for service scopes, dependencies, communications and policy-based configuration. While these tenets focus upon service design, it is important to realize that services alone are not necessarily solution architecture – Microsoft uses an abstract reference model to describe the various aspects of SOA. The abstract SOA reference model provides three fundamental concepts to help most organizations understand the role that services can play within their solution architectures[.]
Although the Microsoft Abstract Reference Model does not promote a specific service-oriented architecture, the aspects of a SOA and the underlying architectural capabilities of each aspect introduced in this first chapter provide a more concrete model for building SOAs than the definitively abstract OASIS SOA Reference Model. The subsequent chapters will elaborate on each aspect and capability. The final paper will most likely introduce several Microsoft technologies and products (in addition to the few named within the first chapter), which might be used to build SOAs according to the Microsoft Abstract Reference Model.
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.
No comments
Watch Thread Reply