XML and eBusiness Technology

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

B2B standards REGNET INTEGRATION EAI B2B EAI ? A2A ? IAI ? B2B ? Set of processes and technologies dealing with the structural integration of software.
Cultural Heritage in REGional NETworks REGNET T1.4: Development of the system specification.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Web Service Architecture
XML-based web services with the java 2 platform, Enterprise edition (j2EE) by anis karimpour-fard.
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
Tuesday, June 10, 2003 Web Services Brief Overview & Security Assertion Coordinator Pattern by Mohammad Abushadi & Riaz Ahmed for Security Group CSE -
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Services Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Presentation 7 part 2: SOAP & WSDL.
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.
Information Management NTU Web Services. Information Management NTU What Are Web Services? Semantically encapsulate discrete functionality Loosely coupled,
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
WEB SERVICES DAVIDE ZERBINO.
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.
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)
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Aligning Business Processes to SOA B. Ramamurthy 6/16/2015Page 1.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Web Services Seppo Heikkinen MITA seminar/TUT
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
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.
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.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
第十四章 J2EE 入门 Introduction What is J2EE ?
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Web Services Part II Yongqun He. J2EE-based Web Services.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
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.
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.
XML and Web Services (II/2546)
What is a Web Service? Distributed Computing Model Distributed Computing Model  Loosely Coupled, Course Grained  Standard HTTP Transport  Sync/Async.
Kemal Baykal Rasim Ismayilov
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Introduction to Web Services. Agenda Motivation History Web service model Web service components A walkthrough examples.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Web Services An Introduction Copyright © Curt Hill.
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.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
XML Based Interoperability Components
Overview of Web Services
Implementing a service-oriented architecture using SOAP
Inventory of Distributed Computing Concepts and Web services
Introduction to Web Services
WEB SERVICES DAVIDE ZERBINO.
WebServices Using JAX-RPC
Introduction to Web Services
Distributed System using Web Services
Introduction to Service-Orientation
Distributed System using Web Services
Presentation transcript:

XML and eBusiness Technology Web Services XML and eBusiness Technology

Introduction Web services - the next big thing? HTTP has become the network standard XML defines business transactions Business applications execute over the Web Distributed computing in a heterogeneous environment – how do you make this happen? Web services, SOAP, Java, and networks Computing in the early 21st century

Four Paradigms of Computing Mainframe The era of “big iron” Client – Server (C/S) Networks and cheap desktop computing Internet Computing (n-tier architecture) Web moves to a computing platform Web services Web moves to a business platform

Web Services XML, Java, SOAP, and networks Critical for B2Bi Used in “light EAI” Creates a “network application platform” Sun ONE (Open Network Environment) Facilitates “any to any” and “many to many” computing Lets applications and process talk to each other Creates a peer-to-peer computing environment UDDI - directory of services for “client discovery”

Service Oriented Architecture Service provider Creates services and publishes to registry Service broker Holds information on how to find and “bind” to a (web) service Service requester Searches the registry, finds services, and “invokes” them after “binding”

Service Oriented Architecture Provider Publish Bind Service Broker Service Requestor Find

Web Services Paradigm Web services are the building block of a Service Oriented Architecture (SOA) Publish application services Find published services Bind to the service found Invoke the bound service Passing required parameters for proper execution of the selected service

Web Services - Protocols WSDL - description UDDI - discovery SOAP - messaging BPEL – execution ebXML - orchestration HTTP – transport XML – the lingua franca for data

Web Services Protocol Stack

WS - Process Architecture Services directory WSDL and UDDI Business transaction SOAP request / response SOAP envelope Message and protocol Transaction details ebXML, BPEL Network layer HTTP, HTTPr, HTTPs, SMTP

WS - Process Architecture

Web Services Architecture Overview Service creation and assembly A visual design environment, possibly UML Service delivery and service integration Messaging interfaces to Internet and network APIs Applications and Web services Web services containers Other legacy applications Application platform Identity and Policy Security and Workflow Collaboration services

Web Services – Architecture

Standards Services Architecture Leverages key XML technologies XSLT, SOAP, WSDL Smart process ebXML, BPML UDDI Smart Policy LDAP Smart management SNMP and XML routing technologies

Web Services – Standards Architecture

Network Layer Lowest level in the Web services architecture is the conduit for transmission of XML messages HTTP is most common protocol in use HTTPR (R stands for reliable) HTTP carries traffic through firewalls So it is the best “business conduit” HTTPR provides “VAN like” services (re: EDI) “exactly once” delivery of messages, notification, etc.

Network Layer – Logical Stack WSIL, WSFL, WSHT Application services and service flow UDDI – Service discovery UDDI – Service publication WSDL – Service description WSIL / SOAP – XML messaging HTTP, HTTPR, SMTP, MQ, IIOP Network layer for messaging

