Welcome!

Microservices Expo Authors: Derek Weeks, Mehdi Daoudi, Pat Romanski, Liz McMillan, Elizabeth White

Related Topics: Microservices Expo

Microservices Expo: Article

Extending Your SOA for Intercompany Integration

Find your own value

Service-oriented architecture, or SOA, is the modern notion of connecting systems together at both the information and service levels. Indeed, enterprises are racing to enable their existing applications to externalize services, as well as build the appropriate integration infrastructure around it.

However, extending your SOA to automate your business means you must work and play well with other organizations. Managing services, orchestration layers, and connections between companies is not as easy as one might imagine.

Truth be told, while we've understood the value of SOA for some time now, the concept is still new to most enterprises. Not until the advent of Web services did we have a widely accepted standard and enabling technology that allows us to access all types of systems through a common services interface. In fact, we may be at a point in time where more is understood about the technology than the ways in which it fits into the enterprise or value chain. Organizations seem to adopt Web services without thought of strategic fit and function. Adoption is only half the battle.

To address strategic concerns, many enterprises are attempting to figure out how to best leverage SOA within their firewalls, as well as between organizations that are, or should be, part of their business processes. This notion of extending SOA to externalize and share processes and services is really the ultimate destination for SOA; certainly it was the vision for Web services.

Value of Services
Today most interorganization electronic business is conducted using traditional information-oriented mechanisms such as EDI or simple FTP exchanges. These exchanges deal with simple information, and they tend to occur within nightly and weekly batch transfers, meaning that latency is a consideration.

While traditional information-oriented exchanges are the way business gets done today, there are two basic needs for electronic business: the need to have access to information approaching zero latency, and the need to view external customer or supplier systems as sets of remote services as well as clusters of information sinks and sources.

The ability to leverage services will provide organizations with a clear advantage. In addition to the ability to see information in real time, they can abstract application behavior and leverage many remote services inside their enterprise systems as if they were local. This is the basic notion of Web services, so we won't get too deeply into it here.

Access to services implies that business processes existing in and between companies can be coupled at the services layer, meaning that services are shareable (if allowed) among the partner organizations. For instance, the service that defines how inventory is allocated supply chain-wide is shareable, and thus the service is not only consistent, but does not require reinvention within each organization. Moreover, since these services are always visible, information bound to these services is produced and consumed in real time. In essence, you're creating a virtual set of applications that exists between trading partners and allows those trading partners to function like a single entity, and thus service common business processes as if they existed in a single company.

By leveraging this type of architecture, businesses have the opportunity to reduce inventory costs a hundredfold. For example, all manufacturer systems would have service- and information-level visibility into all retail systems, and all of the parts suppliers have the same access, and perhaps their raw materials providers as well. With everyone sharing both information and services, business processes are fully automated and inefficiencies, such as overstocking, understocking, or manufacturing delays, drop dramatically. What's more, and perhaps more important, customer satisfaction goes up since items they demand are available, and at the best possible price.

Functional Components
So, how do you begin sharing your SOA? You must first break the SOAs down into several basic components before attempting integration. These include:

  • Private and public services
  • Public and private processes
  • Data and abstract data
  • Monitoring and event management
  • Points of integration
  • Directory services
  • Identity management and security services
  • Semantic management
Private and public services refer to services that you create for use within your organization (private) and services that you create to share with your partner organizations (public). These concepts are simple enough, although understanding which services to make public and which to make private requires a bit of analysis.

Public services are those that are redundant within your trading community, such as logistics, inventory, or billing. By exposing these services to outside organizations, you allow them to share the service and thus avoid their own development cost, and also allow them to leverage a shared service as a point of integration and a binding point for common processes.

There are a few key criteria for selecting services that are public, or, exposed to trading partners. First, the service should be redundant to two or more entities. In other words, you solve the same problem for several partners. Second, the service should be unique to the trading community; otherwise it makes sense to look for other public services to solve the problem. Finally, the service should offer ease of integration, including the ability to discover semantics as well as interfaces.

