Services Oriented Architecture

Service-Oriented Architecture and Web Services

Zhaohui Wu , ... Jian Wu , in Service Computing, 2015

two.2.1 Overview of SOA

Since SOA was proposed by Gartner Inc. in the 1990s, information technology has been in development for near 20   years. The detailed explanation of the latest version of SOA can be establish in [21]. This department presents a brief introduction on SOA.

The concept of SOA is also in the process of irresolute and developing. Although at that place is not a widely acceptable definition for SOA, by and large it is defined every bit a component model facing service. It assembly the application units by well-divers interfaces and protocols.

Basically, SOA is a business-It-aligned approach in which applications rely on available services to facilitate business concern processes. A service is a self-contained reusable software component provided by a service provider and consumed by service requestors. SOA creates a vision of Information technology flexibility that enables business organization agility. Implementing an SOA mainly involves componentizing the enterprise and/or developing applications that use services, making applications available equally services for other applications to use, etc.

Read total affiliate

URL:

https://www.sciencedirect.com/scientific discipline/commodity/pii/B9780128023303000023

Core SOA Principles

James Edible bean , in SOA and Web Services Interface Design, 2010

Summary

SOA principles (i.e., loose coupling, interoperability, reusability, discoverability, and governance) provide disquisitional guidance for the blueprint and development of services and the service interface. Loose coupling helps to mitigate the impact of service changes to consumers. Interoperability helps to ensure that services can be used by consumers of near whatever engineering. Reusability optimizes the design and development procedure and helps to avoid new development costs. Discoverability supports reusability and requires that services are published in a manner that allows them to be easily establish (discovered) for later reuse.

SOA principles also serve as a foundation for SOA governance. SOA governance should consider 3 different lifecycle states or views: design-fourth dimension, bind-time, and run-fourth dimension. Design-time governance can include industry guidance as well as internal principles, patterns, and best practices. Bind-time governance is largely mechanical and helps to reserve the separation of environment boundaries of development, test, and product. Run-time governance applies policies to ESB-divers endpoints and ensures that appropriate actions are taken.

The emphasis of this book is on SOA and Spider web services. Nonetheless, in Chapter 3, "Web Services and Other Service Types and Styles," you'll acquire more than near other types of services that can be used in an SOA.

Read full affiliate

URL:

https://www.sciencedirect.com/science/article/pii/B9780123748911000022

Service Enablement of Client/Server Applications

Tom Laszewski , Prakash Nauduri , in Migrating to the Cloud, 2012

Publisher Summary

Service-oriented architecture (SOA) enablement allows one to use today's applied science to ameliorate the ROI from yesterday'south applications. SOA enablement is a corking way to start the procedure of migrating your customer/server applications. Today, with cooperative technologies such as SOA and the cloud, there are more options than ever for organizations to quickly respond to the needs of users and tie into their client/server applications. Using SOA enablement, 1 tin can quickly and painlessly get client/server awarding on the deject. This chapter delves into the LegaSuite solution to SOA-enable customer/server applications. The LegaSuite Workbench is a GUI-based, coding-gratuitous solution driven by industry standards such every bit state diagrams, XML, and, Spider web services. The LegaSuite Windows Integration Engine is a scalable, performant solution that can be deployed in a private or hybrid deject. The LegaSuite Windows Integration Engine does non use screen scraping. Considering LegaSuite for Windows is accessing controls, at that place is no demand to rely on using text recognition or other techniques that use a screenshot of an application equally their starting bespeak. For example, a Windows awarding can be minimized and still successfully driven by the LegaSuite Windows Integration Engine. The example studies at the finish of the chapter demonstrate how SOA enablement can allow one to integrate core client/server applications with the SOA initiatives, provide a unified view of all available data across different customer/server applications, preserve the business organization logic and extend the life of applications, and consolidate numerous manual workflows into one automated workflow.

Read full affiliate

URL:

https://world wide web.sciencedirect.com/science/article/pii/B9781597496476000090

Core Real-Fourth dimension Information Integration Technologies

April Reeve , in Managing Information in Motion, 2013

Service-oriented architecture (SOA)