Web Services Stack from WebServices.org Layer Example Service Negotiation Trading Partner Agreement Workflow, Discovery, Registries UDDI, ebXML registries, IBM WSFL, MS XLANG, BPEL4WS Service Description Language WSDL/WSCL Messaging SOAP/XML Protocol Transport Protocols HTTP, HTTPS, FTP, SMTP Business Issues Management, Quality of Service, Security, Open Standards  

SOAP Simple Object Access Protocol (SOAP) Internet protocol for requesting a service Lets loosely coupled entities cooperate Relies on HTTP/HTTPS for transport Picks up where IIOP and CORBA left off Conduit for Remote Method Invocation (RMI)

SOAP Message – 3 Parts The message, envelope, and “channel” SOAP envelope The SOAP packet structure XML body of the message The XML grammar of SOAP request Specification of transport binding The “SOAP” messaging protocol

Anatomy of a SOAP Transaction Client SOAP Request packet (marshal and unmarshal) Transport SOAP running over HTTP (HTTPr / HTTPs) Supplier SOAP Response packet (marshal and unmarshal)

SOAP Transaction

SOAP Request Code POST /path/foo.pl HTTP/1.1 Content-Type: text/xml SOAPActor: interfaceURI#Add Content-Length: nnnn <soap:Envelope> <soap:Body> <Add> <arg1>24</arg1> <arg2>53.2</arg2> </Add> </soap:Body> </soap:Envelope>

SOAP Response Code 200 OK Content-Type: text/xml Content-Length: nnnn <soap:Envelope> <soap:Body> <Response> <sum>77.2</sum> </Response> </soap:Body> </soap:Envelope>

UDDI Universal Description, Discovery, and Integration (UDDI) http://www.uddi.org/ SOAP creates a request for a service But how do you know that the service exists? UDDI is a distributed registry (like DNS system) Service providers post in the UDDI registry UDDI defines a set of SOAP messages that provide the client API for accessing a UDDI registry

UDDI Registry Record

UDDI.org

UDDI Services Publisher API Inquiry API save_business save_service save_binding save_tModel delete_business delete_service delete_binding delete_tModel get_authToken discard_authToken Inquiry API find_business find_service find_binding find_tModel get_businessDetail get_serviceDetail get_bindingDetail get_tModelDetail

WSDL Web Service Description Language (WSDL) WSDL is XML based language that describes the attributes of a Web service Register the service in the UDDI directory Interface is the format of the SOAP request Request / response to execute and receive results of Web service on SOAP envelope

WSDL Document Structure

WSDL Grammar Message Operation portType Binding Port Service

WSFL Web Services Flow Language (WSFL) XML based language for defining the composition of web services A flow composition defines how a sequenced execution of web services perform a higher level business process Defines the interaction between a set of business partners executing Web services

Preparing a Web Service Develop the functionality you want in a service Create the WSDL to describe the service Generate server-side SOAP deployment Publish deployment descriptor in UDDI registry IBM WebSphere Studio Application Developer: WSDL for entry in UDDI registry XML-Java mapping for complex Java objects Deployment descriptor for installing (WS) on a server

IBM Web Services Zone

Using A Web Service Create a Java client to find and call the service Search the UDDI registry for the desired service From WSDL description create SOAP message SOAP message will contain input parameters Send SOAP request message and wait for reply Receive SOAP response with service execution Extract the results of service from the message and process them through a (Java etc.) client

Web Services Process

Java Java is ideal development environment Object oriented with APIs for XML: Java API for XML Messaging (JAXM) Java API for XML Processing (JAXP) Java API for XML Registries (JAXR) Java API for XML - based RPC (JAX-RPC)

Security There are several key areas to security: Identification Authentication Authorization Integrity Privacy Auditing Non-repudiation

B2Bi, Web services, and ebXML What is B2Bi? Web services for B2Bi What is ebXML? ebXML initiative ebXML architecture ebXML implementation ebXML partner discovery ebXML transaction messaging

The Challenge of B2Bi 100,000 companies Middleware doesn’t do it 99,999 factorial connections eMarketplaces didn’t fulfill it Integrating network business process

What is B2B Integration (B2Bi)?

Web Services for B2Bi

ebXML Initiative ebXML – XML, UDDI, and B2Bi Integrate discovery, binding, and flow UDDI – for discovery and binding ebXML - the eBusiness lexicon of B2Bi Creates a “pattern” for Web service flow

ebXML Architecture

ebXML Implementation

ebXML Partner Discovery

ebXML Transaction Message

Advantages to Web Services Flexibility for loose-coupling / late-binding Flexibility in scope: Internet / intranet Limit to enterprise or extend to trading partner Based on HTTP, XML, and SOAP standards Self-describing in WSDL / UDDI registries Aggregate Web services for complex and threaded business process / B2Bi etc.

Microsoft.Net

Microsoft .Net Initiative Microsoft .Net initiative based on SOAP Uses Java tools / visual process design Designed for compatible clients on ends Similar use of XML and SOAP message More similar to COM objects than EJB

