SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
RAMCO INSTITUTE OF TECHNOLOGY
Department of Computer Science and Engineering
Academic Year: 2019- 2020 (Odd Semester)
--------------------------------------------------------------------------------------------------
Degree, Semester & Branch: VII Semester B.E. Computer Science and Engineering.
Course Code & Title: IT6801 Service Oriented Architecture.
Name of the Faculty member: Dr.M.Kaliappan, Associate Professor/CSE
UNIT III SERVICE ORIENTED ARCHITECTURE
Characteristics of SOA, Comparing SOA with Client - Server and Distributed
architectures – Benefits of SOA --Principles of Service orientation –Service layers
--------------------------------------------------------------------------------------------------
• Objective
– Understand the key principles behind SOA
• Outcome
– Describe the characteristics and principles of service oriented architecture.
1. Service-oriented architecture (2 marks)
• Service Oriented architecture is a term that represents a model in which automation
logic is decomposed into smaller, distinct units of logic. Collectively, these units
comprise a larger piece of business automation logic. Individually, these units can be
distributed.
• Within SOA, these units of logic are known as services
1.1. Evolution of SOA
From XML to Web services to SOA
• XML
– XML used to represent data in a standardized manner.
– The XML data architecture represents the foundation layer of SOA. Within
it, XML establishes the format and structure of messages traveling
throughout services.
• Web service (2 marks)
– A web service is a piece of software that makes itself available over the
internet and uses a XML messaging system
• SOA
– Defined SOA as an architecture modeled around three basic components:
• the service requestor,
• the service provider,
• the service registry
1.2 Fundamentals of SOA
A service-oriented analogy
• SOA encourages individual units of logic to exist autonomously.
• Units of logic are required to conform to a set of principles. Within SOA, these units of
logic are known as services
How services encapsulate logic
• Services encapsulate logic within a context. This context can be specific to a business
task, a business entity, or other logical grouping.
• Further, service logic can encompass the logic provided by other services. In this case,
one or more services are composed into a collective.
• The logic is decomposed into a series of steps that execute in predefined sequences
according to business rules and runtime conditions
1.2.1 How services relate (2 marks)
• Within SOA, services can be used by other services or other programs. The relationship
between services is based on anservice descriptions.
• A service description is a basic format establishes the name of the service and the data
expected and returned by the service.
• For example, Figure illustrates that service A is aware of service B because service A is
in possession of service B's service description.
1.2.2 How service communicate( 2marks)
• Services provide service descriptions and communicate via messages form a basic
architecture.
• After a service sends a message on its way, it loses control of what happens to the
message thereafter. That way it exists as "independent units of communication."
This means services be autonomous.
1.2.3 How services are designed
• service-orientation has become a distinct design approach which introduces
accepted principles that govern the positioning and design of our architectural
components
Ex: Airline reservation systems.
1.3 Common characteristics of SOA (16 marks)
• SOA is at the core of the service-oriented computing platform.
– computing platform consisting of Web services technology and service-
orientation principles
• SOA increases quality of service.
• SOA is fundamentally autonomous.
– individual services be as independent and self-contained
• SOA is based on open standards.
• SOA supports vendor diversity.
• SOA fosters intrinsic interoperability.
• SOA promotes discovery.
• SOA promotes federation.
• SOA promotes architectural composability.
• SOA fosters inherent reusability.
• SOA emphasizes extensibility.
• SOA supports a service-oriented business modeling paradigm.
• SOA implements layers of abstraction.
• SOA promotes loose coupling throughout the enterprise.
• SOA promotes organizational agility.
• SOA is a building block.
• SOA is an evolution.
• SOA is still maturing.
• SOA is an achievable ideal.
1.3.1 Common quality of service requirements, such as:
• The ability for tasks to be carried out in a secure manner and protecting the contents of
a message.
• Allowing tasks to be carried out reliably so that message delivery or notification of
failed delivery can be guaranteed.
• Transactional capabilities to protect the integrity of specific business tasks with a
guarantee.
1.3.2 SOA is based on open standards
• Data exchange is governed by open standards. Message travels via a set of protocols
that is globally standardized and accepted.
• The use of SOAP, WSDL, XML, and XML Schema allow for messages to be fully self-
contained and support the underlying agreement that to communicate,
• SOAs fully reinforce open, vendor-neutral communications framework.
•
1.3.3 SOA supports vendor diversity
1.3.4 SOA promotes discovery
• SOA supports and encourages the advertisement and discovery of services
throughout the enterprise and beyond
• Web services standards included UDDI
1.3.5 SOA fosters intrinsic interoperability
Further leveraging and supporting the required usage of open standards, a vendor diverse
environment, and the availability of a discovery mechanism, is the concept of intrinsic
interoperability
1.3.6 SOA emphasizes extensibility
Extending entire solutions can be accomplished by adding services or by merging with other
service-oriented applications
1.3.7 Contemporary SOA promotes federation
• SOA introduce unity across previously non-federated environments.
• While Web services enable federation, SOA is establishing ability to encapsulate
legacy and non-legacy application logic and by exposing it via a common, open, and
standardized communications framework
1.3.8 SOA promotes architectural composability
• Different solutions can be composed of different extensions and can continue to
interoperate as long as they support the common extensions.
1.3.9 Contemporary SOA fosters inherent reusability
• SOA establishes an environment that promotes reuse on many levels.
• Collections of services that form service compositions can themselves be reused by larger
compositions
1.3.10 Contemporary SOA supports a service-oriented business modeling paradigm
• Partitioning business logic into services that composed that has significant implications
how business processes can be modeled.
1.3.11 Contemporary SOA implements layers of abstraction
• SOAs introduce layers of abstraction by positioning services as the sole access points to
a variety of resources and processing logic.
• Business and application logic can be abstracted and reside in separate service layer.
• Application logic created with proprietary technology can be abstracted using service
layer.
1.3.12 Contemporary SOA promotes loose coupling throughout the enterprise
• A loosely coupled service is the resulting independence of service logic.
• Services require an awareness of each other, allowing them to evolve independently.
• Service layers abstract business and application logic, the loose coupling paradigm can
be applied to the enterprise as a whole.
1.3.13 Contemporary SOA promotes organizational agility
• Whether the result of an internal reorganization, a corporate merger, a change in an
organization's business scope, or technology platform, an organization's ability to
accommodate change.
• By leveraging service business representation, service abstraction, and the loose
coupling between business and application logic provided by use of service layers, SOA
offers the potential to increase organizational agility.
• A loosely coupled relationship between business and application technology allows
each end to more efficiently respond to changes in the other
1.3.14 Contemporary SOA is a building block
• Service-oriented application architecture will be one of several within an organization
committed to SOA as the standard architectural platform.
• Organizations standardizing on SOA work toward an ideal known as the service-
oriented enterprise (SOE), where all business processes are composed of and exist as
services, both logically and physically
1.4 The roots of SOA (comparing SOA to past architectures) (16 marks)(Nov2017)
Architecture:
Architecture is a template or framework that defined the technology, boundaries, rules,
limitations, and design characteristics that apply to all solutions.
• Application architecture
• Enterprise architecture
• Service-oriented architecture
Application architecture (2 marks)
• Application architecture is to an application development team build a blueprint for
solutions.
• Different organizations document different levels of application architecture. Some
keep it high-level, providing abstract physical and logical representations of the
technical blueprint.
• Others include more detail, such as common data models, communication flow
diagrams, security requirements, and aspects of infrastructure.
• It is not uncommon for an organization to have application architectures.
• A single architecture document represents a distinct solution environment. For example,
an organization that houses both .NET and J2EE solutions would have separate
application architecture specifications for each.
Enterprise architecture (2 marks)
• Common for a master specification to be created, providing a high-level overview of all
forms of heterogeneity that exist within an enterprise,
• Enterprise architectures contain a long-term vision of how the organization plans to
evolve its technology and environments.
• Finally, this document defines the technology and policies behind enterprise-wide
security measures. However, these are isolated into a separate security architecture
specification.
Service-oriented architecture (2 marks)
• Service-oriented architecture spans both enterprise and application architecture domains.
• SOA can be applied across multiple solution environments.
• SOA is used in building reusable and interoperable services based on a vendor-neutral
communications platform.
• An SOA is used to standardize technical architecture across the enterprise
1.4.1 Comparing SOA with client-server architecture (8 marks) (April-2016)
• Any environment in which one piece of software requests or receives information from
another can be referred to as "client-server."
• Every variation of application architecture that existed has an element of client-server
interaction in it
• The monolithic mainframe systems empowered organizations to get computerized are
considered the first inception of client-server architecture.
• This environment, in which bulky mainframe back-ends served thin clients, are
considered an implementation of the single-tier client-server architecture
• EX: , diskless nodes , Web centric thin client
1.4.1.1 Two-tier of the client-server
• This new approach introduced delegating logic and processing duties onto individual
workstations, called as fat client.
• Further, graphical user-interface (GUI) was considered in two-tier client-server.
• The common configuration of this architecture consisted of multiple fat clients, each with
its own connection to a database on a central server.
• Client-side software performed the bulk processing, including all presentation-related and
most data access logic. Ex: scalable RDBMSs.
• Application logic
– Client-server environments place application logic into the client software. that
controls the user experience, as well as the back-end database .Ex: Servlet, JSP,
Database
– Business rules relating to data is stored within stored procedures and triggers on
the database.
– The presentation layer within service-oriented solutions is a piece of software
capable of exchanging SOAP messages according to required service contracts.
– However, service-oriented design partitioning of processing logic into
autonomous units. This facilitates specific design qualities, such as service
statelessness and interoperability, as well as composability and reusability.
• Application processing
– The client workstation is responsible for the bulk processing. The 80/20 ratio is
used as a rule, with the database server performing twenty percent of the work.
– User workstations are required to run client programs so that all available
resources (memory, CPU, software) can be offered to the application.
– Each client establishes its own database connection. Communication is
synchronous, and database connections are persistent.
– Processing in SOA is highly distributed. Each service has an explicit functional
boundary and related resource requirements.
– Enterprise solutions consist of multiple servers, each hosting sets of Web
services and supporting middleware. There is no fixed processing ratio for
SOAs. Services can be distributed as required.
– Communication between service and requestor can be synchronous or
asynchronous. This promotes the stateless and autonomous nature of services.
• Technology
• 4GL programming languages,
– Visual Basic and PowerBuilder.
– Database vendors,
• Oracle, Informix, IBM, Sybase, and Microsoft.
• The technology set used by SOA
– Visual Basic still can be used to create Web services, and relational
databases.
– Web technologies
• (HTML, CSS, HTTP, XML, J2EE,.NETetc.)
• SOA components
– XML, SOAP,WSDL,UDDI, J2EE, .NET
• Security
– The one part of client-server architecture is centralized at the server level is
security.
– Databases are sufficiently sophisticated to manage user accounts and groups.
– Security limiting access to a part of a user-interface to select users.
– Additionally, operating system-level security can be incorporated to achieve a
single sign-on
– The advantages of SOA with client server, corporate data is protected via a
single point of authentication, establishing a single connection between client
and server.
– In the distributed world of SOA, this is not possible. Security becomes a
significant complexity
– Multiple technologies are involved which comprise the WS-Security framework
• Administration
– The client-server era was increased large maintenance costs associated with the
distribution and maintenance of application logic across user workstations.
– Maintenance issues spanned both client and server ends. Client workstations
were environment-specific problems because different workstations have
installed different software programs and purchased. Further, there were
increased server-side demands on databases.
– Service-oriented solutions have a variety of requestors; While their distributed
back-end accommodate scalability for application and database servers.
– In SOA, new administration demands can be introduced. The management of
server resources and service interfaces require powerful administration tools
including the use of a private registry
.
1.4.1.2 Comparing SOA with distributed Internet architecture (8marks) (Nov2017)
• Distributed architecture could be designed as SOAs.
• Multi-tier client-server architectures
– The objective is to build component-based applications (COM,DCOM, EJB)
– It breaking up the monolithic client into components designed.
– Distributing application logic among multiple components reduced deployment
headaches by centralizing a greater amount of the logic on servers.
– Server-side components located on dedicated application servers that share and
manage pools of database connections. A single connection could easily
facilitate multiple users.
– Issues
• burden of concurrent usage on the database server shifting expense and
effort from deployment
• Replacing client-server database connections was the client-server remote
procedure call (RPC) connection.
• RPC technologies such as CORBA and DCOM allowed for remote
communication between components residing on client workstations and servers.
• Issues
– Problems involving resources and persistent connections.
– Increased maintenance effort for introduction of the middleware layer.
1.4.1.2.1 Distributed Internet Architecture
• World Wide Web is a computing technology in this era that began incorporating
Internet technology.
• Replacement of the software client component with the browser.
• Distributed Internet architecture introduced a new physical tier called Web server.
• HTTP replacing proprietary RPC protocols used to communicate between the
user's workstation and the server.
• Application logic
o Distributed Internet applications place all of the application logic on the server side.
Even client-side scripts intended to execute in response to events on a Web page are
downloaded from the Web server upon the initial HTTP request.
o With none of the logic existing on the client workstation, the entire solution is
centralized.
o The emphasis are :
o how application logic should be partitioned
o where the partitioned units of processing logic should reside
o how the units of processing logic should interact
o From a physical perspective, service-oriented architecture is very similar to
distributed Internet architecture.
o Traditional distributed applications consist of a series of components that reside on
application or web servers.
o Components are designed with varying functionality and reusability.
o Components residing on the same server communicate via proprietaryAPIs (RPC).
o RPC protocols are used to accomplish the communication across server boundaries.
This is made possible with help of local proxy stubs that represent components in
remote locations
– Contemporary SOAs still rely on components. However, the entire modeling
approach creates services with service-orientation principles that encapsulate all of
these components..
– The purpose of wrapping functionality within a service is to expose the
functionality via an open, standardized interface irrespective of the technology used
to implement the underlying logic.
– While traditional components provide methods that invoked once, send and receive
parameter data and Web services communicate with SOAP messages.
• Application processing
– Distributed Internet architecture promotes the proprietary communication
protocols such as DCOM and CORBA for remote data exchange.
– They are efficient and reliable. They can support the creation of stateful and
stateless components that interact with synchronous data exchanges.
– In SOA, relies on message-based communication. The messaging framework
promotes the creation of autonomous services
– In SOA, processing steps involved the conversion of relational data into an XML-
compliant structure, the validation of the XML document, and the parsing of the
document.
– RPC communication is faster than SOAP.
– Issue
• Processing overhead becomes a significant design issue
• Technology
• Distributed Internet architecture Technologies Components,
• Web technologies such as HTML and HTTP
• Server-side scripts such as Selvelt, JSP, PHP, .NET
• Middleware such as EJB, IBM WebSphere, Oracle WebLogic, JBoss EAP.
• XML
• It introduced data representation.
• Web services
• Allows distributed Internet applications to cross proprietary platform.
• Current distributed applications use XML and Web services those based
on SOA.
• Security
– When application logic is span across multiple physical layers, implementing
fundamental security measures such as authentication and authorization
becomes difficult.
– A server-side connection facilitates the identification of users and need the safe
transportation of corporate data.
– When data is travel across different physical layers, new security approaches
such as delegation and impersonation are needed.
– Cryptography techniques Encryption is added to open HTTP protocol.
– SOA
• WS-Security framework emphasizes the placement of security logic onto
the messaging level.
• SOAP messages provide header blocks in which security logic can be
stored.
• Administration
– Maintaining component-based applications involves
• keeping track of individual component instances,
• tracing local and remote communication problems,
• monitoring server resource demands,
• Database administration tasks.
– Distributed Internet architecture further introduces the Web server maintenance
– Enterprise-level SOAs require runtime administration maintenance.
– Problems with messaging frameworks that undetected than with RPC-based data
exchanges.
– Administration effort is expected to high for Exception handling with messaging
frameworks. WS-* extensions provide better solution with these situations.
– Other maintenance tasks, such as resource management, reusability and
composability, infrastructure for enterprises Web services and private registry
1.5 Benefits of SOA (2 marks) (April-2016) or (8 marks)
• Improved integration (and intrinsic interoperability)
• Inherent reuse
• Streamlined architectures and solutions
• Leveraging the legacy investment
• Establishing standardized XML data representation
• Focused investment on communications infrastructure
• "Best-of-breed" alternatives
• Organizational agility
• Improved integration (and intrinsic interoperability)
– SOA provide the solutions that consist of inherently interoperable services.
– Interoperable services are part of service-oriented integration (SOI) that
provides service-oriented integration architecture.
• Inherent reuse
– Service-orientation promotes the design of services that are reusable.
– Services fulfill immediate application-level requirements while supporting a reuse.
– Reusable services increased development effort and reduced the development cost
• Streamlined architectures and solutions
– The WS-* platform is based on the principle of composability.
– composability can lead to optimized automation environments where the
technologies required become part of the SOA architecture.
– Streamlined solutions and architectures reduced processing overhead and
reduced skill-set requirements
• Leveraging the legacy investment
– Web service technology enables legacy environments to participate in service-
oriented integration architectures.
– This allows isolated legacy environments can interoperate without requiring the
development expensive in IT departments.
– The cost and effort of integrating legacy solutions is lowered
• Establishing standardized XML data representation
– SOA is built and driven by XML. A standardized data representation format can
reduce the complexity of application environments.
– XML documents and accompanying XML Schemas passed between different
applications in standardize format. It easily extensible and adaptable in
communications network.
– The standardized data representation provides interoperability.
• Focused investment on communications infrastructure
– Web services establish a communications framework, SOA can centralize inter-
application and intra-application communication in IT infrastructure.
– This allows organizations to evolve enterprise-wide infrastructure by investing in
a single technology set (XML, SOAP, WSDL, and UDDI) responsible for
communication.
– The cost of scaling communications infrastructure is reduced, as only one
communications technology is required to support for all need
• "Best-of-breed" alternatives
– Service-oriented enterprise environments support "best-of-breed" technology.
Because SOA establishes a vendor-neutral communications framework.
– It does the quality of business automation
• Organizational agility
– Change can be disruptive, expensive, and damaging to IT environments.
– A standardized technical environment comprised of loosely coupled,
composable, interoperable and reusable services establishes an adaptive
automation environment for IT departments.
– SOA can establish a loosely coupled relationship between two enterprise
domains. This allows each enterprise domain to evolve independently and adapt
to changes imposed by the other.
– The cost and effort is reduced to adapt the business or technology-related
changes
1.6 Common pitfalls or drawback of adopting SOA ( 2 marks)
• Building service-oriented architectures like traditional distributed architectures
– Creation of non-composable (or semi-composable) services.
– Creation of hybrid or non-standardized services
• Not standardizing SOA
• Not creating a transition plan
• Not starting with an XML foundation architecture
• Not understanding SOA performance requirements
• Not understanding Web services security
• Not keeping in touch with product platforms and standards development
1.7 Common principles of service-orientation (16 marks) (Nov-2017)
• Service-orientation is followed roots of software engineering theory known as
"separation of concerns." This theory is break down a large problem into a series of
individual concerns. This allows the logic required to solve the problem to be
decomposed into a collection of smaller pieces of logic. Each piece of logic addresses a
specific concern.
• Separation of concerns is achieved a through the use of objects, classes, and
components.
• Service-orientation can be realizing a separation of concerns.
– Services are reusable.
– Services share a formal contract e.
– Services are loosely coupled Services.
– Services abstract underlying logic.
– Services are composable.
– Services are autonomous.
– Services are stateless.
– Services are discoverable
1.7.1 Services are reusable
• Service-orientation encourages reuse in all services.
• This principle facilitates all forms of reuse, including inter-application interoperability,
composition, and the creation of cross-utility services.
• The logic encapsulated by the individual operations that must be reusable to warrant
representation as a reusable service.
1.7.2 Services share a formal contract
• Service contracts provide a formal definition of:
– the service endpoint
– each service operation
– every input and output message supported by each operation
– rules and characteristics of the service and its operations
1.7.3 Services are loosely coupled
• Loose coupling is a condition wherein a service acquires knowledge of another service
while still remaining independent of that service.
• Loose coupling is achieved through the use of service contracts that allow services to
interact within predefined parameters
1.7.4 Services abstract underlying logic
• Also referred to as service interface-level abstraction,
• This principle allows services to act as black boxes, hiding their details from the outside
world.
• The scope of logic represented by a service influences the design of its operations and
its position within a process
1.7.5 Services are composable
• A service can represent the logic from any types of sources including other services.
• This principle is irrespective of whether the service itself composes other services to
accomplish its work.
• Composability is the concept of orchestration.
The UpdateEverything operation encapsulating a service composition
1.7.6 Services are autonomous
• Autonomy requires that the range of logic exposed by a service exist within an explicit
boundary. This allows the service to execute self-governance of all its processing. It
also eliminates dependencies on other services
1.7.7 Services are stateless
• Services minimize the state information they manage and the duration for which they
hold it.
• State information is data-specific to a current activity. While a service is processing a
message, for example, it is temporarily stateful.
• If a service is responsible for retaining state for longer periods of time, it prevents other
service execution.
Statelessness is a preferred condition for services and that promotes reusability and scalability.
1.7.8 Services are discoverable
• Discovery helps avoid the accidental creation of redundant services that implement
redundant logic.
• Because each operation provides a reusable piece of processing logic, metadata
attached to a service needs the functionality offered by its operations
1.7.9 How service-orientation principles inter-relate (8 marks)
 Service autonomy establishes an execution environment that facilitates reuse because
