Distributed systems. Distributed Systems Architectures



Similar documents
Distributed Systems Architectures

System types. Distributed systems

David Pilling Director of Applications and Development

A standards-based approach to application integration

SOA Myth or Reality??

Service-Oriented Architectures

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.

Service Oriented Architecture

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Service Oriented Architecture 1 COMPILED BY BJ

Introduction to Service-Oriented Architecture for Business Analysts

Service-Oriented Architecture: Analysis, the Keys to Success!

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Introduction to Service Oriented Architectures (SOA)

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

How To Understand A Services-Oriented Architecture

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Enterprise Application Designs In Relation to ERP and SOA

Service-centric Software Engineering. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 31 Slide 1

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Service-Oriented Architecture and Software Engineering

WEB SERVICES. Revised 9/29/2015

An introduction to SOA and the HP NonStop server environment

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

Service Virtualization: Managing Change in a Service-Oriented Architecture

Enhancing A Software Testing Tool to Validate the Web Services

Guiding Principles for Modeling and Designing Reusable Services

SOA CERTIFIED JAVA DEVELOPER (7 Days)

Creating new university management software by methodologies of Service Oriented Architecture (SOA)

Scientific versus Business Workflows

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

Sadržaj seminara: SOA Architecture. - SOA Business Challenges s: Billion Dollar Lock-In. - Integration Tools. - Point-to-Point Approach

Service Oriented Architecture (SOA) An Introduction

What You Need to Know About Transitioning to SOA

Service Oriented Architectures Using DoDAF1

SOA CERTIFIED CONSULTANT

Beeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA

Service Oriented Architecture (SOA) Implementation Framework for Satellite Mission Control System Software Design

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Service-oriented architecture in e-commerce applications

Service-Oriented Software Testing Platform *

SOACertifiedProfessional.Braindumps.S90-03A.v by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

SOA for Healthcare: Promises and Pitfalls

Getting started with API testing

A Quick Introduction to SOA

LinuxWorld Conference & Expo Server Farms and XML Web Services

Increasing IT flexibility with IBM WebSphere ESB software.

Web Services and Service Oriented Architectures. Thomas Soddemann, RZG

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

Six Strategies for Building High Performance SOA Applications

Simplifying Processes Interoperability with a Service Oriented Architecture

Developing Java Web Services

Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

SERVICE ORIENTED ARCHITECTURE

How To Manage Technology

Service-Oriented Computing and Service-Oriented Architecture

How To Create A C++ Web Service

What is a Web service?

PESIT- Bangalore South Campus Hosur Road (1km Before Electronic city) Bangalore

The Service Revolution software engineering without programming languages

Introduction into Web Services (WS)

Developing SOA solutions using IBM SOA Foundation

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

Introduction to UDDI: Important Features and Functional Concepts

Creating Web Services in NetBeans

Web Services Advanced Topics

Cloud Computing & Service Oriented Architecture An Overview

Federal Enterprise Architecture and Service-Oriented Architecture

Middleware and the Internet. Example: Shopping Service. What could be possible? Service Oriented Architecture

SOA REFERENCE ARCHITECTURE

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Getting Started with Service- Oriented Architecture (SOA) Terminology

SOA GOVERNANCE MODEL

AN APPROACH TO DEVELOPING BUSINESS PROCESSES WITH WEB SERVICES IN GRID

SOA, case Google. Faculty of technology management Information Technology Service Oriented Communications CT30A8901.

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE

Service-Oriented Architecture (SOA) vs. Component Based Architecture. Helmut Petritsch

Unlocking the Power of SOA with Business Process Modeling

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006

Oracle BPEL Nuts and Bolts

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Business Process Management Enabled by SOA

Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

1 What Are Web Services?

Extend the value of your core business systems.

1 What Are Web Services?

