|By Thomas Erl||
|October 29, 2005 06:00 AM EDT||
With the unwavering prominence of service-oriented architecture (SOA) there is an increasing interest in understanding what exactly it means for something to be considered "service-oriented." Thomas Erl recently completed a lengthy research project for SOA Systems Inc. into the origins of SOA and the current state of service-orientation among all primary SOA technology platforms. This body of work contributed to the mainstream SOA methodology developed by SOA Systems and was also documented in Thomas's new book, Service-Oriented Architecture: Concepts, Technology, and Design. We caught up with Thomas (a previous contributor to WSJ) to ask him to share some of the insights he gained from his work with SOA and service-orientation.
There's no need to mention that SOA has become a major focal point of the IT industry and a primary consideration on numerous corporate agendas. Nor is there a need to get into how SOA has been so heavily promoted that the term has already reached hall-of-fame status as one of the most recognized acronyms in IT history.
What is more important than the term itself is the impact its perceived meaning continues to have on how automation solutions are constructed. Its popularity to date is largely the result of vendors advertising SOA support or capability as part of their product lines. Because SOA has been so vendor-driven, its meaning has been somewhat divergent, skewed by proprietary technology that is still identified with common characteristics that transcend proprietary boundaries.
These common characteristics are critical to defining and understanding an abstract technology architecture classified as "service-oriented." Viewing SOA in abstract is what establishes an agnostic reference point from which proprietary implementations can be measured and, ultimately, unified.
Vendors and other organizations in the SOA space have published numerous papers, blueprints, and even frameworks. Most such documents serve the dual purpose of educating readers about SOA while marketing related products or services. This is nothing new. Past variations of client-server and distributed architecture models have varied significantly in both technology and design, depending mostly on who and what was used to implement them.
However, because a core expectation of SOA is its ability to harmonize and streamline diverse technical environments, preserving an abstract viewpoint is required to achieving its potential. This is because SOA, when elevated to an enterprise level, can be used to establish an ecosystem in which an agnostic, overarching framework transcends proprietary environments and constraints.
How the components and elements within this framework are shaped and standardized is of critical importance. This underlines the need for a design paradigm that is sufficiently generic so that it can be applied to solutions regardless of implementation, while remaining in alignment with where powerhouse vendors and organizations are currently taking the technology that is fueling the service-oriented computing platform.
Service-Orientation and Object-Orientation
Design paradigms have played an important role in the evolution of technology and application architecture. The most widely recognized paradigm for distributed business automation has been object-orientation. The system-wide implementation technology for object-oriented solutions has traditionally been proprietary, where, despite the use of the agnostic principles of object-orientation, objects or components are designed to function and interact by using technology and protocols specific to a computing and/or vendor platform.
Service-orientation owes much of its existence to object-orientation. Like traditional multitiered architectures, SOA is based on a model wherein solution logic is distributed. As with object-orientation, concepts such as encapsulation, abstraction, and reusability are fundamental to the design of distributed units of automation logic (services) within SOA. Key differences in these approaches are focused on how these units relate to each other and the scope at which the respective paradigms can be applied.
Service-Orientation and the Separation of Concerns
I have yet to find a better means of explaining service-orientation than to reach back to that fundamental software engineering theory known as the "separation of concerns." This theory essentially proposes that larger problems be decomposed into a series of individually identifiable problems or "concerns." The logic required to address or solve the larger problem can then also be broken down into individual units of logic that address specific concerns.
Past design paradigms and development platforms have applied this theory in different ways. Component-based and object-oriented designs, for example, provide specific approaches for the decomposition of concerns and the design of corresponding solution logic. Service-orientation establishes a new and distinct means of realizing a separation of concerns. As a design paradigm, it is an evolution of past approaches, augmented and extended in support of the overall goals and characteristics of SOA.
Common Service-Orientation Principles
Service-orientation began with a modest scope - a basic set of principles centered on an architectural model focused primarily on distinguishing services as reusable and discoverable resources. However, technology architecture in support of service-orientation is making significant strides, and extending its reach into key realms of enterprise computing.
Expectations are being raised surrounding a new era of business automation composed of services as adaptive, shared software assets that promise to infuse an enterprise with organization-level agility, federated interoperability, and vendor independence. These expectations have placed demands on what a distributed automation solution classified as "service-oriented" should be capable of, expanding the breadth of the service-oriented paradigm and adding to and further shaping its principles.
So far, eight common and fundamental principles have been identified. Note that these are classified as "common" in that they represent a cross-section of the most widely accepted design approaches and best practices promoted and practiced by the organizations most responsible for realizing the contemporary SOA movement.
Here then are the common principles of service-orientation:
- services are loosely coupled
- services share a formal contract
- services abstract underlying logic
- services are composable
- services are reusable
- services are autonomous
- services are stateless
- services are discoverable
In this scenarios approach Joe Thykattil, Technology Architect & Sales at TimeWarner / Navisite, presented examples that will allow business-savvy professionals to make informed decisions based on a sound business model. This model covered the technology options in detail as well as a financial analysis. The TCO (Total Cost of Ownership) and ROI (Return on Investment) demonstrated how to start, develop and formulate a business case that will allow both small and large scale projects to achieve...
May. 30, 2015 06:30 AM EDT Reads: 3,289
Storage administrators find themselves walking a line between meeting employees’ demands to use public cloud storage services, and their organizations’ need to store information on-premises for security, performance, cost and compliance reasons. However, as file sharing protocols like CIFS and NFS continue to lose their relevance, simply relying only on a NAS-based environment creates inefficiencies that hurt productivity and the bottom line. IT wants to implement cloud storage it can purchase a...
May. 30, 2015 04:30 AM EDT Reads: 2,908
After a couple of false starts, cloud-based desktop solutions are picking up steam, driven by trends such as BYOD and pervasive high-speed connectivity. In his session at 15th Cloud Expo, Seth Bostock, CEO of IndependenceIT, cut through the hype and the acronyms, and discussed the emergence of full-featured cloud workspaces that do for the desktop what cloud infrastructure did for the server. He also discussed VDI vs DaaS, implementation strategies and evaluation criteria.
May. 30, 2015 04:00 AM EDT Reads: 4,642
I’ve been thinking a bit about microservices (μServices) recently. My immediate reaction is to think: “Isn’t this just yet another new term for the same stuff, Web Services->SOA->APIs->Microservices?” Followed shortly by the thought, “well yes it is, but there are some important differences/distinguishing factors.” Microservices is an evolutionary paradigm born out of the need for simplicity (i.e., get away from the ESB) and alignment with agile (think DevOps) and scalable (think Containerizati...
May. 30, 2015 02:00 AM EDT Reads: 1,518
There’s a lot of discussion around managing outages in production via the likes of DevOps principles and the corresponding software development lifecycles that does enable higher quality output from development, however, one cannot lay all blame for “bugs” and failures at the feet of those responsible for coding and development. As developers incorporate features and benefits of these paradigm shift, there is a learning curve and a point of not-knowing-what-is-not-known. Sometimes, the only way ...
May. 29, 2015 11:00 PM EDT Reads: 1,347
Right off the bat, Newman advises that we should "think of microservices as a specific approach for SOA in the same way that XP or Scrum are specific approaches for Agile Software development". These analogies are very interesting because my expectation was that microservices is a pattern. So I might infer that microservices is a set of process techniques as opposed to an architectural approach. Yet in the book, Newman clearly includes some elements of concept model and architecture as well as p...
May. 29, 2015 07:00 PM EDT Reads: 3,751
How can you compare one technology or tool to its competitors? Usually, there is no objective comparison available. So how do you know which is better? Eclipse or IntelliJ IDEA? Java EE or Spring? C# or Java? All you can usually find is a holy war and biased comparisons on vendor sites. But luckily, sometimes, you can find a fair comparison. How does this come to be? By having it co-authored by the stakeholders. The binary repository comparison matrix is one of those rare resources. It is edite...
May. 29, 2015 06:00 PM EDT Reads: 1,715
Container technology is sending shock waves through the world of cloud computing. Heralded as the 'next big thing,' containers provide software owners a consistent way to package their software and dependencies while infrastructure operators benefit from a standard way to deploy and run them. Containers present new challenges for tracking usage due to their dynamic nature. They can also be deployed to bare metal, virtual machines and various cloud platforms. How do software owners track the usag...
May. 29, 2015 03:45 PM EDT Reads: 887
Cloud Expo, Inc. has announced today that Andi Mann returns to DevOps Summit 2015 as Conference Chair. The 4th International DevOps Summit will take place on June 9-11, 2015, at the Javits Center in New York City. "DevOps is set to be one of the most profound disruptions to hit IT in decades," said Andi Mann. "It is a natural extension of cloud computing, and I have seen both firsthand and in independent research the fantastic results DevOps delivers. So I am excited to help the great team at ...
May. 29, 2015 02:00 PM EDT Reads: 1,740
Enterprises are fast realizing the importance of integrating SaaS/Cloud applications, API and on-premises data and processes, to unleash hidden value. This webinar explores how managers can use a Microservice-centric approach to aggressively tackle the unexpected new integration challenges posed by proliferation of cloud, mobile, social and big data projects. Industry analyst and SOA expert Jason Bloomberg will strip away the hype from microservices, and clearly identify their advantages and d...
May. 29, 2015 01:15 PM EDT Reads: 1,567
SYS-CON Events announced today that MetraTech, now part of Ericsson, has been named “Silver Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York, NY. Ericsson is the driving force behind the Networked Society- a world leader in communications infrastructure, software and services. Some 40% of the world’s mobile traffic runs through networks Ericsson has supplied, serving more than 2.5 billion subscribers.
May. 29, 2015 01:00 PM EDT Reads: 1,487
SYS-CON Events announced today that O'Reilly Media has been named “Media Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York City, NY. O'Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O'Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption...
May. 29, 2015 12:30 PM EDT Reads: 847
The 4th International Internet of @ThingsExpo, co-located with the 17th International Cloud Expo - to be held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA - announces that its Call for Papers is open. The Internet of Things (IoT) is the biggest idea since the creation of the Worldwide Web more than 20 years ago.
May. 29, 2015 12:00 PM EDT Reads: 1,788
Software development, like manufacturing, is a craft that requires the application of creative approaches to solve problems given a wide range of constraints. However, while engineering design may be craftwork, the production of most designed objects relies on a standardized and automated manufacturing process. By contrast, much of moving an application from prototype to production and, indeed, maintaining the application through its lifecycle has often remained craftwork. In his session at Dev...
May. 29, 2015 12:00 PM EDT Reads: 1,510
Amazon, Google and Facebook are household names in part because of their mastery of Big Data. But what about organizations without billions of dollars to spend on Big Data tools - how can they extract value from their data? In his session at 6th Big Data Expo®, Ali Ghodsi, Co-Founder and Head of Engineering at Databricks, discussed how the zero management cost and scalability of the cloud is addressing the challenges and pain points that data engineers face when working with Big Data. He also s...
May. 29, 2015 12:00 PM EDT Reads: 4,358
SYS-CON Events announced today that EnterpriseDB (EDB), the leading worldwide provider of enterprise-class Postgres products and database compatibility solutions, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. EDB is the largest provider of Postgres software and services that provides enterprise-class performance and scalability and the open source freedom to divert budget from more costly traditiona...
May. 29, 2015 11:00 AM EDT Reads: 1,608
The Internet of Things is a misnomer. That implies that everything is on the Internet, and that simply should not be - especially for things that are blurring the line between medical devices that stimulate like a pacemaker and quantified self-sensors like a pedometer or pulse tracker. The mesh of things that we manage must be segmented into zones of trust for sensing data, transmitting data, receiving command and control administrative changes, and peer-to-peer mesh messaging. In his session a...
May. 29, 2015 11:00 AM EDT Reads: 4,050
I read an insightful article this morning from Bernard Golden on DZone discussing the DevOps conundrum facing many enterprises today – is it better to build your own DevOps tools or go commercial? For Golden, the question arose from his observations at a number of DevOps Days events he has attended, where typically the audience is composed of startup professionals: “I have to say, though, that a typical feature of most presentations is a recitation of the various open source products and compo...
May. 29, 2015 10:00 AM EDT Reads: 941
The 5th International DevOps Summit, co-located with 17th International Cloud Expo – being held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the...
May. 29, 2015 10:00 AM EDT Reads: 4,106
May. 29, 2015 10:00 AM EDT Reads: 1,927