Service-oriented architecture is a pattern principle in which software is designed and built in pieces that provide well-defined services when requested. The services may involve performing some activeness or returning some data or respond. Most current custom software development is designed and programmed using SOA. Vendor packages that can be purchased usually as well provide the adequacy to interact equally services that can be invoked through an API. Service-oriented architecture is particularly relevant in integration because the well-defined nature of the services directs the various systems and technologies on the protocol for interactions. SOA best practice principles include a loose coupling of services, such that the particular technology used in implementations of the various services should non be of involvement to users or applications trying to invoke those services, merely simply the event. Data services in SOA are those that either provide or update information.

The differences betwixt an ESB and an SOA are first that an ESB is a tool or engine whereas SOA is a design philosophy, and 2d, that ESB is usually used in a heterogeneous application environment of differing technologies that want to pass information around, whereas SOA implies a more than heterogeneous technology environment. An ESB might be connecting some applications that have been written as services, only usually includes applications that have non been written consistently and and then the ESB provides the needed layers of technical translation and transformation. If all applications that need to interact have been developed using consequent standards and protocols, so an ESB might exist unnecessary, but information technology still provides the orchestration necessary for the interactions. In the real world of integrating new applications with older legacy applications, an ESB is needed. Coding the overhead of orchestration of the interactions of the application into the code of the application software would exist a great burden that is easier to offload onto the specialized ESB technology, just every bit nosotros offload the overhead of data storage to a database management system.

A scrap of tension exists between efficient real-time data integration solutions and pure service-oriented architecture. Software designers and awarding architects may want to implement all things in an application as services, in order to stay true to the pattern principles of SOA. Nonetheless, in near applications it may be more than efficient for the awarding programmers to understand how the data is actually being accessed, such every bit through an ESB or a database management system (DBMS), and designed and coded co-ordinate to the efficiencies of the underlying data solutions. This issue can exist contentious. Much of the functionality of the service layer, or code, effectually a data service, such as security admission checking, may be redundant, duplicating the services performed past the underlying database management software. Solutions coded to recall or update information that don't have into account the underlying solution may exist so slow as to be unworkable, with unacceptable delay in response, or latency.

Improvements in solutions and technologies have started to make the need to empathise the underlying implementation of data services somewhat less necessary. Meet the discussion of data virtualization in Affiliate xx later in this volume. Achieving balance of data integration solutions and SOA working together depends on finding the correct balance in granularity when defining services. For operational efficiency, it is not a skilful idea to ascertain data services of also fine granularity; it is meliorate to ascertain awarding services that perform recognizable concern functions. Again, this may contrast with some SOA design principles, but in do it may exist necessary to loosen some pure theory in order to achieve amend performance efficiency.

Service-oriented architectures include a registry of available services and how they are invoked. Although originally the protocol used with SOA was SOAP (simple object access protocol), it has get common to use alternative protocols such as REST (REpresentational State Transfer).

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780123971678000133

Web Services and Service-Oriented Architectures

Douglas K. Barry , David Dick , in Web Services, Service-Oriented Architectures, and Cloud Computing (Second Edition), 2013

Service-Oriented Architecture Explained

SOA is manner to design, implement, and gather services to support or automate business functions. SOA is not a new concept. The offset SOA for many people was in the 1990s with the use of Microsoft'southward DCOM or Object Request Brokers (ORBs) based on the CORBA specification. 4 The basic thought goes dorsum even further to the concept of information hiding that creates an interface layer in a higher place underlying systems.

Human relationship of Web Services and SOA

Figure three.14 uses a Venn diagram to illustrate the human relationship between SOA and Web services. The overlapping expanse in the center represents SOA using Web services for connections. The nonoverlapping area of Web services represents that Web services tin be used for connections, just connections alone exercise not make for an SOA. The non-overlapping area of SOA indicates that an SOA can utilize Spider web services equally well equally connections other than Web services (the original specifications of CORBA and DCOM are examples).

Figure three.14. Relationship of Web services and SOA.

Identification and Design of Services