the service has reusable functionality.
 Service statelessness supports reuse because it maximizes the availability of a service.
 Service abstraction fosters reuse because it establishes the black box concept.
 Service discoverability promotes reuse, as it allows requestors to search for and
discover reusable services.
 Service loose coupling establishes an inherent independence that frees a service.
1.8 Anatomy of a service-oriented architecture (8 marks)
1.8.1 Logical components of the Web services framework (8 marks)
– The communications framework established by Web services.
– each Web service contains one or more operations
– Each operation governs the processing of a specific function the Web
service. The processing consists of sending and receiving SOAP messages
1.8.2 Logical components of automation logic
• The Web services framework establishes a modularized perspective of how automation
logic, as a whole, can be comprised of independent units.
• It abstract the following fundamental parts of the framework
– SOAP messages
– Web service operations
– Web services
– activities
– processes (and process instances)
• Web service activity is used to represent the temporary interaction of a group of Web
services; a process is a static definition of interaction logic.
• An activity is an instance of a process wherein a group of services follow a particular
path through the process logic to complete a task.
• Automation logic is comprised of the four identified parts.
– messages = units of communication
– operations = units of work
– services = units of processing logic (collections of units of work)
– processes = units of automation logic (coordinated aggregation of units of work)
Messages are a suitable communicate for all units of processing logic (services)
1.8.3 Components of an SOA (2 marks)
• A component establishes an enterprise logic abstraction.
• A message represents the data required to complete some or all parts of a unit of work.
• An operation represents the logic required to process messages to complete a unit of
work
• A service represents a logically grouped set of operations capable of performing related
units of work.
• A process contains the business rules that determine which service operations are used
to complete a unit of automation
1.8.4 How components in an SOA inter-relate (8marks)
• An operation sends and receives messages to perform work.
• An operation is therefore mostly defined by the messages it processes.
• A service groups a collection of related operations.
• A service is therefore mostly defined by the operations that comprise it.
• A process instance can compose services.
• A process instance is not necessarily defined by its services because it require a subset
of the functionality offered by the services.
• A process instance invokes a unique series of operations to complete its automation.
• Every process instance is partially defined by the service operations it uses.
A service-oriented architecture is an environment standardized according to the principles of
service-orientation in which a process that uses services can execute.
1.9 How service-orientation principles relate to object-orientation principles (8 marks)
Service-Orientation
Principle Related Object-Orientation Principles
service reusability Object-orientation is toward the creation of reusable classes. Related
principles, such as abstraction and encapsulation support reuse by
interface and implementation logic.
service contract The service contract is very comparable to the use of interfaces when
object-oriented applications. Much like WSDL definitions, interfaces
provide a means of abstracting the description of a class.
service loose
coupling
Interfaces decouple a class from its consumers. The inheritance and
other object-orientation principles encourage a more tightly coupled
relationship between processing logic when compared to the service-
oriented design approach.
service abstraction Encapsulation supports information hiding. Any logic within the class,
outside is not accessible.
Service abstraction accomplishes same as object abstraction and
encapsulation. Its purpose is to hide the underlying details of the
service.
service
composability
Object-orientation supports association concepts, such as aggregation
and composition. These, within a loosely coupled context are supported
by service-orientation.
service autonomy The quality of autonomy is more emphasized in service-oriented design
than object-oriented approaches.
service statelessness Objects consist of a combination of class and data and are naturally
stateful. The principle of statelessness is emphasized with service-
orientation.
service
discoverability
Designing class interfaces to be self-descriptive is object-orientation
that identifying units logic.
Discoverability is emphasized by the service-orientation. It is
encouraged by service contracts.
1.10 Service layers (2 marks-Types of service layers)
• Service layer abstraction
• Application service layer
• Business service layer
• Orchestration service layer
• Agnostic services
1.10.1Service layer abstraction (8marks)
– In enterprise model, the service interface layer is located between the business
process and application layers. This is where service connectivity resides.
– Problems solved by layering services
• What logic should be represented by services?
• How should services relate to existing application logic?
• How can services best represent business process logic?
• How can services be built and positioned to promote agility?
What logic should be represented by services?
• Services can be modeled to represent business logic and application logic, as long as the
principles of service-orientation can be applied.
– Application logic- logic with User Interface
– Business logic- logic with no User Interface
• To achieve enterprise-wide loose coupling, separate layers of services are required,
where individual collections of services represent corporate business logic and
technology-specific application logic.
• Each domain of the enterprise is does not dependencies on the other.
How should services relate to existing application logic?
• Existing systems impose number of constraints, limitations, and environmental
requirements that taken into consideration during service design. New logic is being
developed that support services.
• Applying a service layer on top of legacy application require that some service-
orientation principles be compromised.
• Designed Services to represent application logic should exist in a separate layer. These
groups of services are belonging to the application service layer.
How can services best represent business logic?
• Business logic is defined within an organization's business models and business
processes. When modeling services to represent business logic, it ensure in alignment
with existing business models.(EX: Withdraw service, Deposit service)
• Services represent business logic that belonging to the business service layer which is
support for service-oriented business modeling.
How can services be built and positioned to promote agility?
• The key of agile SOA is in minimizing the dependencies of each service. Services
contain business rules are required to enforce and act at runtime. Similarly, controller
services are embedded with logic that composes other services.
• Introducing a parent controller layer on top of service layers establish a centralized
location for business rules and composition logic called as Orchestration.
• It introduces the concept of a process service, composing other services to complete a
business process according to workflow logic. This layer is called as orchestration
service layer.
• The creation of separate application, business, and orchestration layers promote the
organizational agility.
The layers of abstraction for SOA are:
• Application service layer
• Business service layer
• Orchestration service layer
• Agnostic service layer
1.10.2 Application service layer (16 marks)
Illustrate the functionality of application service layer in terms of utility service and
wrapper service. (16 marks)(Nov-2017)
• The application service layer establishes and exists to express technology-specific
functionality.
• Services that reside within this layer can be referred as application services.
• Application service provide reusable functions related to processing data within new or
legacy application environments
• Characteristics of Application services :
– they expose functionality within a technology specific context
– they are solution-agnostic
– they are generic and reusable
– they are inconsistent in terms of the interface
– they may consist of a mixture of custom-developed services and third-party
services
• Examples of service models implemented as application services :
– utility service
– wrapper service
• When a separate business service layer exists, turn all application services into
generic utility services those providing reusable operations that can be composed
by business services.
• Alternatively, if business logic does not reside in a separate layer, application
services may be required to implement service models.
• For example, an application service can be classified as a business service if it
interacts with application logic and contains business rules.
• hybrid application services(2 marks)
Services contain both application and business logic can be referred to as
hybrid application services. This service model is found within traditional
distributed architectures.
• Application integration services(2 marks)
Application services enable integration between systems is referred to as
application integration services. Integration services often are implemented as
controllers.
• Wrapper services utilized for integration purposes. They consist of services that
encapsulate ("wrap") parts of a legacy environment to expose legacy functionality
to service requestors.
• Wrapper service is a service adapter provided by legacy vendors.
• wrapper service model known as an auto-generated WSDL that contain
information about the service
• Case Study
– TLS has a well-defined application services layer. The following are considered
application services:
• Load Balancing Service
• Internal Policy Service
• System Notification Service
– Each is a utility service provides a set of generic, reusable features, and each is
capable of acting as a composition member.
– RailCo provide utility services for processing:
• Invoice Submission Service
• Order Fulfillment Service
• TLS Subscription Service
– Both the Invoice Submission and Order Fulfillment Services are somewhat
hybrid, in that each contains business and application logic.
– The TLS Subscription Service can be classified as a pure application service
that performs application-centric task.
– RailCo services would be considered utility services because none were
designed with reusability.
1.10.3 Business service layer (16 marks)
• The business service layer is comprised of business services, a direct implementation of
the business service model.
• Business services(2 marks)
– Business services are controllers that compose application services to execute
their business logic
• Business services are the lifeblood of contemporary SOA. They are responsible for
expressing business logic and representation of corporate business models.
• Business services are always an implementation of the business service model and
reside in separate business service layer.
• For example, a business service can be classified as a controller service and a utility
service.
• When application logic is abstracted into a separate application service layer, the
business services will act as controllers to compose application services to execute their
business logic.
• Types of Business service layer abstraction:
– Task-centric business service (2 marks)
– A service encapsulates business logic specific to a task or business process
called as Task-centric business service.
– This type of service is required when business process logic is not centralized as
part of an orchestration layer.
– Task-centric business services have limited reuse potential.
– Entity-centric business service (2 marks)
– A service encapsulates a specific business entity (such as an invoice or
timesheet) called as Entity-centric business service.
– Entity-centric services are used for creating highly reusable and business
process-agnostic services that are composed by an orchestration layer or by
task-centric business services (or both).
• The business service layer reserved for services that abstract business logic only. Even
though hybrid services contain business logic, they are not classified as business
services
• Case Study
– In TLS, the following are true business services:
• Accounts Payable Service, Purchase Order Service
• Ledger Service, Vendor Profile Service
– Each represents a well-defined boundary of business logic.
– In RailCo's . The following are hybrid application service
• Invoice Submission and
• Order Fulfillment Services
They contain both business rules and application-related processing. Because business logic is
not explicitly abstracted, only an application services layer exists within RailCo
Compare application service layer and business service layer (2 marks)
Application service layer Business service layer
The application service layer establishes and
exists to express technology-specific
functionality
The application service layer establishes and
exists to express business-specific
functionality
Application service layer contain both
application service and business service called
hybrid service.
The business service layer reserved for
business logic only.
1.10.3 Orchestration service layer (2 marks)
How orchestration layer works to link process logic into service orientation within
workflow logic? Explain. (16 marks) (Nov-2017)
• The orchestration service layer consists of one or more process services that compose
business and application services according to business rules and business logic
embedded within process definitions.
Orchestration (2 marks)
• Orchestration abstracts business rules and service execution workflow logic from other
services. It promoting agility and reusability
• Orchestration languages (WS-BPEL) realize workflow management through a
process service model.
• Orchestration brings the business process as a master composition controller.
• The orchestration service layer abstract other services to manage interaction
details that ensure the service operations are executed in a sequence.
• Process services becoming utility services to an extent, if a process is a reusable
• Case Study
– Neither TLS or RailCo employ process services or a separate
orchestration layer
–
1.10.4 Agnostic services (2 marks) or Explain about Agnostic service layer (8 marks)
• Services can be process and solution-agnostic while used as part of a service layer that
connects different processes and solutions
• Agnostic service layer(2 marks)
– Agnostic service layers relate to and tie together multiple business processes and
automation solutions.
• It promote reuse but blur the architectural boundaries of individual solutions
• Agnostic service layers are not limited to a single process or solution environment.
• An application-level SOA containing solution-agnostic services, it extend beyond
the application.
• An application-level SOA depends on existing solution-agnostic services also does
not have a well defined application boundary.
• Entity-centric business services provide data management related features only to
their entities. They are called business process-agnostic. The entity-centric business
services can be reused by task-centric business services.
• Application services are built according to the utility service model that is generic,
reusable, and solution-agnostic.
Compare Orchestration service layer and Agnostic services (2 marks)
Orchestration service layer Agnostic services layer
The orchestration service layer consists of one
or more process services that compose
business and application services according to
business rules
Solution-agnostic service layers relate to and
tie together multiple business processes and
automation solutions
Reference:
Thomas Erl, “Service Oriented Architecture: Concepts, Technology, and Design”, Pearson
Education, 2005