In order to make services public, you must create or leverage an existing shared directory service that allows those outside of the organization to locate, discover, and leverage the service you deem to be public. Directories may be proprietary, LDAP-based, or UDDI-based (or mixed and matched). Typically these directories are public, but support the notion of public and private services, processes, and semantics.

Public and private processes provide orchestration of services, binding them together into a business process to drive information movement and invocation of services. You may consider processes or orchestrations as a group of services gathered together to solve a particular business problem, an overriding control mechanism, if you will (see Figure 1).

There are three types of processes to visualize enterprise and cross-enterprise processes: private, public, and specialized processes.

  • Private processes exist at the intra-company level, allowing the business user to define common processes that span only systems that are within the enterprise and not visible to the trading partners or to community-wide processes. For example, the process of hiring an employee may span several systems within the enterprise, but should not be visible to processes that span an enterprise or trading community or other organizations.
  • Public processes exist between companies and consist of a set of agreed-upon procedures for exchanging information and automating business processes within a community. This is the core notion of intercompany SOA, since it's really the concept where we create intercompany orchestrations.
  • Specialized processes are created for a special requirement, such as collaboration on a common product development effort that only exists between two companies and has a limited life span.
Of course there are standards. BPEL (Business Process Execution Language) focuses on the creation of complex processes by joining together local and remote services, thus leveraging the notion of process integration as well as service-oriented Web services.

In the world of BPEL, process is one of two things:

  • Executable business processes that model actual behavior of a participant in a business interaction.
  • Business protocols that use process descriptions specifying the mutually visible message exchange's behavior for each of the parties leveraging the protocol (does not reveal internal behavior).
Process descriptions for business protocols are known as abstract processes, and BPEL models behavior for both abstract and executable processes.

To this end, BPEL leverages a well-defined language to define and execute business processes and business interaction protocols, thus extending the Web services interaction model by providing a mechanism to create meta-applications - process models, really - above the services that exist inside or outside the company. What's both different and compelling about BPEL is the use of a common syntax that is designed to be transferable from process engine to process engine. This is in contrast to other process integration standards, such as BPMI or WFMC, which are more about approaches than a common language. There is more momentum beyond BPEL, and all technology vendors are declaring support for BPEL.

The notion of data and data abstraction, in terms of intercompany SOA, lets us think about collections of data or services as abstract entities, thus represented in a form that is most useful to the integration server or the application integration architect. It's this notion that provides for the grouping of related pieces of information, independent of their physical location and structure, as well as defining and understanding what meaningful operations can be performed on the data or services. Thus, we can create any representation needed for data that exists anywhere, and bound to any service.

What's more, we need to separate the implementation from the abstraction itself. This allows us to change the internal representation and/or implementation without changing the abstract behavior, and allows people to use the abstraction in terms of intercompany SOA without needing to understand the internal implementation.

Monitoring and event management encompass the ability to analyze all aspects of the business and enterprise or trading community to determine the current state of the process in real time, and adjust those processes as needed and in real time. Optimization, or the ability to redefine the process at any given time in support of the business and thus make the process more efficient, is an aspect of event management (see Figure 2).

Points of integration allow services to interact with other services, or perhaps an orchestration layer. Services, especially those build for intercompany SOA, need to be designed to interact with other systems. For instance, they should provide more robust discovery of metadata and management of connections. Thus, the service developer needs to architect a service as a point of integration, not simply a point of abstracted functional behavior.

Identity management and security services seem to go without saying when you think of intercompany SOA, due to the naturally occurring exposures, and a detailed discussion is out of the scope of this article. However, it's worth a mention that there are three A's of security which you need to consider: authentication, authorization and audit.

In identity management, especially in the work of inter-company SOA, you must pay a lot of attention to authentication. However, rights and permissions are identity-based attributes and should play a very important role in the identity management.

