July 16, 2008Guest Lecture at SASTRA1 Emerging Trends in Service-Enabled Enterprises B. Ramamurthy CSE Department, University at Buffalo (UB) Buffalo,

Slides:



Advertisements
Similar presentations
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Advertisements

Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
6/1/2015Page 1 Aligning Business Processes to SOA B. Ramamurthy.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
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.
1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,
SOA with Progress Philipp Walther Consultant. © 2007 Progress Software Corporation2 Agenda  SOA  Enterprise Service Bus (ESB)  The Progress SOA Portfolio.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Technical Architectures
Aligning Business Processes to SOA B. Ramamurthy 6/16/2015Page 1.
Page 1 Elements of Service-Oriented Architecture B. Ramamurthy.
SOA, EDA, ECM and more Discover a pragmatic architecture for an intelligent enterprise, to maximize impact on the business Patrice Bertrand Software Architect.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Course Instructor: Aisha Azeem
SOA, BPM, BPEL, jBPM.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
Tsinghua University Service-Oriented Enterprise Coordination Prof. Dr. Yushun Fan Department of Automation, Tsinghua University,
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Introduction To System Analysis and Design
10/15/ SOA in Action Chapter 10 B. Ramamurthy.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
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.
AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research.
Service Oriented Architecture (SOA) Dennis Schwarz November 21, 2008.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
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.
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 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
Basics of SOA Testing Assurance Services Unit 24 February 2016.
Service Oriented Architecture Enabling the Agile and Flexible Business of the 21 st Century.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
A service Oriented Architecture & Web Service Technology.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Sabri Kızanlık Ural Emekçi
Architecting Web Services
SOA (Service Oriented Architecture)
Architecting Web Services
Web Services.
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Inventory of Distributed Computing Concepts
Service-oriented Architectures: A Review
Architectural Roadmap
Inventory of Distributed Computing Concepts
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Elements of Service-Oriented Architecture
Distributed systems: How did we get here?
SOA in Action Chapter 10 B. Ramamurthy 1/16/2019.
Distributed Systems through Web Services
Large Scale Distributed Computing
Distributed Systems Bina Ramamurthy 4/7/2019 B.Ramamurthy.
Introduction to SOA and Web Services
Distributed System using Web Services
SO-Architectural Roadmap
Inventory of Distributed Computing Concepts
Presentation transcript:

July 16, 2008Guest Lecture at SASTRA1 Emerging Trends in Service-Enabled Enterprises B. Ramamurthy CSE Department, University at Buffalo (UB) Buffalo, NY Research for this talk is partially supported by NSF grant NSF grant

July 16, 2008Guest Lecture at SASTRA2 Introduction We landed man on the moon with approx. 32K of memory and with equally meager compute power….32K of memory and with equally meager compute power…. What have we achieved with peta-bytes of storage, GHz of multi-core CPU speed and ever increasing network bandwidth? We will look at two emerging trends in large scale enterprise systems: Service-enabling: In depth coverage from definitions to a full service-oriented design with a simple case study MapReduce: Introduction to data-intensive computing as in Google and Yahoo!’s Hadoop framework MapReduceHadoop framework

July 16, 2008Guest Lecture at SASTRA3 Outline of the Talk 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 Data-intensive computing with a simple example Please feel free to interrupt me or jump in with comments ask questions when you need more details Motivation SOA context SOA Roadmap SOA/BPM alignment Data-intensive computing

July 16, 2008Guest Lecture at SASTRA4 Evolution of Internet Computing PublishInformInteractIntegrateTransactDiscover (intelligence)Automate (discovery) time scale ?????? Semantic discovery Parallel HPC web deep web

July 16, 2008Guest Lecture at SASTRA5 Beyond Search Engines: Enabling Information Technology and Scientific Applications Financial: Build Portfolio Medicine: plan treatment Environment: Plan Forestation Biotech: drug discovery Simple Search (stateless) Complex multi-organizational applications TV/Remote Wireless device

July 16, 2008Guest Lecture at SASTRA6 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.

July 16, 2008Guest Lecture at SASTRA7 The concept of service 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 Object/ Class Component Service

July 16, 2008Guest Lecture at SASTRA8 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.