Contenu connexe

Tendances

Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Mazhar Ishaq Khokhar
 
Service oriented architecture
Service oriented  architectureService oriented  architecture
Service oriented architecturePratik Patil
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software conceptsPrajakta Rane
 
HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)Gurjot Singh
 
Client server technology
Client server technologyClient server technology
Client server technologyAnwar Kamal
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer ProtocolUjjayanta Bhaumik
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Cloud Security, Standards and Applications
Cloud Security, Standards and ApplicationsCloud Security, Standards and Applications
Cloud Security, Standards and ApplicationsDr. Sunil Kr. Pandey
 
iso osi model
 iso osi model iso osi model
iso osi modelvishnu1204
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocolsFabMinds
 
WAP- Wireless Application Protocol
WAP- Wireless Application ProtocolWAP- Wireless Application Protocol
WAP- Wireless Application ProtocolSenthil Kanth
 
Query decomposition in data base
Query decomposition in data baseQuery decomposition in data base
Query decomposition in data baseSalman Memon
 

Tendances (20)

Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Service oriented architecture
Service oriented  architectureService oriented  architecture
Service oriented architecture
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
Network Layer
Network LayerNetwork Layer
Network Layer
 
HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)
 
Client server technology
Client server technologyClient server technology
Client server technology
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Web services
Web servicesWeb services
Web services
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer Protocol
 
