B2B Application Integration Using Web Services

Slides:



Advertisements
Similar presentations
Oct, 26 th, 2010 OGF 30, NSI-WG: Network Service Interface working group Web Services Overview Web Services for NSI protocol implementation
Advertisements

Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
SOAP.
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.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
Scale Up Access to your 4GL Application using Web Services
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.
1 An Introduction to Web Services. 2 Outline What is a Web service Background Standards –XML & XML Namespaces, XML Schema,WSDL, SOAP Tools & APIs –DOM/SAX,JAX-RPC/JAX-M.
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.
Understand Web Services
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Introduction to Service-Oriented Architecture. Outline Definition Features Examples of SOA Web Service Standards Example Pros and Cons Integration with.
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
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.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
A Choice between Interoperability and Migration By Chaitanya Kurada Masters Defense Major professor: Dr.Daniel Andresen.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
A Cross-Platform Component Based Ecommerce Framework in.NET Vishwak Rajgopalan Under the guidance of Dr. Daniel Andresen (Major Professor) Dr. Mitchell.
Web Services 101 Introduction to Web Services Computer Networks Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
1 Introduction CSIE, Da-Yeh University. 2 History of Software Development Traditional Programming Paradigm  Behind schedule, costly, and unreliable.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
WSDL Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Web Services & WCF ~ Ankit. Web services A web service is a collection of protocols and standards used for exchanging data between applications or systems.
Distributed Communication via ASP.Net Web Services and.Net Remoting By Richard King.
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 Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Lecture 15 Introduction to Web Services Web Service Applications.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
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.
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
1 Web Services Web and Database Management System.
Enterprise Computing: Web Services
Web Services (SOAP) part 1 Eriq Muhammad Adams J |
XML and Web Services (II/2546)
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Web Services from 10,000 feet Part I Tom Perkins NTPCUG CertSIG XML Web Services.
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.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Java Web Services Orca Knowledge Center – Web Service key concepts.
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
Overview of Web Services
Introduction to Web Services and SOA
Inventory of Distributed Computing Concepts and Web services
Web services, WSDL, SOAP and UDDI
The future of distributed systems architecture
WEB SERVICES DAVIDE ZERBINO.
Introduction to Web Services and SOA
Presentation transcript:

B2B Application Integration Using Web Services Nagarjuna Nagulapati Under the guidance of Dr. Daniel Andresen (Major Professor) Dr. Torben Amtoft Dr. William J. Hankley

Outline Problem Statement Solution Application Integration Technologies B2B Application Integration & Web Services SOAP SOAP Style & Encoding Implementation Performance Evaluation

Problem Statement Market Globalization Solutions from multiple vendors Need to stay ahead of competitors Solutions from multiple vendors Unable to share information and isolated functionality

Solution Application Integration(AI) Application integration is the real-time controlled sharing of data and business processes among any connected applications and data sources within inter and intra organizations.

Advantages Increased productivity Controlled procurement processes Interoperability with partners Reuse of existing systems

Types of AI Enterprise Application Integration Integrating applications within an enterprise EDI – based on ANSI standards Point-to-point integration B2B Application Integration Integrating applications across enterprises Middlewares – facilitate communication between two or more software systems Point-to-point NOT feasible Dynamic binding is necessary for B2B application integration due to increase in number of syndicated partners.

Why Web Services? Java Middleware Technologies Distributed objects RMI, JMS - Language dependent Distributed objects CORBA, DCOM - Platform dependent Message Brokers Require sweeping changes in participating applications and hence expensive Open standards, platform and language independent, loosely-coupled integration

B2B AI and Web Services Organizations favoring open standard protocols XML becoming lingua franca for data formatting and interpretation Web Services are XML-based middleware built on open standards

Web Services Web services are middleware components that implement business logic via services and expose these services programmatically over the web, which could be invoked by service clients using SOAP over HTTP Based on open standards like UDDI, WSDL, SOAP, XML, HTTP Separation of specification from implementation Facilitates application-to-application integration or communication by message-based, synchronous and asynchronous communication

