The document describes key concepts related to web services and Service Oriented Architecture (SOA). It defines web services, SOAP, WSDL, UDDI, service roles, and message exchange patterns. It provides examples of how these concepts apply when an invoice submission service sends an electronic invoice to an accounts payable service. It also includes a sample WSDL document for an arithmetic calculator web service to illustrate how abstract and concrete descriptions are defined.
This document discusses service-oriented architecture (SOA). It defines SOA as an architecture based on reusable services that are loosely coupled and provide platform, technology, and language independence. The document outlines SOA principles like standardized service contracts, loose coupling, abstraction, and others. It also discusses SOA implementation steps, the value of SOA for businesses and technologies, and when SOA may not be recommended.
The document provides an overview of a tutorial on programming elasticity in the cloud. It discusses elastic computing principles and models, including the Vienna Elasticity Computing Model. It presents a scenario involving predictive maintenance of city infrastructure using IoT, cloud platforms, and data analytics. It also describes different types of elasticity requirements and the complex dependencies involved in elastic systems. Finally, it introduces the Vienna Elastic Computing Model for addressing these issues in a systematic way through multi-dimensional elasticity across human, software and hardware-based computing resources.
Service Oriented Architecture (SOA) is an architectural style that models systems as a collection of services. Key constructs of SOA include services, service consumers, providers, brokers and registries. Services in SOA are designed to be discoverable, self-describing, and loosely coupled. Benefits of SOA include increased flexibility, reuse, integration and reduced complexity for systems and processes.
Oracle Service Bus 12c (12.2.1) What You Always Wanted to KnowFrank Munz
This document provides an overview of Oracle Service Bus 12c, including:
- Key components of SOA like EAI, BPM, BPEL and how OSB fits into the SOA architecture.
- New features in OSB 12c like XQuery 1.0 support, JavaScript actions, and improved monitoring capabilities.
- Best practices for OSB configuration including pipeline reuse, versioning, clustering, and avoiding issues like heap overload and deadlocks.
- A discussion of Oracle Cloud offerings for SOA like SOA Cloud Service and Integration Cloud Service that aim to provide benefits of PaaS like quick provisioning and easy scaling.
The network layer is responsible for host-to-host delivery of data packets. It provides packetizing, routing, and forwarding services. Packetizing involves encapsulating the transport layer payload with a network header at the source host and decapsulating it at the destination host. Routing determines the best path between source and destination hosts using routing protocols. Forwarding involves routers inspecting packet headers and sending packets to the next network along the path.
Introduction to Cloud Computing and Cloud InfrastructureSANTHOSHKUMARKL1
Introduction, Cloud Infrastructure: Cloud computing, Cloud computing delivery models and services, Ethical issues, Cloud vulnerabilities, Cloud computing at Amazon, Cloud computing the Google perspective, Microsoft Windows Azure and online services, Open-source software platforms for private clouds.
This document provides an overview of service-oriented architecture (SOA). It defines SOA and its key concepts, discusses the motivations for and applications of SOA, compares SOA to other methodologies, outlines implementation technologies, advantages and challenges. It also reviews SOA methodologies, describes the typical steps in a SOA approach, discusses the future of SOA and open research areas, and provides recommendations for adopting SOA.
This document provides an overview of Oracle Service Bus, discussing how it can address SOA requirements through capabilities like proxy services, message transformations, and routing. It describes the target audience, roadmap for the course which covers the OSB architecture, key technologies, proxy service development and management. Finally, it demonstrates how OSB can integrate with other products through its interoperability features.
This document discusses service-oriented architecture (SOA). It defines SOA as an architecture based on reusable services that are loosely coupled and provide platform, technology, and language independence. The document outlines SOA principles like standardized service contracts, loose coupling, abstraction, and others. It also discusses SOA implementation steps, the value of SOA for businesses and technologies, and when SOA may not be recommended.
The document provides an overview of a tutorial on programming elasticity in the cloud. It discusses elastic computing principles and models, including the Vienna Elasticity Computing Model. It presents a scenario involving predictive maintenance of city infrastructure using IoT, cloud platforms, and data analytics. It also describes different types of elasticity requirements and the complex dependencies involved in elastic systems. Finally, it introduces the Vienna Elastic Computing Model for addressing these issues in a systematic way through multi-dimensional elasticity across human, software and hardware-based computing resources.
Service Oriented Architecture (SOA) is an architectural style that models systems as a collection of services. Key constructs of SOA include services, service consumers, providers, brokers and registries. Services in SOA are designed to be discoverable, self-describing, and loosely coupled. Benefits of SOA include increased flexibility, reuse, integration and reduced complexity for systems and processes.
Oracle Service Bus 12c (12.2.1) What You Always Wanted to KnowFrank Munz
This document provides an overview of Oracle Service Bus 12c, including:
- Key components of SOA like EAI, BPM, BPEL and how OSB fits into the SOA architecture.
- New features in OSB 12c like XQuery 1.0 support, JavaScript actions, and improved monitoring capabilities.
- Best practices for OSB configuration including pipeline reuse, versioning, clustering, and avoiding issues like heap overload and deadlocks.
- A discussion of Oracle Cloud offerings for SOA like SOA Cloud Service and Integration Cloud Service that aim to provide benefits of PaaS like quick provisioning and easy scaling.
The network layer is responsible for host-to-host delivery of data packets. It provides packetizing, routing, and forwarding services. Packetizing involves encapsulating the transport layer payload with a network header at the source host and decapsulating it at the destination host. Routing determines the best path between source and destination hosts using routing protocols. Forwarding involves routers inspecting packet headers and sending packets to the next network along the path.
Introduction to Cloud Computing and Cloud InfrastructureSANTHOSHKUMARKL1
Introduction, Cloud Infrastructure: Cloud computing, Cloud computing delivery models and services, Ethical issues, Cloud vulnerabilities, Cloud computing at Amazon, Cloud computing the Google perspective, Microsoft Windows Azure and online services, Open-source software platforms for private clouds.
This document provides an overview of service-oriented architecture (SOA). It defines SOA and its key concepts, discusses the motivations for and applications of SOA, compares SOA to other methodologies, outlines implementation technologies, advantages and challenges. It also reviews SOA methodologies, describes the typical steps in a SOA approach, discusses the future of SOA and open research areas, and provides recommendations for adopting SOA.
This document provides an overview of Oracle Service Bus, discussing how it can address SOA requirements through capabilities like proxy services, message transformations, and routing. It describes the target audience, roadmap for the course which covers the OSB architecture, key technologies, proxy service development and management. Finally, it demonstrates how OSB can integrate with other products through its interoperability features.
To view recording of the webinar please use below URL:
http://wso2.com/library/webinars/2015/09/service-oriented-architecture/
This session focuses on
Key architecture goals of SOA
How these can benefit business efficiencies
Popular methods of SOA realization such as web services its standards
This document defines and discusses service-oriented architecture (SOA). It begins with defining SOA as a client/server design approach that consists of loosely coupled services. It then covers key aspects of SOA including its benefits of flexibility, scalability and replaceability. The document discusses SOA concepts like service providers, characteristics of standardized interfaces and loose connections. It also outlines the business value of SOA in enabling new opportunities, cost savings and business agility.
Scalability refers to the ability to expand cloud facilities and services on demand to meet user needs, beyond any limits. Fault tolerance is the ability to tolerate mistakes made by users. Developing cloud systems that can scale highly and tolerate failures is challenging for cloud providers, as they must manage huge numbers of resources and users while providing competitive performance even as failures occur normally.
Cloud computing is used to define a new class of computing that is based on the network technology. Cloud computing takes place over the internet. It comprises of a collection of integrated and networked hardware, software and internet infrastructures. These infrastructures are used to provide various services to the users. Distributed computing comprises of multiple software components that belong to multiple computers. The system works or runs as a single system. Cloud computing can be referred to as a form that originated from distributed computing and virtualization.
Object modeling involves identifying important objects (classes) within a system and defining their attributes, operations, and relationships. During object modeling, classes are identified based on system requirements and domain concepts. Key activities include class identification, defining class attributes and methods, and determining associations between classes. Object modeling results in a visual representation of classes and their relationships in class and other diagrams.
This document provides an introduction to microservices, including:
- Microservices are small, independently deployable services that work together and are modeled around business domains.
- They allow for independent scaling, technology diversity, and enable resiliency through failure design.
- Implementing microservices requires automation, high cohesion, loose coupling, and stable APIs. Identifying service boundaries and designing for orchestration and data management are also important aspects of microservices design.
- Microservices are not an end goal but a means to solve problems of scale; they must be adopted judiciously based on an organization's needs.
This document provides an introduction to object-oriented analysis and design (OOAD) and the Unified Modeling Language (UML). It discusses the basic concepts of OOAD and how UML uses diagrams to model software systems. UML diagrams can be used in all phases of the software development life cycle, including requirements analysis, design, implementation, and testing. The document also gives an overview of the different parts of UML, such as views, diagrams, relationships, and model elements.
Architecture of Object Oriented Software EngineeringSandesh Jonchhe
The document describes the architecture of object-oriented system engineering (OOSE). It discusses 5 main models used in OOSE: the requirements model, analysis model, design model, implementation model, and test model. Each model focuses on a different aspect of system development, from capturing user requirements to implementing and testing the system. The analysis model aims to structure the system into a robust object model, while the design model refines this for the implementation environment. Traceability between the models allows changes to propagate through the system architecture.
1. The document discusses Service Oriented Architecture (SOA) and its key characteristics.
2. It compares SOA to past architectures like application architecture and enterprise architecture.
3. The core characteristics of SOA include promoting loose coupling, reuse, and interoperability through services based on open standards.
This document discusses coordination-based distributed systems. It begins with an introduction to coordination models and a taxonomy that categorizes models based on temporal and referential coupling. Traditional architectures like JavaSpaces and TIB/Rendezvous are described, as well as peer-to-peer architectures using gossip-based publish/subscribe. Mobility coordination with Lime is covered. Key aspects of processes, communication, content-based routing, and supporting composite subscriptions in coordination systems are also summarized.
Message and Stream Oriented CommunicationDilum Bandara
Message and Stream Oriented Communication in distributed systems. Persistent vs. Transient Communication. Event queues, Pub/sub networks, MPI, Stream-based communication, Multicast communication
Learn all about microservices from Product Marketing Manager Dan Giordano. We'll cover how to get started, the benefits, potential challenges, and how SmartBear can help.
This document discusses transactional workflows from both a conceptual and language perspective. Conceptually, transactional workflows can be modeled either as separate transaction and workflow models combined, or as a single integrated transactional workflow model. From a language perspective, transactional workflows can be specified using separate transaction definition and workflow definition languages, or an integrated transactional workflow definition language. The document outlines different approaches to relating these models and languages and the advantages of using transactional workflows.
Service Oriented Architecture – REST and Systems of Systems – Web Services – PublishSubscribe Model – Basics of Virtualization – Types of Virtualization – Implementation Levels ofVirtualization – Virtualization Structures – Tools and Mechanisms – Virtualization of CPU –Memory – I/O Devices –Virtualization Support and Disaster Recovery.
Service oriented architecture characteristics of soasmithaps4
Service-oriented architecture (SOA) is a design pattern for building distributed systems using services. A service is a self-contained function that can be used by applications and other services. SOA uses loosely coupled, message-based communication between services. Contemporary SOA promotes qualities like autonomy, interoperability, reuse, and loose coupling through standardized service interfaces and compositions.
This document contains a question bank for the cloud computing course OIT552. It includes questions about topics like cloud definitions, characteristics, service models (IaaS, PaaS, SaaS), deployment models, virtualization, cloud architecture, storage, and challenges. The questions range from short definitions to longer explanations and comparisons of cloud concepts.
SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfNKannanCSE
The document discusses key concepts related to web services including service descriptions using WSDL, messaging with SOAP, service discovery with UDDI, and message exchange patterns. It covers the web services framework and relationships between SOA and web services. Specific topics summarized include common service roles like provider and requestor, structures for WSDL abstract and concrete descriptions, SOAP message formatting including headers and faults, and UDDI registry elements like business entities and services.
This document discusses web services and standards. It provides details on service descriptions using WSDL, service discovery with UDDI, and messaging with SOAP. WSDL is used to describe service interfaces and endpoints. UDDI allows services to be published and discovered in registries. SOAP defines the standard message format for web services communication, including envelopes, headers, and bodies. Common message exchange patterns like request-response are also covered.
To view recording of the webinar please use below URL:
http://wso2.com/library/webinars/2015/09/service-oriented-architecture/
This session focuses on
Key architecture goals of SOA
How these can benefit business efficiencies
Popular methods of SOA realization such as web services its standards
This document defines and discusses service-oriented architecture (SOA). It begins with defining SOA as a client/server design approach that consists of loosely coupled services. It then covers key aspects of SOA including its benefits of flexibility, scalability and replaceability. The document discusses SOA concepts like service providers, characteristics of standardized interfaces and loose connections. It also outlines the business value of SOA in enabling new opportunities, cost savings and business agility.
Scalability refers to the ability to expand cloud facilities and services on demand to meet user needs, beyond any limits. Fault tolerance is the ability to tolerate mistakes made by users. Developing cloud systems that can scale highly and tolerate failures is challenging for cloud providers, as they must manage huge numbers of resources and users while providing competitive performance even as failures occur normally.
Cloud computing is used to define a new class of computing that is based on the network technology. Cloud computing takes place over the internet. It comprises of a collection of integrated and networked hardware, software and internet infrastructures. These infrastructures are used to provide various services to the users. Distributed computing comprises of multiple software components that belong to multiple computers. The system works or runs as a single system. Cloud computing can be referred to as a form that originated from distributed computing and virtualization.
Object modeling involves identifying important objects (classes) within a system and defining their attributes, operations, and relationships. During object modeling, classes are identified based on system requirements and domain concepts. Key activities include class identification, defining class attributes and methods, and determining associations between classes. Object modeling results in a visual representation of classes and their relationships in class and other diagrams.
This document provides an introduction to microservices, including:
- Microservices are small, independently deployable services that work together and are modeled around business domains.
- They allow for independent scaling, technology diversity, and enable resiliency through failure design.
- Implementing microservices requires automation, high cohesion, loose coupling, and stable APIs. Identifying service boundaries and designing for orchestration and data management are also important aspects of microservices design.
- Microservices are not an end goal but a means to solve problems of scale; they must be adopted judiciously based on an organization's needs.
This document provides an introduction to object-oriented analysis and design (OOAD) and the Unified Modeling Language (UML). It discusses the basic concepts of OOAD and how UML uses diagrams to model software systems. UML diagrams can be used in all phases of the software development life cycle, including requirements analysis, design, implementation, and testing. The document also gives an overview of the different parts of UML, such as views, diagrams, relationships, and model elements.
Architecture of Object Oriented Software EngineeringSandesh Jonchhe
The document describes the architecture of object-oriented system engineering (OOSE). It discusses 5 main models used in OOSE: the requirements model, analysis model, design model, implementation model, and test model. Each model focuses on a different aspect of system development, from capturing user requirements to implementing and testing the system. The analysis model aims to structure the system into a robust object model, while the design model refines this for the implementation environment. Traceability between the models allows changes to propagate through the system architecture.
1. The document discusses Service Oriented Architecture (SOA) and its key characteristics.
2. It compares SOA to past architectures like application architecture and enterprise architecture.
3. The core characteristics of SOA include promoting loose coupling, reuse, and interoperability through services based on open standards.
This document discusses coordination-based distributed systems. It begins with an introduction to coordination models and a taxonomy that categorizes models based on temporal and referential coupling. Traditional architectures like JavaSpaces and TIB/Rendezvous are described, as well as peer-to-peer architectures using gossip-based publish/subscribe. Mobility coordination with Lime is covered. Key aspects of processes, communication, content-based routing, and supporting composite subscriptions in coordination systems are also summarized.
Message and Stream Oriented CommunicationDilum Bandara
Message and Stream Oriented Communication in distributed systems. Persistent vs. Transient Communication. Event queues, Pub/sub networks, MPI, Stream-based communication, Multicast communication
Learn all about microservices from Product Marketing Manager Dan Giordano. We'll cover how to get started, the benefits, potential challenges, and how SmartBear can help.
This document discusses transactional workflows from both a conceptual and language perspective. Conceptually, transactional workflows can be modeled either as separate transaction and workflow models combined, or as a single integrated transactional workflow model. From a language perspective, transactional workflows can be specified using separate transaction definition and workflow definition languages, or an integrated transactional workflow definition language. The document outlines different approaches to relating these models and languages and the advantages of using transactional workflows.
Service Oriented Architecture – REST and Systems of Systems – Web Services – PublishSubscribe Model – Basics of Virtualization – Types of Virtualization – Implementation Levels ofVirtualization – Virtualization Structures – Tools and Mechanisms – Virtualization of CPU –Memory – I/O Devices –Virtualization Support and Disaster Recovery.
Service oriented architecture characteristics of soasmithaps4
Service-oriented architecture (SOA) is a design pattern for building distributed systems using services. A service is a self-contained function that can be used by applications and other services. SOA uses loosely coupled, message-based communication between services. Contemporary SOA promotes qualities like autonomy, interoperability, reuse, and loose coupling through standardized service interfaces and compositions.
This document contains a question bank for the cloud computing course OIT552. It includes questions about topics like cloud definitions, characteristics, service models (IaaS, PaaS, SaaS), deployment models, virtualization, cloud architecture, storage, and challenges. The questions range from short definitions to longer explanations and comparisons of cloud concepts.
SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfNKannanCSE
The document discusses key concepts related to web services including service descriptions using WSDL, messaging with SOAP, service discovery with UDDI, and message exchange patterns. It covers the web services framework and relationships between SOA and web services. Specific topics summarized include common service roles like provider and requestor, structures for WSDL abstract and concrete descriptions, SOAP message formatting including headers and faults, and UDDI registry elements like business entities and services.
This document discusses web services and standards. It provides details on service descriptions using WSDL, service discovery with UDDI, and messaging with SOAP. WSDL is used to describe service interfaces and endpoints. UDDI allows services to be published and discovered in registries. SOAP defines the standard message format for web services communication, including envelopes, headers, and bodies. Common message exchange patterns like request-response are also covered.
- XML Web Services use SOAP over HTTP to allow applications to communicate over the Internet. SOAP defines an XML message format, while WSDL describes how to access a Web service and UDDI allows services to be published and discovered dynamically.
- Together, SOAP, WSDL, and UDDI provide the core standards for building and delivering XML Web Services. A Web service is expected to provide a WSDL service description and communicate via SOAP messages over HTTP.
- XML Web Services implement service-oriented architecture principles by allowing applications to work together over the Internet through the standardized exchange of XML messages, enabling greater
SOA involves breaking large applications into smaller, independent services that communicate with each other, while monolith architecture keeps all application code and components together within a single codebase; services in SOA should have well-defined interfaces and be loosely coupled, stateless, and reusable; components of SOA include services, service consumers, registries, transports, and protocols like SOAP and REST that allow services to communicate.
This document provides an overview of service-oriented architecture (SOA) and microservice architecture. It defines SOA as an approach that makes software components reusable via well-defined service interfaces. SOA aims to make it easy for businesses to grow by adding new interoperable services. Microservice architecture is described as a variant of SOA where applications are composed of many small, independent services. The document also discusses SOA principles, components, integration strategies and key drivers for adopting SOA in enterprises.
Web services provide an organization without human supervisionnandepovanhu
The document provides an introduction to web services, including that they allow complex applications to be developed by integrating multiple services. It discusses key aspects of web services like how they use SOAP and XML to define interfaces and exchange messages. The document also covers topics like service descriptions, coordination of web services, and applications of web services.
The document discusses the relationship between web services and primitive SOA. It defines web services as a technology framework that includes architectures, technologies, concepts and models. The key aspects of the web services framework are service descriptions using WSDL, SOAP messaging, and service registration/discovery using UDDI. Web services can take on different roles like service provider, requestor, or intermediary. The document also discusses different service models including business, utility, and controller services.
Complete Architecture and Development Guide To Windows Communication Foundati...Abdul Khan
This is Complete Architecture and Development Guide To Windows Communication Foundation (WCF) for building service-oriented applications. It enables architect to quickly in understand WCF and developers to build secure, reliable, transacted solutions that integrate across platforms and interoperate with existing investments.
This document discusses XML web services and their components. It defines XML web services as software services exposed on the web through the SOAP protocol and described with WSDL and registered in UDDI. It describes how SOAP is used for communication, WSDL describes service interfaces, and UDDI allows for service discovery. Examples of web services are provided. The architecture of web services is shown involving clients, services, and standards. Finally, it discusses how XML data can be transformed to HTML for display in web pages using XSLT transformation rules.
Web services use open standards like XML, SOAP, WSDL and UDDI to allow applications to communicate over the web. SOAP defines how to structure XML messages for web services to exchange information. RESTful web services use HTTP requests to access web resources and support different data formats like XML and JSON. Reliable messaging ensures messages are received exactly once and in order through acknowledgements.
Web services allow software components to communicate over a network by invoking methods using standard protocols like HTTP and XML. A web service provider develops a web service and publishes its interface description to allow client applications to access the service. Common web service standards include SOAP, WSDL, and UDDI. Java supports creating and consuming web services using annotations like @WebService, @WebMethod and @WebParam.
This document proposes an information centric networking (ICN) approach for contextualized edge services. It discusses objectives like scalability, availability, and interoperability. It presents a service centric edge cloud platform with key components like an ICN service platform, orchestrator, and APIs. The platform supports open interfaces, context-aware and personalized services, and rapid service composition through network function virtualization. It describes aspects like context management, service composition methodology involving abstraction, composition and implementation phases, and functional service composition using a service-logic graph. Resource allocation and optimization problems in mapping services to infrastructure are also covered.
This document provides an overview of communication models and protocols in distributed systems. It discusses network protocols and standards like TCP and UDP. Remote Procedure Call (RPC) is introduced as a way to invoke procedures on remote machines similarly to local calls. Remote Object Invocation (RMI) expands on this concept by allowing invocation of object methods remotely. Message-Oriented Middleware (MOM) is described as an alternative to client-server models based on message passing. Stream-oriented communication supports continuous media like audio and video. Finally, multicast communication allows one-to-many information dissemination to multiple recipients.
This document provides an overview of Windows Communication Foundation (WCF) services. It defines WCF as a framework for building service-oriented applications that allows sending asynchronous messages between service endpoints. A WCF application consists of three main components: a WCF service, service host, and service client. The document outlines some fundamental WCF concepts including messages, endpoints, addresses, bindings, contracts, hosting, and metadata. It also lists some advantages of WCF such as interoperability, reliability, security, and support for emerging web standards.
This document provides an overview of web services including:
- The architecture of web services involving service providers, requestors, and registries.
- How web services work using a request-response pattern with XML messages and WSDL descriptions.
- The main types of web services: SOAP and REST.
- Advantages like exposing business functions over the internet and interoperability.
- Disadvantages such as lack of callbacks, transactions, availability, and security issues.
This document discusses various aspects of web service technologies, including service description, discovery, interactions, and composition. It describes how services are described using common languages like XML and WSDL to define interfaces, operations, and endpoints. Services descriptions are stored in directories to allow for discovery. Standards like SOAP and HTTP enable interactions between services. Composite services can be implemented by invoking and combining other basic services.
The document provides an overview of web service architecture, including definitions of key concepts like SOAP, WSDL, and UDDI. SOAP defines the message format for web services communication. WSDL describes web services interfaces and operations. UDDI provides a registry for businesses to publish and discover web services. The architecture supports publishing services, finding services, and binding/invoking services at runtime.
This document discusses WCF routing and protocol bridging in Windows Communication Foundation (WCF). It describes how the routing service acts as a message router and client to route messages between endpoints that may have different transport or SOAP version requirements. It covers how filters can be used to examine messages and make routing decisions, and various types of filters like action and XPath filters. Finally, it shows an example of using a routing service to bridge between mismatched endpoints, enabling a client using one protocol to communicate with a server using a different protocol.
The document provides information about Service Oriented Architecture (SOA). It discusses the characteristics, principles, evolution and comparison of SOA with past architectures like client-server and distributed architectures. Some key points include:
- SOA decomposes automation logic into smaller distinct units called services.
- It evolved from XML, then web services, and is now modeled with three components - service requestor, provider and registry.
- Services encapsulate logic and relate/communicate through service descriptions and messages.
- Common characteristics of SOA include being autonomous, using open standards, supporting vendor diversity, discovery, interoperability and loose coupling.
- SOA is compared to past application and enterprise architectures and
This document provides information about tree data structures and binary trees. It defines key tree terminology like nodes, leaves, ancestors, descendants. It also defines binary tree terms like complete binary tree, strictly binary tree, and expression trees. The document discusses tree traversals like inorder, preorder and postorder traversal. It provides examples of tree representations and operations like insertion, deletion and searching in binary search trees. It also covers heaps and their applications. Sample Python code is given to implement a binary search tree with functions for insertion, searching and deletion of nodes.
Linear searching scans each element of an array one-by-one to find a target value. It has a time complexity of O(n) as the worst case is scanning all elements. Binary search recursively halves the search space to find a target value in a sorted array in O(log n) time on average. Hashing maps elements to array indices using a hash function, allowing constant time lookups. Collisions occur when distinct elements hash to the same index, and are resolved using chaining or linear probing.
The document describes how to create a stored procedure in SQL Server and call it from an ASP.NET web application. It includes steps to create a database and table in SQL Server, then write a stored procedure to select or update records. It also shows how to connect an ASP.NET application to the database, call the stored procedures, and bind the results to a GridView control to display the data. A YouTube video and Google Drive URL are provided for a demonstration of these steps.
1. The document describes how to implement regression with neural networks using TensorFlow on Amazon Web Services. It involves launching an EC2 instance, connecting to it, and running a Jupyter notebook to generate sample data and build a neural network model to predict outputs.
2. A neural network with three dense layers is created using Keras API to predict a numeric output value. The model is trained on a training set for 500 epochs and tested on a held-out test set.
3. Regression is performed to predict a value based on a single input feature, with the goal of minimizing mean squared error loss. The model learns from the training data through backpropagation and tweaks the weights to improve predictions.
The document provides information about mobile platforms and applications. It discusses mobile device operating systems, their special constraints and requirements. It describes commercial mobile operating systems like iOS, Android, Blackberry and Windows Phone. It covers mobile commerce structure and pros and cons. It discusses mobile payment systems and related security issues. It focuses on different mobile platforms, their application development kits and features of the Android operating system. Specifically, it provides details about the Android architecture including its software stack, application components and SDK.
This document contains questions and answers related to the mobile computing course CS8601 taught by Dr. M.Kaliappan at Ramco Institute of Technology in Tamilnadu, India. It includes definitions of mobile computing and its components like computing and mobility. The main advantages and disadvantages of mobile computing are listed. Mobile computing is distinguished from wireless networking. Various forms of wireless networks and types of computer networks are defined. Components of wireless systems and wireless local area networks are described.
Mobile IP allows mobile devices to stay connected to the internet as they move between networks. It extends standard IP to support mobility. There are three key mechanisms:
1) Mobile nodes discover their current location through agent advertisements from foreign agents.
2) They register their care-of address with their home agent to update their location.
3) Tunnelling encapsulates and redirects packets to the mobile node's current location.
The document provides information about mobile telecommunication systems and GSM architecture. It discusses:
1) Cellular systems divide geographic areas into smaller regions called cells served by base stations to allow frequency reuse and increase capacity.
2) GSM is a second generation cellular standard developed for digital voice and data services using TDMA. It has global roaming capabilities and supports SMS, voice calls, and data services.
3) The GSM architecture consists of a radio subsystem with mobile stations and base stations, a network and switching subsystem, and an operation subsystem. The radio subsystem handles wireless transmission using TDMA while the network subsystem contains MSCs, HLRs, and switches.
The document summarizes the key concepts from the course "Mobile Computing" taught in the sixth semester of the Bachelor of Engineering program in Computer Science and Engineering at RAMCO Institute of Technology. It covers the basics of mobile computing including definitions, applications, components of wireless communication systems, mobile communication architectures, and generations of mobile technologies from 1G to 5G. It also describes multiplexing techniques such as space division multiplexing, frequency division multiplexing, and time division multiplexing that allow multiple users to share communication channels and medium.
The document describes a virtual lab simulation for analyzing routing protocols in mobile ad hoc networks (MANETs). It includes:
1) Objectives to design and simulate MANETs using NS-2 and analyze protocols like DSR and AODV.
2) A description of how NS-2 allows visually simulating and designing MANETs to see packet movement and how packets are transferred between nodes.
3) Instructions for performing a MANET simulation experiment in the virtual lab, including setting up a network with four nodes and observing how routes are disrupted and rebuilt when nodes move.
This document outlines a flipped classroom collaborative learning session on web services and their applications conducted by Dr. M. Kaliappan. Students were divided into heterogeneous groups and assigned pre-class study materials including a video lecture. During class time, groups participated in discussion, an online quiz, and presented solutions to a business automation case study. Students' individual and group performance was continuously assessed using rubrics. The goal was to enhance students' communication, problem-solving, and independent learning skills for career success in fields like software development.
The document describes using a Jigsaw cooperative learning technique to teach a class about Service Oriented Architecture. The instructor divided students into groups to learn about different SOA concepts like web services, WSDL, SOAP, orchestration and UDDI. Students acted as experts on their assigned topic and taught each other. Feedback indicated the activity improved communication skills and most students enjoyed participating.
The document describes an innovative teaching practice called think-pair-share used to discuss the topic of DTD for a TV schedule. It involves having students first think individually, then pair with another student to share their ideas, and finally discuss as a whole class. The procedure is to provide a text or questions, have students think alone and then pair up to share before opening it up to all students. An example activity and answer for a DTD of a TV schedule is also included.
1. XML (eXtensible Markup Language) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. XML was designed to store and transport data.
2. An XML document has a defined structure that includes an XML declaration, document type declaration, elements, attributes, character data, comments, processing instructions, and marked sections. Elements contain the actual content of the document and can also have associated attributes.
3. For an XML document to be considered valid, it must contain a document type declaration that references a DTD (document type definition) or XML schema and the document must obey the constraints defined within that declaration. A
This document discusses the differences between well-formed XML and valid XML. It defines well-formed XML as following all XML syntax rules, while valid XML also conforms to constraints defined in a DTD or XML schema. It provides examples of a well-formed XML document describing a t-shirt and a valid XML document for a contact list defined by a DTD. The document clarifies that not all well-formed XML is valid and that valid XML is also well-formed. It contrasts their treatment of advanced features and constraint support.
The document discusses XML namespaces and how they avoid name conflicts between elements that may have the same name but different meanings. It provides examples of declaring namespaces using default and explicit namespace prefixes. Namespaces associate element and attribute names with different URIs so the same name can be used in different contexts without conflict.
More from Ramco Institute of Technology, Rajapalayam, Tamilnadu, India (20)
Batteries -Introduction – Types of Batteries – discharging and charging of battery - characteristics of battery –battery rating- various tests on battery- – Primary battery: silver button cell- Secondary battery :Ni-Cd battery-modern battery: lithium ion battery-maintenance of batteries-choices of batteries for electric vehicle applications.
Fuel Cells: Introduction- importance and classification of fuel cells - description, principle, components, applications of fuel cells: H2-O2 fuel cell, alkaline fuel cell, molten carbonate fuel cell and direct methanol fuel cells.
International Conference on NLP, Artificial Intelligence, Machine Learning an...gerogepatton
International Conference on NLP, Artificial Intelligence, Machine Learning and Applications (NLAIM 2024) offers a premier global platform for exchanging insights and findings in the theory, methodology, and applications of NLP, Artificial Intelligence, Machine Learning, and their applications. The conference seeks substantial contributions across all key domains of NLP, Artificial Intelligence, Machine Learning, and their practical applications, aiming to foster both theoretical advancements and real-world implementations. With a focus on facilitating collaboration between researchers and practitioners from academia and industry, the conference serves as a nexus for sharing the latest developments in the field.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...University of Maribor
Slides from talk presenting:
Aleš Zamuda: Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapter and Networking.
Presentation at IcETRAN 2024 session:
"Inter-Society Networking Panel GRSS/MTT-S/CIS
Panel Session: Promoting Connection and Cooperation"
IEEE Slovenia GRSS
IEEE Serbia and Montenegro MTT-S
IEEE Slovenia CIS
11TH INTERNATIONAL CONFERENCE ON ELECTRICAL, ELECTRONIC AND COMPUTING ENGINEERING
3-6 June 2024, Niš, Serbia
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMHODECEDSIET
Time Division Multiplexing (TDM) is a method of transmitting multiple signals over a single communication channel by dividing the signal into many segments, each having a very short duration of time. These time slots are then allocated to different data streams, allowing multiple signals to share the same transmission medium efficiently. TDM is widely used in telecommunications and data communication systems.
### How TDM Works
1. **Time Slots Allocation**: The core principle of TDM is to assign distinct time slots to each signal. During each time slot, the respective signal is transmitted, and then the process repeats cyclically. For example, if there are four signals to be transmitted, the TDM cycle will divide time into four slots, each assigned to one signal.
2. **Synchronization**: Synchronization is crucial in TDM systems to ensure that the signals are correctly aligned with their respective time slots. Both the transmitter and receiver must be synchronized to avoid any overlap or loss of data. This synchronization is typically maintained by a clock signal that ensures time slots are accurately aligned.
3. **Frame Structure**: TDM data is organized into frames, where each frame consists of a set of time slots. Each frame is repeated at regular intervals, ensuring continuous transmission of data streams. The frame structure helps in managing the data streams and maintaining the synchronization between the transmitter and receiver.
4. **Multiplexer and Demultiplexer**: At the transmitting end, a multiplexer combines multiple input signals into a single composite signal by assigning each signal to a specific time slot. At the receiving end, a demultiplexer separates the composite signal back into individual signals based on their respective time slots.
### Types of TDM
1. **Synchronous TDM**: In synchronous TDM, time slots are pre-assigned to each signal, regardless of whether the signal has data to transmit or not. This can lead to inefficiencies if some time slots remain empty due to the absence of data.
2. **Asynchronous TDM (or Statistical TDM)**: Asynchronous TDM addresses the inefficiencies of synchronous TDM by allocating time slots dynamically based on the presence of data. Time slots are assigned only when there is data to transmit, which optimizes the use of the communication channel.
### Applications of TDM
- **Telecommunications**: TDM is extensively used in telecommunication systems, such as in T1 and E1 lines, where multiple telephone calls are transmitted over a single line by assigning each call to a specific time slot.
- **Digital Audio and Video Broadcasting**: TDM is used in broadcasting systems to transmit multiple audio or video streams over a single channel, ensuring efficient use of bandwidth.
- **Computer Networks**: TDM is used in network protocols and systems to manage the transmission of data from multiple sources over a single network medium.
### Advantages of TDM
- **Efficient Use of Bandwidth**: TDM all
1. 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 IV WEB SERVICES
Service descriptions – WSDL – Messaging with SOAP – Service discovery – UDDI – Message
Exchange Patterns – Orchestration – Choreography –WS Transactions
-------------------------------------------------------------------------------------------------------------------
Credit: Thomas Erl, “Service Oriented Architecture: Concepts, Technology, and Design
---------------------------------------------------------------------------------------------------------------
• Outcome
– Describe the web services using WSDL, SOAP and UDDI.(L2).
4.1 Web services framework
It is comprised of all of the parts such as an abstract (vendor-neutral) technology platform, Web
services, service descriptions (WSDL), messages (SOAP), a service description registration and
discovery architecture (UDDI) and a well-defined architecture that supports messaging patterns
and compositions.
The structural relationship between SOA and Web service
Figure 1: relationship between SOA and web service
• Services (as Web services)
– A service is a means of encapsulating various extents of logic.
• Every Web service can be associated with:
– A temporary classification based on the roles during the runtime processing of a
message
– A permanent classification based on the application logic and the roles it assumes
within a solution environment.
• Service roles
– A Web service is capable of assuming different roles depending on the context.
• the initiator, (Service requestor)
2. 2
• relayer, (intermediaries)
• the recipient of a message(service provider)
• Service provider
– The Web service is invoked via an external source such as a service requestor
– The recipient of a request message is classified as a service provider
• The service provider may reply to a request message with a response message.
• The term "service provider" is used to identify the organization (or individual) responsible
for providing the Web service.
• service provider entity (the organization or individual providing the Web service)
• service provider agent (the Web service itself, acting as an agent on behalf of its owner)
• Service requestor
– Any unit of processing logic capable of issuing a request message is classified as a
service requestor.
– The sender of the request message is classified as a service requestor
– A Web service is always a service provider but also can act as a service requestor
– service requestor entity (the organization or individual requesting the Web service)
• Case study
– TLS's Purchase Order Service submits electronic POs that are received by RailCo's Order
Fulfillment Service.
– Upon shipping the order, RailCo's Invoice Submission Service sends an electronic invoice to
TLS's Accounts Payable Service.
3. 3
• Intermediaries or intermediary services
– Web services and service agents’ route and process a message after it is initially
sent and before it arrives at its destination are referred to as intermediaries or
intermediary services. Because an intermediary receives and submits messages, it
always transitions through service provider and service requestor roles.
– Two types of intermediaries.
• passive intermediary
• Active intermediary
• Passive intermediary
– It is responsible for routing messages to a subsequent location.
– It may use information in the SOAP message header to determine the routing path.
• Active intermediaries
– It route messages to a forwarding destination. Prior to transmitting a message,
these services process and alter the message contents.
– Active intermediaries will look for particular SOAP header blocks and perform
actions in response to the information. They always alter data in header blocks and
may insert or even delete header blocks entirely.
4. 4
• Initial sender and ultimate receiver
– Initial senders are simply service requestors that initiate the transmission of a
message. Therefore, the initial sender is always the first Web service in a message
path.
– Service providers that exist as the last Web service along a message's path
• Case study
– The TLS Load Balancing Service acting as an intermediary between the RailCo
initial sender and the TLS ultimate receiver
• Service compositions
– Any service enlists one or more additional services to complete a given task.
Further, any of the enlisted services call other services to complete a given sub-
task. Therefore, each service participates in a composition as service composition
member
5. 5
• Case Study
• When the TLS Accounts Payable Service receives an invoice, it invokes a series of
additional services to fully process the invoice contents:
• It first uses the Vendor Profile Service to validate the invoice header data and link the
invoice document to a vendor account from vendor profile service.
• Next, the Accounts Payable Service extracts taxes and shipping fees and directly logs all
amounts into the appropriate A/P accounts.
• Finally, the Accounts Payable Service passes the invoice total to Ledger Service to update
the General Ledger.
4.1.1 Service models
• Service models refer to permanent classifications that represent the application logic
housed by the service, as well as its business-related role within the solution.
– Business service model
– Utility service model
– Controller service model
4.1.1.1 Business service model
• Within an SOA, It encapsulates a distinct set of business logic within a well-defined
functional boundary.
• It is fully autonomous that are participate in service compositions.
4.1.1.2 Utility service model
• Any Web service or service agent designed for reuse can be classified as a utility service.
6. 6
4.1.1.3 Controller service model
• Service compositions are comprised of independent services that execute the overall
business task. The controller service is acting as the parent service to service composition
members.
Case study
• The Accounts Payable Service acting as a business and controller service, composing two
other business services
4.2 Service description (WSDL) (16 marks)
Or
Write the WSDL document consisting of abstract and concrete parts for Arithmetic
calculator web service (16 marks)
– Web service Description language (WSDL) is an XML format for describing web services
as a set of endpoints operating on messages containing procedure-oriented information.
The operations and messages are described abstractly.
– It establishes a loosely coupled form of communication between services.
• Case study
– Each service requestor is using the WSDL of a service provider to ensure that
messages sent will be understood and accepted
7. 7
4.2.1 WSDL definition or Service endpoints and service descriptions
• A WSDL describes the point of contact for a service provider known as the service
endpoint.
• It provides a formal definition of the endpoint interface and establishes the physical
address of the service.
• Two categories
– abstract description
– concrete description
4.2.1.1 Abstract description
• An abstract description establishes the interface of the Web service without any reference to
the technology or enables a Web service to transmit messages.
• Three main parts of an abstract description.
– portType, operation, and message
8. 8
– The parent portType provides a high-level view of the service interface that includes
groups of functions known as operations.
– Each operation represents a specific logic or action performed by the service. A service
operation is a public method.
– Web services rely on messaging-based communication, parameters are represented as
messages. Therefore, an operation consists of a set of input and output messages.
4.2.1.2 Concrete description
• The abstract Web service interface needs to be connected to a physical transport
protocol(SOAP) for its communication. This connection is defined in the concrete
description portion of the WSDL file.
• Three parts of concrete description :
• binding, port, and service
– A WSDL description's binding establish physical connections between services.
– Simple Object Access Protocol(SOAP) is the common form of binding. A binding
can apply to an entire interface or a specific operation.
– Port represents the physical address at which a service can be accessed with a
specific protocol.
– Within the WSDL language, the service is used to refer to a group of related
endpoints.
Case Study
• Service: TLS Accounts Payable Service receive invoices submitted by numerous vendors.
• abstract description :
– One interface definition contains a single operation called SubmitInvoice.
– SubmitInvoice operation
• One input and one output message.
• The input message is accepting the invoice document from a service
requestor (RailCo Invoice Submission Service).
• The output message is a message of acknowledgement indicating that the
submitted invoice document has been successfully received and that its
contents are valid.
– concrete description
• binds the operation to the SOAP protocol
• provides a location address for the Accounts Payable Service
4.2.1.3 Metadata and service contracts
• WSDL definitions rely on XSD schemas to formalize the structure of incoming and
outgoing messages.
• Policies provide rules and processing details through the WSDL and XSD schema
documents.
• Three separate documents describe an aspect of a service:
– WSDL definition
– XSD schema
– policy
• Service description documents such as WSDL definition, XSD schema, and policy can be
classified as service metadata, as each provides information about the service.
• A service contract comprised of a collection of service descriptions (WSDL) and
additional documents with conditions.
• Service contract refers to agreements not expressed by service descriptions.
– For example, a Service Level Agreement (SLA) agreed upon by the owners of a
service provider and its requestor that can be considered a part of an service
contract.
9. 9
4.2.1.4 Service Contract
• A service contract comprised of a collection of service descriptions(WSDL) and
additional documents(XSD schema, policy, SLA)
4.2.1.5 Semantic descriptions
• A semantic description is a supplementary documentation published along with service
descriptions (WSDL) to provide sufficient semantic information in a structured manner so
that, service requestors can evaluate and choose suitable service providers independently.
• Service policies can be designed to express the semantic descriptions of service behavior.
4.2.1.6 Service description advertisement and discovery
– Advertising and discovering service descriptions may become necessary for
amount of services increases within and outside of organizations.
– Universal Description, Discovery, and Integration (UDDI) provides a registry
model worth describing.
• Private and public registries
– UDDI is a accepted standard for structuring registries that keep track of service
descriptions These registries can be searched manually and accessed
programmatically.
– Public registries accept registrations from any organizations. Once signed up,
organizations acting as service provider can register their web services.
– Private registries can be implemented within organization boundaries to provide a
central repository for descriptions of all services the organization develops, leases,
or purchases.
Ex: Arithmetic web service in .NET
public class WebService : System.Web.Services.WebService {
public WebService () {
//InitializeComponent();
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
10. 10
}
[WebMethod]
public int add(int a, int b)
{
return (a+b);
}
[WebMethod]
public int sub(int a, int b)
{
return (a - b);
}
4.2.2 WSDL document for Arithmetic calculator web service (16 marks)
<wsdl:portType name="WebServiceSoap">
<wsdl:operation name="add">
<wsdl:input message="tns:addSoapIn"/>
<wsdl:output message="tns:addSoapOut"/>
</wsdl:operation>
<wsdl:operation name="sub">
<wsdl:input message="tns:subSoapIn"/>
<wsdl:output message="tns:subSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="WebServiceSoap" type="tns:WebServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="add">
<soap:operation soapAction="http://tempuri.org/add" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
SOAP input message (Service requestor)
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org"
<soap:Body>
<add xmlns="http://tempuri.org/">
11. 11
<a> int </a>
<b> int </b>
</add>
</soap:Body>
</soap:Envelope>
SOAP output message (Service provider)
<?xml version="1.0" encoding="utf-8"?>
</soap:Envelope>
<soap:Body>
<addResponse xmlns="http://tempuri.org/">
<addResult > int </addResult>
</addResponse>
</soap:Body>
</soap:Envelope>
<wsdl:service name="WebService">
<wsdl:port name="WebServiceSoap" binding="tns:WebServiceSoap">
<soap:address location="http://localhost:61433/WebService.asmx"/>
</wsdl:port>
</wsdl:service>
4.3 Message with SOAP
• SOAP
– The Simple Object Access Protocol(SOAP) specification is universally accepted
standard transport protocol for messages processed by Web services
• All communication between services is message-based, the messaging framework provide
standardization for services.
• SOAs emphasis on a message-centric application designs that increasing amount of
business and application logic is embedded into messages.
• The messaging framework can be flexible and highly extensible.
4.3.1 SOAP Messages format (16 marks)
• Envelope
– SOAP message is packaged into a container known as an envelope.
– The envelope is responsible for housing all parts of the message
• Header
– Header is hosting Meta information.
–
12. 12
• Body
– The actual message contents are hosted by the message body, which consists of
XML formatted data.
– The contents of a message body are referred to as the message payload
4.3.1.1 Header block
• Supplementary Meta information stored in the header area.
• Header blocks contain information required for any services with contact to process and route
the message based on the rules, instructions, and properties.
• Features of message with header blocks :
– processing instructions may be executed by service intermediaries or the ultimate
receiver
– routing or workflow information associated with the message
– security measures implemented in the message
– reliability rules related to the delivery of the message
– context and transaction management information
– correlation information (an identifier used to associate a request message with a
response message)
EXample
<env:Header>
<MaxTime value="10000" role="ultimateReceiver"/> </env:Header>
<env:Header>
<MaxRelayTime value="10000“ role=“next” relay=“true"/>
</env:Header>
<maxRelayTime> must be relayed from node to node
role=“next” - intermediate node
4.3.1.2 Message styles
• SOA relies on document-style messages to enable larger payloads, interface operations,
and reduced message transmission volumes between services.
• Case study
– Submit invoices electronically to TLS via the Invoice Submission Service, all three
of these documents needed to be included in the same message.
13. 13
– As a result, a single document-style message used by RailCo is capable of
providing an invoice, an account statement, and volume discount pricing formulas.
4.3.1.3 Attachments
– SOAP attachments are commonly employed to transport binary files, such as
images.
4.3.1.4 Faults
– SOAP messages offer exception handling logic by providing an optional fault
section that can reside within the body area.
– The section is store a simple message that deliver error condition information when
an exception occurs.
Example:
<env:Body>
<env:Fault>
<env: Code>
<env: Value> env:Sender</env:Value>
</env: Code>
<env: Reason> <env:Text>Processing error</env:Text>
</env: Reason>
</env:Fault>
4.3.1.5 Nodes
• The programs that services use to transmit and receive SOAP messages are referred to as
SOAP nodes.
• A SOAP node transmitting a SOAP message received by the service logic
• Node types
– The SOAP specification has a different "role" is refers to SOAP types or labels as
concepts.
– SOAP sendera
• SOAP node that transmits a message
– SOAP receivera
• SOAP node that receives a message
– SOAP intermediarya
• SOAP node that receives and transmits a message, and optionally processes
the message prior to transmission
14. 14
– initial SOAP sender
• the first SOAP node to transmit a message
– ultimate SOAP receiver
• the last SOAP node to receive a message
Case Study
• When the RailCo Invoice Submission Service sends a SOAP message containing an invoice,
the SOAP server software (initial SOAP sender node) executes the transmission of the SOAP
message via HTTP.
• Prior to the TLS Accounts Payable Service receiving the invoice message, the TLS SOAP
server or listener (ultimate SOAP receiver node) receives the message first.
• SOAP intermediaries
– SOAP intermediary nodes transition through service provider and service requestor
roles,
– SOAP intermediary nodes move through SOAP receiver and SOAP sender types when
processing a message.
– Types
• Forwarding intermediary nodes
• Active intermediary nodes.
– Forwarding intermediary nodes
• it is responsible for relaying the contents of a message to a subsequent SOAP
node
• The intermediary will process and alter header block information relating to the
forwarding logic it is executing.
– Active intermediary nodes
• An active intermediary can alter existing header blocks, insert new ones,
and execute a variety of supporting actions
15. 15
4.3.1.6 Message paths
• A message path refers to the route taken by a message from when it is first sent until it
arrives at its ultimate destination. Therefore, a message path consists of at least one initial
sender, one ultimate receiver, and zero or more intermediaries.
• The use of header blocks processed by intermediaries can dynamically determine the path
of a message. This may be routing logic, workflow logic, or environmental conditions.
• A message path
determined at runtime
Write SOAP request message and response message for arithmetic calculator (8 marks)
SOAP input message (Service requestor)
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org"
<soap:Body>
<add xmlns="http://tempuri.org/">
<a> int </a>
<b> int </b>
</add>
</soap:Body>
</soap:Envelope>
SOAP output message (Service provider)
<?xml version="1.0" encoding="utf-8"?>
</soap:Envelope>
<soap:Body>
<addResponse xmlns="http://tempuri.org/">
<addResult > int </addResult>
</addResponse>
</soap:Body>
</soap:Envelope>
4.4 Service discovery (UDDI) – (16 marks)
• UDDI (2 marks)
16. 16
– UDDI stands for Universal Description, Discovery, and Integration.
– UDDI is an XML-based standard for describing, publishing, and finding web
services
• UDDI has two sections
– A registry of all web service's metadata, including a pointer to the WSDL
description of a service.
– A set of WSDL port type definitions for manipulating and searching that registry
4.4.1 Private and public registries (2 marks)
– UDDI is a standard for structuring registries that keep track of service descriptions.
– Public registries accept registrations from any organizations. Once signed up,
organizations acting as service provider can register their web services.
– Private registries can be implemented within organization boundaries to provide a
central repository for descriptions of all services. The organization develops,
leases, or purchases.
4.4.2 Three elements of UDDI.(2 marks)
– White Pages,
– Yellow Pages,
– Green Pages.
• White pages
– Basic information about the company and its business.
– Basic contact information including business name, address, contact phone
number, etc.
– A Unique identifiers for the company tax IDs.
• Yellow Pages
– Yellow pages contain more details about the company.
– Yellow pages include industry codes, product codes, and business identification
codes.
• Green Pages
– Green pages contain technical information about a web service.
• The various interfaces
• The URL locations
4.4.3 The basic structure of a UDDI – (16 marks)
– businessEntity: Detail about company
– businessService: Individual web service
– bindingTemplate- technical descriptions of the web services
– tModel
17. 17
4.4.3.1 businessEntity Data Structure(16 marks)
or
Develop the businessEntity data Structure of UDDI. Assume, IBM is the service
provider that provides arithmetic calculator web service (16 marks)
• The business entity structure represents the services provider.
• This structure contains information about the company including
– contact information
– industry categories
– business identifiers
– list of services provided
<businessEntity businessKey = "uuid”
operator = "www.ibm.com" authorizedName = "John Doe">
<name>Acme Company</name>
<description> We create Arithmetic Web services</description>
<contacts>
<contact useType = "general info">
<personName>John Doe</personName>
<phone>(123) 123-1234</phone>
<email>jdoe@acme.com</email>
</contact>
</contacts>
</businessEntity>
4.4.3.2 businessService Data Structure
• The business service structure represents an individual web service provided by the business
entity.
• Its description includes information on
– binding to the web service,
– type of web services
– Categories it belongs to.
<businessService serviceKey = "uuid" businessKey = "uuid:C">
<name> Calculator Web Service</name>
<description> Arithmetic calculation</description>
</businessService>
4.4.3.3 bindingTemplate Data Structure
– Binding templates are the technical descriptions of the web services represented by
the business service structure.
<bindingTemplate serviceKey = "uuid" bindingKey = "uuid:C00">
<description> Calculator SOAP Binding</description>
<accessPoint URLType = "http"> http://localhost:8080 </accessPoint>
18. 18
</bindingTemplate>
4.4.3.4 tModel Data Structure
• tModel stands for technical model.
• tModel is describing the various business, service, and template structures stored within
the UDDI registry.
<tModel tModelKey = "uuid:xyz987.." operator = "www.ibm.com" authorizedName = "John
Doe">
<name> Calculator Interface Port Type</name>
<overviewDoc>
<overviewURL> http://localhost/ Calculator.wsdl </overviewURL>
</overviewDoc>
</tModel>
4.5 Message Exchange Pattern (MEP) (8 marks)
• A MEP is a interaction pattern to define the message exchange between two services.
• Message exchange patterns (MEPs) represent a set of templates that provide a group of
sequences for the exchange of messages.
• Common example is a request and response pattern.
• Types
– Primitive MEPs
– Complex MEPs
4.5.1 Primitive MEPs(2 marks)(Nov 2016)
• Request-response
• Fire and forget
4.5.1.1 Request-response
• This MEP used in distributed application environments that defines synchronous
communication
• The request-response MEP establishes a simple exchange in which a message is first
transmitted from a source (service requestor) to a destination (service provider).
• Upon receiving the message, the destination (service provider) then responds with a
message back to the source (service requestor).
19. 19
4.5.1.2 Fire-and-forget
• This simple asynchronous pattern is based on the unidirectional transmission of messages
from a source to one or more destinations
• Types of fire-and-forget MEP
– The single-destination pattern, where a source sends a message to one destination
only.
– The multi-cast pattern, where a source sends messages to a predefined set of
destinations.
– The broadcast pattern, where the message is sent out to a broader range of recipient
destinations.
Case study
The TLS Accounts Payable Service contains a rule that when an invoice header fails validation, an
e-mail notification is generated. To execute this step, the Accounts Payable Service sends a
message to the Notification Service. This utility service records the message details in a
notification log database
4.5.2 Complex MEPs
• Primitive MEPs can be assembled in various configurations to create different types of
messaging models called complex MEPs.
• A classic example
Publish-and-subscribe model(Dish TV provider: Airtel, Sun, Reliance etc..).
Steps:
• Step 1. The subscriber sends a message to notify the publisher that it wants to receive
messages on a particular topic.
• Step 2. Upon the availability of the requested information, the publisher broadcasts messages
on the particular topic to all topic's
subscribers
20. 20
Case study
The utility Notification Service periodically generates and distributes notification
messages for a number of different topics. Messages from outside vendors that fail validation, for
example, are first logged in a dedicated notification repository. At the end of every working day,
the Notification Service queries this repository to retrieve all failed submissions
4.5.3 MEP and SOAP
• The SOAP provides a messaging framework designed to support single-direction message
transfer.
• The SOAP allows messaging characteristics and behaviors to be implemented via SOAP
header blocks.
• The SOAP provides an optional parameter to identify the MEP associated with a message.
4.5.4 MEP and WSDL
• MEPs play a vital role in WSDL as they can coordinate the input and output messages
associated with an operation.
• The association of MEPs to WSDL operations embeds behavior into the interface
definition.
• WSDL operations support different configurations of incoming, outgoing, and fault
messages. These configurations are referred as message exchange patterns.
4.5.5 WSDL 1.1 specification supports four message exchange patterns (8 marks)
• Request-response operation: Service requestor submits a message to service provider,
upon receiving a message, the service provider respond with a message or a fault message.
• Solicit-response operation service provider submit a message to a service requestor, the
service provider expects a standard response message or a fault message.
• One-way operation: The service expects a single message and is not obligated to respond.
• Notification operation: The service sends a message and expects no response.
21. 21
Figure : The four basic patterns supported by WSDL 1.1
4.5.6 WSDL 2.0 specification support to eight patterns corresponds to MEP. (8 marks)
• The in-out pattern is equivalent to the WSDL 1.1 request-response operation.
• The out-in pattern, which is the reverse of the previous pattern where the service provider
initiates the exchange by transmitting the request. (Equivalent to the WSDL 1.1 solicit-
response operation.)
• The in-only pattern, which supports the fire-and-forget MEP.
• The out-only pattern, which is the reverse of the in-only pattern. It is used primarily in support
of event notification. (Equivalent to the WSDL 1.1 notification operation.)
• The robust in-only pattern, a variation of the in-only pattern that provides the option for fault
response message as a result of a transmission or processing error.
• The robust out-only pattern, which, like the out-only pattern, has an outbound message
initiating the transmission. The difference here is that a fault message can be issued in
response to the receipt of this message.
• The in-optional-out pattern, which is similar to the in-out pattern with one exception. In this,
the delivery of a response message is optional. This pattern also supports the generation of a
fault message.
• The out-optional-in pattern is the reverse of the in-optional-out pattern, where the incoming
message is optional. Fault message generation is again supported.
22. 22
4.6 Service Activity (8 marks)
Activity
An activity is representing a task or a unit of work performed by a set of services.
Service Activity (2 marks)
The interaction of a group of services working together to complete a task can be referred
to as a service activity
4.6.1 Primitive and complex service activities
• Primitive activity(2 marks)
– Primitive activity is synchronous communication and consists of two services
exchanging information using a standard request-response MEP
– Primitive activities are almost always short-lived
• Complex activities(2 marks)
– In complex activities, many services can involve that collaborate to complete
multiple processing steps over a long period of time
– Ex: composition-oriented concepts, such as choreography and orchestration.
23. 23
4.6.2 Service activities and SOA
• In SOAs, the interaction of a group of services working together to complete a task .
• The scope of a service activity is primarily concerned with the processing and
communication between services.
• Complex activities are commonplace in service-oriented solutions and can involve
numerous participating services.
Case study
1. The initial sender, RailCo's Invoice Submission Service, transmits the invoice message.
2. The message is first received by a passive intermediary, TLS's Load Balancing Service,
which routes the message according to environmental conditions. The message
subsequently arrives at TLS's Accounts Payable Service.
3. The Accounts Payable Service acts as a controller and initiates a service composition to
begin processing the message contents. It begins by interacting with the Vendor Profile
Service to validate invoice header data and attaches the invoice document to the vendor
account.
4. The Accounts Payable Service then extracts taxes, shipping fees, and the invoice total. It
passes these values to the Ledger Service, which updates various ledger accounts,
including the General Ledger.
5. Finally the activity ends, as the Accounts Payable Service completes its processing
cycle by sending a response message back to RailCo.
4.7 Coordination (8 marks)
• Coordination provides a context management framework using a service composition
headed by a coordinator service.
• Examples of implementations of this framework are WS-Atomic Transaction and WS-
BusinessActivity.
24. 24
4.7.1 Coordinator composition
This coordinator service controls a composition of other services that each plays a specific part in
the management of context data
• The coordinator composition consists of the following services:
– Activation service: Responsible for the creation of a new context for a particular
activity in the context.
– Registration service: Allows participating services to use context information
received from the activation service to register for a supported context protocol.
– Protocol-specific services: These services represent the protocols supported by the
coordinator.
– Coordinator The controller service of this composition, also known as the
coordination service.
4.7.2 Coordination types and coordination protocols
• Each coordinator is based on a coordination type, which specifies the underlying logic of
an activity for which context information is being managed.
• The two coordination types
– WS-Atomic Transaction
– WS-Business Activity.
• Coordination type extensions provide a set of coordination protocols, which represent
unique coordination types and consist of a collection of specific behaviors and rules.
• A protocol is a set of rules that are imposed on activities and all registered participants
must follow.
4.7.3 Coordination contexts and coordination participants
• A context created by the activation service is referred to as a coordination context. It
contains a collection of information that represents the activity and various supplementary
data.
25. 25
• Examples: Type of data held within a coordination context include:
– a unique identifier that represents the activity
– an expiration value
– coordination type information
• A service that wants to take part in an activity managed by WS-Coordination must request
the coordination context from the activation service. It then can use this context
information to register for one or more coordination protocols. A service that has received
a context and has completed registration is considered a participant in the coordinated
activity.
4.7.3.1 The activation and registration process
• The coordination service composition is instantiated when an application service contacts
the activation service Via a CreateCoordinationContext request message,
• It asks the activation service to generate a set of new context data. Once passed back with
the ReturnContext message, the application service now can invite other services to
participate in the coordination.
• This invitation consists of the context information received from the activation service.
4.7.3.2 Coordination and SOA
• A coordinator-based context management framework, as provided by WS-Coordination
and its supporting coordination types, introduces a layer of composition control to SOAs
26. 26
• It standardizes the management and interchange of context information within a variety of
key business protocols.
4.8 Orchestration (8 marks)
• Organizations employed enterprise application integration (EAI) middleware to integrate
various legacy environments.
• In these systems, a centrally controlled set of workflow logic facilitates interoperability
between different applications. Ex: WS-BPEL
• Orchestration represent business logic and services-based venue
• A common implementation of orchestration is the hub-and-spoke model that allows multiple
external participants to interface with a central orchestration engine.
• With orchestration, different processes can be connected without redevelop the solutions for
automated process.
Advantages:
• Orchestration can significantly reduce the complexity of solution environments.
• Workflow logic is abstracted and more easily maintained
4.8.1 Business protocols and process definition (2 marks)
– The workflow logic comprises an orchestration that consists of numerous business
rules, conditions, and events.
– Collectively, these parts of an orchestration establish a business protocol that
defines how participants (spoke) interoperate to achieve the completion of a
business task.
– The details of the workflow logic encapsulated and expressed by an orchestration
are contained within a process definition
27. 27
4.8.2 Process services and partner services
– The process itself is represented as a process service
– Identified process definitions are allowing the process participants.
– Other services allowed to interact with the process service are identified as partner
services or partner links.
– Depending on the workflow logic, the process service can be invoked by an
external partner service
4.8.3 Basic activities and structured activities
– WS-BPEL breaks down workflow logic into a series of predefined primitive
activities such as receive, invoke, reply, throw, and wait.
– Basic activities represent workflow actions which can be assembled using the logic
supplied by structured activities (sequence, switch, while, flow, pick).
4.8.3.1 Sequences, flows, and links
• Sequence
– A sequence aligns groups of related activities into a list that determines a sequential
execution order. In Sequences, one piece of application logic is dependent on the
outcome of another.
• Flows
– Flows also contain groups of related activities, but they introduce different execution
requirements. Pieces of application logic can execute concurrently within a flow,
meaning that there is not necessarily a requirement for one set of activities to wait
before another finishes.
• Links
– Links are used to establish formal dependencies between activities that are part of
flows. Before an activity fully can complete, it must ensure that any requirements
established in outgoing links first are met. Similarly, before any linked activity can
begin, requirements contained within any incoming links first must be satisfied. Rules
provided by links are also referred to as synchronization dependencies
4.8.4 Orchestrations and activities
• An activity can be applied to any logical unit of work completed by a service-oriented
solution.
• The scope of a orchestration can be classified as a complex and long-running activity
4.8.5 Orchestration and coordination
• Orchestration is represented by WS-BPEL, can fully utilize the Coordination context
management framework by incorporating the coordination type.
28. 28
• The coordination protocols designed to support complex, and long-running activities
4.8.6 Orchestration and SOA
• Orchestration provides an automation model where business process logic is centralized
yet still extensible and composable .
• Through the use of orchestrations, service-oriented solution environments become
extensible and adaptive.
• Orchestrations themselves typically establish a common point of integration for other
applications, which makes an implemented orchestration a key integration enabler
Case study
29. 29
4.9 Choreography (8 marks)
• The goal is to establish a collaboration pattern between services representing different
organization.
• Choreographies consist of multiple participants that can different roles with different
relationships.
• Choreographies are reusable, composable, and can be modularized.
• The concept of choreography extends the SOA vision to standardize cross-organization
collaboration.
4.9.1 WS-CDL (Web Services Choreography Description Language) (2 marks)
The WS-CDL is the specifications that organize information exchange between multiple
organizations (or even multiple applications within organizations), with an emphasis on public
collaboration
Ex: Retailer – distributor
4.9.2 Collaboration
– The goal is to establish a collaboration pattern between services representing
different organization.
– Choreographies establish universal interoperability patterns for inter-organization
business tasks.
– It can be applied to enable collaboration between applications belonging to a single
organization. It use orchestration techniques.
30. 30
4.9.3 Roles and participants
– Within choreography, a Web service assumes predefined roles. This establishes
what the service can do within the context of a particular business task.
– Related roles are grouped accordingly, categorized as participants (services).
4.9.4 Relationships and channels
– Every action within choreography can be broken down into a series of message
exchanges between two services. Each exchange between two roles in
choreography is defined as a relationship. Every relationship consequently consists
of exactly two roles.
– Channels define the characteristics of the message exchange between two specific
roles. it fosters dynamic discovery and increases the number of participants within
large-scale collaborative tasks.
4.9.5 Interactions and work units
o Finally, the actual logic behind a message exchange is encapsulated within an
interaction.
o An interaction represents actual progress within choreography.
o Related to interactions are work units. These impose rules and constraints that must be
adhered for an interaction to successfully complete
4.9.6 Reusability, composability, and modularity
• Each choreography can be designed in a reusable manner, allowing it to be applied to
different business tasks comprised of the same fundamental actions.
• Choreography can be assembled from independent modules. These modules can represent
distinct sub-tasks and can be reused by different parent choreographies.
31. 31
4.9.7 Orchestrations Vs choreographies (Comparison) (2 marks)
• Orchestrations
– An orchestration expresses organization-specific business workflow. An
organization owns and controls the logic, even if that logic involves interaction
with external business partners.
– Service orchestration represents a single centralized executable business process
(the orchestrator) that coordinates the interaction among different services
• choreographies
– The goal is to establish a collaboration pattern between services representing
different organization.
– The decision logic is distributed, with no centralized point
4.9.8 Choreography and SOA
• Choreography can assist in the realization of SOA across organization boundaries.
• Choreography supports composability, reusability, and extensibility, also increase
organizational agility and discovery.
• Organizations are able to join into multiple online collaborations, which can dynamically
extend or even alter related business processes that integrate with the choreographies.
32. 32
4.10 WS-Atomic Transaction (8 marks)
• WS- AtomicTransaction is a coordination type that supplies three coordination protocols
that can be used to achieve two-phase commit transactions across multiple service
participants.
• The atomic transaction coordinator makes the ultimate decision to commit or rollback a
transaction. This decision is based on votes collected from participants.
• Atomic transactions apply an all-or- nothing requirement to work performed as part of an
activity
• Contemporary SOAs can incorporate cross-service, ACID-type transaction features by
using WS-AtomicTransaction.
4.10.1 ACID transactions
The WS- AtomicTransaction protocols enable cross-service transaction functionality in
distributed application platforms.
– Atomic
• Either all of the changes within the scope of the transaction succeed, or
none of them succeed. This characteristic introduces the need for the
rollback feature that is responsible for restoring any changes completed as
part of a failed transaction to their original state.
– Consistent
• None of the data changes made as a result of the transaction can violate the
validity of any associated data models. Any violations result in a rollback of
the transaction.
– Isolated
• If multiple transactions occur concurrently, they may not interfere with
each other. Each transaction must be guaranteed an isolated execution
environment.
– Durable
• Upon the completion of a successful transaction, changes made as a result
of the transaction can survive subsequent failures.
4.10.2 Atomic transaction protocols (2 marks)
• WS-Atomic Transaction is an extension of WS-Coordination context management
framework.
• To participate in an atomic transaction, a service first receives a coordination context from
the activation service. It can subsequently register for available atomic transaction
protocols.
33. 33
• Transaction protocols :
– A Completion protocol is used to initiate the commit or abort states of the
transaction.
– The Durable 2PC protocol for which services representing permanent data
repositories should register.
– The Volatile 2PC protocol to be used by services managing temporary data.
• Most often these protocols are used to enable a two-phase commit (2PC) that manages
an atomic transaction across multiple service participants.
4.10.3 The atomic transaction coordinator
– When WS-Atomic Transaction protocols are used, the coordinator controller
service can be referred to as an atomic transaction coordinator.
– The atomic transaction coordinator plays a key role in managing the participants
of the transaction process and in deciding the transaction's ultimate outcome.
4.10.4 The atomic transaction process
– The atomic transaction coordinator is responsibility of deciding the outcome of a
transaction. The decision is based on receives feedback from all of the transaction
participants.
– The collection of feedback is separated into two phases.
• Prepare phase, all participants are notified by the coordinator, and each is
asked to prepare and then issue a vote. Each participant's vote consists of
either a "commit" or "abort" request
• Commit phase. It now reviews all votes and decides whether to commit or
rollback the transaction.
34. 34
4.10.5 Atomic Transaction and SOA
– More services emerge within an organization and as service compositions become more
commonplace, the need to move transaction boundaries into cross-service interaction
scenarios increases. Being able to guarantee an outcome of an activity is a key part of
enterprise-level computing, and atomic transactions therefore play an important role in
ensuring quality of service.
– Not only do atomic transactional capabilities lead to a robust execution environment for
SOA activities, they promote interoperability when extended into integrated environments.
This allows the scope of an activity to span different solutions built with different vendor
platforms, while still being assured a guaranteed all-or-nothing outcome.