Quality of Service
Quality of ServiceQuality of Service
Quality of Service
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Cloud Security, Standards and Applications
Cloud Security, Standards and ApplicationsCloud Security, Standards and Applications
Cloud Security, Standards and Applications
 
CS8651 IP Unit 3.pptx
CS8651 IP Unit 3.pptxCS8651 IP Unit 3.pptx
CS8651 IP Unit 3.pptx
 
4. system models
4. system models4. system models
4. system models
 
iso osi model
 iso osi model iso osi model
iso osi model
 
SOA Unit I
SOA Unit ISOA Unit I
SOA Unit I
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
WAP- Wireless Application Protocol
WAP- Wireless Application ProtocolWAP- Wireless Application Protocol
WAP- Wireless Application Protocol
 
Query decomposition in data base
Query decomposition in data baseQuery decomposition in data base
Query decomposition in data base
 

Similaire à SOA unit-3-notes-Introduction to Service Oriented Architecture

SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptNKannanCSE
 
Unit-I-Introduction.pptx
Unit-I-Introduction.pptxUnit-I-Introduction.pptx
Unit-I-Introduction.pptxkeerthanamp4
 
E-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb AbdessattarE-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb AbdessattarAbdessattar Ettaieb
 
Service Oriented Architecture.pptx
Service Oriented Architecture.pptxService Oriented Architecture.pptx
Service Oriented Architecture.pptxsiddharth246936
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058vital vital
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058vital vital
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentationpavan nani
 
Performance Prediction of Service-Oriented Architecture - A survey
Performance Prediction of Service-Oriented Architecture - A surveyPerformance Prediction of Service-Oriented Architecture - A survey
Performance Prediction of Service-Oriented Architecture - A surveyEditor IJCATR
 
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURESOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTUREAnyaForger34
 
WDSOA'05 Whitepaper: SOA and the Future of Application Development
WDSOA'05 Whitepaper: SOA and the Future of Application DevelopmentWDSOA'05 Whitepaper: SOA and the Future of Application Development
WDSOA'05 Whitepaper: SOA and the Future of Application DevelopmentRajesh Raheja
 
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...IIBA_Latvia_Chapter
 
Arquitectura orientada a servicios
Arquitectura orientada a serviciosArquitectura orientada a servicios
Arquitectura orientada a serviciosbrizna39
 
Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...Dr. Shahanawaj Ahamad
 
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTURE
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTUREBUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTURE
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTUREIJCSEA Journal
 
Service-oriented Architecture with Respect to Reusability
Service-oriented Architecture with Respect to ReusabilityService-oriented Architecture with Respect to Reusability
Service-oriented Architecture with Respect to ReusabilityYazd University
 
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...Mohammed Omar
 

Similaire à SOA unit-3-notes-Introduction to Service Oriented Architecture (20)

SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
 
Unit-I-Introduction.pptx
Unit-I-Introduction.pptxUnit-I-Introduction.pptx
Unit-I-Introduction.pptx
 
SOA and Monolith Architecture - Micro Services.pptx
SOA and Monolith Architecture - Micro Services.pptxSOA and Monolith Architecture - Micro Services.pptx
SOA and Monolith Architecture - Micro Services.pptx
 
E-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb AbdessattarE-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb Abdessattar
 
Lousina
LousinaLousina
Lousina
 
Service Oriented Architecture.pptx
Service Oriented Architecture.pptxService Oriented Architecture.pptx
Service Oriented Architecture.pptx
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058
 