Finally, we need to manage semantics between any number of systems that have very different application semantics and ontologies. We typically do this through a semantic repository, where the semantics are understood and persisted, and a semantic mapping layer that understands the semantics of the source or target systems and can account for the differences during runtime.

Share and Share Alike
It's not a matter of when intercompany SOA will become a reality. The evolution is under way today, as organizations attempt to extend their SOAs to other partner organizations, and want service-level visibility in return. The key words here are real-time automation and visibility. You can either get good at it now and create a more competitive and responsive business, or play catch-up later.

However, like any other new way of doing old things, you have to consider the architectures and how they mesh together over time. The new dynamic here is that you're dealing with many IT departments and many approaches to building applications The best approach is to understand your own value, and work directly with your partners to ensure that everyone is adjusting their way of thinking. The goal is to build sharable services and processes that automate your business, as well as processes between businesses.

More Stories By David Linthicum

Dave Linthicum is Sr. VP at Cloud Technology Partners, and an internationally known cloud computing and SOA expert. He is a sought-after consultant, speaker, and blogger. In his career, Dave has formed or enhanced many of the ideas behind modern distributed computing including EAI, B2B Application Integration, and SOA, approaches and technologies in wide use today. In addition, he is the Editor-in-Chief of SYS-CON's Virtualization Journal.

For the last 10 years, he has focused on the technology and strategies around cloud computing, including working with several cloud computing startups. His industry experience includes tenure as CTO and CEO of several successful software and cloud computing companies, and upper-level management positions in Fortune 500 companies. In addition, he was an associate professor of computer science for eight years, and continues to lecture at major technical colleges and universities, including University of Virginia and Arizona State University. He keynotes at many leading technology conferences, and has several well-read columns and blogs. Linthicum has authored 10 books, including the ground-breaking "Enterprise Application Integration" and "B2B Application Integration." You can reach him at [email protected] Or follow him on Twitter. Or view his profile on LinkedIn.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

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.


