A Cross-Platform Component Based Ecommerce Framework in .NET - PowerPoint PPT Presentation

About This Presentation
Title:

A Cross-Platform Component Based Ecommerce Framework in .NET

Description:

Advantages of cross-platform business components ... xmlns:w='http://www.wrox.com/heroes/' w:codename XSLT-Man /w:codename /w:GetSecretIdentity ... – PowerPoint PPT presentation

Number of Views:140
Avg rating:3.0/5.0
Slides: 43
Provided by: Vish9
Category:

less

Transcript and Presenter's Notes

Title: A Cross-Platform Component Based Ecommerce Framework in .NET


1
A Cross-Platform Component Based Ecommerce
Framework in .NET
Vishwak Rajgopalan Under the guidance of Dr.
Daniel Andresen (Major Professor) Dr. Mitchell
Neilsen Dr. Gurdip Singh
2
Overview
  • Problem Statement
  • Solution
  • Advantages of cross-platform business components
  • Role of web services in cross-platform
    integration
  • Web Services concepts
  • System Overview
  • System Architecture
  • System Implementation
  • Performance Evaluation
  • Lessons Learnt
  • Conclusion
  • Future Work

3
Problem Statement
  • Integrating homogeneous components
  • routine, relatively smooth
  • Integrating cross-platform components
  • The Real Challenge?

4
Solution
  • Develop an architecture that
  • is based on open standards
  • is platform and language independent
  • emphasizes on a mode of communication
    understandable to both systems

5
Advantages
  • Reduces software development lifecycle
  • Eliminates time spent in testing and debugging
    the application
  • Decreases Time-to-Market aspect of the web
    application

6
Why Web Services ?
  • XML based lightweight middleware infrastructure
  • Based on open standards SOAP, UDDI, WSDL
  • Systems that understand HTTP are capable of
    exposing and consuming web services

7
Web Services Based Architecture
  • Web Services are the middleware that integrate
    heterogeneous systems over internet/intranets

8
Web Services Buzzwords
  • SOAP (Simple Object Access Protocol)
  • - protocol for transmitting and receiving XML
    messages over HTTP
  • WSDL (Web Services Description Language)
  • - describes the interface of a Web Service
    in a standardized way
  • UDDI (Universal Description, Discovery and
    Integration)
  • - provides a worldwide registry of web
    services for advertisement, discovery, and
    integration purposes

9
SOAP
  • Simple Object Access Protocol
  • Provides a standard packaging structure for
    transporting XML documents over HTTP, FTP and
    SMTP.
  • Defines encoding and binding standards for
    encoding non-XML RPC invocations in XML for
    transport
  • Provides a standard transport mechanism that
    allows heterogeneous clients to interoperate

10
SOAP Message Structure
11
Sample SOAP Message
  • ltsoapEnvelopegt
  •    ltsoapHeadergt  
       . 
     lt/soapHeadergt
  •    ltsoapBodygt     
    ltwGetSecretIdentity

  • xmlnsw"http//www.wrox.com/heroes/"gt        
    ltwcodenamegtXSLT-Manlt/wcodenam
    egt       lt/wGetSecretIdentitygt
       lt/soapBodygt
  • lt/soapEnvelopegt

12
WSDL
  • Web Services Description Language
  • standardizes how a web service represents the
    input and output parameters of an invocation, the
    functions structure, the nature of the
    invocation
  • allows disparate clients to understand how to
    interact with a web service

13
WSDL Sample
  • lt?xml version"1.0" encoding"utf-8" ?gt
  • ltdefinitionsgt
  • lttypesgt


    Describes the custom or complex
    datatypes
  • ltsschema elementFormDefault"qualified"
    targetNamespace"http//tempuri.org/"gt
  • ltselement name"ValidateCardNumber"gt
  • ltscomplexTypegt
  • ltssequencegt
  •   ltselement minOccurs"0" maxOccurs"1"
    name"cardNumber" type"sstring" /gt
  •   lt/ssequencegt
  •   lt/scomplexTypegt
  •   lt/selementgt
  • ltselement name"ValidateCardNumberResponse"gt
  • ltscomplexTypegt
  • ltssequencegt
  • ltselement minOccurs"1" maxOccurs"1"
    name"ValidateCardNumberResult" type"sboolean"
    /gt number and type
    of return values
  •   lt/ssequencegt
  •   lt/scomplexTypegt
  •   lt/selementgt
  •   lt/sschemagt

14
WSDL Sample (contd .. )
  • ltportType name"Service1Soap"gt
  • ltoperation name"ValidateCardNumber"gt
  •   ltinput message"s0ValidateCardNumberSoapIn" /gt
  •   ltoutput message"s0ValidateCardNumberSoapOut"
    /gt
  •   lt/operationgt
  •   lt/portTypegt
  • ltbinding name"Service1Soap" type"s0Service1Soap
    "gt
  • ltsoapbinding transport"http//schemas.xmlsoap.o
    rg/soap/http" style"document" /gt
  • ltoperation name"ValidateCardNumber"gt
  • ltsoapoperation soapActionhttp//tempur
    i.org/ValidateCardNumber
  • style"document" /gt
  • ltinputgt
  •   ltsoapbody use"literal" /gt


    describes the style,
  •   lt/inputgt


    encoding, and
  • ltoutputgt


    transport medium
  •   ltsoapbody use"literal" /gt


    of the SOAP
  • lt/outputgt


    messages
  •   lt/operationgt
  •   lt/bindinggt