Transcription:

Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined to a single machine. Distributed software engineering is therefore very important for enterprise computing systems. Slides from Ian Sommerville and Marco Autili s presentations System types Personal systems that are not distributed and that are designed to run on a personal computer or workstation. Embedded systemsthatrunon asingleprocessororon an integrated group of processors. Distributed systems where the system software runs on a loosely integrated group of cooperating processors linked by a network. Distributed system characteristics Resource sharing Sharing of hardware and software resources. Openness Use of equipment and software from different vendors. Concurrency Concurrent processing to enhance performance. Scalability Increased throughput by adding new resources. Fault tolerance The ability to continue in operation after a fault has occurred. Distributed system disadvantages Complexity Typically, distributed systems are more complex than centralised systems. Security More susceptible to external attack. Manageability More effort required for system management. Unpredictability Unpredictable responses depending on the system organisation and network load. Distributed systems architectures Client-server architectures Distributed services which are called on by clients. Servers that provide services are treated differently from clients that use services. Distributed object architectures No distinction between clients and servers. Any object on the system may provide and use services from other objects.

Client-server architectures The application is modelled as a set of services that are provided by servers and a set of clients that use these services. Clients know of servers but servers need not know of clients. Clients and servers are logical processes The mapping of processors to processes is not necessarily 1 : 1. A client-server system Thin and fat clients Thin-client model In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software. Fat-client model In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user. Thin and fat clients Thin client model Used when legacy systems are migrated to client server architectures. The legacy system acts as a server in its own right with a graphical interface implemented on a client. A major disadvantage is that it places a heavy processing load on both the server and the network. Fat client model More processing is delegated to the client as the application processing is locally executed. Most suitable for new C/S systems where the capabilities of the client system are known in advance. More complex than a thin client model especially for management. New versions of the application have to be installed on all clients.

Inter-organisational computing For security and inter-operability reasons, most distributed computing has been implemented at the enterprise level. Local standards, management and operational processes apply. Newer models of distributed computing have been designed to support inter-organisational computing where different nodes are located in different organisations. Service Oriented Architecture Services What are services? One of the abstract and context independent definition is: Services are labors that, if accomplished, produce a non tangible useful benefit (Software Technologies Unit of the European Commission). What are software services? Software services arefunctionalitiesprovided by software applications that supply: computational resources on request; informational resources on request. Functionalities are contractually defined in the service description (Software Technologies Unit of the European Commission). Service-oriented architectures Based around the notion of externally provided services (web services). A web service is a standard approach to making a reusable component available and accessible across the web A tax filing service could provide support for users to fill in their tax forms and submit these to the tax authorities. Service Oriented Architecture (SOA) A generic service An act or performance offered by one party to another. Although the process may be tied to a physical product, the performance is essentially intangible and does not normally result in ownership of any of the factors of production. Service provision is therefore independent of the application using the service. Why SOA? (1/2) SA have attempted to deal with increasing levels of software complexity traditional architectures seem to be reaching the limit of their ability to deal with such a complexity. At the same time, traditional needs of Information Technology (IT) organizations persist: The need to respond quickly to new requirements of business; the need to continually reduce the cost of IT to the business; the ability to absorb and integratenew business partners and new customer sets, ecc.

Why SOA? (2/2) We need an architectural framework which allows the assembly of services for the rapid, and even dynamic, delivery of solutions. SOA is being promoted in the industry as the next evolutionary step in SAto help IT organizations meet their evermore complex set of challenges. SOA could be a 2010 phenomenon From: Financial Times, 4 May 2005, Richard Waters: Plugging together software may soon painless SOA is not new! It is an alternative loosely-coupled model to the more traditionally tightly-coupledobject-oriented models that have emerged in the past decades. The overall design is service-oriented but do not excludethe fact that individual services can themselves be built with objectoriented designs. SOA is object-based, but it is not, as a whole, object-oriented. The difference lies in the interfaces themselves. A classic example of a proto-soa system that has been around for a while is the (CORBA), which defines similar concepts to SOA SOA is not new! SOA is different in that it relies on a more recent advance based upon XML. By describing interfaces in an XML-based language called WSDL, services have moved to a more dynamic and flexible interface system than the older IDL found in CORBA. Web services aren't the only way to implement SOA. CORBA, as just explained earlier is one other way and so are Message- Oriented Middleware systems such as the IBM MQ Series... to become an architecture model, you need more than just a service description: you need to define how the overall application performs its workflow between services. SOA characteristics: modularity Modular Decomposability: break of an application into many smaller services. each module is responsible for a single, distinct functionality. Within a top-down design approach, the goal is to obtain the smallest unit of service that can be reused in different contexts. SOA characteristics: modularity Modular Composability: software services may be freely combined as a whole with other services to produce new composed services. each service is still responsible for a single, distinct functionality. Within a bottom-up design approach, the goal is to create services sufficiently independent to be reused in entirely different applications from the ones for which they were originally intended. SOA characteristics: modularity Modular Understandability: A service should be described in such a way that a consumer/developer is able to understand the functionality and other specificationof the servicewithout having any knowledge of other services. If the functionality provided from the service is not understandable, the consumerdeciding whether to use the service will have a difficult time making a decision. If the behavioral specificationof a service is tied to other specification, developer will have hard time to reuse the service.

