|By Brent Carlson, Eric Marks||
|January 29, 2006 10:00 AM EST||
Influencing SOA Behavior
Determining and shaping the behavior patterns that will sustain an SOA effort through time is often the work of change management specialists. However, it is easier to conceptualize the role of behavior in SOA if we examine the intersection of major influences on organizational and individual behavior. Some of these influences are the following:
- Corporate culture
- Major decision-making processes
- Budgeting processes
- Incentives and penalty structures
- Compensation linkages to corporate goals and mantras
- Portfolio management processes
- Architecture process (definition, acquisition, implementation)
- Architecture practice (solutions development)
- Corporate performance metrics, such as return on invested capital (ROIC), revenue and market share growth, cost controls, etc.
- Promotion and advancement criteria
Another critical relationship is the relationship of EA to project or solution architecture - in other words, connecting architecture via governance to downstream activities (more on this in the next section of this article). If there is a disconnection between enterprise architecture and the architecture that is designed at the project level, then there is the possibility of a disjointed architecture.
These important relationships all point to how sociopolitical forces and organizational forces converge to either facilitate or hinder SOA governance. There are no easy answers to these challenges. However, understanding how these organizational tensions either help or hinder SOA governance will point to a path to implementing appropriate organizational institutions and processes to achieve SOA governance objectives.
Production/Distribution/Consumption: Separation of Concerns Within SOA Governance
SOA, in conjunction with other loosely coupled architectural approaches, forces IT organizations to recognize that teams producing services are not likely to be the consumers of those services. Unlike traditional application development, SOA is built upon the premise that a set of services can be employed within a wide range of applications. In other words, SOAs depend upon the separation of the production and consumption concerns within the IT organization, and a distribution vehicle that allows service producers and consumers to communicate and collaborate with each other. Let's define these production, distribution, and consumption concerns with a bit more detail:
- Production: Identification of and governance over the development and maintenance of existing and newly defined candidate reusable services
- Distribution: Publication of those services for widespread dissemination to potential service consumers
- Consumption: Discovery of and governance over the appropriate use of services within application development projects
Production Best Practice: Pragmatic Service Definition
Services within an SOA cannot be developed in a "bottom-up," ad hoc manner. Bottom-up development of services is inherently driven by immediate project needs - how do I solve this specific problem with a specific implementation (often driven by the influence of existing applications and their behaviors masquerading as true business requirements). What happens when an organization defines and implements its services with this mindset? The service layer simply becomes YALOT (yet another layer of technology) - more spaghetti code of a different form that didn't improve our business process flexibility, but simply implemented a monolithic application in a different technology.
However services also cannot be defined solely in a "top-down" manner. Top-down business process analysis left to its own devices leads to either "analysis paralysis" - continual refinement of a model hoping to reach perfection (which never comes), or "Big-Bang" projects - trying to define and implement everything at once, usually with disastrous consequences (most typically a combination of "death march" projects and cost and schedule overruns).
Ultimately, what organizations need to make progress in SOA is to develop a coarse-grained business model driven by key business processes (not all of them, but only a representative set of high-priority processes to begin with). Architects and business analysts should collaborate to build this model using those processes to extract and define a normalized set of functions, then grouping those functions together based on behavioral affinity (read components and interfaces for those of you who are UML centric) as a strawman set of initial target service definitions.
At this point, we have a useful framework for the "real work" - detailed analysis, design, and implementation of the services we need for our current set of prioritized projects. Based on business process (and project) prioritization, we identify the needed services from our business reference model and formalize the service definition for these prioritized services. Ideally, each service should be driven by the requirements extracted from at least two separate processes - designing a service based on a single use case is very likely to result in a fragile and narrowly defined service that will not be flexible enough to meet our next set of prioritized projects. Our formalization efforts are likely to result in modifications to our business architecture - which is just fine! We can iteratively enhance our architecture as we make progress towards service implementation.
Production Best Practice:
Recommended Service SDLC Governance/Review Checkpoints
Now that we have our first set of services defined, we need to build and deliver them. Developing services within an SOA (i.e., for purposes of reuse across multiple applications) usually requires more of the production team than a single-use component, module, or object. In order for a service to be considered reusable, it must be maintainable, discoverable, and consumable. Maintainability introduces such concepts as version control (which we will address in more detail later in this article), models and other design documentation, and requirements traceability (why was the asset implemented in this way from a technical and business perspective). Discoverability forces us to consider how we help potential consumers of this asset find the asset in a timely fashion - via keywords, domain taxonomies, and mapping to models, for example. Consumability involves looking at the asset from the point of view of the downstream project planning to use the asset: Is there a user guide, a well-documented API, sample client code, and other artifact available to help the user rapidly understand how to apply this asset to the project at hand? Are dependencies on other assets (and to prior versions of this asset) specified and easily navigated?
|robertmorschel 10/10/12 03:57:00 AM EDT|
In my experience SOA needs to begin with a single, skilled team that can define evolving standards and processes in an agile manner, before being let loose on the enterprise; and even then, only if the enterprise has an established and effective centralised governance function that would be able to enforce SOA policies across multiple teams.
|Gary Smith - SOA Network Architect 02/22/06 11:51:19 AM EST|
Excellent. This puts governance into perspective.
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
Feb. 22, 2017 11:15 AM EST Reads: 971
For organizations that have amassed large sums of software complexity, taking a microservices approach is the first step toward DevOps and continuous improvement / development. Integrating system-level analysis with microservices makes it easier to change and add functionality to applications at any time without the increase of risk. Before you start big transformation projects or a cloud migration, make sure these changes won’t take down your entire organization.
Feb. 22, 2017 11:15 AM EST Reads: 695
DevOps and microservices are permeating software engineering teams broadly, whether these teams are in pure software shops but happen to run a business, such Uber and Airbnb, or in companies that rely heavily on software to run more traditional business, such as financial firms or high-end manufacturers. Microservices and DevOps have created software development and therefore business speed and agility benefits, but they have also created problems; specifically, they have created software securi...
Feb. 22, 2017 11:00 AM EST Reads: 3,238
All clouds are not equal. To succeed in a DevOps context, organizations should plan to develop/deploy apps across a choice of on-premise and public clouds simultaneously depending on the business needs. This is where the concept of the Lean Cloud comes in - resting on the idea that you often need to relocate your app modules over their life cycles for both innovation and operational efficiency in the cloud. In his session at @DevOpsSummit at19th Cloud Expo, Valentin (Val) Bercovici, CTO of Soli...
Feb. 22, 2017 10:45 AM EST Reads: 350
Almost two-thirds of companies either have or soon will have IoT as the backbone of their business. Though, IoT is far more complex than most firms expected with a majority of IoT projects having failed. How can you not get trapped in the pitfalls? In his session at @ThingsExpo, Tony Shan, Chief IoTologist at Wipro, will introduce a holistic method of IoTification, which is the process of IoTifying the existing technology portfolios and business models to adopt and leverage IoT. He will delve in...
Feb. 22, 2017 10:00 AM EST Reads: 1,502
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Business Development at Nvidia, discussed the accelerating pace of AI development and how IBM Cloud and NVIDIA are partnering to bring AI capabilities to "every day," on-demand. They also reviewed two "free infrastructure" pr...
Feb. 22, 2017 09:45 AM EST Reads: 799
Cloud Expo, Inc. has announced today that Aruna Ravichandran, vice president of DevOps Product and Solutions Marketing at CA Technologies, has been named co-conference chair of DevOps at Cloud Expo 2017. The @DevOpsSummit at Cloud Expo New York will take place on June 6-8, 2017, at the Javits Center in New York City, New York, and @DevOpsSummit at Cloud Expo Silicon Valley will take place Oct. 31-Nov. 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Feb. 22, 2017 09:45 AM EST Reads: 1,332
In his session at @ThingsExpo, Steve Wilkes, CTO and founder of Striim, will delve into four enterprise-scale, business-critical case studies where streaming analytics serves as the key to enabling real-time data integration and right-time insights in hybrid cloud, IoT, and fog computing environments. As part of this discussion, he will also present a demo based on its partnership with Fujitsu, highlighting their technologies in a healthcare IoT use-case. The demo showcases the tracking of pati...
Feb. 22, 2017 09:29 AM EST Reads: 164
Tricky charts and visually deceptive graphs often make a case for the impact IT performance has on business. The debate isn't around the obvious; of course, IT performance metrics like website load time influence business metrics such as conversions and revenue. Rather, this presentation will explore various data analysis concepts to understand how, and how not to, assert such correlations. In his session at 20th Cloud Expo, Leo Vasiliou, Director of Web Performance Engineering at Catchpoint Sys...
Feb. 22, 2017 09:15 AM EST Reads: 1,380
@DevOpsSummit has been named the ‘Top DevOps Influencer' by iTrend. iTrend processes millions of conversations, tweets, interactions, news articles, press releases, blog posts - and extract meaning form them and analyzes mobile and desktop software platforms used to communicate, various metadata (such as geo location), and automation tools. In overall placement, @DevOpsSummit ranked as the number one ‘DevOps Influencer' followed by @CloudExpo at third, and @MicroservicesE at 24th.
Feb. 22, 2017 08:45 AM EST Reads: 1,132
Stratoscale, the software company developing the next generation data center operating system, exhibited at SYS-CON's 18th International Cloud Expo®, which took place at the Javits Center in New York City, NY, in June 2016.Stratoscale is revolutionizing the data center with a zero-to-cloud-in-minutes solution. With Stratoscale’s hardware-agnostic, Software Defined Data Center (SDDC) solution to store everything, run anything and scale everywhere, IT is empowered to take control of their data ce...
Feb. 22, 2017 08:30 AM EST Reads: 854
The buzz continues for cloud, data analytics and the Internet of Things (IoT) and their collective impact across all industries. But a new conversation is emerging - how do companies use industry disruption and technology enablers to lead in markets undergoing change, uncertainty and ambiguity? Organizations of all sizes need to evolve and transform, often under massive pressure, as industry lines blur and merge and traditional business models are assaulted and turned upside down. In this new da...
Feb. 22, 2017 08:30 AM EST Reads: 836
It is one thing to build single industrial IoT applications, but what will it take to build the Smart Cities and truly society changing applications of the future? The technology won’t be the problem, it will be the number of parties that need to work together and be aligned in their motivation to succeed. In his Day 2 Keynote at @ThingsExpo, Henrik Kenani Dahlgren, Portfolio Marketing Manager at Ericsson, discussed how to plan to cooperate, partner, and form lasting all-star teams to change the...
Feb. 22, 2017 08:15 AM EST Reads: 4,659
What are the new priorities for the connected business? First: businesses need to think differently about the types of connections they will need to make – these span well beyond the traditional app to app into more modern forms of integration including SaaS integrations, mobile integrations, APIs, device integration and Big Data integration. It’s important these are unified together vs. doing them all piecemeal. Second, these types of connections need to be simple to design, adapt and configure...
Feb. 22, 2017 07:00 AM EST Reads: 2,938
To manage complex web services with lots of calls to the cloud, many businesses have invested in Application Performance Management (APM) and Network Performance Management (NPM) tools. Together APM and NPM tools are essential aids in improving a business's infrastructure required to support an effective web experience... but they are missing a critical component - Internet visibility.
Feb. 22, 2017 06:45 AM EST Reads: 1,640