Sun ONE Open Network Environment Web services stack Blend servers and services “Smart Web Services” Networked business process

Smart Web Services Architecture Smart delivery Aggregation, presentation and delivery Personalization, content, and contextual sensitivity Smart process Automated workflow management Smart policy Identity, content and roles Smart management Privacy and Security Rights and Administration User management

Smart Web Services Architecture

Smart Processing Overview Smart management Service registration, service management Listing in UDDI repositories, updating records Smart delivery Protocol awareness and messaging options Flexible integration with network applications Smart processing Management, collaboration, and services delivery Created a distributed network application platform

Web Services – Processing Overview

Micro Service Developer Model XML document HTTP SOAP JAXM, JAX, RPC Web server JSP Java servlets Application server JDBC JMS J2EE JAXM JAX / RPC

Micro Web Services Developer Model From a developer's perspective a micro Web service consists of: Web service interface and one or more service components. The Web service interface manages and manipulates XML messages; it can also be a front end to a legacy application. “Service components” contain the business logic that implements the requested service. Business components frequently interact with external resources and services through a variety of integration services A Web service communicates by passing XML documents over standard Web protocols Using HTTP to pass SOAP, XHTML, and other XML messages

Micro Service Developer Model

Web Services Portal Model

Web Service Process Modeling

Distinguishing Business Process Modeling and Management Enterprise business processes  ebPML: e-business Process Modeling Language Executable business processes BPEL: Business Process Execution Language ebXML business processes (a.k.a. collaborations)  Business process activities  BPMI and BPML (and ebPML) Workflows and management BPMS: Business Process Management Systems

PML – Process Modeling Languages BPML IBM WSFL MS XLANG BPML / ebPML BPEL, BPEL4WS UML

BPML Business Process Modeling Language A method to bind “UML” and Web services The Business Process Modeling Language (BPML) is a meta-language for the modeling of business processes, just as XML is a meta-language for the modeling of business data. BPML provides an abstracted execution model for collaborative & transactional business processes based on the concept of a transactional finite-state machine.

BPMI.org Activities

Internal View of Loan Process

BPEL – Complete Loan Process

Tangled BPM Initiatives

ebPML Electronic Business Process Modeling Language http://www.ebpml.org/ "Business is complicated. Any solution that doesn't reflect that complexity is not a real solution. ebXML is no more complicated than it has to be in order to implement real-world business collaborations. Conversely, Web services as they are currently defined seem simple precisely because they're not trying to deal with the complexities of real business relationships involving independent enterprises." A grain of wisdom from John Bosak -

ebPML Vision

BPMS Diagram

Key Technologies for BPMS XML B2B middleware Enterprise Application Integration  Web Services (Legacy Systems behind Web services) Business Process Management Systems

BPMS Architecture

UML 2.0 Unified Modeling Language Looks at the entire picture of a process from the view of actors and use cases State, activity, and collaboration diagrams show interactions of actors UML diagrams can now be saved in XML formats, aiding their use with WS

Web Service Operations

BPMS Activity

Web Service Class Diagram

Summary “Distributed computing” on a network platform Computing for the early 21st Century Uses XML, SOAP, WSDL, UDDI standards Services are self-describing for discovery SOAP interface to messaging interface Java clients for request / response formatting Web services are applications with an IP address Think of it as “hyper-linking” network applications!

Resources http://www.webservices.org/ http://xml.apache.org/ http://www.uddi.org/ http://www-106.ibm.com/developerworks/webservices/ http://java.sun.com/webservices/ http://www.xmethods.net/ http://www.microsoft.com/net/

Self Quiz What are Web services? Why Web services? What is the “protocol stack” ? Write out the WS process flow What things do Web services do well? Where are Web services lacking? What are WS process initiatives about?

Vocabulary Checklist - http://whatis.com/ Architecture BPEL BPMI BPML ebXML Java J2EE HTTP HTTPr and HTTPs .Net Protocol Protocol stack SOA SOAP Sun ONE Transport layer UDDI WSDL WSFL XML

So what is all this XML? Just another markup language? No – the “mother of all markups” Technically, XML + HTML = SGML HTML is about presentation XML is about representation Write your own markup languages DTDs and schema define the rules

A Song Description in HTML <dt>Hot Cop</dt> <dd> by Jacques Morali, Henri Belolo, and Victor Willis</dd> <ul> <li>Producer: Jacques Morali <li>Publisher: PolyGram Records <li>Length: 6:20 <li>Written: 1978 <li>Artist: Village People </ul>

A Song Description in XML <title>Hot Cop</title> <composer>Jacques Morali</composer> <composer >Henri Belolo</composer> <composer >Victor Willis</composer> <producer>Jacques Morali</producer> <publisher>PolyGram Records</publisher> <length>6:20</length> <year>1978</year> <artist>Village People</artist> </song>