SOA characteristics: modularity Modular Continuity: the impact of changes in one service should not require changes in other servicesor in the consumers of the service. An service description that does not sufficiently hide the implementation detailsof the service creates a domino effect when changes are needed: other service may have assumption on this implementation details. SOA characteristics Interoperability: SOA stresses interoperability: the ability of systems using different platforms and languages to communicate with each other. Protocol and a data format should be standardized: For instance JAX-RPC and JAXM map Java data types to SOAP. SOA characteristics Loose Coupling: The bindingfrom the service requester to the service provider should loosely couple the service. This means that the service requester has no knowledge of the technical detailsof the provider's implementation, such as the programming language, deployment platform. Implementation on each side of the conversation can change without impacting the other, provided that the message schema stays the same. Legacy code, such as COBOL, can be replaced with new Java code without having any impact on the service requester. Service Orientation (1/5) Applications are assembled from reusable building blocks, but in this case the blocks are services. Services are functionalities defined by contractual descriptions: Services functionality as mix of syntax, semantics and behavior. Application assembly is based only on service description. The most interesting aspects are: the actual service provider is located later: integration prior or during execution. the focus is on how the service are described in order to support dynamic discovery. Service Orientation (2/5) To support dynamic discovery: Service one after ore Providers Requestors binding more a publish service interrogate provider, their the service references registry a for (if a to particular there description service exist) service are into object returned a description service implementing registry to discover the service providers functionalities is returned. Service Registry Service Description publish discover Service Oriented Interaction Pattern Service Provider Service Requester bind Service Orientation (3/5) Service requestor is not tied to a particular service provider: service providers may be substitutedwhenever they obey to the contractimposed by the service description. Due to dynamic availability, a service may be removed from the registry at any time: running application must be able to releasing (incorporating) departing(arriving) services.

Service Orientation (3/5) To deal with dynamic availability: some service platforms provide notification mechanismsused to inform service requesters of the arrival or departure of the services. others use the concept of a service lease, which means that service availability is guaranteed only for a determined time period after which the lease must be renewed. Service Orientation (4/5) Service composition is an abstract composition: it is based only on service descriptionsand it concretizes only at run-time. Hierarchical service compositionis achieved when a service composition itself has a service description. Service Orientation (5/5) Development platforms such as the one of PLASTIC should respect the service orientation principles. Examples of other platforms include the CORBATrader, Jini, OSGi, IBM WebSphere, ecc. Services and distributed objects Provider independence. Public advertising of service availability. Potentially, run-time service binding. Opportunistic construction of new services through composition. Pay for use of services. Smaller, more compact applications. Reactive and adaptive applications. Services scenario An in-car information system provides drivers with information on weather, road traffic conditions, local information etc. This is linked to car radio so that information is delivered as a signal on a specific radio channel. The car is equipped with GPS receiver to discover its position and, based on that position, the system accesses a range of information services. Information may be delivered in the driver s specified language. Automotive system

ehealth scenario ehealth scenario Services standards Services are based on agreed, XML-based standards so can be provided on any platform and written in any programming language. Key standards SOAP - Simple Object Access Protocol; WSDL - Web Services Description Language; UDDI - Universal Description, Discovery and Integration.