Key to SOA is the identification and blueprint of services. The idea is that services should be designed in such a way that they become components that tin be assembled in multiple ways to support or automate business functions. It is not necessarily piece of cake to properly place and design services. When done well, the services allow an organization to quickly assemble services—or modify the assembly of services—to add or modify the back up or automation of business functions. Here are basic concepts related to services:

Atomic service: An atomic service is a well-defined, self-independent function that does not depend on the context or country of other services. Generally, an atomic service would be seen as fine grained or having a effectively granularity.

Composite service: A composite service is an assembly of atomic or other blended services. The ability to assemble services is referred to as composability. Composite services are also referred to every bit chemical compound services. Generally, a composite service would be seen every bit fibroid grained or having a larger granularity.

Loosely coupled: This is a design concept where the internal workings of one service are not "known" to another service. All that needs to be known is the external behavior of the service. This way, the underlying programming of a service tin be modified and, every bit long as external beliefs has non changed, anything that uses that service continues to function as expected. This is similar to the concept of information hiding that has been used in information science for a long time.

The design challenge is to find a residue between fine-grained and coarse-grained services to minimize communication overhead all the same keep the services loosely coupled. Chapter x provides an approach for designing atomic and blended services.

Service-Oriented Architecture

And so, what exactly does a service-oriented architecture wait like? Allow'southward offset with a service provider. Whatsoever given service provider could provide multiple services. Multiple services are represented in Effigy iii.15 by the modest circles. Services are lawmaking—running on an underlying figurer system—that provide computing also as access and updates to stored data.

Figure iii.xv. Services in a service provider.

Services are assembled to back up or automate business organization functions. Effigy 3.16 illustrates the assembly of services. This represents an SOA. Web services are used to connect the services in an SOA.

Effigy 3.sixteen. Assembly of services into an SOA.

The services in an SOA tin come up from any service provider (which, equally mentioned earlier, can also be a service consumer). So, in a given SOA, the services might be from internal systems along with any number of external systems accessible anywhere on the Internet. This is illustrated by Effigy 3.17.

Figure 3.17. Instance sources of services in an SOA.

It is like shooting fish in a barrel to imagine that you can reassemble the aforementioned services with other services to achieve a dissimilar functionality. This ability to change the assembly of services is one style that an SOA can quickly suit to changing business concern needs.

It is also easy to imagine the number of available services chop-chop expanding to some unmanageable number. That is one reason why governance is important. Governance applies a structure and command over an organization's apply of services. Chapter 12 will hash out governance in more item.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780123983572000038

Performance Assay and Optimization Techniques

James Bean , in SOA and Web Services Interface Pattern, 2010

Publisher Summary

Although service-oriented architecture (SOA) promotes the benefits of interoperability, reuse, and rapid development, poor operation will spell disaster. The SOA architect and service designer must include strong consideration for performance, capacity, and scale in the design process. At that place are several contributing factors to evaluate and optimize SOA and Web services, and each can significantly touch the overall functioning of the SOA. Consideration should be given to the complication of the internal consumer and service beliefs, the ESB, security requirements, and design of the message. Code reviews including a view toward performance are strongly recommended. ESB is the primary SOA engineering science capability and component. If the ESB does not have sufficient capacity or it cannot calibration to meet demand, latency will consequence. Selecting the ESB should include consideration for point in fourth dimension operation requirements, also every bit longer-term growth and trending. Accelerators are technologies that have been optimized for specialized processing such as XML validation and XML message transformation. Ensuring security of the SOA, service interactions, messages, and data are critical. There are many approaches to securing an SOA or Web service, and many volition crave additional or specialized processing such as encryption and decryption. The complexity and size of a message is perhaps the well-nigh obvious and easily optimized area of an SOA. Validation of XML-encoded letters is another potential surface area of performance impact. Validation can help to ensure compliance with the service interface contract and too abstention of data anomalies in the message.

Read full chapter

URL:

https://www.sciencedirect.com/science/commodity/pii/B9780123748911000198

A model-driven method for the design-time performance analysis of service-oriented software systems

Paolo Bocciarelli , Andrea D'Ambrogio , in Modeling and Simulation of Computer Networks and Systems, 2015

