SOA Introduction Cobra Rahmani 02/19/10. Table of Content SOA Introduction Web services Web servers – Appache (Apache Http Server) 54% – Microsoft (IIS)

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Welcome to Middleware Joseph Amrithraj
Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
WEB SERVICES DAVIDE ZERBINO.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Web Service Standards Relevant to SOA
Distributed components
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
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.
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
CSE 636 Data Integration Web Services.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Web Services CS Web Services Internet-available services using XML messaging, for computer-computer interaction Not tied to any OS or language Self-describing:
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
Web Services 101 Introduction to Web Services Computer Networks Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
1 Web Services Distributed Systems. 2 Service Oriented Architecture Service-Oriented Architecture (SOA) expresses a software architectural concept that.
Chapter 4: Core Web Technologies
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
Web Services (SOAP, WSDL, and UDDI)
Web Service Bright + Ong. Meaning A collection of protocols and standards used for exchanging data between applications or systems Written in various.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
1 Web Services Web and Database Management System.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Kemal Baykal Rasim Ismayilov
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
December 9, 2004 EC511 Java Pet Store Demo Chandra Donipati.
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Introduction to Web Services
Implementing a service-oriented architecture using SOAP
Inventory of Distributed Computing Concepts and Web services
Inventory of Distributed Computing Concepts
WEB SERVICES DAVIDE ZERBINO.
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Presentation transcript:

SOA Introduction Cobra Rahmani 02/19/10

Table of Content SOA Introduction Web services Web servers – Appache (Apache Http Server) 54% – Microsoft (IIS) 24% – Igor Sysoev(nginx) 8% – Google (GWS) 7% – Lighttpd (lighttpd) 0% [1] Application servers – AppaServer (Open Source) – Glassfish (Open Source) – Spring Framework (Open Source) – Base 4 (Open Source) – Zope (Open Source) – WebSphere Application Server (IBM) – WebObjects (Apple Inc.) – WebLogic Server (Oracle) Application server Architecture Reliability ? [1] ”Netcraft survey”, January 2010

SOA Introduction A Service-Oriented Architecture [1] Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools, By Ed Ort, April 2005  A service-oriented architecture is an information technology approach in which applications make use services available in a network such as the World Wide Web.

Web services Web services: self-contained, modular business applications that have open, Internet-oriented, standards-based interfaces [UDDI consortium] the need for being compliant with Internet standards Open, which essentially means that it has a published interface that can be invoked across the Internet [2] Web Services: Concepts, Architecture and Applications G. Alonso, F. Casati, H. Kuno, V. Machiraju. Springer, (Chapter 5)

Web services Technologies used in Web services: XML – (Extensible Markup Language) SOAP – (Simple Object Access Protocol) A message exchange standard that supports service communication. WSDL- (Web Service Definition Language) This standard allows a service interface and its bindings to be defined. UDDI - (Universal Description Discovery and Integration) Defines the components of a service specification that may be used to discover the existence of a service. UDDI SOAP WSDL

SOAP SOAP provides the envelope for sending Web Services messages over the Internet/Interanet. (Standard specified by the W3C) [1] [1]

WSDL WSDL is a way to describe services and how they should be bound to specific network addresses. WSDL has 3 parts [1]: – Definitions (expressed in XML and include both data type definitions and message definitions that use the data type definitions.) – Operations (Operations describe actions for the messages supported by a Web service) 4 types of operations: – One-way: Messages sent without a reply required – Request/response: The sender sends a message and the receiver sends a reply. – Solicit response: A request for a response. – Notification: Messages sent to multiple receivers. – Service bindings ( connect port types to a port. A port is defined by associating a network address with a port type. A collection of ports defines a service) [1]

UDDI Universal Description, Discovery, and Integration (UDDI) provides the definition of a set of services supporting the description and discovery of – (1) businesses, organizations, and other Web Services providers, – (2) the Web Services they make available, and – (3) the technical interfaces which may be used to access those services. The idea is to "discover" organizations and the services that organizations offer, much like using a phone book or dialing information [1]. The UDDI Business Registry system consists of three directories: UDDI white pages: basic information such as a company name, address, and phone numbers, as well as other standard business identifiers like Dun & Bradstreet and tax numbers. UDDI yellow pages: detailed business data, organized by relevant business classifications. The UDDI version of the yellow pages classifies businesses according to the newer NAICS (North American Industry Classification System) codes, as opposed to the SIC (Standard Industrial Classification) codes. UDDI green pages : information about a company's key business processes, such as operating platform, supported programs, purchasing methods, shipping and billing requirements, and other higher-level business protocols. [1]

