Engineering Web Based Legacy Systems - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Engineering Web Based Legacy Systems

Description:

What is a Legacy System? Typical Problems Associated with it. Standards for ... void putDataCount(in long aval); ?xml version='1.0'? Config Package='AVL' ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 15
Provided by: gggg
Category:

less

Transcript and Presenter's Notes

Title: Engineering Web Based Legacy Systems


1
Engineering Web Based Legacy Systems
Distributed Computing CS843
By Kanchana Eramudugoda
2
Content
  • What is a Legacy System?
  • Typical Problems Associated with it
  • Standards for Service Web
  • Migrating to Web-based
  • Migrating Components in to Network Environment

3
What is a Legacy System?
"A computer system or application program which
continues to be used because of the prohibitive
cost of replacing or redesigning it and despite
its poor competitiveness and compatibility with
modern equivalents." Examples IBM AS/400
IBM Mainframe
Tandem
4
Problems Associated with Legacy Systems
  • They are very difficult and may not easy to
    expand
  • It typically runs on absolute hardware, which is
    expensive and hard to maintain
  • Maintaining the software is expensive Due to
    lack of documentation and lack of understanding
    of the internal working of the system, tracing
    can be costly and time consuming

5
Standards For Service Web (SOAP, WSDL,UDDI)
  • Simple Object Access Protocol - SOAP
  • is an XML based messaging protocol. It
    usually used for exchanging information and
    Remote Procedure Call over HTTP(not necessary)
  • SOAP consists of 4 parts
  • 1. SOAP Envelope defines the content of the
    message
  • 2. SOAP Encoding rules defines the
    serialization mechanism
  • 3. SOAP RPC Representation How to make calls
    and responses
  • 4. Protocol Binding HTTP, SMTP

6
Some sample Skeleton of SOAP lt?xml
version"1.0"?gt ltsoapEnvelope xmlnssoap"http//
www.w3.org/2001/12/soap-envelope" soapencodingSty
le"http//www.w3.org/2001/12/soap-encoding"gt ltsoa
pHeadergt ... lt/soapHeadergt ltsoapBodygt ...
... ltsoapFaultgt ... ...
lt/soapFaultgt lt/soapBodygt lt/soapEnvelopegt
  • Few Things to Consider When Writing a SOAP
  • Message MUST be encoded using XML
  • Message MUST use the SOAP Envelope namespace
  • Message MUST use the SOAP Encoding namespace
  • Message must NOT contain a Document Type
    Definition (DTD) reference
  • Message must NOT contain XML Processing
    Instructions

7
  • Web Services Description Language -
    WSDL
  • is a XML language for describing web
    services as a set of endpoints (ports) of message
    exchange. Each endpoint consists of, Definitions
    of operations , messages, binding protocol and
    message format.
  • WSDL is a document written in XML. The document
    describes a Web service. It specifies the
    location of the service and the operations (or
    methods) the service exposes.
  • A WSDL service definition applies several layers
    of abstraction. There are six layers
  • 1. Data types that the service operates
    on
  • 2. Message types the service can
    receive/send
  • 3. How these messages combine into
    operations
  • 4. What protocols the service will bind
    to
  • 5. WSDL ports (operation protocol)
  • 6. A service on a given port

8
Main Structure of the WSDL Document
Sample Code
ltdefinitionsgt lttypesgt ..
definition of types........ (The data types used
by the web service ) lt/typesgt ltmessagegt
. definition of a message. (The messages
used by the web service ) lt /messagegt
ltportTypegt . definition of a port......
(The operations performed by the web service
just like a module or class ) lt/portTypegt
ltbindinggt .. definition of a
binding.... (The communication protocols used by
the web service ) lt/bindinggt lt/definitionsgt
message name"getTermRequest"gt ltpart
name"term" type"xsstring"/gt lt/messagegt
ltmessage name"getTermResponse"gt ltpart
name"value" type"xsstring"/gt
lt/messagegt ltportType name"glossaryTerms"gt
ltoperation name"getTerm"gt ltinput
message"getTermRequest"/gt ltoutput
message"getTermResponse"/gt
lt/operationgtlt/portTypegt
9
  • Universal Description, Discovery, and
    Integration - UDDI
  • is the building block that businesses can use to
    quickly, easily, and dynamically find and
    transact with each another, using their preferred
    applications.
  • UDDI functions include
  • Service Provider
  • Provides and publishes e-business web services
  • Service Registry
  • SOAP-activated web service yellow pages
  • Service Requester
  • Finds required services and binds client to
    those services

10
  • Migrating Components in to Network Environment
  • Representation of data/interface using XML
  • XML Representation of Component Interface

lt?xml version"1.0"?gt ltConfig PackageAVLgt
ltComponent nameAVL
hrefhttp//www.swen.uwaterloo.ca/BookSt
ockgt lttypedefgt ltsrcType
namechar/gt lttargetType
nameubi_trBool/gt lt/typedefgt
ltInterface nameSampleRec srcClassSampleRecgt
ltOperationgt ltReturn typevoid/gt
ltOpName nameputName srcMethodputName/gt
ltParamsgt ltParam
nameval dirin typechar/gt
lt/Paramsgt lt/Operation/gt
ltOperationgt ltReturn typechar/gt
ltOpName namegetNameString

srcMethodgetName/gt
ltParamsgt ltParam namei
dirin typeint/gt lt/Paramsgt
CORBA IDL module AVL iinterface
corba_SampleRec typedef char corba_ubi_trBool  
interface corba_SampleRec void
putName(in string val) string
getName() void putNode(in
corba_ubi_btNode val) corba_ubi_btNode
getNode() long getDataCount()
void putDataCount(in long aval)
11
  • Wrapping CORBA objects with SOAP
  • Enabling of access to CORBA objects with out
    installing the ORB runtime capability on the
    clients side, thin client s or lightweight
    clients, is much harder. Therefore to make it
    easy SOAP protocol is used as a messenger between
    CORBA objects and the web services.

Process the HTTP/GET or POST requests
Interpretation and Dispatching of messages
It is a Collection of Java Beans Encapsulate all
the services including serialization and
de-serialization
12
   struct EchoData        long     aLong     
 boolean  aBool       string   aString   
   EchoData getData( in long l, in boolean b, in
string s)
SOAP interface XML with the corresponding CORBA
IDL definitions. ltesdCType name"EchoData"gt 
ltesditem name"aLong" type"xsdint"
builtin"true" array"false" inout"false"/gt 
ltesditem name"aBool" type"xsdboolean"
builtin"true" array"false" inout"false"/gt 
ltesditem name"aString" type"xsdstring"
builtin"true" array"false" inout"false"/gt lt/es
dCTypegt  ltesdMethod name"getData"gt 
 ltesdInParam name"GetDataRequest"gt   
 ltesditem name"l" type"xsdint"    
builtin"true" array"false" inout"false"/gt   
 ltesditem name"b" type"xsdboolean"
builtin"true" array"false" inout"false"/gt   
 ltesditem name"s" type"xsdstring"
 builtin"true" array"false" inout"false"/gt 
 lt/esdInParamgt   ltesdOutParam
name"GetDataResponse"gt    ltesditem
name"return" type"typensEchoData"
builtin"false" array"false" inout"false"/gt 
 lt/esdOutParamgt lt/esdMethodgt
13
Conclusion
  • It is beneficial to engineering web based legacy
    system. Because
  • Allows the company to take advantage of the
    latest technologies available
  • Web-based applications and services promise more
    flexible, efficient and cost-effective operations
    than the legacy systems that are showing signs of
    age and years of patching and fixing.

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