Web Services Stack Transport protocol – HTTP, SMTP Data encoding – XML Standard Message Structure – SOAP Service Description – WSDL Service Discovery - UDDI

Web Services Framework Points to service UDDI WSDL description Describes service Publishes service Finds service Based on publish-subscribe mechanism Web Service Client SOAP HTTP proxy

SOAP Simple Object Access Protocol, a lightweight, message-based protocol built on XML and standard Internet protocols, such as HTTP and SMTP for information exchange in a decentralized environment Defines specification for message structure and data encoding Facilitates structured and typed messages to be exchanged Brief introduction to SOAP

SOAP SOAP message must contain a SOAP envelope, a SOAP body and optional SOAP header Encoding - serialization of data inside a SOAP message SOAP encoding is based on XML Schemas and relies on the XML Schema data types, namespace and the type attribute Brief introduction to WSDL

SOAP <soap:envelope> <soap:header> ………………… <soap:body> <add> <num1 xsi:type="xsd:int">5</num1> <num2 xsi:type="xsd:int">10</num2> </add> </soap:body> </soap:envelope> SOAP header Sequence numbers, authentication credentials SOAP envelope SOAP payload Container to hold the SOAP message Method calls, parameters, Application-specific data

WSDL Describes Web Service methods to heterogeneous clients in a platform and language independent manner SOAP toolkits generate proxy classes using WSDL Service contract which specifies the methods available and type information needed to properly compose SOAP requests

WSDL public int add(int num1, int num2) <?xml version="1.0" encoding="utf8" ?> <definitions >   <types /> <message name="addSoapIn">   <part name="num1" type="s:int" />   <part name="num2" type="s:int" />   </message> <message name="addSoapOut">   <part name="addResult" type="s:int" /> <portType name="sampleSoap"> <operation name="add">   <input message="tns:addSoapIn" />   <output message="tns:addSoapOut" />   </operation> </portType> <binding name="sampleSoap" type="tns:sampleSoap">   <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />   <soap:operation soapAction="http://tempuri.org/add" style="rpc" /> <input>   <soap:body use="encoded" namespace="http://tempuri.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />   </input> <output>   </output>   </operation>   </binding> <service name=“Sample"> <port name="sampleSoap" binding="tns:sampleSoap">   <soap:address location="http://agena.cis.ksu.edu:8080/axis/services/Sample" />   </port> </service>   </definitions> Describes custom or complex Data types Number and type of input and output parameters Methods available along with input and output messages Describes style and encoding of the SOAP messages for each operation Describes entry points to web service HTTP-POST, HTTP-GET, SOAP

Implementation Web Services feasibility in integrating heterogeneous applications B2B application modeling online trading system’s supply chain management Web Services integrate the business processes of participating applications in a real-time fashion Web services integrate the business processes of checking the order availability and invoice generation between the participating applications

System Architecture Publisher (.NET) SOAP OVER HTTP Purchaser (.NET) Web Service Purchaser developed on .NET hosted on IIS server Vendor developed on J2EE technologies deployed on JBOSS application server Publisher developed on .NET hosted on IIS server Participating applications provided with a peer web service which acts as an adapter in plugging in the application with other participating applications SOAP OVER HTTP Purchaser (.NET) VENDOR (J2EE) Web Service Web Service

Technologies used ASP.NET, ADO.NET, C# ASP.NET WebMethod Framework J2EE 1.3.1, EJB AXIS 1.1 Framework JBOSS 3.2.1 XDoclet IIS 5.0 Microsoft ACT

Message Flow Purchaser Vendor Publisher orderAvailability() Delegates request to EJB which processes the request orderAvailabilityResponse confirmRequest() orderInvoice Inserts order into database invoiceConfirmation orderInvoice

Detailed System Architecture Publisher (.NET) IIS Server Database Unmarshalls SOAP message to native .NET method calls .NET web service IIS Server JBOSS Application Server J2EE web service Business tier Web services integrate and enable sharing of 2 business processes between the participating applications Checking the order availability between purchaser and vendor Order invoice generation between purchaser, vendor and the publisher SOAP/HTTP Database proxy EJB Purchaser (.NET) Vendor (J2EE) EJB .NET web service Unmarshalls SOAP message to native Java method calls Marshalls native .NET method calls to XML

