Introduction to Service-Oriented Architectures (SOA)

Slides:



Advertisements
Similar presentations
Overview of Web Services
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Course Module 2: Service-Oriented Programming (SOP)
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Leveraging Technology to Enhance PeopleSoft Web Services (SOA) System Efficiency Lorne Kaufman, Managing Director.
Technical Architectures
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Aligning Business Processes to SOA B. Ramamurthy 6/16/2015Page 1.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Enterprise Resource Planning
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Semantic Web Technologies Research Topics and Projects discussion Brief Readings Discussion Research Presentations.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
Kemal Baykal Rasim Ismayilov
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Service Oriented Architecture + SOAP -Robin John.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
HNDIT Rapid Application Development
1/30/20161 Introduction to Web Services Bina Ramamurthy
Basics of SOA Testing Assurance Services Unit 24 February 2016.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
Cloud Computing: Concepts, Technologies and Business Implications B. Ramamurthy & K. Madurai &
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Java Web Services Orca Knowledge Center – Web Service key concepts.
Introduction to Web Services
Sabri Kızanlık Ural Emekçi
A Web Services Journey on the .NET Bus
WEB SERVICES.
Introduction to Web Services
Unit – 5 JAVA Web Services
SOA (Service Oriented Architecture)
Web Services.
Overview of Web Services
Wsdl.
Introduction to Web Services and SOA
Inventory of Distributed Computing Concepts and Web services
Service Oriented Architecture
Inventory of Distributed Computing Concepts
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Elements of Service-Oriented Architecture
Introduction to Web Services
Introduction to Web Services
Service Oriented Architecture (SOA)
Distributed systems: How did we get here?
Service Oriented Architecture + SOAP
Inter-process Communication Models
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Distributed Systems through Web Services
Large Scale Distributed Computing
Web Services and Application Development using Services API
Distributed System using Web Services
Introduction to Web Services
Introduction to SOA and Web Services
Introduction to Service-Orientation
Introduction to Web Services and SOA
Distributed System using Web Services
Presentation transcript:

Introduction to Service-Oriented Architectures (SOA) B. Ramamurthy CSE Department, University at Buffalo (UB) Buffalo, NY 14260 bina@buffalo.edu http://www.cse.buffalo.edu/faculty/bina 2/24/2019 CSE507 Introduction 2008

Introduction We landed man on the moon with approx. 32K of memory and with equally meager compute power…. What have we achieved with peta-bytes of storage, GHz of multi-core CPU speed, ever increasing network bandwidth, and the proliferation of applications at all levels? 2/24/2019 CSE507 Introduction 2008

Outline Evolution of Internet computing (How did we get here?) Challenges (What is next?) Service-enabling: Service Service-oriented architecture (SOA) Principles and elements Definitions SOA roadmap and case study Web Services (WS) Alignment of business process model (BPM) to SOA Motivation SOA context SOA Roadmap SOA/BPM alignment 2/24/2019 CSE507 Introduction 2008

Topics for Discussion How did we get here? State of computing and business Effect of scientific advances on industries, information technology (IT), computing research, environment, society,… ? Role of SOA and services SOA principles (Ch.1) Evolution of the service concept (Ch.2) 2/24/2019 CSE507 Introduction 2008

Evolution of Internet Computing deep web scale web Parallel HPC Semantic discovery ?????? Automate (discovery) Discover (intelligence) Transact Integrate Interact Inform Publish time 2/24/2019 CSE507 Introduction 2008

Evolution Industrial Business Automation Just-in-time Advances in supply chain … Business Remote operations Heterogeneity Scale Integration (application, data) E-commerce 2/24/2019 CSE507 Introduction 2008

Evolution (contd.) Information technology Internet World-wide web Grid Mobile and wireless Devices Software, platforms Search engines Tremendous advances 2/24/2019 CSE507 Introduction 2008

Evolution (contd.) Computing research Environment Programming languages RISC vs. CISC architectures Memory capacity Computing power Simple programObject Component… Environment Accessibility Globalization (outsourcing, markets) ... 2/24/2019 CSE507 Introduction 2008

Evolution (contd.) Society IT users not exclusive to Computer Science Digital media ipod, iphone, idog,.. Youtube, myspace, social networking Blogs,wikies, podcasts … 2/24/2019 CSE507 Introduction 2008