Service-oriented architecture (SOA) is one of the prominent architectural paradigms recently adopted in the software development field. According to SOA principles, a distributed software system can be seen as an orchestration of software services deployed and executed onto networked hosts. The design-time assay of SOA-based software systems demands new approaches that take into account both the inherent complexity and the architectural characteristics of such systems. In this respect, simulation-based approaches take proven to be effective to obtain quantitative predictions of system performance. Specifically, this chapter explains distributed simulation equally a valuable technique to deal with the intrinsic distributed nature of SOA-based systems. Unfortunately, the adoption of distributed simulation requires a significant expertise and a considerable endeavor due to the complexity of currently available distributed simulation standards and technologies. This chapter introduces an automatic method to reduce the effort and make distributed simulation easier to use. The method takes as input a blueprint model of the SOA-based software system and yields every bit output the corresponding simulation model, ready to exist deployed and transparently executed onto either a local or a distributed simulation engine. The design model is specified as a UML (Unified Modeling Language) model extended by use of the SoaML (Service-oriented compages Modeling Language) profile, while the simulation model is specified in jEQN, a domain-specific linguistic communication for the simulation of EQN (Extended Queueing Network) models. jEQN is part of SimArch, a layered architecture that eases the use of distributed simulation by hiding all the implementation details of the distributed execution platform. The proposed method is founded on the utilize of automated model transformations, with specific reference to standards and languages provided by the MDA (Model Driven Architecture). The joint use of automated model transformations and SimArch allows the user to effortlessly obtain, at design time, the performance-oriented distributed simulation model of the SOA-based arrangement under development, thus giving arrangement designers the ability to predict the functioning behavior of the to-be system and/or to evaluate the affect on functioning of different pattern alternatives. The affiliate also presents an instance application that shows how involved stakeholders tin effectively benefit from the application of the proposed method.

Read total chapter

URL:

https://world wide web.sciencedirect.com/scientific discipline/article/pii/B9780128008874000146

Principles of Parallel and Distributed Calculating

Rajkumar Buyya , ... Due south. Thamarai Selvi , in Mastering Deject Computing, 2013

2.five.3.ii Service-oriented architecture (SOA)

SOA [20] is an architectural manner supporting service orientation. 5 It organizes a software system into a collection of interacting services. SOA encompasses a set of blueprint principles that structure arrangement development and provide means for integrating components into a coherent and decentralized organisation. SOA-based computing packages functionalities into a prepare of interoperable services, which can be integrated into dissimilar software systems belonging to separate business domains.

There are two major roles within SOA: the service provider and the service consumer. The service provider is the maintainer of the service and the organisation that makes bachelor 1 or more services for others to apply. To annunciate services, the provider tin publish them in a registry, together with a service contract that specifies the nature of the service, how to employ it, the requirements for the service, and the fees charged. The service consumer tin locate the service metadata in the registry and develop the required client components to bind and use the service. Service providers and consumers can vest to dissimilar organization bodies or business domains. Information technology is very common in SOA-based computing systems that components play the roles of both service provider and service consumer. Services might amass information and data retrieved from other services or create workflows of services to satisfy the asking of a given service consumer. This practice is known every bit service orchestration, which more than generally describes the automated arrangement, coordination, and direction of complex reckoner systems, middleware, and services. Another important interaction design is service choreography, which is the coordinated interaction of services without a unmarried point of control.

SOA provides a reference model for architecting several software systems, especially enterprise business applications and systems. In this context, interoperability, standards, and service contracts play a fundamental office. In detail, the following guiding principles [108], which characterize SOA platforms, are winning features within an enterprise context:

Standardized service contract. Services adhere to a given communication agreement, which is specified through one or more than service clarification documents.

Loose coupling. Services are designed as self-contained components, maintain relationships that minimize dependencies on other services, and merely require being aware of each other. Service contracts will enforce the required interaction among services. This simplifies the flexible aggregation of services and enables a more agile design strategy that supports the development of the enterprise business.

Abstraction. A service is completely defined by service contracts and description documents. They hide their logic, which is encapsulated within their implementation. The apply of service clarification documents and contracts removes the demand to consider the technical implementation details and provides a more intuitive framework to define software systems within a business context.