July 16, 2008Guest Lecture at SASTRA9 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 Reusability

July 16, 2008Guest Lecture at SASTRA10 On to more fundamental concepts: Synchrony Synchronous and asynchronous communications Synchronous: immediate response of communicating partners Server process/thread blocks until response is completed Follows request/response pattern Used when servers are available all the time Typically communicating partners are tightly coupled Examples: request from web client to a web browser for “search” or for “information” Java RMI (remote method invocation) Traditional remote procedure call (RPC)

July 16, 2008Guest Lecture at SASTRA11 Asynchronous communication Communicating partners are decoupled Message driven: sender creates a message and delivers it to a mediator who then sends it to “a” recipient Server need not be available all the time Sender and receiver loosely coupled Can facilitate high-performance message-based system Example: Any event-driven system Any messaging system (instant messenger) Publish-subscribe mode communications

July 16, 2008Guest Lecture at SASTRA12 Interface vs Payload Semantics Typically interaction between a client and a server results in the execution of an activity (or transaction) Request needs to be specified by the request. Interface semantics: Requested activity can be encoded in the operation signature in the server’s “interface” or Payload semantics: It can be embedded in the message itself

July 16, 2008Guest Lecture at SASTRA13 Interface Semantics Process1Process2 getCustomer() retrieveCustomerData() returnResult() Semantics of the activity is explicitly stated in the message/method call

July 16, 2008Guest Lecture at SASTRA14 Payload Semantics Process 1Process 2 Envelop With message Requested transaction/activity is embedded in the message Details of the activity not explicit; the semantics are embedded in the message

July 16, 2008Guest Lecture at SASTRA15 Payload Semantics onMessage() QueueClientServer createMessage() sendMessage() receiveMessage() executeMessage()

July 16, 2008Guest Lecture at SASTRA16 Payload semantics is generic String transferMoney (amt: decimal, accTo: String) { …} String executeService (message: String) { …}

July 16, 2008Guest Lecture at SASTRA17 Tight vs. Loose Coupling An important characteristics of an SOA is that it is a loosely coupled system. On the technology front this is driven by dynamic discovery and binding enabled by Universal Description, Discovery and Integration (UDDI) On the business front loose coupling addresses the growing need for companies to be flexible and agile with respect changes in their own processes and those of their partners How does loose coupling help in improving agility, flexibility and performance?

July 16, 2008Guest Lecture at SASTRA18 Service-oriented architecture (1) From “Service-oriented architecture for dummies”, by J. Hurwitz, R. Bloor, C. Baroudi, M. Kaufman, Wiley & sons., Architecture implies thoughtful planning according to set of guidelines or rules. Ex: a house, a mall, Taj Mahal or Noah’s ark Software architecture describes the overall design and structure of a computer system. In a service oriented architecture, business services interact with each other in ways similar to how various services of the restaurant interact. Basic architecture of an order processing system and an SOA of a the same. Lets analyze this further. Architecture 1: credit checking done by “order processor” Architecture 2: Use an external service for order processing InternetWebWeb Server Order ProcessorDatabase Server Database InternetWebWeb Server Order Processor Database Server Database Credit Checking Service

July 16, 2008Guest Lecture at SASTRA19 Service-oriented architecture (2) From “Enterprise SOA: Service-oriented architecture best practices” by D. Krafzig, K. Banke, and D. Slama, Prentice-Hall Inc., A software architecture describes software components of a system and assigns the functionality of the system to these components. It describes the technical structure, constraints, and characteristics of the components and the interfaces between them. The architecture is the blueprint for the system and therefore high-level plan for its construction.

July 16, 2008Guest Lecture at SASTRA20 SOA Application Frontend Service Contract agreement legal Monitoring Interface operations Implementation Data Business logic Service repository Service bus Routing, mediation, security Elements of SOA

