Is SOA Non-Trivial?

Contract BasedSoftware in general is required to conform to a defined functional interface, and services are no different in this respect. For example, web service interfaces defined in WSDL (Web Service Definition Language) allow the definition of data types, input and output messages, operations, invocation protocols, and even the location of services. WS-Policy may also be used to define additional elements of the interface such as security policies.

Interfaces are however very weak on the behavioural aspects (semantics) of services. A service could return structurally correct data to a consumer but still not meet its functional obligations. Ensuring that services satisfy the behavioural contract is best done through automated test suites in my experience. Perhaps one day we will be able to define pre- and post-conditions and have these verified by the service management software, but don't hold your breath.

In addition to functional obligations, services also have operational obligations both to their consumers and to their operators. In other words service contracts are much more like SLAs and OLAs than traditional functional interfaces.

Contracts should ideally be kept in the service registry/repository, and where possible in a machine readable format to be used by service management software to help enforce the contracts at runtime. Of course such runtime enforcement of contracts comes with a necessary performance penalty, but lets not spoil a lovely ideal with picky details... ;-)

ComposableComposability is the ability of services to be used in orchestration scenarios by higher level services or processes. It is a special case of the reusability characteristic in that the services need to be uniform as well as reusable. The primary reason for this requirement is that the orchestrating service will in all probability be built using something like BPEL, not a conventional programming language, so any variations in service style become more difficult to deal with.

This uniformity includes things like:

1. Interface GranularityI hate the phrase "coarse-grained" because it's almost meaningless in any practical sense; however, services do need to ideally offer a uniform level of granularity in order to be composable.

2. Error HandlingService consumers need to be able to differentiate between unexpected and generally unmanageable "system" exceptions, and recoverable "business" exceptions that may be retried under different conditions or by supplying different data. In the case of system exceptions, the consumer won't know for sure if the service operation completed or not, since, for example, the network connection might have died after the service completed its transaction. For this reason it is desirable that services be idempotent, i.e., retry-able. Where services are not idempotent, compensating (undo) operations should be offered.

3. SecurityComposable services should ideally offer a uniform security model to consumers, including single sign-on abilities, channel or payload encryption.

While it is possible to design such uniformity into your services, the reality is that in a typical enterprise landscape the underlying service platforms and functional interfaces will be quite varied. This is where Enterprise Service Buses come in, providing features such as multi-channel adapters, single sign-on, security adapters, routing, message transformation, as well as world peace (if you believe the vendors.)

AbstractServices must be abstract in the sense that they offer a functional interface that is not tied to any particular underlying implementation of that interface. In other words they should hide implementation details such as programming language, operating system platform, database structure, internal object model, etc. Abstraction supports other service characteristics such as reusability, extensibility, as well as reduces coupling between producer and consumer.

The degree of service abstraction that is achieved is often linked to whether the service was designed top down or bottom up.

CIO, CTO & Developer Resources

Top-down services begin with a business domain model and processes that ultimately translate to service operations and types, e.g., in the form of WSDL and XML Schema, in the case of web services. Such services will offer the highest level of abstraction since they are designed without an implementation in mind. However, top-down services require a translation between the interface and implementation that can sometimes introduce a performance penalty, e.g., translating business keys to database identifiers.

Bottom-up services begin with an implementation and typically involve the use of toolkits to generate the service interfaces. Such services are closely coupled to their implementations and consumers. However, bottom-up services are enticing because first they offer the ability to quickly expose existing code as services, and second because they allow the use of implementation specifics such as database identifiers to improve performance.

These gains offer a false economy and should be strenuously resisted. The long-term gains of well-designed, adaptable services that reflect a business domain far outweigh any short-term performance or time-to-market gains.

AutonomousA service is autonomous if it has full control over its internal logic. This requires that it has clearly defined and isolated (decoupled) functional and operational boundaries, that it is independent of other services, and that it only communicates via contract-driven messages and policies.

A consumer should exercise no influence over the service other than to execute it and provide input values. The service should have minimal dependency on its execution environment.

Autonomy has benefits for both the service consumer and provider:

Consumers are protected in that the service adheres strictly to agreed contracts.

Providers have greater reassurance because service-level agreements are adhered to and services offer deployment flexibility because of their environment independence