@MicroservicesExpo Stories
We have Continuous Integration and we have Continuous Deployment, but what’s continuous across all of what we do is people. Even when tasks are automated, someone wrote the automation. So, Jayne Groll evangelizes about Continuous Everyone. Jayne is the CEO of the DevOps Institute and the author of Agile Service Management Guide. She talked about Continuous Everyone at the 2016 All Day DevOps conference. She describes it as "about people, culture, and collaboration mapped into your value streams....
In our first installment of this blog series, we went over the different types of applications migrated to the cloud and the benefits IT organizations hope to achieve by moving applications to the cloud. Unfortunately, IT can’t just press a button or even whip up a few lines of code to move applications to the cloud. Like any strategic move by IT, a cloud migration requires advanced planning.
Did you know that you can develop for mainframes in Java? Or that the testing and deployment can be automated across mobile to mainframe? In his session and demo at @DevOpsSummit at 21st Cloud Expo, Dana Boudreau, a Senior Director at CA Technologies, will discuss how increasingly teams are developing with agile methodologies, using modern development environments, and automating testing and deployments, mobile to mainframe.
“Why didn’t testing catch this” must become “How did this make it to testing?” Traditional quality teams are the crutch and excuse keeping organizations from making the necessary investment in people, process, and technology to accelerate test automation. Just like societies that did not build waterways because the labor to keep carrying the water was so cheap, we have created disincentives to automate. In her session at @DevOpsSummit at 20th Cloud Expo, Anne Hungate, President of Daring System...
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory?
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 a lot of 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 ...
@DevOpsSummit at Cloud Expo taking place Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center, Santa Clara, CA, is co-located with the 21st International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is ...
Docker is on a roll. In the last few years, this container management service has become immensely popular in development, especially given the great fit with agile-based projects and continuous delivery. In this article, I want to take a brief look at how you can use Docker to accelerate and streamline the software development lifecycle (SDLC) process.
Cloud adoption is often driven by a desire to increase efficiency, boost agility and save money. All too often, however, the reality involves unpredictable cost spikes and lack of oversight due to resource limitations. In his session at 20th Cloud Expo, Joe Kinsella, CTO and Founder of CloudHealth Technologies, tackled the question: “How do you build a fully optimized cloud?” He will examine: Why TCO is critical to achieving cloud success – and why attendees should be thinking holistically ab...
DevOps is good for organizations. According to the soon to be released State of DevOps Report high-performing IT organizations are 2X more likely to exceed profitability, market share, and productivity goals. But how do they do it? How do they use DevOps to drive value and differentiate their companies? We recently sat down with Nicole Forsgren, CEO and Chief Scientist at DORA (DevOps Research and Assessment) and lead investigator for the State of DevOps Report, to discuss the role of measure...
If you are part of the cloud development community, you certainly know about “serverless computing”, almost a misnomer. Because it implies there are no servers which is untrue. However the servers are hidden from the developers. This model eliminates operational complexity and increases developer productivity. We came from monolithic computing to client-server to services to microservices to serverless model. In other words, our systems have slowly “dissolved” from monolithic to function-by-func...
While some vendors scramble to create and sell you a fancy solution for monitoring your spanking new Amazon Lambdas, hear how you can do it on the cheap using just built-in Java APIs yourself. By exploiting a little-known fact that Lambdas aren’t exactly single-threaded, you can effectively identify hot spots in your serverless code. In his session at @DevOpsSummit at 21st Cloud Expo, Dave Martin, Product owner at CA Technologies, will give a live demonstration and code walkthrough, showing how ...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
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.
IT organizations are moving to the cloud in hopes to approve efficiency, increase agility and save money. Migrating workloads might seem like a simple task, but what many businesses don’t realize is that application migration criteria differs across organizations, making it difficult for architects to arrive at an accurate TCO number. In his session at 21st Cloud Expo, Joe Kinsella, CTO of CloudHealth Technologies, will offer a systematic approach to understanding the TCO of a cloud application...
API Security has finally entered our security zeitgeist. OWASP Top 10 2017 - RC1 recognized API Security as a first class citizen by adding it as number 10, or A-10 on its list of web application vulnerabilities. We believe this is just the start. The attack surface area offered by API is orders or magnitude larger than any other attack surface area. Consider the fact the APIs expose cloud services, internal databases, application and even legacy mainframes over the internet. What could go wrong...
With Cloud Foundry you can easily deploy and use apps utilizing websocket technology, but not everybody realizes that scaling them out is not that trivial. In his session at 21st Cloud Expo, Roman Swoszowski, CTO and VP, Cloud Foundry Services, at Grape Up, will show you an example of how to deal with this issue. He will demonstrate a cloud-native Spring Boot app running in Cloud Foundry and communicating with clients over websocket protocol that can be easily scaled horizontally and coordinate...
In his session at 20th Cloud Expo, Chris Carter, CEO of Approyo, discussed the basic set up and solution for an SAP solution in the cloud and what it means to the viability of your company. Chris Carter is CEO of Approyo. He works with business around the globe, to assist them in their journey to the usage of Big Data in the forms of Hadoop (Cloudera and Hortonwork's) and SAP HANA. At Approyo, we support firms who are looking for knowledge to grow through current business process, where even 1%...
The goal of Continuous Testing is to shift testing left to find defects earlier and release software faster. This can be achieved by integrating a set of open source functional and performance testing tools in the early stages of your software delivery lifecycle. There is one process that binds all application delivery stages together into one well-orchestrated machine: Continuous Testing. Continuous Testing is the conveyer belt between the Software Factory and production stages. Artifacts are m...
From manual human effort the world is slowly paving its way to a new space where most process are getting replaced with tools and systems to improve efficiency and bring down operational costs. Automation is the next big thing and low code platforms are fueling it in a significant way. The Automation era is here. We are in the fast pace of replacing manual human efforts with machines and processes. In the world of Information Technology too, we are linking disparate systems, softwares and tool...