15
UDDI
  • Universal Discovery, Description and Integration
  • standardized method for publishing and
    discovering information about web services
  • open framework for describing services,
    discovering businesses, and integrating business
    services
  • focuses on the process of discovery

16
Web Service Invocation
17
System Description
  • Web-based shopping portal catering to books
  • Web Application implemented in Microsoft .NET
  • Generic functionalities are third party business
    components implemented as EJBs.

18
Third Party Business Components
  • Tax Calculation Service
  • Shipping Cost Calculation Service
  • Credit Card Validation Service
  • - Based on Luhn Algorithm

19
Technologies used
  • ASP.NET, ADO.NET, C
  • ASP.NET WebMethod Framework
  • J2EE 1.3.1 (EJB)
  • AXIS 1.1 Framework
  • JBOSS 3.2.3
  • IIS 5.0
  • Microsoft ACT
  • Apache JMeter

20
System Overview
21
System Architecture
VENDOR
THIRD PARTY BUSINESS COMPONENT

EJB
SOAP SKELETON
DATABASE
EJB
22
Class Diagrams
  • Buyer Class Diagram

23
Class Diagrams (contd..)
  • Vendor Class Diagram
    Vendor Module



  • 5 classes


24
Use Case Buyer
25
Use Case Vendor
26
Sequence Diagram Tax Calculation
27
Sequence Diagram Shipping Cost Calculation
28
Sequence Diagram Credit Card Validation
29
Demo
30
Performance Evaluation Web Application
  • No of Iterations (Vs) Response Time (20 users)
  • WEB SERVER PRESARIO x1000, 1.8 GHz
    Centrino, 512 MB RAM

31
Performance Evaluation Web Application
  • No of Iterations (Vs) Response Time (40 users)
  • WEB SERVER PRESARIO x1000, 1.8 GHz
    Centrino, 512 MB RAM

32
Performance Evaluation Web Application
  • No of Threads (Vs) Response Time
  • WEB SERVER PRESARIO x1000, 1.8 GHz
    Centrino, 512 MB RAM

33
Performance Evaluation Web Service
  • No of Iterations (Vs) Response Time (20 users)
  • WEB SERVER PRESARIO x1000, 1.8 GHz
    Centrino, 512 MB RAM

34
Performance Evaluation Web Service
  • No of Iterations (Vs) Response Time (40 users)
  • WEB SERVER PRESARIO x1000, 1.8 GHz
    Centrino, 512 MB RAM

35
Results
  • The web application irrespective of the type of
    web service it consumed showed similar
    performance.
  • For web application CPU usage was at 90 - 95
  • Theoretically, a web application consuming a .NET
    web service should perform better.
  • Individually, a .NET web service showed better
    performance over a Java web service as expected.
  • For individual web services CPU usage at 70 -
    75

36
Analysis
  • High CPU usage (95) and page fault rates
    overshadowed gains obtained from consuming a .NET
    web service as opposed to a Java web service
  • For individual web services, gains from the .NET
    web service overshadowed CPU usage (75) and page
    fault rates

37
Implementation Issues
  • Making wsdl files generated by AXIS accessible to
    the .NET system
  • Setting up the requisite permissions to allow the
    .NET system access to host web pages on the
    notebook.
  • Insufficient documentation on interoperability
    between .NET and J2EE technologies.
  • JBoss .NET or AXIS ?
  • Working simultaneously with both .NET and J2EE
    APIs.

38
Lessons Learned
  • Cross-platform component integration through web
    services
  • Java and .NET APIs available for exposing
    business components as web services.
  • Role of JBoss and Axis in deploying stateless
    EJBs as web services

39
Conclusion
  • Microsoft .NET and Axis need optimizations to
    identify and expose cross-platform components as
    web services
  • Cross-platform integration reduces the
    communication speed of the web application.
  • Cross-platform integration not suitable for web
    applications that require speedy communication
    with business components

40
Future Work
  • Improving security by using extending SOAP
    headers to carry authentication information
  • Including and exposing package tracking
    facilities as web services to obtain real-time
    data on orders.
  • Using the APIs provided by .NET and J2EE for
    working with XML for analyzing inventories, and
    generating order invoices
  • Organizations working on extending JSR to bring
    stateful beans and CMPs under the purview of web
    services

41
References
  • http//www.msdn.com
  • http//ws.apache.org/axis
  • http//www.onjava.com/pub/a/onjava/2002/06/05/axis
    .html
  • http//www.thirdm.com/articles/alesso.htm
  • http//jakarta.apache.org/jmeter/usermanual/index.
    html
  • http//helponline.oracle.com/jdeveloper
  • http//www.research.ibm.com/journal
  • http//javaboutique.internet.com/tutorials/JMeter/
  • http//www.jboss.org/index.html?modulebb
  • http//nagoya.apache.org/wiki/apachewiki.cgi?AxisP
    rojectPages/DotNetInterop
  • http//www.vbip.com/books/1861005091/chapter_5091_
    01.asp

42
Questions ?
Write a Comment
User Comments (0)
About PowerShow.com