Download presentation
Presentation is loading. Please wait.
Published byMadlyn Whitehead Modified over 6 years ago
1
Introduction to Service-Oriented Architectures (SOA)
B. Ramamurthy CSE Department, University at Buffalo (UB) Buffalo, NY 14260 2/24/2019 CSE507 Introduction 2008
2
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
3
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
4
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
5
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
6
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
7
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
8
Evolution (contd.) Computing research Environment
Programming languages RISC vs. CISC architectures Memory capacity Computing power Simple programObject Component… Environment Accessibility Globalization (outsourcing, markets) ... 2/24/2019 CSE507 Introduction 2008
9
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
10
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
11
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
12
Pieces of the pie.. 2/24/2019 CSE507 Introduction 2008
13
SOA can align the pieces!!?
2/24/2019 CSE507 Introduction 2008
14
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
15
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
16
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
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
SOA in Real World: Report in InfoWorld, May 2, 2005 Issue 18
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
26
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
27
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
28
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
29
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 "> <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
30
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
31
SOAP Request <soap:Envelope xmlns:soap=" <soap:Body> <getProductDetails xmlns=" <productId>827635</productId> </getProductDetails> </soap:Body> </soap:Envelope> 2/24/2019 CSE507 Introduction 2008
32
SOAP Reply <soap:Envelope xmlns:soap=" <soap:Body> <getProductDetailsResponse xmlns=" <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
33
SOAPWeb Services (WS)SOA
Read this paper: 2/24/2019 CSE507 Introduction 2008
34
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
35
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.