Class Diagram RPC-Style ~1200 LOC Document-Style ~1350 LOC Publisher Module 2 classes Web Services Purchaser Module 12 classes Vendor Module 8 classes

SOAP processing in .NET IIS SERVER ASP.NET Web Service Handler HTTP Engine Service Object SOAP Request XmlSerializer SOAP Response HTTP modules

SOAP processing in AXIS JBOSS APPLICATION SERVER JETTY WEB SERVER SOAP MESSAGE PROCESSOR WS CONTAINER EJB’S HTTP Handler Handlers SERVICE provider SOAP Request SOAP Response Serialization Framework Web service Handlers Axis engine

Demo

SOAP style & encoding RPC/Encoded One-to-one mapping between SOAP payload elements and service method Encoding is based on Section 5, SOAP specification SOAP framework handles (de)serializing of method calls to/from XML Application developer deals with native objects

SOAP style & encoding Document/Literal No one-to-one mapping between SOAP payload and service method SOAP payload can contain arbitrary XML Encoding is based on the XML schema agreed upon by both parties Application developer deals with raw SOAP payload SOAP does not perform the serialization from XML to native objects and vice versa

RPC (Vs) Document-style public int add(int num1, int num2) <soapenv:body> <ns:add> <num1 xsi:type=“xsd:int”>10</num1> <num2 xsi:type=“xsd:int”>8</num2> </ns:add> </soapenv:body> --------------------------------------------------------------------------------------- public Document add(Document operation) <ns:operation> <add>10</add> <add>8</add> <multiply>1</multiply> <multiply>2</multiply> </ns:operation> Method name parameter parameter Arbitrary XML

Performance Evaluation SOAP payload (Vs) Processing time ASPWEB Windows Box Dual processor 292 MHz, 512MB Agena Solaris Box 360 MHz, 128MB

Performance Evaluation SOAP payload (Vs) Requests/Sec

Results analysis Results Analysis RPC/Encoded solution performed better than Document/Literal solution Theoretically Document/Literal should perform better Analysis Implementation was limited to simple data types in RPC/Encoded Document/Literal solutions perform better for complex data types Axis serialization (vs) Custom serialization SAX (Vs) DOM

Lessons learned Service-oriented application development in both .NET and J2EE Better understanding of SOAP protocol, message structure, encoding and SOAP message processing in .NET and Apache AXIS frameworks Application integration technologies currently being used in enterprises and how they work.

Implementation issues Insufficient reference resources on the Document-styled Web services Interoperability between .NET and J2EE technologies still in its nascent stages Working simultaneously with both .NET based API’s and Java based API’s

Conclusion SOAP is text-based, Web Service calls may be too slow for applications that require frequent and fast communications Web Services are not suitable for applications which need to access wide variety of objects and classes

Future work Security is utmost concern Authentication credentials in SOAP headers User/Passwd, Security tokens and SSL Encoded NOT encrypted Consortia and organizations working towards the interoperability and security of Web Services : WS-I & WS-Security

References www.msdn.com http://ws.apache.org/axis http://java.sun.com/blueprints/webservices/using/webservbp3.html http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/DotNetInterop http://www.gotdotnet.com/team/XMLwebservices/gxa_overview.aspx http://www.aei.on.ca/index.php/aei/notes/edi http://ecommerce.about.com/cs/b2bresources/a/aa080108a.htm http://www.topxml.com/b2b/articles/ts4b2b/default.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/eappint-ch01.asp http://www.darc.com/software/2ndLevelArt/News/Application_Integration_for_E-Business.pdf http://www-900.ibm.com/developerWorks/cn/xml/developerConf/ http://www-106.ibm.com/developerworks/webservices/library/ws-whichwsdl/ http://www.jboss.org/index.html?module=bb www.msdn.com/newsgroups

Acknowledgements Dr. Daniel Andresen Dr. Torben Amtoft Dr. William J. Hankley Sterling Hanenkamp Travis Bradshaw

Questions?