Applied SOA Service-Oriented Architecture and Design Strategies Mike Rosen Boris Lublinsky Kevin T. Smith Marc J. Balcer Wiley Publishing, Inc. Applied SOA . Applied SOA. Service-Oriented Architecture and Design Strategies. Mike Rosen. Boris Lublinsky. Kevin T. Smith. Marc J. Balcer. Wiley Publishing, Inc. “Service Oriented Integration: Aligning SOA with Enterprise Integration”. – “ Implementing SOA on Common Technologies”. • Books. SOA Applied: Architecture.
|Language:||English, Portuguese, Dutch|
|ePub File Size:||24.39 MB|
|PDF File Size:||9.69 MB|
|Distribution:||Free* [*Register to download]|
Applied SOA: Service-Oriented Architecture and Design Strategies [Michael Rosen, Boris Lublinsky, Kevin T. Smith, Marc J. Balcer] on ininenzero.cf *FREE* . Applied SOA: Service-Oriented Architecture and Design Strategies. ReadMe. Read an Excerpt Chapter 13, Download. SOA Assessment Checklist, Download. Endorsed by all major vendors (Microsoft, Oracle, IBM, and SAP), SOA has quickly become the industry standard for building next-generation software; this.
This simple application consists of a database fronted by Web-based data entry and reporting user-interfaces. A contact management system in which customer and business partner profile information is stored and maintained. Technical infrastructure Five employees and one manager are dedicated to full-time IT duties. Automation solutions RailCo's automated environment consists of the following applications: A two-tier client-server system governing all accounting and inventory control transactions.
History Established in the early 90s. RailCo realizes that it must also seek new clients to make up for the lost sales to TLS. By that point RailCo runs into some limitations and decides to re-evaluate its environment in consideration of establishing an SOA. Clients have been switching to a competitor providing the same products in a more efficient manner and at a lower cost. Figure 2. Further investigation led to the discovery that this competitor has implemented an extension to their existing accounting system.
This new requirement ends up also affecting the design of its SOA. RailCo is a company with outdated technology automating inefficient business processes. A further unpleasant revelation was that RailCo's primary client. Before our storyline begins. RailCo must upgrade its automation environment as soon as possible. They have subsequently been able to reduce the staff required for processing orders.
It is looking to overhaul its technical environment to better respond to new business trends and automation requirements. RailCo's initial set of Web services. Transit Line Systems. These services are explained and referenced as we progress through chapters discussing Web services technology. Its top priority is to participate in online transactions with TLS. The design of this solution. To remain competitive and minimize losses.
RailCo has already hurried to build a pair of Web services Figure 2.
Chapter 5 explains how services play both requestor and provider roles. It is important not to view this service as just a Web service client program. It begins to perform more of a provider role in later chapters where it evolves along with RailCo's SOA.
It employs over 1. History TLS existed as a mid-sized corporation centered around a single private railway for several years. The overall technical infrastructure is mixed.
Individual legacy systems are typically isolated in separate environments.
More contemporary eBusiness solutions are hosted in a clustered server environment. Parts manufacturing for other industries. TLS is a prominent corporation in the private transit sector. This document was created by an unregistered ChmMagic.. Though only generic parts can be produced by the factory. A tourism branch that partners with airlines and hotels. Thanks 2. TLS made a series of corporate acquisitions.
TLS formed a partnership with Sampson Steel. Mainframes have their own space. Though its primary line of business is providing private transit. While Sampson Steel continues to service its existing clientele. TLS enjoyed a successful period of expansion during which it established two further private railways in separate cities. Sampson Steel Corp.
Over the course of approximately ten years. An economic downturn sent this company to the brink of liquidation until TLS stepped in. A maintenance and repair branch that outsources TLS service technicians to public transit sectors. The information collected by this program is later manually entered into the accounts receivable module of the accounting system.
The product vendor is relatively progressive and has offered a set of Web service adapters that plug into different modules of the overall system. Not only has the maintenance of automation solutions become unreasonably expensive. IT directors decided to adopt SOA as the standard architecture to be used for new applications and as the founding principle to unite existing legacy systems.
Automation solutions Following is the subset of TLS's inventory of legacy systems that we will be referencing in case study examples: A distributed enterprise accounting solution.
This shifts our focus to a new set of services. Business goals and obstacles TLS is a corporation that has undergone a great deal of change over the past decade.
This is the B2B system to which RailCo and many other vendors connect to conduct transactions online. It replaced TLS's original accounting package during its expansion period. TLS's technical environment therefore is riddled with custom developed applications and third-party products that were never intended to work together.
As the storyline begins. It provides sophisticated Web front-ends for intranet and remote access but also offers some desktop tools for analysis and reporting. However inPart V. The identity and structure of the company has been altered numerous times.
The services that comprise this solution are introduced in Chapter 5. A third-party time tracking system used by some employees that are outsourced by TLS to record the time they spend at client sites. The primary motivation behind this decision is a desperate need to introduce enterprise-wide standardization and increase organizational agility. Its IT department has had to deal with a volatile business model and regular additions to its supported set of technologies and automation solutions.
TLS has built its first service-oriented solution already Figure 2. Tired of having to continually invest in a non-functional technical environment. The cost of business automation has skyrocketed. This solution is partially custom developed but relies mostly on out-of-the-box accounting features.
Much of this book is therefore focused on realizing SOA through and applying service-orientation principles to Web services technology. Perhaps one day Web services will be supplanted by a superior platform even more capable of bringing the world closer to pure service-orientation. For now. Introducing SOA 3. How case studies are used: After we cover the fundamental parts of a primitive SOA. Thanks Chapter 3.
These conventions standardize key aspects of each business for the benefit of the consumers without significantly imposing on the individual business's ability to exercise self-governance. By decomposing the community into specialized. Fundamental SOA Because the term "service-oriented" has existed for some time.
It is already full of service-oriented businesses. Although we want to allow outlets to interact and leverage each other's services. Units of logic are still required to conform to a set of principles that allow them to evolve independently. Though we encourage independence within our business outlets. By empowering businesses to self-govern their individual services.
Distributing automation logic into separate units is nothing new. What distinguishes the service-oriented approach to separating concerns is the manner in which it achieves separation. What this means is that logic required to solve a large problem can be better constructed.
Service-orientation design principles
It is an established and generic theory that can be used to address a variety of problems. A service-oriented analogy Let's take your average cosmopolitan city. It makes sense for a business community not to be served by a single business outlet providing all services.
Even in a distributed business community. Within SOA. Each of these pieces addresses a concern or a specific part of the problem. Individual companies are service-oriented in that each provides a distinct service that can be used by multiple consumers. One constant through its existence has been that it represents a distinct approach for separating concerns. This context can be specific to a business task.
How services encapsulate logic To retain their independence. What is it then that makes service-oriented separation so different? Much of this book is dedicated to answering that question. When coupled with "architecture. This approach transcends technology and automation solutions.
Thanks The concern addressed by a service can be small or large. For services to use the logic they encapsulate they can participate in the execution of business activities. A service can even encapsulate the entire process logic. Services can encapsulate varying amounts of logic.
To do so. The logic is decomposed into a series of steps that execute in predefined sequences according to business rules and runtime conditions. Figure 3. In the latter two cases. This process is comprised of logic that dictates the actions performed by the solution. In this case. As shown in Figure 3. For example. F Figure 3. One such framework is messaging. A service description in its most basic format establishes the name of the service and the data expected and returned by the service.
The manner in which services use service descriptions results in a relationship classified as loosely coupled. Because it has access to service B's service description. To that effect. How services relate Within SOA.
A communications framework capable of preserving their loosely coupled relationship is therefore required. That is why we require messages to exist as "independent units of communication.
This awareness is achieved through the use of service descriptions. A message existing as an independent unit of communication. For services to interact and accomplish something meaningful. How services communicate After a service sends a message on its way.
What distinguishes ours is how its three core components services.
Reliability Evaluation of Service-Oriented Architecture Systems Considering Fault-Tolerance Designs
So far. Thanks Services that provide service descriptions and communicate via messages form a basic architecture. This is where service-orientation comes in. How services are designed Much like object-orientation.
Service-orientation principles address design issues. For the purpose of providing a preliminary introduction. All forms of SOA we explore from here on are based on and extend this primitive model. All major vendor platforms currently support the creation of service-oriented solutions. Some of the extensions we discuss are attainable today through the application of advanced design techniques. It is labeled as such because it represents a baseline technology architecture that is supported by current major vendor platforms.
Autonomy Services have control over the logic they encapsulate. The application of service-orientation principles to processing logic results in standardized service-oriented processing logic.
Abstraction Beyond what is described in the service contract. The Web services technology set offers us such a platform. With a knowledge of the components that comprise our basic architecture and a set of design principles we can use to shape and standardize these components.
The individual principles of service-orientation are fully explained later in this book. When a solution is comprised of units of service-oriented processing logic. Discoverability Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms. Reusability Logic is divided into services with the intention of promoting reuse.
Loose coupling Services maintain a relationship that minimizes dependencies and only requires that they retain an awareness of each other. Service contract Services adhere to a communications agreement. Statelessness Services minimize retaining information specific to an activity. Composability Collections of services can be coordinated and assembled to form composite services.
How services are built As we mentioned earlier. For instance. Case Study RailCo's accounting solution exists as a two-tier client-server application. Within the application. The ability for business automation logic to be partitioned into units so as to properly represent services.
The ability for these units of logic to communicate with each other in such a manner that their respective independence is preserved. If multiple services are used. This sub-process may already exist as part of a separate Customer Contact Reporting Process.
The details of this application are described in the next chapter. This process was originally modeled using standard workflow logic and then implemented as part of a packaged solution. To implement such a model. Enter Customer download Order Create Customer Order The completion of each task involves a series of steps that constitute a business process.
The fundamental characteristics of service encapsulation. The ability for these units of logic to be relatively independent of each other so as to support the requirement for them to participate in different compositions. Within a service-oriented business model. Throughout the remainder of this book. Our primitive SOA model represents a mainstream variation of SOA based solely on Web services and common service-orientation principles.
Its founding principles remain. Major software vendors are continually conceiving new Web services specifications and building increasingly powerful XML and Web services support into current technology platforms.
Contemporary SOA fosters intrinsic interoperability. Contemporary SOA promotes organizational agility. Contemporary SOA is still maturing. Contemporary SOA is an achievable ideal. Chapters 6 and 7 explain how the evolving landscape of Web services specifications addresses typical quality of service QoS requirements.
Contemporary SOA is based on open standards. Contemporary SOA promotes federation. Contemporary SOA promotes discovery. Contemporary SOA is a building block. These have been grouped into the "Contemporary SOA increases quality of service" characteristic. Contemporary SOA supports a service-oriented business modeling paradigm. Contemporary SOA increases quality of service. Contemporary SOA promotes loose coupling throughout the enterprise.
Contemporary SOA is fundamentally autonomous.
Contemporary SOA emphasizes extensibility. Contemporary SOA fosters inherent reusability. Contemporary SOA builds upon the primitive SOA model by leveraging industry and technology advancements to further its original ideals. Contemporary SOA is an evolution. The result is an extended variation of service-oriented architecture we refer to as contemporary SOA.
Note the absence of traditional architectural qualities such as "secure. Contemporary SOA supports vendor diversity. Contemporary SOA promotes architectural composability. Common characteristics of contemporary SOA Numerous recent and ongoing industry trends and developments have shaped the real world look of SOA.
Though the required implementation technology can vary. Contemporary SOA is at the core of the service-oriented computing platform. Contemporary SOA implements layers of abstraction.
Because the acronym already represents the word "architecture" we are unfortunately subjected to statements that can be confusing. With SOA. In doing so. Allowing tasks to be carried out reliably so that message delivery or notification of failed delivery can be guaranteed. Performance requirements to ensure that the overhead imposed by SOAP message and XML content processing does not inhibit the execution of a task. The terms "client-server" or "n-tier.
Contemporary SOA is at the core of the service-oriented computing platform Before we get into the actual meaning behind contemporary SOA. As we step through the following sections we elaborate on each of the characteristics in our list and discuss their overall meaning to SOA.
For lack of a better term. The ability for tasks to be carried out in a secure manner. Along those same lines. This relates to common quality of service requirements. Past terms used to identify distinct application computing platforms were often suffixed with the word "architecture" when the architecture was actually being referenced. Perhaps the best way to view it is that if a product. Contemporary SOA represents an architecture that promotes service-orientation through the use of Web services.
Many argue that the manner in which SOA is used to qualify products. Transactional capabilities to protect the integrity of specific business tasks with a guarantee that should the task fail.
Contemporary SOA increases quality of service There is a definite need to bring SOA to a point where it can implement enterprise-level functionality as safely and reliably as the more established distributed architectures already do. Contemporary SOA is fundamentally autonomous The service-orientation principle of autonomy requires that individual services be as independent and self-contained as possible with respect to the control they maintain over their underlying logic.
Thanks 3. An SOA limits the role of proprietary technology to the implementation and hosting of the application logic encapsulated by a service. Contemporary SOA is based on open standards Perhaps the most significant characteristic of Web services is the fact that data exchange is governed by open standards. After a message is sent from one Web service to another it travels via a set of protocols that is globally standardized and accepted.
The use of an open. This establishes a level of autonomy that can cross solution boundaries. The use of SOAP. Applications comprised of autonomous services. Contemporary SOAs fully leverage and reinforce this open. This is further realized through message-level autonomy where messages passed between services are sufficiently intelligence-heavy that they can control the manner in which they are processed by recipient services.
Later we explain how by creating service abstraction layers. The opportunity for inter-service communication is therefore always an option. SOA builds upon and expands this principle by promoting the concept of autonomy throughout solution environments and the enterprise. Standard open technologies are used within and outside of solution boundaries.
A serious SOA will likely rely on some form of service registry or directory to manage service descriptions Figure 3. In fact. Organizations can certainly continue building solutions with existing development tools and server products. This may have to do with the fact that not enough Web services were actually built to warrant a registry.
When utilized within traditional distributed architectures.
Performance and Challenges of Service-Oriented Architecture for Wireless Sensor Networks
Disparate technology platforms do not prevent service-oriented solutions from interoperating. SOA supports and encourages the advertisement and discovery of services throughout the enterprise and beyond. Contemporary SOA supports vendor diversity The open communications framework explained in the previous section not only has significant implications for bridging much of the heterogeneity within and between corporations. This option is made possible by the open technology provided by the Web services framework and is made more attainable through the standardization and principles introduced by SOA.
Web services were more often employed to facilitate point-to-point solutions. Thanks Figure 3. Registries enable a mechanism for the discovery of services. Fostering this characteristic can significantly alleviate the cost and effort of fulfilling future cross-application integration requirements. Contemporary SOA fosters intrinsic interoperability Further leveraging and supporting the required usage of open standards.
When properly standardized. Regardless of whether an application actually has immediate integration requirements. Intrinsically interoperable services enable unforeseen integration opportunities.
When building an SOA application from the ground up. SOA supports the automation of flexible and highly adaptive business processes. Services enable standardized federation of disparate legacy systems.
Contemporary SOA promotes federation Establishing SOA within an enterprise does not necessarily require that you replace what you already have. Contemporary SOA promotes architectural composability Composability is a deep-rooted characteristic of SOA that can be realized on different levels. One of the most attractive aspects of this architecture is its ability to introduce unity across previously non-federated environments. While Web services enable federation.
The modular nature of these specifications allows an SOA to be composed of only the functional. A business process can therefore be broken down into a series of services. As previously mentioned. SOA promotes this cause by establishing and standardizing the ability to encapsulate legacy and non-legacy application logic and by exposing it via a common.
Collections of services that form service compositions can themselves be reused by larger compositions. In other words.
Different solutions can be composed of different extensions and can continue to interoperate as long as they support the common extensions required. Thanks building blocks it requires. What provides this flexibility is the fact that second-generation Web services specifications are being designed specifically to leverage the SOAP messaging model.
This represents both composable services. Individual specifications consist of modular extensions that provide one or more specific features. The emphasis placed by SOA on the creation of services that are agnostic to both the business processes and the automation solutions that utilize them leads to an environment in which reuse is naturally realized as a side benefit to delivering services for a given project.
When service logic is properly partitioned via an appropriate level of interface granularity. Extensible services can expand functionality with minimal impact. Contemporary SOA emphasizes extensibility When expressing encapsulated functionality through a service description.
SOA encourages you to think beyond immediate. Inherent reuse accommodates unforeseen reuse opportunities. Thanks Extensibility is also a characteristic that is promoted throughout SOA as a whole. Analysts can leverage these features by incorporating an extent of service-orientation into business processes for implementation through SOAs. Time to revisit our original definition to add a few adjectives that represent the characteristics we've covered. This is an area of SOA that is not yet widely accepted or understood.
BPM models. Because the loosely coupled relationship fostered among all services minimizes inter-service dependencies. Extending entire solutions can be accomplished by adding services or by merging with other service-oriented applications which also.
Partitioning business logic into services that can then be composed has significant implications as to how business processes can be modeled Figure 3. Contemporary SOA represents an open. We therefore spend a significant portion of this book exploring the service-oriented business modeling paradigm. A collection layer of services encapsulating business process logic.
Through the implementation of service layers that abstract business and application logic. When applied through proper design.
Within an organization where service-orientation principles are applied to both business modeling and technical design. Thanks One of the characteristics that tends to evolve naturally through the application of service-oriented design principles is that of abstraction.
Typical SOAs can introduce layers of abstraction by positioning services as the sole access points to a variety of resources and processing logic. The only remaining concern is the functionality offered via the service interfaces.
By implementing standardized service abstraction layers. Application logic created with proprietary technology can be abstracted through a dedicated service layer. Services only require an awareness of each other. Contemporary SOA promotes loose coupling throughout the enterprise As we've established. Each end only requires an awareness of the other. The result is an environment that can better accommodate business and technology-related changea quality known as organizational agility.
Change in an organization's business logic can impact the application technology that automates it. Thanks [View full size image] 3. A loosely coupled relationship between business and application technology allows each end to more efficiently respond to changes in the other.
Contemporary SOA promotes organizational agility Whether the result of an internal reorganization. SOA offers the potential to increase organizational agility Figure 3.
By leveraging service business representation. The more dependencies that exist between these two parts of an enterprise. Change in an organization's application technology infrastructure can impact the business logic automated by this technology. Other benefits realized through the standardization of SOA also contribute to minimizing dependencies and increasing overall responsiveness to change: When viewed in the context of SOE.
Organizational agility is perhaps the most significant benefit that can be realized with contemporary SOA. What this all boils down to is that an individual service-oriented application can.
Contemporary SOA is a building block A service-oriented application architecture will likely be one of several within an organization committed to SOA as the standard architectural platform. Change imposed on any of these environments is more easily facilitated for the same reasonsa loosely coupled state between services representing either ends of the communication channel.
In responding to business model-level changes. SOAs can be augmented to change the nature of their automation. Standards organizations and major software vendors have produced many specifications to address a variety of supplementary extensions.
As companies adopt SOA during this evolution. Even though SOA is being positioned as the next standard application computing platform. This will likely result in countless hybrid architectures. This book provides a series of. It differs from traditional client-server and distributed environments in that it is heavily influenced by the concepts and principles associated with service-orientation and Web services.
These changes foster service-orientation in support of a service-oriented enterprise. As mentioned earlier. If you needed to provide an accurate definition of SOA today. It is similar to previous platforms in that it preserves the successful characteristics of its predecessors and builds upon them with distinct design patterns and a new technology set. Contemporary SOA is an achievable ideal A standardized enterprise-wide adoption of SOA is a state to which many organizations would like to fast-forward.
An SOA consists of services within services within services. When SOA platforms and tools reach an adequate level of maturity. Every technical environment will undergo changes during such a migration.
Contemporary SOA is an evolution SOA defines an architecture that is related to but still distinct from its predecessors. Despite the fact that Web services are being used to implement a great deal of application functionality. SOA supports and promotes reuse.
These and other established design principles that are commonplace in traditional distributed environments are still very much a part of SOA. Further supporting this prediction is the evolving state of the technology set that is emerging to realize enterprise-level SOAs. This past set of characteristics has further broadened our definition.
Let's append the definition with the following: SOA can establish an abstraction of business logic and technology that may introduce changes to business process modeling and technical architecture. Middleware controls and monitors sensor data by using intelligent mechanisms to determine when and how to query and access data that comes from sensor nodes. In some cases, the communication method between the sensor nodes needs to update and obtain a new measurement of data.
The intelligent technique in middleware provides an efficient process to transmit sensor data with minimum power usage. The middleware provides a model referred to as a virtual machine with two different layers called the cluster layer and the resources management layer [ 4 ].
The cluster layer forms the cluster of sensor nodes located close to the target events. It is the responsibility of the management layer to adapt and distribute the resources required by particular applications such as security, QoS, and reliability [ 4 ].
SOA is a software design that allows communication between the hardware and applications through a secure protocol independent of the product and technologies. The communications that occur over a SOA are loosely coupled and allow for functional modifications and upgrades depending on the business needs [ 5 ]. SOA is used in a variety of industrial, military, and smart home applications.
The most common applications used in smart homes are based on the concept of home energy management systems. These systems are based on one universal internet that results in a reduction of development time and cost.
Journal of Applied Mathematics
An example of this can be seen in the development of a peer energy cloud for monitor energy consumption through unique platforms. This platform has the capability to hide itself from the applications and allow sensors to individually measure the energy consumption for all devices [ 7 ]. This is a preview of subscription content, log in to check access.
Preview Unable to display preview. Download preview PDF. References Anaya V. Bremen Germany. Google Scholar Bieberstein N. Google Scholar Boardman J. Business Process Management. Google Scholar Brown A. Google Scholar Cherbakov L. IBM Systems Journal, — Google Scholar Cousins P. Google Scholar Erl T.
Google Scholar Gold-Bernstein B. IBM Redbooks. Google Scholar Jonkers H.This is followed by two identically structured sections that supply an overview of SOA support provided by the J2EE and. Fox, M. When SOA platforms and tools reach an adequate level of maturity. From a physical architecture perspective. IBM Systems Journal, — Thus SOA governance comes into the scheme of things.
Over the course of approximately ten years. Considerations for positioning core SOA standards. Metadata exchange Section 7. One such framework is messaging.