July 16, 2008Guest Lecture at SASTRA21 Elements of SOA 1. Application frontends: are active elements of the SOA, delivering the value of SOA to the end users. They initiate and control all activity of the enterprise system. Web application, application with GUI, or a batch application. 2. Service: a software component that encapsulates a high level business concept. 3. Contract: provides a specification of the purpose, functionality, constraints, and usage of services. 4. Interface: functionality of the service exposed by the service to the clients that are connected to the service. 5. Implementation: the service implementation provides the required business logic and appropriate data. It contains one or more of the artifacts: programs, configuration, data and databases. 6. Business logic: business process represented by the service. 7. Data: data represented in the service/ used by the service. 8. Service repository: it registers the services and their attributes to facilitate the discovery of services; operation, access rights, owner, qualities, etc. 9. (Enterprise) Service Bus (ESB): A flexible infrastructure for integrating applications and services by : routing messages, transforming protocols between requestor and service, handling business events and delivering them, providing QoS, mediation and security, and managing the interaction among services. 10. Open standards: publicly available implementable standards

July 16, 2008Guest Lecture at SASTRA22 Web Services Web services can be used to realize the “services” in an 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 messaging. Deployable unit. A Web service uses protocol to describe an operation and the data exchange with another web service. Ex: SOAP Platform independent, say, through WSDL. Publishable, discoverable, searchable, queryable Scalability issues: A group of web services collaborating accomplish the tasks of a large-scale application. Try a simple implementation of a WS and get familiarized with WS framework (XML, SOAP, REST, WSDL etc.). This is a good entry point.

July 16, 2008Guest Lecture at SASTRA23 Service and Service Types Service Interface 1 Interface 2 Service contract Implementation Business logic Data Business logic Data

July 16, 2008Guest Lecture at SASTRA24 Types of services 1. Application frontend: GUI 2. Basic services: data and logic (horizontal services) 3. Intermediary services: gateway, adapters 4. Process centric services: business operations (vertical services, domain-specific) 5. Public enterprise services: cross-enterprise: decoupling, security, governance

July 16, 2008Guest Lecture at SASTRA25 Enterprise Services layers Enterprise layer Process layer Intermediary layer Basic layer

July 16, 2008Guest Lecture at SASTRA26 The architectural roadmap: The stages in development Fundamental SOA Design fundamental services Networked SOA Add intermediary services Process-enabled SOA Add process-centric services, front-ends These three stages reach maturity at different rates, services gain more responsibility as the system matures. Advantages of using service-orientation will be apparent as the stages evolve independently of each other

July 16, 2008Guest Lecture at SASTRA27 Fundamental SOA Excellent starting point for introduction SOA in an organization A fundamental SOA consists of two layers: Enterprise layer that consists of front-ends, and The basic layers that consists of basic services

July 16, 2008Guest Lecture at SASTRA28 Case study: Airline Enterprise Enterprise Layer Basic layer Airline Web site Airline Web site Flight Customer Booking Billing

July 16, 2008Guest Lecture at SASTRA29 Expanded Airline Enterprise Enterprise Layer Basic layer Airline Web site Airline Web site Billing Applicatio n Billing Applicatio n Flight Customer Booking Billing

July 16, 2008Guest Lecture at SASTRA30 Fundamental SOA: Summary Base on which future expansion can take place Simple to implement Complex front-end Increased maintainability Shared services can make data replication largely obsolete Good starting point/entry point to SOA

July 16, 2008Guest Lecture at SASTRA31 Networked SOA It deals with backend complexity in addition to technical and conceptual integration. If offers flexibility in integrating software assets of an enterprise. Enables loose coupling Addition of intermediary layer with services that handle distributed transactions, bridge technology gaps, database integration, Add new functionality, Wrap legacy applications/service

July 16, 2008Guest Lecture at SASTRA32 Networked SOA Enterprise Layer Airline Web site Airline Web site Basic layer Flight Customer Booking Billing Intermediary layer BookAnd Bill

July 16, 2008Guest Lecture at SASTRA33 Process-enabled SOA The key feature is the maintenance of a process state in process-centric services. Stateful services (server-side state) Encapsulates complexity of processes (Ex: runExperiment in a complex scientific lab experiment) Possibility of sharing states between clients (Ex: research whiteboard) Handling long-living processes (Ex: auction framework) Enables the IT and business alignment

July 16, 2008Guest Lecture at SASTRA34 Process-enabled SOA Enterprise Layer Airline Web site Airline Web site Basic layer Flight Customer Booking Billing Intermediary layer BookAnd Bill Business (Process) Layer Booking Process

