Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Service-Oriented Architectures (SOA)

Similar presentations


Presentation on theme: "Introduction to Service-Oriented Architectures (SOA)"— Presentation transcript:

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 programObject 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 SOAPWeb 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


Download ppt "Introduction to Service-Oriented Architectures (SOA)"

Similar presentations


Ads by Google