ExtensibleThe only constant in life is change, and this is no different for services. Services must be built with this fact in mind: that they will have to adapt to new or changing requirements. Extensibility is the ability of services to adapt while preserving existing consumer contracts.

We would expect the following types of changes to services to have no impact on other consumers:

1. Internal Source Code ChangesInsulating consumers from internal changes is achieved through another service characteristic: abstraction, i.e., it is critical that services do not "leak" implementation details into the interface. A typical example of this is the use of underlying database identifiers in the interface instead of meaningful business keys.

2. Interface ExtensionsIn general, interface changes will break existing code. The exceptions to this are the addition of new operations or certain types of service data extension. Where breaking changes are introduced, a versioning scheme is required to separate the old and the new, while supporting both concurrently. Versioning for web services is typically done via the introduction of major and minor numbers to XML namespaces, such as proposed <a href="http://blogs.iona.com/sos/20070410-WSDL-Versioning-Best-Practise.pdf">here</a>, or alternatively via a service lookup registry.

3. New Consumer Take-onThe take-on of new consumers will increase the load on a service. Services need to ensure that previously agreed consumer service-level agreements (SLA) are not violated. Achieving this will involve a combination of automated performance regression test suites and runtime SLA monitoring.

4. Environmental changesServices need to ensure that any planned maintenance that is performed on their underlying execution platform such as the application of critical patches does not affect consumers. Services need to run in a cluster with the ability for service instances to be transparently taken out of commission during maintenance periods while other service instances continue to support consumer requests. It is advisable to run automated regression test suites after such maintenance.

Robert Morschel is chief architect at Neptune Software Plc and has extensive experience in distributed software development for companies such as British Telecom, Nomura and Fidelity Investments. He blogs on SOA at soaprobe.blogspot.com.

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

SYS-CON Events announced today that Interface Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Interface Corporation is a company developing, manufacturing and marketing high quality and wide variety of industrial computers and interface modules such as PCIs and PCI express. For more information, visit http://www.i...

SYS-CON Events announced today that MIRAI Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
MIRAI Inc. are IT consultants from the public sector whose mission is to solve social issues by technology and innovation and to create a meaningful future for people.

SYS-CON Events announced today that Fusic will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Fusic Co. provides mocks as virtual IoT devices. You can customize mocks, and get any amount of data at any time in your test. For more information, visit https://fusic.co.jp/english/.

As businesses evolve, they need technology that is simple to help them succeed today and flexible enough to help them build for tomorrow. Chrome is fit for the workplace of the future — providing a secure, consistent user experience across a range of devices that can be used anywhere.
In her session at 21st Cloud Expo, Vidya Nagarajan, a Senior Product Manager at Google, will take a look at various options as to how ChromeOS can be leveraged to interact with people on the devices, and formats ...

SYS-CON Events announced today that Taica will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Taica manufacturers Alpha-GEL brand silicone components and materials, which maintain outstanding performance over a wide temperature range -40C to +200C. For more information, visit http://www.taica.co.jp/english/.

In his session at @ThingsExpo, Greg Gorman is the Director, IoT Developer Ecosystem, Watson IoT, will provide a short tutorial on Node-RED, a Node.js-based programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using a wide range of nodes in the palette that can be deployed to its runtime in a single-click.
There is a large library of contributed nodes that help so...

SYS-CON Events announced today that Daiya Industry will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Daiya Industry specializes in orthotic support systems and assistive devices with pneumatic artificial muscles in order to contribute to an extended healthy life expectancy.
For more information, please visit https://www.daiyak...

Many companies start their journey to the cloud in the DevOps environment, where software engineers want self-service access to the custom tools and frameworks they need. Machine learning technology can help IT departments keep up with these demands.
In his session at 21st Cloud Expo, Ajay Gulati, Co-Founder, CTO and Board Member at ZeroStack, will discuss the use of machine learning for automating provisioning of DevOps resources, taking the burden off IT teams.

What is the best strategy for selecting the right offshore company for your business?
In his session at 21st Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, will discuss the things to look for - positive and negative - in evaluating your options. He will also discuss how to maximize productivity with your offshore developers.
Before you start your search, clearly understand your business needs and how that impacts software choices.