Emerging Web Services Platform [1]

SOA using Web services [1]

Example: Web Server and Application server communication

Application server An application server is a software framework dedicated to the efficient execution of procedures (scripts, routines, programs,...) for supporting the construction of applications. Acts as a set of components accessible to the software developer through an API defined by the platform itself. For web applications, their main job is to support the construction of dynamic pages. However, present-day application servers also implement services like clustering, fail-over and load-balancing, so developers can be focused just on implementing the business logic. [1] WikiPedia, Application Server

Application server architecture 13 connection to resource mgmt layer presentation layer resource management layer application logic layer client application server Web server wide area network (Internet) firewall HTTP browser other protocols other servers ( , SOAP,..) © Gustavo Alonso, ETH Zurich, 2004Web services: Concepts, Architectures and Applications - Chapter 4

Application Server Architecture The term application server sometimes refers to a J2EE or Java EE 5 application server. Some of the better-known Java Enterprise Edition application servers include: Apache Geronimo (Apache Software Foundation) Apache Tomcat (Apache Software Foundation) Glassfish Application Server (open source) WebSphere Application Server and WebSphere Application Server Community Edition (IBM) JBoss (Red Hat) Jetty (Mort Bay Consulting) JRun (Adobe Systems) Oracle OC4J (Oracle) WebLogic Server (Oracle) SAP Netweaver AS (ABAP/Java) (SAP) tc Server (SpringSource) Sun GlassFish Enterprise Server (based on GlassFish Application Server)(Sun Microsystems) Sybase Enterprise Application Server (Sybase Inc) Tcat Server (MuleSoft) WebObjects (Apple Inc.) [1] Wikipedia, Application Server

J2EE application server architecture Application server provides middleware services. The J2EE platform requires a database for the storage of business data. This database is accessible through the JDBC, SQLJ, or JDO APIs. The database is also accessible from web components, enterprise beans, and application client components. J2EE uses a multi-tier distributed model. This model generally includes a Client Tier, a Middle Tier, and an EIS Tier. – Client Tier: applications or browsers – Middle Tier: a Web Server and an EJB Server (These servers are also called "containers.") – EIS Tier: Existing applications, files, and databases. [1]

J2EE application server architecture [1]

J2EE application server architecture

Zope, the Python-based Application Server

Reliability Study for Application Servers Because a single application server is responsible for running many individual applications: one application could inadvertently affect the reliability of another. Application servers force individual applications to share resources and services, increasing the likelihood that one trouble spot could affect the entire portfolio of executing applications. All applications share server space, operating system resources, and common services, the chance that one bad application inclines another to sub-par performance and/or failure is enormous and unacceptable. Another dimension of reliability is the providing of fail-over and load balancing among J2EE applications. Today, additional application servers must be deployed—at considerable cost— on separate machines in order to achieve some satisfactory measure of fault tolerance. Borland Application Server Partitioning.

WS-Reliability Web Service Reliability: “WS-Reliability is a specification for open, reliable Web service messaging including guaranteed delivery, duplicate message elimination and message ordering, enabling reliable communication between Web services. ” The reliability features are based on extensions to the Simple Object Access Protocol (SOAP), rather than being tied to the underlying transport protocol.

Web Service Reliability encompasses the following features( Oracle Application Server ): guaranteed delivery—ensures that a sent message will be received. duplication elimination—ensures that the receiver will not see any duplicate messages (messages with the same message ID are treated as duplicates). guaranteed message delivery and duplicate message elimination— ensures that all messages sent will be received, and any duplicate messages will be removed. message ordering—ensures that a sequence of messages that are sent will be received in the same order. WS-Reliability

To be continued…. Architecture-based reliability? What are the Different types of Application Server Architecture? Why one Application server is more reliable?