Ijcse13 05-08-058
Ijcse13 05-08-058Ijcse13 05-08-058
Ijcse13 05-08-058
 
service orentation documentation
service orentation documentationservice orentation documentation
service orentation documentation
 
Performance Prediction of Service-Oriented Architecture - A survey
Performance Prediction of Service-Oriented Architecture - A surveyPerformance Prediction of Service-Oriented Architecture - A survey
Performance Prediction of Service-Oriented Architecture - A survey
 
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURESOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
 
Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014
 
WDSOA'05 Whitepaper: SOA and the Future of Application Development
WDSOA'05 Whitepaper: SOA and the Future of Application DevelopmentWDSOA'05 Whitepaper: SOA and the Future of Application Development
WDSOA'05 Whitepaper: SOA and the Future of Application Development
 
Performance in soa context
Performance in soa contextPerformance in soa context
Performance in soa context
 
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
 
Arquitectura orientada a servicios
Arquitectura orientada a serviciosArquitectura orientada a servicios
Arquitectura orientada a servicios
 
Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...Contemporary research challenges and applications of service oriented archite...
Contemporary research challenges and applications of service oriented archite...
 
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTURE
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTUREBUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTURE
BUSINESS SILOS INTEGRATION USING SERVICE ORIENTED ARCHITECTURE
 
Service-oriented Architecture with Respect to Reusability
Service-oriented Architecture with Respect to ReusabilityService-oriented Architecture with Respect to Reusability
Service-oriented Architecture with Respect to Reusability
 
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
 

Plus de Ramco Institute of Technology, Rajapalayam, Tamilnadu, India

Plus de Ramco Institute of Technology, Rajapalayam, Tamilnadu, India (19)

AD3251-Data Structures Design-Notes-Tree.pdf
AD3251-Data Structures  Design-Notes-Tree.pdfAD3251-Data Structures  Design-Notes-Tree.pdf
AD3251-Data Structures Design-Notes-Tree.pdf
 
AD3251-Data Structures Design-Notes-Searching-Hashing.pdf
AD3251-Data Structures  Design-Notes-Searching-Hashing.pdfAD3251-Data Structures  Design-Notes-Searching-Hashing.pdf
AD3251-Data Structures Design-Notes-Searching-Hashing.pdf
 
ASP.NET-stored procedure-manual
ASP.NET-stored procedure-manualASP.NET-stored procedure-manual
ASP.NET-stored procedure-manual
 
Neural networks using tensor flow in amazon deep learning server
Neural networks using tensor flow in amazon deep learning serverNeural networks using tensor flow in amazon deep learning server
Neural networks using tensor flow in amazon deep learning server
 
Mobile Computing-Unit-V-Mobile Platforms and Applications
Mobile Computing-Unit-V-Mobile Platforms and ApplicationsMobile Computing-Unit-V-Mobile Platforms and Applications
Mobile Computing-Unit-V-Mobile Platforms and Applications
 
CS8601 mobile computing Two marks Questions and Answer
CS8601 mobile computing Two marks Questions and AnswerCS8601 mobile computing Two marks Questions and Answer
CS8601 mobile computing Two marks Questions and Answer
 
Mobile computing Unit III MANET Notes
Mobile computing Unit III MANET NotesMobile computing Unit III MANET Notes
Mobile computing Unit III MANET Notes
 
Unit II -Mobile telecommunication systems
Unit II -Mobile telecommunication systemsUnit II -Mobile telecommunication systems
Unit II -Mobile telecommunication systems
 
Mobile computing unit-I-notes 07.01.2020
Mobile computing unit-I-notes 07.01.2020Mobile computing unit-I-notes 07.01.2020
Mobile computing unit-I-notes 07.01.2020
 
Virtual lab - Routing in Mobile Adhoc Networks
Virtual lab - Routing in Mobile Adhoc NetworksVirtual lab - Routing in Mobile Adhoc Networks
Virtual lab - Routing in Mobile Adhoc Networks
 
Flipped class collaborative learning-kaliappan-rit
Flipped class collaborative learning-kaliappan-ritFlipped class collaborative learning-kaliappan-rit
Flipped class collaborative learning-kaliappan-rit
 
Web services-Notes
Web services-NotesWeb services-Notes
Web services-Notes
 
Innovative Practice-ZigSaw
Innovative Practice-ZigSaw Innovative Practice-ZigSaw
Innovative Practice-ZigSaw
 
Innovative practice -Three step interview-Dr.M.Kaliappan
Innovative practice -Three step interview-Dr.M.KaliappanInnovative practice -Three step interview-Dr.M.Kaliappan
Innovative practice -Three step interview-Dr.M.Kaliappan
 
Service Oriented Architecture-Unit-1-XML Schema
Service Oriented Architecture-Unit-1-XML SchemaService Oriented Architecture-Unit-1-XML Schema
Service Oriented Architecture-Unit-1-XML Schema
 
IT6801-Service Oriented Architecture-Unit-2-notes
IT6801-Service Oriented Architecture-Unit-2-notesIT6801-Service Oriented Architecture-Unit-2-notes
IT6801-Service Oriented Architecture-Unit-2-notes
 
Innovative Practice-Think-pair-share-Topic: DTD for TV schedule
Innovative Practice-Think-pair-share-Topic: DTD for TV scheduleInnovative Practice-Think-pair-share-Topic: DTD for TV schedule
Innovative Practice-Think-pair-share-Topic: DTD for TV schedule
 
IT6801-Service Oriented Architecture- UNIT-I notes
IT6801-Service Oriented Architecture- UNIT-I notesIT6801-Service Oriented Architecture- UNIT-I notes
IT6801-Service Oriented Architecture- UNIT-I notes
 
Soa unit-1-xml namespaces 09.07.2019
Soa unit-1-xml namespaces 09.07.2019Soa unit-1-xml namespaces 09.07.2019
Soa unit-1-xml namespaces 09.07.2019
 

Dernier

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 

Dernier (20)

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 