July 16, 2008Guest Lecture at SASTRA35 Process-enabled SOA (contd.) Enterprise Layer Airline Web site Airline Web site Basic layer Flight Customer Booking Billing Intermediary layer BookAnd Bill Business Layer mobile process Booking Process B2B process

July 16, 2008Guest Lecture at SASTRA36 Process-enabled SOA (contd.) Enterprise Layer Airline Web site Airline Web site Basic layer & SMS & SMS Flight Customer Booking Billing Business Layer Mobile process Mobile process Booking Process cancellation process Waitlisting

July 16, 2008Guest Lecture at SASTRA37 Process-enabled SOA: Summary Enables light-weight frontends (handles only user interaction) Encapsulates complexities of business processes Abstracts complexities of backend systems Enables separation of business logic from technology complexities Is required for integration of independent organizations and implementation of complex processes

July 16, 2008Guest Lecture at SASTRA38 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.

July 16, 2008Guest Lecture at SASTRA39 Business Process Management (BPM) BPM generally focuses on the strategic and operational aspects of process orientation in a given business area. Mapping BPM model to an enterprise IT landscape is a challenging task. Business side of BPM are the keywords such as value chain and Six Sigma IT side of BPM is accompanied by keywords such a process modeling and workflow management

July 16, 2008Guest Lecture at SASTRA40 IT Organization Business Organization EAI Workflow management ERP B2Bi Rules Engine Web Service Six Sigma Value Chain Activity based costing Continuous Process improvement

July 16, 2008Guest Lecture at SASTRA41 BPM vision BPM vision is a strong one Instead of hard coding business processes into applications, it facilitates modeling, modifications, reconfigurations, and optimization of process definitions with graphical tools that can be used by less technology-oriented business analysts.

July 16, 2008Guest Lecture at SASTRA42 BPM Alignment to SOA Basic layer Intermediary layer Enterprise Processes BPML Process layer BPMS

July 16, 2008Guest Lecture at SASTRA43 Amazon.com and SOA “SOA creates order out of Amazon” by Rich Seely (June 23, 2006) based on Werner Vogels’ talk “Order in the Chaos: Building the Amazon.com Platform."talk 1995: Started out with a single web service on a single server. Today amazon has about 150 web services on its homepage alone. 1 million merchant partners; 60 million customers Each web service is the responsibility of a team of developers: “And they are not just responsible for writing the service and then tossing it over the wall for testing and eventual entry into production where some poor maintenance geek has to look after it. The Amazon CTO tells his Web services team members: "You build it. You own it." That means the team is responsible for its Web service's on- going operation. If a Web service stops working in the middle of the night, team members are called to fix it.” Web services are kept simple: complexity is the notorious enemy of reliability.

July 16, 2008Guest Lecture at SASTRA44 On to data-intensive applications Applicable to a certain class of applications MapReduce + GFS (Google File System) from Google MapReduce + HDFS (Hadoop File System) Amazon’s suite: EC2 (Elastic Cloud Computing), S3 (simple storage service), mechanical turk, etc.

July 16, 2008Guest Lecture at SASTRA45 MapReduce Split 0 Split 1 Split 2 Split n input map() reduce() part1 partm map tasks reduce tasks output …. data

July 16, 2008Guest Lecture at SASTRA46 Services Engineering at Buffalo CSE department created two new courses: Distributed Systems and Information Structures (NSF supported) Industrial Engineering (IE) and CSE department together created a new master’s program in Services Systems Engineering (SSE) Another new course Services-Enabled Enterprises was created especially for this program We have plans to expand this into research (Ph.D.) areas as well as to undergraduate programs. We are partnering with industrial stake holders such as IBM and M&T Bank for guidance.

July 16, 2008Guest Lecture at SASTRA47 Summary We discussed two diverse emerging trends in service-enabled enterprises. Service-enabling is imperative for seamless realization of business objectives and for standard interaction with global entities. Data-intensive computing is poised to play a significant role especially with the deluge of data that has been generated by the Internet and the web applications. Some of the other important trends are the mash-up of web services and semantic web.

July 16, 2008Guest Lecture at SASTRA48 Acknowledgements TIFAC and TIFAC CORE at SASTRA SASTRA University CSE Department at UB