Beyond Search Engines: Enabling Information Technology and Scientific Applications Simple Search (stateless) TV/Remote Financial: Build Portfolio Medicine: plan treatment Environment: Plan Forestation Wireless device Biotech: drug discovery Complex multi-organizational applications 2/24/2019 CSE507 Introduction 2008

Challenges Need transformative solutions such as the Internet and the Search Alignment with the needs of the business / user / non-computer specialists / community and society Need to address the scalability issue: large scale data, high performance computing, automation, response time, rapid prototyping, and rapid time to production Need to effectively address (i) ever shortening cycle of obsolescence, (ii) heterogeneity and (iii) rapid changes in requirements Service-enabling and service-oriented-architecture (SOA) combination is attempt at addressing these issues. 2/24/2019 CSE507 Introduction 2008

Pieces of the pie.. 2/24/2019 CSE507 Introduction 2008

SOA can align the pieces!!? 2/24/2019 CSE507 Introduction 2008

Missing pieces? Question (Homework assignment) Are there any categories that I did not consider in the pie? Ex: government policies? What should be the appropriate weight of each category? For example, consider the heavy weight given to IT in the picture on the right. 2/24/2019 CSE507 Introduction 2008

SOA Principles Loosely coupled (service provider and service consumer are loosely coupled: why?) Large scale: complex system with high level of heterogeneity and redundancies. Decoupling of functionality and technology Service contract and agreements Discoverability On demand composability of services: composite services concept Agility: respond to changes quickly Statelessness Inherent interoperability Standards Simplicity Reusability 2/24/2019 CSE507 Introduction 2008

Typical Enterprise Complex heterogeneous system: Stakeholders Examples: CRM (Customer relationship management) system, insurance claims processing system Stakeholders Highly heterogeneous teams Different political environments CEO, IT projects, customers, operations Different applications and middleware Content and data with varying lifetime Potentially large number of end users Applications have to be rolled out to a large number of PCs, say,10000 Major changes and ongoing incremental optimization need to be handled efficiently in an agile manner. An SOA addresses these needs. 2/24/2019 CSE507 Introduction 2008

Evolution of the service concept A service is a meaningful activity that a computer program performs on request of another computer program. Technical definition: A service a remotely accessible, self-contained application module. From IBM, 2/24/2019 CSE507 Introduction 2008

Class, Component and Service Class is a core concept is object-oriented architectures. An object is instantiated form a class. Focus on client side, single address space programs. Then came the component/container concept to improve scalability and deployability. Ex: EJBs. Focus on server side business objects and separation of resources from code. Service came into use when publishing, discoverability, on-demand operation among interacting enterprise became necessity. Focus of enterprise level activities, contracts, negotiations, reservations, audits, etc. 2/24/2019 CSE507 Introduction 2008

Object-oriented programming Encapsulation of data and function in a class, instances of a class is called an object Objects communicate through messages (invoking methods) Class represents a type from which another type can be derived resulting inheritance hierarchy. Problem: level of abstraction and granularity exposed is fine to enable reuse. Data and functions are tightly coupled. Important contribution SOA: concept of interface Service-orientation assumes that data and functionality are separated. 2/24/2019 CSE507 Introduction 2008

Distributed Computing Important challenge is find abstractions for both remoteness and actual service task at the same time. Simple interfaces such a telnet, rlogin emerged for remoting. Distributed Computing Environment (DCE), Common Object Request Broker Architecture (CORBA) emerged as middleware. “interoperability” was an important goal. IDL Interface definition language came into existence.. IDL is a predecessor of WSDL Heavy weight infrastructure resulted in discovery of the light weight XML solution. XML, SOAP over HTTP, WS emerged. 2/24/2019 CSE507 Introduction 2008

Business Computing File systems to main frames Emergence of new paradigms such as Enterprise Resource Planning (ERP) and Supply Chain Management (SCM) placed complex requirements on the computing machines and applications. This was followed by huge compute (IT) demands for Enterprise Application Integration (EAI) and Enterprise Data Integration (EDI). An appealing characteristic of SOA is that it aligns these business entities by directly mapping them to services, thus enabling an enterprise integration on the business level, not on the technical level. 2/24/2019 CSE507 Introduction 2008

SOA and WS A Service-Oriented Architecture (SOA) is a design model for linking computational resources, data and applications to perform services and deliver results to service consumers. Web Service (WS) standard provides a platform-independent method for messaging-based interaction of applications. 2/24/2019 CSE507 Introduction 2008