SOA unit-3-notes-Introduction to Service Oriented Architecture

  • 1. RAMCO INSTITUTE OF TECHNOLOGY Department of Computer Science and Engineering Academic Year: 2019- 2020 (Odd Semester) -------------------------------------------------------------------------------------------------- Degree, Semester & Branch: VII Semester B.E. Computer Science and Engineering. Course Code & Title: IT6801 Service Oriented Architecture. Name of the Faculty member: Dr.M.Kaliappan, Associate Professor/CSE UNIT III SERVICE ORIENTED ARCHITECTURE Characteristics of SOA, Comparing SOA with Client - Server and Distributed architectures – Benefits of SOA --Principles of Service orientation –Service layers -------------------------------------------------------------------------------------------------- • Objective – Understand the key principles behind SOA • Outcome – Describe the characteristics and principles of service oriented architecture. 1. Service-oriented architecture (2 marks) • Service Oriented architecture is a term that represents a model in which automation logic is decomposed into smaller, distinct units of logic. Collectively, these units comprise a larger piece of business automation logic. Individually, these units can be distributed. • Within SOA, these units of logic are known as services 1.1. Evolution of SOA From XML to Web services to SOA • XML – XML used to represent data in a standardized manner. – The XML data architecture represents the foundation layer of SOA. Within it, XML establishes the format and structure of messages traveling throughout services. • Web service (2 marks) – A web service is a piece of software that makes itself available over the internet and uses a XML messaging system • SOA – Defined SOA as an architecture modeled around three basic components: • the service requestor, • the service provider, • the service registry
  • 2. 1.2 Fundamentals of SOA A service-oriented analogy • SOA encourages individual units of logic to exist autonomously. • Units of logic are required to conform to a set of principles. Within SOA, these units of logic are known as services How services encapsulate logic • Services encapsulate logic within a context. This context can be specific to a business task, a business entity, or other logical grouping. • Further, service logic can encompass the logic provided by other services. In this case, one or more services are composed into a collective. • The logic is decomposed into a series of steps that execute in predefined sequences according to business rules and runtime conditions
  • 3. 1.2.1 How services relate (2 marks) • Within SOA, services can be used by other services or other programs. The relationship between services is based on anservice descriptions. • A service description is a basic format establishes the name of the service and the data expected and returned by the service. • For example, Figure illustrates that service A is aware of service B because service A is in possession of service B's service description. 1.2.2 How service communicate( 2marks) • Services provide service descriptions and communicate via messages form a basic architecture. • After a service sends a message on its way, it loses control of what happens to the message thereafter. That way it exists as "independent units of communication." This means services be autonomous. 1.2.3 How services are designed • service-orientation has become a distinct design approach which introduces accepted principles that govern the positioning and design of our architectural components Ex: Airline reservation systems.
  • 4. 1.3 Common characteristics of SOA (16 marks) • SOA is at the core of the service-oriented computing platform. – computing platform consisting of Web services technology and service- orientation principles • SOA increases quality of service. • SOA is fundamentally autonomous. – individual services be as independent and self-contained • SOA is based on open standards. • SOA supports vendor diversity. • SOA fosters intrinsic interoperability. • SOA promotes discovery. • SOA promotes federation. • SOA promotes architectural composability. • SOA fosters inherent reusability. • SOA emphasizes extensibility. • SOA supports a service-oriented business modeling paradigm. • SOA implements layers of abstraction. • SOA promotes loose coupling throughout the enterprise. • SOA promotes organizational agility. • SOA is a building block. • SOA is an evolution. • SOA is still maturing. • SOA is an achievable ideal. 1.3.1 Common quality of service requirements, such as: • The ability for tasks to be carried out in a secure manner and protecting the contents of a message. • Allowing tasks to be carried out reliably so that message delivery or notification of failed delivery can be guaranteed. • Transactional capabilities to protect the integrity of specific business tasks with a guarantee. 1.3.2 SOA is based on open standards • Data exchange is governed by open standards. Message travels via a set of protocols that is globally standardized and accepted. • The use of SOAP, WSDL, XML, and XML Schema allow for messages to be fully self- contained and support the underlying agreement that to communicate,
  • 5. • SOAs fully reinforce open, vendor-neutral communications framework. • 1.3.3 SOA supports vendor diversity 1.3.4 SOA promotes discovery • SOA supports and encourages the advertisement and discovery of services throughout the enterprise and beyond • Web services standards included UDDI 1.3.5 SOA fosters intrinsic interoperability Further leveraging and supporting the required usage of open standards, a vendor diverse environment, and the availability of a discovery mechanism, is the concept of intrinsic interoperability
  • 6. 1.3.6 SOA emphasizes extensibility Extending entire solutions can be accomplished by adding services or by merging with other service-oriented applications 1.3.7 Contemporary SOA promotes federation • SOA introduce unity across previously non-federated environments. • While Web services enable federation, SOA is establishing ability to encapsulate legacy and non-legacy application logic and by exposing it via a common, open, and standardized communications framework 1.3.8 SOA promotes architectural composability • Different solutions can be composed of different extensions and can continue to interoperate as long as they support the common extensions.
  • 7. 1.3.9 Contemporary SOA fosters inherent reusability • SOA establishes an environment that promotes reuse on many levels. • Collections of services that form service compositions can themselves be reused by larger compositions 1.3.10 Contemporary SOA supports a service-oriented business modeling paradigm • Partitioning business logic into services that composed that has significant implications how business processes can be modeled. 1.3.11 Contemporary SOA implements layers of abstraction • SOAs introduce layers of abstraction by positioning services as the sole access points to a variety of resources and processing logic. • Business and application logic can be abstracted and reside in separate service layer. • Application logic created with proprietary technology can be abstracted using service layer.
  • 8. 1.3.12 Contemporary SOA promotes loose coupling throughout the enterprise • A loosely coupled service is the resulting independence of service logic. • Services require an awareness of each other, allowing them to evolve independently. • Service layers abstract business and application logic, the loose coupling paradigm can be applied to the enterprise as a whole. 1.3.13 Contemporary SOA promotes organizational agility • Whether the result of an internal reorganization, a corporate merger, a change in an organization's business scope, or technology platform, an organization's ability to accommodate change. • By leveraging service business representation, service abstraction, and the loose coupling between business and application logic provided by use of service layers, SOA offers the potential to increase organizational agility. • A loosely coupled relationship between business and application technology allows each end to more efficiently respond to changes in the other
  • 9. 1.3.14 Contemporary SOA is a building block • Service-oriented application architecture will be one of several within an organization committed to SOA as the standard architectural platform. • Organizations standardizing on SOA work toward an ideal known as the service- oriented enterprise (SOE), where all business processes are composed of and exist as services, both logically and physically 1.4 The roots of SOA (comparing SOA to past architectures) (16 marks)(Nov2017) Architecture: Architecture is a template or framework that defined the technology, boundaries, rules, limitations, and design characteristics that apply to all solutions. • Application architecture • Enterprise architecture • Service-oriented architecture Application architecture (2 marks) • Application architecture is to an application development team build a blueprint for solutions. • Different organizations document different levels of application architecture. Some keep it high-level, providing abstract physical and logical representations of the technical blueprint. • Others include more detail, such as common data models, communication flow diagrams, security requirements, and aspects of infrastructure. • It is not uncommon for an organization to have application architectures.
  • 10. • A single architecture document represents a distinct solution environment. For example, an organization that houses both .NET and J2EE solutions would have separate application architecture specifications for each. Enterprise architecture (2 marks) • Common for a master specification to be created, providing a high-level overview of all forms of heterogeneity that exist within an enterprise, • Enterprise architectures contain a long-term vision of how the organization plans to evolve its technology and environments. • Finally, this document defines the technology and policies behind enterprise-wide security measures. However, these are isolated into a separate security architecture specification. Service-oriented architecture (2 marks) • Service-oriented architecture spans both enterprise and application architecture domains. • SOA can be applied across multiple solution environments. • SOA is used in building reusable and interoperable services based on a vendor-neutral communications platform. • An SOA is used to standardize technical architecture across the enterprise 1.4.1 Comparing SOA with client-server architecture (8 marks) (April-2016) • Any environment in which one piece of software requests or receives information from another can be referred to as "client-server." • Every variation of application architecture that existed has an element of client-server interaction in it • The monolithic mainframe systems empowered organizations to get computerized are considered the first inception of client-server architecture. • This environment, in which bulky mainframe back-ends served thin clients, are considered an implementation of the single-tier client-server architecture • EX: , diskless nodes , Web centric thin client
  • 11. 1.4.1.1 Two-tier of the client-server • This new approach introduced delegating logic and processing duties onto individual workstations, called as fat client. • Further, graphical user-interface (GUI) was considered in two-tier client-server. • The common configuration of this architecture consisted of multiple fat clients, each with its own connection to a database on a central server. • Client-side software performed the bulk processing, including all presentation-related and most data access logic. Ex: scalable RDBMSs.
  • 12. • Application logic – Client-server environments place application logic into the client software. that controls the user experience, as well as the back-end database .Ex: Servlet, JSP, Database – Business rules relating to data is stored within stored procedures and triggers on the database. – The presentation layer within service-oriented solutions is a piece of software capable of exchanging SOAP messages according to required service contracts. – However, service-oriented design partitioning of processing logic into autonomous units. This facilitates specific design qualities, such as service statelessness and interoperability, as well as composability and reusability. • Application processing – The client workstation is responsible for the bulk processing. The 80/20 ratio is used as a rule, with the database server performing twenty percent of the work. – User workstations are required to run client programs so that all available resources (memory, CPU, software) can be offered to the application. – Each client establishes its own database connection. Communication is synchronous, and database connections are persistent. – Processing in SOA is highly distributed. Each service has an explicit functional boundary and related resource requirements. – Enterprise solutions consist of multiple servers, each hosting sets of Web services and supporting middleware. There is no fixed processing ratio for SOAs. Services can be distributed as required. – Communication between service and requestor can be synchronous or asynchronous. This promotes the stateless and autonomous nature of services. • Technology • 4GL programming languages, – Visual Basic and PowerBuilder. – Database vendors, • Oracle, Informix, IBM, Sybase, and Microsoft. • The technology set used by SOA – Visual Basic still can be used to create Web services, and relational databases. – Web technologies • (HTML, CSS, HTTP, XML, J2EE,.NETetc.) • SOA components
  • 13. – XML, SOAP,WSDL,UDDI, J2EE, .NET • Security – The one part of client-server architecture is centralized at the server level is security. – Databases are sufficiently sophisticated to manage user accounts and groups. – Security limiting access to a part of a user-interface to select users. – Additionally, operating system-level security can be incorporated to achieve a single sign-on – The advantages of SOA with client server, corporate data is protected via a single point of authentication, establishing a single connection between client and server. – In the distributed world of SOA, this is not possible. Security becomes a significant complexity – Multiple technologies are involved which comprise the WS-Security framework • Administration – The client-server era was increased large maintenance costs associated with the distribution and maintenance of application logic across user workstations. – Maintenance issues spanned both client and server ends. Client workstations were environment-specific problems because different workstations have installed different software programs and purchased. Further, there were increased server-side demands on databases. – Service-oriented solutions have a variety of requestors; While their distributed back-end accommodate scalability for application and database servers. – In SOA, new administration demands can be introduced. The management of server resources and service interfaces require powerful administration tools including the use of a private registry . 1.4.1.2 Comparing SOA with distributed Internet architecture (8marks) (Nov2017) • Distributed architecture could be designed as SOAs. • Multi-tier client-server architectures – The objective is to build component-based applications (COM,DCOM, EJB) – It breaking up the monolithic client into components designed. – Distributing application logic among multiple components reduced deployment headaches by centralizing a greater amount of the logic on servers.
  • 14. – Server-side components located on dedicated application servers that share and manage pools of database connections. A single connection could easily facilitate multiple users. – Issues • burden of concurrent usage on the database server shifting expense and effort from deployment • Replacing client-server database connections was the client-server remote procedure call (RPC) connection. • RPC technologies such as CORBA and DCOM allowed for remote communication between components residing on client workstations and servers. • Issues – Problems involving resources and persistent connections. – Increased maintenance effort for introduction of the middleware layer. 1.4.1.2.1 Distributed Internet Architecture • World Wide Web is a computing technology in this era that began incorporating Internet technology. • Replacement of the software client component with the browser. • Distributed Internet architecture introduced a new physical tier called Web server. • HTTP replacing proprietary RPC protocols used to communicate between the user's workstation and the server.
  • 15. • Application logic o Distributed Internet applications place all of the application logic on the server side. Even client-side scripts intended to execute in response to events on a Web page are downloaded from the Web server upon the initial HTTP request. o With none of the logic existing on the client workstation, the entire solution is centralized. o The emphasis are : o how application logic should be partitioned o where the partitioned units of processing logic should reside o how the units of processing logic should interact o From a physical perspective, service-oriented architecture is very similar to distributed Internet architecture. o Traditional distributed applications consist of a series of components that reside on application or web servers. o Components are designed with varying functionality and reusability. o Components residing on the same server communicate via proprietaryAPIs (RPC). o RPC protocols are used to accomplish the communication across server boundaries. This is made possible with help of local proxy stubs that represent components in remote locations
  • 16. – Contemporary SOAs still rely on components. However, the entire modeling approach creates services with service-orientation principles that encapsulate all of these components.. – The purpose of wrapping functionality within a service is to expose the functionality via an open, standardized interface irrespective of the technology used to implement the underlying logic. – While traditional components provide methods that invoked once, send and receive parameter data and Web services communicate with SOAP messages. • Application processing – Distributed Internet architecture promotes the proprietary communication protocols such as DCOM and CORBA for remote data exchange. – They are efficient and reliable. They can support the creation of stateful and stateless components that interact with synchronous data exchanges. – In SOA, relies on message-based communication. The messaging framework promotes the creation of autonomous services – In SOA, processing steps involved the conversion of relational data into an XML- compliant structure, the validation of the XML document, and the parsing of the document. – RPC communication is faster than SOAP. – Issue • Processing overhead becomes a significant design issue • Technology • Distributed Internet architecture Technologies Components, • Web technologies such as HTML and HTTP • Server-side scripts such as Selvelt, JSP, PHP, .NET • Middleware such as EJB, IBM WebSphere, Oracle WebLogic, JBoss EAP. • XML • It introduced data representation. • Web services
  • 17. • Allows distributed Internet applications to cross proprietary platform. • Current distributed applications use XML and Web services those based on SOA. • Security – When application logic is span across multiple physical layers, implementing fundamental security measures such as authentication and authorization becomes difficult. – A server-side connection facilitates the identification of users and need the safe transportation of corporate data. – When data is travel across different physical layers, new security approaches such as delegation and impersonation are needed. – Cryptography techniques Encryption is added to open HTTP protocol. – SOA • WS-Security framework emphasizes the placement of security logic onto the messaging level. • SOAP messages provide header blocks in which security logic can be stored. • Administration – Maintaining component-based applications involves • keeping track of individual component instances, • tracing local and remote communication problems, • monitoring server resource demands, • Database administration tasks. – Distributed Internet architecture further introduces the Web server maintenance – Enterprise-level SOAs require runtime administration maintenance. – Problems with messaging frameworks that undetected than with RPC-based data exchanges. – Administration effort is expected to high for Exception handling with messaging frameworks. WS-* extensions provide better solution with these situations. – Other maintenance tasks, such as resource management, reusability and composability, infrastructure for enterprises Web services and private registry
  • 18. 1.5 Benefits of SOA (2 marks) (April-2016) or (8 marks) • Improved integration (and intrinsic interoperability) • Inherent reuse • Streamlined architectures and solutions • Leveraging the legacy investment • Establishing standardized XML data representation • Focused investment on communications infrastructure • "Best-of-breed" alternatives • Organizational agility • Improved integration (and intrinsic interoperability) – SOA provide the solutions that consist of inherently interoperable services. – Interoperable services are part of service-oriented integration (SOI) that provides service-oriented integration architecture. • Inherent reuse – Service-orientation promotes the design of services that are reusable. – Services fulfill immediate application-level requirements while supporting a reuse. – Reusable services increased development effort and reduced the development cost • Streamlined architectures and solutions – The WS-* platform is based on the principle of composability. – composability can lead to optimized automation environments where the technologies required become part of the SOA architecture. – Streamlined solutions and architectures reduced processing overhead and reduced skill-set requirements • Leveraging the legacy investment – Web service technology enables legacy environments to participate in service- oriented integration architectures. – This allows isolated legacy environments can interoperate without requiring the development expensive in IT departments. – The cost and effort of integrating legacy solutions is lowered • Establishing standardized XML data representation – SOA is built and driven by XML. A standardized data representation format can reduce the complexity of application environments. – XML documents and accompanying XML Schemas passed between different applications in standardize format. It easily extensible and adaptable in communications network. – The standardized data representation provides interoperability.
  • 19. • Focused investment on communications infrastructure – Web services establish a communications framework, SOA can centralize inter- application and intra-application communication in IT infrastructure. – This allows organizations to evolve enterprise-wide infrastructure by investing in a single technology set (XML, SOAP, WSDL, and UDDI) responsible for communication. – The cost of scaling communications infrastructure is reduced, as only one communications technology is required to support for all need • "Best-of-breed" alternatives – Service-oriented enterprise environments support "best-of-breed" technology. Because SOA establishes a vendor-neutral communications framework. – It does the quality of business automation • Organizational agility – Change can be disruptive, expensive, and damaging to IT environments. – A standardized technical environment comprised of loosely coupled, composable, interoperable and reusable services establishes an adaptive automation environment for IT departments. – SOA can establish a loosely coupled relationship between two enterprise domains. This allows each enterprise domain to evolve independently and adapt to changes imposed by the other. – The cost and effort is reduced to adapt the business or technology-related changes 1.6 Common pitfalls or drawback of adopting SOA ( 2 marks) • Building service-oriented architectures like traditional distributed architectures – Creation of non-composable (or semi-composable) services. – Creation of hybrid or non-standardized services • Not standardizing SOA • Not creating a transition plan • Not starting with an XML foundation architecture • Not understanding SOA performance requirements • Not understanding Web services security • Not keeping in touch with product platforms and standards development
  • 20. 1.7 Common principles of service-orientation (16 marks) (Nov-2017) • Service-orientation is followed roots of software engineering theory known as "separation of concerns." This theory is break down a large problem into a series of individual concerns. This allows the logic required to solve the problem to be decomposed into a collection of smaller pieces of logic. Each piece of logic addresses a specific concern. • Separation of concerns is achieved a through the use of objects, classes, and components. • Service-orientation can be realizing a separation of concerns. – Services are reusable. – Services share a formal contract e. – Services are loosely coupled Services. – Services abstract underlying logic. – Services are composable. – Services are autonomous. – Services are stateless. – Services are discoverable 1.7.1 Services are reusable • Service-orientation encourages reuse in all services. • This principle facilitates all forms of reuse, including inter-application interoperability, composition, and the creation of cross-utility services. • The logic encapsulated by the individual operations that must be reusable to warrant representation as a reusable service. 1.7.2 Services share a formal contract • Service contracts provide a formal definition of: – the service endpoint – each service operation – every input and output message supported by each operation
  • 21. – rules and characteristics of the service and its operations 1.7.3 Services are loosely coupled • Loose coupling is a condition wherein a service acquires knowledge of another service while still remaining independent of that service. • Loose coupling is achieved through the use of service contracts that allow services to interact within predefined parameters 1.7.4 Services abstract underlying logic • Also referred to as service interface-level abstraction, • This principle allows services to act as black boxes, hiding their details from the outside world. • The scope of logic represented by a service influences the design of its operations and its position within a process
  • 22. 1.7.5 Services are composable • A service can represent the logic from any types of sources including other services. • This principle is irrespective of whether the service itself composes other services to accomplish its work. • Composability is the concept of orchestration. The UpdateEverything operation encapsulating a service composition
  • 23. 1.7.6 Services are autonomous • Autonomy requires that the range of logic exposed by a service exist within an explicit boundary. This allows the service to execute self-governance of all its processing. It also eliminates dependencies on other services 1.7.7 Services are stateless • Services minimize the state information they manage and the duration for which they hold it. • State information is data-specific to a current activity. While a service is processing a message, for example, it is temporarily stateful. • If a service is responsible for retaining state for longer periods of time, it prevents other service execution. Statelessness is a preferred condition for services and that promotes reusability and scalability.
  • 24. 1.7.8 Services are discoverable • Discovery helps avoid the accidental creation of redundant services that implement redundant logic. • Because each operation provides a reusable piece of processing logic, metadata attached to a service needs the functionality offered by its operations 1.7.9 How service-orientation principles inter-relate (8 marks)  Service autonomy establishes an execution environment that facilitates reuse because the service has reusable functionality.  Service statelessness supports reuse because it maximizes the availability of a service.  Service abstraction fosters reuse because it establishes the black box concept.  Service discoverability promotes reuse, as it allows requestors to search for and discover reusable services.  Service loose coupling establishes an inherent independence that frees a service. 1.8 Anatomy of a service-oriented architecture (8 marks) 1.8.1 Logical components of the Web services framework (8 marks) – The communications framework established by Web services. – each Web service contains one or more operations
  • 25. – Each operation governs the processing of a specific function the Web service. The processing consists of sending and receiving SOAP messages 1.8.2 Logical components of automation logic • The Web services framework establishes a modularized perspective of how automation logic, as a whole, can be comprised of independent units. • It abstract the following fundamental parts of the framework – SOAP messages – Web service operations – Web services – activities – processes (and process instances) • Web service activity is used to represent the temporary interaction of a group of Web services; a process is a static definition of interaction logic. • An activity is an instance of a process wherein a group of services follow a particular path through the process logic to complete a task. • Automation logic is comprised of the four identified parts. – messages = units of communication – operations = units of work – services = units of processing logic (collections of units of work) – processes = units of automation logic (coordinated aggregation of units of work)
  • 26. Messages are a suitable communicate for all units of processing logic (services) 1.8.3 Components of an SOA (2 marks) • A component establishes an enterprise logic abstraction. • A message represents the data required to complete some or all parts of a unit of work. • An operation represents the logic required to process messages to complete a unit of work • A service represents a logically grouped set of operations capable of performing related units of work. • A process contains the business rules that determine which service operations are used to complete a unit of automation
  • 27. 1.8.4 How components in an SOA inter-relate (8marks) • An operation sends and receives messages to perform work. • An operation is therefore mostly defined by the messages it processes. • A service groups a collection of related operations. • A service is therefore mostly defined by the operations that comprise it. • A process instance can compose services. • A process instance is not necessarily defined by its services because it require a subset of the functionality offered by the services. • A process instance invokes a unique series of operations to complete its automation. • Every process instance is partially defined by the service operations it uses. A service-oriented architecture is an environment standardized according to the principles of service-orientation in which a process that uses services can execute.
  • 28. 1.9 How service-orientation principles relate to object-orientation principles (8 marks) Service-Orientation Principle Related Object-Orientation Principles service reusability Object-orientation is toward the creation of reusable classes. Related principles, such as abstraction and encapsulation support reuse by interface and implementation logic. service contract The service contract is very comparable to the use of interfaces when object-oriented applications. Much like WSDL definitions, interfaces provide a means of abstracting the description of a class. service loose coupling Interfaces decouple a class from its consumers. The inheritance and other object-orientation principles encourage a more tightly coupled relationship between processing logic when compared to the service- oriented design approach. service abstraction Encapsulation supports information hiding. Any logic within the class, outside is not accessible. Service abstraction accomplishes same as object abstraction and encapsulation. Its purpose is to hide the underlying details of the service. service composability Object-orientation supports association concepts, such as aggregation and composition. These, within a loosely coupled context are supported by service-orientation. service autonomy The quality of autonomy is more emphasized in service-oriented design than object-oriented approaches. service statelessness Objects consist of a combination of class and data and are naturally stateful. The principle of statelessness is emphasized with service- orientation. service discoverability Designing class interfaces to be self-descriptive is object-orientation that identifying units logic. Discoverability is emphasized by the service-orientation. It is encouraged by service contracts.
  • 29. 1.10 Service layers (2 marks-Types of service layers) • Service layer abstraction • Application service layer • Business service layer • Orchestration service layer • Agnostic services 1.10.1Service layer abstraction (8marks) – In enterprise model, the service interface layer is located between the business process and application layers. This is where service connectivity resides. – Problems solved by layering services • What logic should be represented by services? • How should services relate to existing application logic? • How can services best represent business process logic? • How can services be built and positioned to promote agility? What logic should be represented by services? • Services can be modeled to represent business logic and application logic, as long as the principles of service-orientation can be applied. – Application logic- logic with User Interface – Business logic- logic with no User Interface
  • 30. • To achieve enterprise-wide loose coupling, separate layers of services are required, where individual collections of services represent corporate business logic and technology-specific application logic. • Each domain of the enterprise is does not dependencies on the other. How should services relate to existing application logic? • Existing systems impose number of constraints, limitations, and environmental requirements that taken into consideration during service design. New logic is being developed that support services. • Applying a service layer on top of legacy application require that some service- orientation principles be compromised. • Designed Services to represent application logic should exist in a separate layer. These groups of services are belonging to the application service layer. How can services best represent business logic? • Business logic is defined within an organization's business models and business processes. When modeling services to represent business logic, it ensure in alignment with existing business models.(EX: Withdraw service, Deposit service) • Services represent business logic that belonging to the business service layer which is support for service-oriented business modeling. How can services be built and positioned to promote agility? • The key of agile SOA is in minimizing the dependencies of each service. Services contain business rules are required to enforce and act at runtime. Similarly, controller services are embedded with logic that composes other services. • Introducing a parent controller layer on top of service layers establish a centralized location for business rules and composition logic called as Orchestration. • It introduces the concept of a process service, composing other services to complete a business process according to workflow logic. This layer is called as orchestration service layer. • The creation of separate application, business, and orchestration layers promote the organizational agility. The layers of abstraction for SOA are: • Application service layer • Business service layer • Orchestration service layer • Agnostic service layer
  • 31. 1.10.2 Application service layer (16 marks) Illustrate the functionality of application service layer in terms of utility service and wrapper service. (16 marks)(Nov-2017) • The application service layer establishes and exists to express technology-specific functionality. • Services that reside within this layer can be referred as application services. • Application service provide reusable functions related to processing data within new or legacy application environments • Characteristics of Application services : – they expose functionality within a technology specific context – they are solution-agnostic – they are generic and reusable – they are inconsistent in terms of the interface – they may consist of a mixture of custom-developed services and third-party services • Examples of service models implemented as application services : – utility service – wrapper service
  • 32. • When a separate business service layer exists, turn all application services into generic utility services those providing reusable operations that can be composed by business services. • Alternatively, if business logic does not reside in a separate layer, application services may be required to implement service models. • For example, an application service can be classified as a business service if it interacts with application logic and contains business rules. • hybrid application services(2 marks) Services contain both application and business logic can be referred to as hybrid application services. This service model is found within traditional distributed architectures. • Application integration services(2 marks) Application services enable integration between systems is referred to as application integration services. Integration services often are implemented as controllers. • Wrapper services utilized for integration purposes. They consist of services that encapsulate ("wrap") parts of a legacy environment to expose legacy functionality to service requestors. • Wrapper service is a service adapter provided by legacy vendors. • wrapper service model known as an auto-generated WSDL that contain information about the service • Case Study – TLS has a well-defined application services layer. The following are considered application services: • Load Balancing Service • Internal Policy Service • System Notification Service – Each is a utility service provides a set of generic, reusable features, and each is capable of acting as a composition member. – RailCo provide utility services for processing: • Invoice Submission Service • Order Fulfillment Service • TLS Subscription Service – Both the Invoice Submission and Order Fulfillment Services are somewhat hybrid, in that each contains business and application logic.
  • 33. – The TLS Subscription Service can be classified as a pure application service that performs application-centric task. – RailCo services would be considered utility services because none were designed with reusability. 1.10.3 Business service layer (16 marks) • The business service layer is comprised of business services, a direct implementation of the business service model. • Business services(2 marks) – Business services are controllers that compose application services to execute their business logic • Business services are the lifeblood of contemporary SOA. They are responsible for expressing business logic and representation of corporate business models. • Business services are always an implementation of the business service model and reside in separate business service layer. • For example, a business service can be classified as a controller service and a utility service. • When application logic is abstracted into a separate application service layer, the business services will act as controllers to compose application services to execute their business logic.
  • 34. • Types of Business service layer abstraction: – Task-centric business service (2 marks) – A service encapsulates business logic specific to a task or business process called as Task-centric business service. – This type of service is required when business process logic is not centralized as part of an orchestration layer. – Task-centric business services have limited reuse potential. – Entity-centric business service (2 marks) – A service encapsulates a specific business entity (such as an invoice or timesheet) called as Entity-centric business service. – Entity-centric services are used for creating highly reusable and business process-agnostic services that are composed by an orchestration layer or by task-centric business services (or both). • The business service layer reserved for services that abstract business logic only. Even though hybrid services contain business logic, they are not classified as business services • Case Study – In TLS, the following are true business services: • Accounts Payable Service, Purchase Order Service • Ledger Service, Vendor Profile Service – Each represents a well-defined boundary of business logic. – In RailCo's . The following are hybrid application service • Invoice Submission and • Order Fulfillment Services They contain both business rules and application-related processing. Because business logic is not explicitly abstracted, only an application services layer exists within RailCo Compare application service layer and business service layer (2 marks) Application service layer Business service layer The application service layer establishes and exists to express technology-specific functionality The application service layer establishes and exists to express business-specific functionality Application service layer contain both application service and business service called hybrid service. The business service layer reserved for business logic only.
  • 35. 1.10.3 Orchestration service layer (2 marks) How orchestration layer works to link process logic into service orientation within workflow logic? Explain. (16 marks) (Nov-2017) • The orchestration service layer consists of one or more process services that compose business and application services according to business rules and business logic embedded within process definitions. Orchestration (2 marks) • Orchestration abstracts business rules and service execution workflow logic from other services. It promoting agility and reusability • Orchestration languages (WS-BPEL) realize workflow management through a process service model. • Orchestration brings the business process as a master composition controller. • The orchestration service layer abstract other services to manage interaction details that ensure the service operations are executed in a sequence. • Process services becoming utility services to an extent, if a process is a reusable • Case Study – Neither TLS or RailCo employ process services or a separate orchestration layer –
  • 36. 1.10.4 Agnostic services (2 marks) or Explain about Agnostic service layer (8 marks) • Services can be process and solution-agnostic while used as part of a service layer that connects different processes and solutions • Agnostic service layer(2 marks) – Agnostic service layers relate to and tie together multiple business processes and automation solutions. • It promote reuse but blur the architectural boundaries of individual solutions • Agnostic service layers are not limited to a single process or solution environment. • An application-level SOA containing solution-agnostic services, it extend beyond the application. • An application-level SOA depends on existing solution-agnostic services also does not have a well defined application boundary. • Entity-centric business services provide data management related features only to their entities. They are called business process-agnostic. The entity-centric business services can be reused by task-centric business services. • Application services are built according to the utility service model that is generic, reusable, and solution-agnostic. Compare Orchestration service layer and Agnostic services (2 marks) Orchestration service layer Agnostic services layer The orchestration service layer consists of one or more process services that compose business and application services according to business rules Solution-agnostic service layers relate to and tie together multiple business processes and automation solutions Reference: Thomas Erl, “Service Oriented Architecture: Concepts, Technology, and Design”, Pearson Education, 2005