Most of the time there is a lot of work involved to move to the cloud, and most of that isn't really related to AWS or Azure or Google Cloud. Before we talk about public cloud vendors and DevOps tools, there are usually several technical and non-technical challenges that are connected to it and that every company needs to solve to move to the cloud.
In his session at 21st Cloud Expo, Stefano Bellasio, CEO and founder of Cloud Academy Inc., will discuss what the tools, disciplines, and cultural...

SYS-CON Events announced today that Cedexis will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Cedexis is the leader in data-driven enterprise global traffic management. Whether optimizing traffic through datacenters, clouds, CDNs, or any combination, Cedexis solutions drive quality and cost-effectiveness.

SYS-CON Events announced today that SIGMA Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
uLaser flow inspection device from the Japanese top share to Global Standard! Then, make the best use of data to flip to next page. For more information, visit http://www.sigma-k.co.jp/en/.

Is advanced scheduling in Kubernetes achievable?
Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter?
How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations?
In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, will answer these questions and demonstrate techniques for implementing advanced scheduling. For example, using spot instances ...

SYS-CON Events announced today that Yuasa System will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Yuasa System is introducing a multi-purpose endurance testing system for flexible displays, OLED devices, flexible substrates, flat cables, and films in smartphones, wearables, automobiles, and healthcare.

SYS-CON Events announced today that B2Cloud will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
B2Cloud specializes in IoT devices for preventive and predictive maintenance in any kind of equipment retrieving data like Energy consumption, working time, temperature, humidity, pressure, etc.

Today traditional IT approaches leverage well-architected compute/networking domains to control what applications can access what data, and how. DevOps includes rapid application development/deployment leveraging concepts like containerization, third-party sourced applications and databases. Such applications need access to production data for its test and iteration cycles. Data Security? That sounds like a roadblock to DevOps vs. protecting the crown jewels to those in IT.

SYS-CON Events announced today that NetApp has been named “Bronze Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
NetApp is the data authority for hybrid cloud. NetApp provides a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with their partners, NetApp em...

Why Federal cloud? What is in Federal Clouds and integrations? This session will identify the process and the FedRAMP initiative. But is it sufficient? What is the remedy for keeping abreast of cutting-edge technology?
In his session at 21st Cloud Expo, Rasananda Behera will examine the proposed solutions:
Private or public or hybrid cloud
Responsible governing bodies
How can we accomplish?

SYS-CON Events announced today that Ryobi Systems will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Ryobi Systems Co., Ltd., as an information service company, specialized in business support for local governments and medical industry. We are challenging to achive the precision farming with AI. For more information, visit http:...

DevSecOps – a trend around transformation in process, people and technology – is about breaking down silos and waste along the software development lifecycle and using agile methodologies, automation and insights to help get apps to market faster. This leads to higher quality apps, greater trust in organizations, less organizational friction, and ultimately a five-star customer experience.
These apps are the new competitive currency in this digital economy and they’re powered by data. Without data or data-based interactions, these apps would be of little value to the user and would be just s...

The nature of the technology business is forward-thinking. It focuses on the future and what’s coming next. Innovations and creativity in our world of software development strive to improve the status quo and increase customer satisfaction through speed and increased connectivity.
Yet, while it's exciting to see enterprises embrace new ways of thinking and advance their processes with cutting edge technology, it rarely happens rapidly or even simultaneously across all industries.

With the modern notion of digital transformation, enterprises are chipping away at the fundamental organizational and operational structures that have been with us since the nineteenth century or earlier.
One remarkable casualty: the business process. Business processes have become so ingrained in how we envision large organizations operating and the roles people play within them that relegating them to the scrap heap is almost unimaginable, and unquestionably transformative.
In the Digital Era, however, everything you thought you knew about business processes, and thus how human effort dr...

Blockchain. A day doesn’t seem to go by without seeing articles and discussions about the technology. According to PwC executive Seamus Cushley, approximately $1.4B has been invested in blockchain just last year. In Gartner’s recent hype cycle for emerging technologies, blockchain is approaching the peak. It is considered by Gartner as one of the ‘Key platform-enabling technologies to track.’ While there is a lot of ‘hype vs reality’ discussions going on, there is no arguing that blockchain is being taken very seriously across industries and cannot be ignored.