Reusability. Designed as components, services can exist reused more effectively, thus reducing development time and the associated costs. Reusability allows for a more than active blueprint and cost-constructive system implementation and deployment. Therefore, it is possible to leverage third-party services to deliver required functionality by paying an appropriate fee rather developing the same adequacy in-house.

Autonomy. Services have command over the logic they encapsulate and, from a service consumer indicate of view, there is no demand to know about their implementation.

Lack of country. By providing a stateless interaction pattern (at least in principle), services increment the take chances of being reused and aggregated, especially in a scenario in which a single service is used by multiple consumers that belong to different administrative and business organisation domains.

Discoverability. Services are defined past clarification documents that institute supplemental metadata through which they tin can be effectively discovered. Service discovery provides an effective ways for utilizing 3rd-party resources.

Composability. Using services as building blocks, sophisticated and complex operations tin be implemented. Service orchestration and choreography provide a solid support for composing services and achieving business goals.

Together with these principles, other resources guide the use of SOA for enterprise application integration (EAI). The SOA manifesto six integrates the previously described principles with general considerations about the overall goals of a service-oriented arroyo to enterprise application software blueprint and what is valued in SOA. Furthermore, modeling frameworks and methodologies, such every bit the Service-Oriented Modeling Framework (SOMF) [110] and reference architectures introduced by the Organization for Advancement of Structured Data Standards (Haven) [110], provide means for effectively realizing service-oriented architectures.

SOA tin be realized through several technologies. The first implementations of SOA have leveraged distributed object programming technologies such equally CORBA and DCOM. In particular, CORBA has been a suitable platform for realizing SOA systems because information technology fosters interoperability amidst different implementations and has been designed every bit a specification supporting the development of industrial applications. Present, SOA is by and large realized through Spider web services technology, which provides an interoperable platform for connecting systems and applications.

Read full chapter

URL:

https://www.sciencedirect.com/scientific discipline/commodity/pii/B9780124114548000024

Domain 3

Eric Conrad , ... Joshua Feldman , in Eleventh Hour CISSP® (Third Edition), 2017

Service-oriented architecture

Service-oriented architecture (SOA) attempts to reduce application architecture down to a functional unit of a service. SOA is intended to allow multiple heterogeneous applications to be consumers of services. The service can exist used and reused throughout an organisation rather than built within each individual awarding that needs the functionality offered past the service.

Services are expected to exist platform independent and able to be called in a generic way that is too independent of a item programming language. The intent is that that any awarding may leverage the service simply by using standard means available within their programming language of option. Services are typically published in some form of a directory that provides details virtually how the service can exist used and what the service provides.

Though web services are non the simply example, they are the most common instance provided for the SOA model. XML or JavaScript Object Notation (JSON) is commonly used for the underlying data structures of spider web services. Soap, originally an acronym for Simple Object Access Protocol, merely now simply Soap, or REST (Representational Land Transfer) provides the connectivity, and the WSDL (Web Services Clarification Language) provides details about how the web services are to exist invoked.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780128112489000036

Service-Oriented Compages

Fred A. Cummins , in Building the Agile Enterprise, 2009

SOA enables the sharing of business organisation capabilities where those capabilities may be used in a variety of business contexts. SOA provides the transparency that allows a shared adequacy to be provided by a service unit within the enterprise or as a service of a different enterprise. This offers the following business benefits:

Economies of scale are realized through sharing resources and optimizing utilise of those resources.

Quality and productivity are improved by enabling the development of special skills and capabilities that would non be justified for multiple, smaller operating activities.

Improved consistency and control are accomplished by placing responsibility for management of a capability in a unmarried organization.

Distributed operations are enabled through loose coupling and Internet-based communication of interactions between service units.

Procedure optimization is enhanced past enabling each service unit to optimize the processes of the services information technology provides, with minimal impact on other service units.

Greater balls of regulatory compliance can be achieved through consolidation of regulated processes and related business concern functions.

The enterprise gains the ability to use the almost effective alternative sources of services such as outsourcing or operations in other countries.

Read total chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780123744456000029