Topics for Discussion Webservices and Service Oriented Architectures (SOA) XML (eXtensible Markup Language) SOAP (Simple Object Access Protocol) WS (Web Services) 2/24/2019 CSE507 Introduction 2008

Web Services and SOA Web Services is a technology that allows for applications to communicate with each other in a standard format. A Web Service exposes an interface that can be accessed through XML messaging. A Web service uses XML based protocol to describe an operation or the data exchange with another web service. Ex: SOAP A group of web services collaborating accomplish the tasks of an application. The architecture of such an application is called Service-Oriented Architecture (SOA). 2/24/2019 CSE507 Introduction 2008

SOA in Real World: Report in InfoWorld, May 2, 2005 Issue 18 http://www.infoworld.com/article/05/05/02/18FEsoabt_1.html?WEB%20SERVICES State of Massachusetts uses SOA to deliver healthcare services. With HTML web application it had no control of look and feel and handling many hospitals. With SOAP based messaging they can easily handle different systems, billing systems, medical records systems etc. Use Microsoft-based systems. Countrywide financial simplifies lending: IBM Websphere based SOA is used to deliver services. Guardian Life Insurance uses SOA: IBM websphere based services. Uses EJB for business logic. British Telecom uses combination of BEA systems and Microsoft’s Connected Services Framework. Billing backend and operational support for the organization are web services. Legacy systems are enabled as web services. Amazon.com provides WS API for developers to implement applications leveraging their architecture and data. 2/24/2019 CSE507 Introduction 2008

XML XML is a markup language, developed by W3C (World Wide Web Consortium), mainly to overcome the limitations of HTML. But it took a life of its own and has become a very popular part of distributed systems. We will examine its definition, associated specifications (DTD, XSLT etc.), Java APIs available to process XML, protocols and services based on XML, and the role XML plays in a distributed computing environment. 2/24/2019 CSE507 Introduction 2008

First Look at XML It has no predefined tags. It is stricter. Such as in HTML Domains may specify their own set of standard tags It is stricter. Most html document have errors and the browser have to built to take care of these. On the other hand XML has a strict syntax. There is a notion of validity and A notion of well-formed. 2/24/2019 CSE507 Introduction 2008

An Example: Memo See the two documents enclosed: one in html and the other in XML formats. Observe the meaningful tags in XML. Compare it to a class definition: it looks like a class with data definitions and accessors (tags). 2/24/2019 CSE507 Introduction 2008

Memo.html vs memo.xml <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <title>memo.html</title> </head> <body> <h3>Hello World</h3> Bina<br> CSE507 SOA and WS Students <br> Wake up everyone<br> BR<br> <br> </body> </html> <?xml version="1.0" ?>   <!DOCTYPE memo (View Source for full doctype...)> - <memo>   <header>Hello World</header>   <from>bina</from>   <to>CSE507 SOA and WS Students</to>   <body>Wake up everyone</body>   <sign>br</sign>   </memo> 2/24/2019 CSE507 Introduction 2008

XML to SOAP Simple xml can facilitate sending message to receive information. The message could be operations to be performed on objects. Simple Object Access Protocol (SOAP) 2/24/2019 CSE507 Introduction 2008

SOAP Request <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetails xmlns="http://warehouse.example.com/ws"> <productId>827635</productId> </getProductDetails> </soap:Body> </soap:Envelope> 2/24/2019 CSE507 Introduction 2008

SOAP Reply <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetailsResponse xmlns="http://warehouse.example.com/ws"> <getProductDetailsResult> <productName>Toptimate 3-Piece Set</productName> <productId>827635</productId> <description>3-Piece luggage set. Black Polyester.</description> <price>96.50</price> <inStock>true</inStock> </getProductDetailsResult> </getProductDetailsResponse> </soap:Body> </soap:Envelope> 2/24/2019 CSE507 Introduction 2008

SOAPWeb Services (WS)SOA Read this paper: http://www.w3.org/DesignIssues/WebServices.html 2/24/2019 CSE507 Introduction 2008

Service Oriented Architectures Lets look at some success stories. Amazon.com has is data collection available web services developers. See these URLs: Amazon.com E-Commerce Service (ECS) A cool application 2/24/2019 CSE507 Introduction 2008

Summary We had a first look at SOA We looked at foundational concepts supporting web services: XML, SOAP, WSDL and Web Services standards. 2/24/2019 CSE507 Introduction 2008