Our cities have been connected since the dawn of urbanization in the Indus Valley and on the plains of Mesopotamia nearly ten millennia ago. Cities exist to gather and connect people, bringing us together into communities and joint ventures that need complex networks of communication. But in recent years the connected city has come to mean something more. Today and in the future, the connected city will not just be about people connecting with people, but people with machines, people with people via machines, and perhaps most importantly, machines with machines.

These days, APIs have become an integral part of the digital transformation journey for all enterprises. Every digital innovation story is connected to APIs . But have you ever pondered over to know what are the source of these APIs? Let me explain - APIs sources can be varied, internal or external, solving different purposes, but mostly categorized into the following two categories. Data lakes is a term used to represent disconnected but relevant data that are used by various business units within an enterprise. APIs are created as the easy access points for these siloed data lakes.

Every time there’s a notable cybersecurity breach, someone (even me) writes a comprehensive primer on the proper way to create “secure” passwords. Lather, rinse, repeat. Until a few years ago, everyone (including me) based their password advice on a 2003 paper from the National Institute of Standards and Technology (NIST), with the catchy title “NIST Special Publication 800-63.” The paper recommended that passwords be cryptic, contain special characters, and be as close to nonsense as possible.

Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall.
As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reduction in cost and increase in speed. Sometimes in order to reduce complexity teams compromise features ...

Automation is enabling enterprises to design, deploy, and manage more complex, hybrid cloud environments. Yet the people who manage these environments must be trained in and understanding these environments better than ever before. A new era of analytics and cognitive computing is adding intelligence, but also more complexity, to these cloud environments. How smart is your cloud? How smart should it be? In this power panel at 20th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists looked at the evolving nature of hybrid cloud, how it affects enterprise IT staffing requirement...

21st International Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy. Meanwhile, 94% of enterprises are using some form of XaaS – software, platform, and infrastructure as ...

Thanks to the plethora of communication and messaging apps available to the average user, unified communications (UC) is becoming more important than ever before. UC is a set of products and services designed to give employees a uniform communications experience, integrating different apps and channels to a singular point of interaction. For example, UC might allow a transcript of a voicemail to be delivered to a recipient’s email, enabling a central communication location that comprises multiple mediums at once.

Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation.
In the years since the publication of the Agile Manifesto, the connection between building better software and business agility has been a tenuous one at best. But now...

Many organizations are now looking to DevOps maturity models to gauge their DevOps adoption and compare their maturity to their peers. However, as enterprise organizations rush to adopt DevOps, moving past experimentation to embrace it at scale, they are in danger of falling into the trap that they have fallen into time and time again.
Unfortunately, we've seen this movie before, and we know how it ends: badly.

Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world.
The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago.
All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number w...

I’ve always felt that bringing an economics perspective to our big data and digital transformation discussions is more important than a traditional accounting or even information technology (IT) perspective. Heck, I believe that a Chief Data Officer’s background should be more along the lines of economics than IT. Economics brings a forward-looking perspective on creating value (wealth). In fact, economics is defined as “the branch of knowledge concerned with the production, consumption, and transfer (capture) of wealth.”

Fintech is a lucrative, yet quite saturated market. In order to stay competitive, businesses should keep track of the emerging trends and be able to capitalize on them before their competitors do. Artificial Intelligence is currently among the most promising fintech trends. Leading financial brands such as Capital One, MasterCard, as well as hundreds of startups have set the pace for the adoption of virtual financial advisors. If you want to stay ahead of your competition or simply explore the opportunities for AI in fintech, this article is for you.

The Internet giants are fully embracing AI. All the services they offer to their customers are aimed at drawing a map of the world with the data they get. The AIs from these companies are used to build disruptive approaches that cannot be used by established enterprises, which are threatened by these disruptions. However, most leaders underestimate the effect this will have on their businesses. In his session at 21st Cloud Expo, Rene Buest, Director Market Research & Technology Evangelism at Arago, will discuss the digital enterprise evolution in the context of artificial intelligence.

SYS-CON Events announced today that DXWorldExpo has been named “Global Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Digital Transformation is the key issue driving the global enterprise IT business. Digital Transformation is most prominent among Global 2000 enterprises and government institutions.

Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architect, will explore how storage and software-defined solutions from IBM have evolved for the road ahead....

Cloud computing budgets worldwide are reaching into the hundreds of billions of dollars, and no organization can survive long without some sort of cloud migration strategy. Each month brings new announcements, use cases, and success stories.