Welcome!

Microservices Expo Authors: Zakia Bouachraoui, Pat Romanski, Elizabeth White, Liz McMillan, Gopala Krishna Behara

Related Topics: Microservices Expo

Microservices Expo: Article

Is SOA Non-Trivial?

Exploring key service characteristics

Have you ever wondered what makes for good SOA style services? Well, wonder no more. Good services must be:

  • Reusable
  • Contract based
  • Composable
  • Abstract
  • Autonomous
  • Extensible
  • Discoverable
  • Stateless
  • Distributed
  • Manageable
  • You've most likely yawned over such lists before, and this exposition will probably be no different. However, in case you're wondering what I think about such things, read on. Be warned, there are no pictures...

    Reusable
    A service is said to be reusable if it can be used in more than one context, even in contexts for which it wasn't originally designed.

    How do we achieve this noble goal?

    1. Business Domain Modeling
    If you understand your business domain, and model services according to that domain, your services stand a better chance of being reused than if they were built in isolation according to localized requirements. In other words, business process modeling, not individual project demands, should drive the requirements for services.

    2. Adaptability
    If your service can be easily extended, then it can be reused. Extensibility is about being able to change the service implementation or extending the interface without affecting existing customers. Extensibility is achieved through interface abstraction and well-defined versioning policies, but also surprisingly through aspects like testability and staff resourcing capability.

    Testability is about verifying service backward compatibility using an automated regression test suite (that includes both functional and performance aspects of that service) that is key to service extensibility.

    With respect to staff resourcing, delays in making required changes to services will hinder service reuse, so flexible resourcing capabilities are required.

    3. Capacity Management
    Eh? Yes, unless your service environment can support additional customers, that service cannot be said to be reusable. Capacity management is about sizing and providing service operating environments both for current and projected consumer volumes.

    4. Visibility
    If people don't know about services, then they won't be reused. A well-designed and publicized service registry will help potential customers to quickly identify services that meet their needs.

    5. Governance
    Even if you have done all of the above, people will find reasons not to reuse, e.g., if the service does not exactly match the customer's requirements or the customer is not prepared to wait for the service to be enhanced. To help with such cases, governance using both carrot and stick is required. Governance is first about defining the rules, then helping people to understand and follow the rules.

    More Stories By Robert Morschel

    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.

    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.


    Microservices Articles
    Digital Transformation is well underway with many applications already on the cloud utilizing agile and devops methodologies. Unfortunately, application security has been an afterthought and data breaches have become a daily occurrence. Security is not one individual or one's team responsibility. Raphael Reich will introduce you to DevSecOps concepts and outline how to seamlessly interweave security principles across your software development lifecycle and application lifecycle management. With ...
    Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
    All zSystem customers have a significant new business opportunity to extend their reach to new customers and markets with new applications and services, and to improve the experience of existing customers. This can be achieved by exposing existing z assets (which have been developed over time) as APIs for accessing Systems of Record, while leveraging mobile and cloud capabilities with new Systems of Engagement applications. In this session, we will explore business drivers with new Node.js apps ...
    The now mainstream platform changes stemming from the first Internet boom brought many changes but didn’t really change the basic relationship between servers and the applications running on them. In fact, that was sort of the point. In his session at 18th Cloud Expo, Gordon Haff, senior cloud strategy marketing and evangelism manager at Red Hat, will discuss how today’s workloads require a new model and a new platform for development and execution. The platform must handle a wide range of rec...
    More and more companies are looking to microservices as an architectural pattern for breaking apart applications into more manageable pieces so that agile teams can deliver new features quicker and more effectively. What this pattern has done more than anything to date is spark organizational transformations, setting the foundation for future application development. In practice, however, there are a number of considerations to make that go beyond simply “build, ship, and run,” which changes how...
    CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
    DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term.
    Adding public cloud resources to an existing application can be a daunting process. The tools that you currently use to manage the software and hardware outside the cloud aren’t always the best tools to efficiently grow into the cloud. All of the major configuration management tools have cloud orchestration plugins that can be leveraged, but there are also cloud-native tools that can dramatically improve the efficiency of managing your application lifecycle. In his session at 18th Cloud Expo, ...
    Traditional IT, great for stable systems of record, is struggling to cope with newer, agile systems of engagement requirements coming straight from the business. In his session at 18th Cloud Expo, William Morrish, General Manager of Product Sales at Interoute, will outline ways of exploiting new architectures to enable both systems and building them to support your existing platforms, with an eye for the future. Technologies such as Docker and the hyper-convergence of computing, networking and...
    While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...