Title: 'NET Web Services and CORBA A Conflict of Interests
1.NET Web Services and CORBAA Conflict of
Interests?
2Presentation Overview
- Distributed Applications Overview
- CORBA Architecture
- CORBA Example (Air Traffic Control System)
- Web Services Architecture
- Web Services Example
- Comparison
- Conclusion
- Web Service Tech Demo
- Questions
3Distributed Architecture Overview
- What is a Distributed System?
- A collection of independent computers that
appears to its users as a single - coherent system.
- Why use a distributed system?
- Save development cost by integrating (not
redesigning) legacy components. - Some tasks more suited to certain platforms
4Distributed Architecture Overview
- Non-Function Requirement
- Scalability - Ability of a system to accommodate
growth. -
- Measurement How well your system performs as
the system load becomes larger. - Quality of Service (QOS)
5Distributed Architecture Overview
- Non-Function Requirement
- Openness - How easy it is to extend or modify
the system. - Measurement Well defined set of interfaces that
are vendor independent.
6Distributed Architecture Overview
- Non-Function Requirement
- Heterogeneity - Ability of the system to
accommodate for variety in its component
structure. - Development Language
- Operating System
- Hardware Platform
- Network
- Example .NET Architecture.
7Distributed Architecture Overview
- Transparency - Ability to hide the distribution
of the system from the user.
8Distributed Architecture Overview
- Transparency
- Access Hide how a resource is being accessed.
- Location Hide were a resource
- is located.
9Distributed Architecture Overview
- Non-Functional Attributes Summary
10CORBA Architecture
- CORBA (Common Object Request Broker Architecture)
- Set of standards defined by the OMG (Object
Management Group) - Middleware Layer for Distributed Objects
- Open, vendor-independent architecture
- Tightly Coupled Client/Server
11CORBA Architecture
- ORB (Object Request Broker) - Facilitates
communication between the requestor (client) and
the object implementation (server). - Marshal and unmarshal the request and response
data - Distributes and Resolves Object References
- Provide Network Services.
- Result Location and Access Transparency
12CORBA Architecture
Standard ORB Provided Services
13CORBA Architecture
- IDL (Interface Definition Language)
- Language Independent Contract
- Used to create client and server stubs
- Stubs Proxies that hide the network details
from the client - Result Platform and Language Independence
14CORBA Architecture
15CORBA Architecture
- Communication between ORBs
- GIOP - General Inter-ORB Protocol
- IIOP - Internet Inter-ORB Protocol
Result Distributed System Across Multiple
Network Segments
16CORBA Architecture
- CORBA Advantages
- Object-Oriented
- Location/Access Transparency
- Language Independence
- Hardware Independence
- OS Independence
- Rich Set of Services
17CORBA Architecture
- CORBA Disadvantages
- Loosely Defined Standards
- Poor ORB interoperability
- Proprietary Extensions
- Firewall Traversal
- Thick Clients
18CORBA Example
- Air Traffic Control System
- Number of Legacy Components
- High Availability Requirement (2.6 minutes
downtime per year) - Soft Real Time Scheduling
- Multiple delivery mechanisms(P2P, Multicast,
Events, Request/Response)
19CORBA Example
- Mission Critical Requirements
- Replication
- Consistency
- Availability
20CORBA Example
- Air Traffic Control Communication
- Events Updated Flight Plans
- Reliable Multicast - Aircraft Status
- Un-Relable Mutlicast Real Time Radar Data
- Point to Point Command and Control
21CORBA Example
ATC System Diagram
Data Logging and Analysis
Data Generators
Controllers and Viewers
22CORBA Example
23CORBA Example
- Evolutionary Design Slow upgrade
- Interface packages
- Flight Plan
- Sub-System Tracking
- Sector Plans
24CORBA Example
- Integration Issues
- Required Services not Defined
- Availability Management
- Data Replication
- No Real Time Scheduling Standard.
- Proprietary Vendor Solution Used
- ORB Portability
25Web Services Architecture
- XML Based
- Message Passing Service
- Standard IT Protocols
- Loosely-Coupled
26Web Services Architecture
Find Service
Describe Service
Package Data, Provide Common Typing System
Data encoded as XML
Sends XML Messages
Web Services Protocol Stack
27Web Services Architecture
- XML Extensible Markup Language
- Similar to HTML but with user defined tags and
attributes
Attribute
Element
Namespace
Sample XML Document
28Web Services Architecture
- XML Advantage
- Easy To Parse
- Readability Debugging
- Industry Standard
- XML Disadvantages
- Readability Security Risk
- Size
29Web Services Architecture
- XML Schema - XML document used to describe the
data types an a XML document.
Data Type
Variable Name
30Web Services Architecture
- XML Schema Advantages
- Parser Reusability
- Data Abstraction
- Language Independent
- Layered Architecture
31Web Services Example
- SOAP Simple Object Access Protocol
- Message Enveloping Protocol used to send and
Receive XML documents. - Interoperability - Cross-Platform Data Types
- Defined through a XML Schema
32Web Services Architecture
- XML Soap Document Structure.
- Envelope Mandatory root element that packages
the message. - Header Extra supplemental information such as
Authentication and Routing. - Body Mandatory element containing the data to
be sent and decoded.
33Web Services Architecture
Example Soap Document
XML Encoding
Envelope
Header
Body
34Web Services Architecture
- Soap Fault Contains details related to errors
in the processing and sending. - Router didnt understand header info.
- Error occurred at service while processing data
35Web Services Architecture
- Soap Advantages
- Web Standard Protocol
- Designed for Simplicity
- Soap Disadvantages
- No Advanced Features
- Standard is a bit broad.
36Web Services Architecture
- WSDL Web service Description Language
- Describes how to use a Service in Term of
- Endpoint Information
- Messages
- Operations
- Data Types
- Transport
- Used to Create Proxy Files
37Web Services Architecture
- WSDL Key Elements
- Types
- Messages
- PortType
- Binding
- Service Elements
38Web Services Architecture
- WSDL Types
- Describes the Data Types used by the Service
39Web Services Architecture
- WSDL Messages
- Describes the Messages Used by the Service
Defined in the Types Section
40Web Services Architecture
- WSDL Port Type
- List of Operations and their Supported Types
Defined in the Messages Section
41Web Services Architecture
- WSDL Binding
- Defines Transport Protocol and Message
Definitions.
Messages will use SOAP as the Transport Protocol
42Web Services Architecture
- WSDL Service
- Defines endpoint for the Service
Service Endpoint Location
43Web Services Architecture
- WSDL Advantages
- Very Flexible Layered Approach
- Descriptive
- Disadvantages
- Complex Hard to read and write.
44Web Services Architecture
- UDDI Universal Description, Discovery, and
Integration. - Global Registry to Publish Web Services
- Search through Web Browser or API
- Replicated
- Web Link
- http//test.uddi.microsoft.com
45Web Services Architecture
- UDDI
- Three Main Structures
- businessEntity
- businessService
- TModel
46Web Services Architecture
- UDDI businessEntity
- Hold Information Related to your business
- Physical Address
- E-mail
- Phone Number
47Web Services Architecture
- UDDI businessService
- Information about the Services Provided
- Service Name
- GUID
- Service Description
- Access Point (URL)
48Web Services Architecture
- UDDI tModel (Type Model)
- A classification for the Service
- Name
- Description
- Classification
- WSDL Document
49Web Services Architecture
- UDDI Advantages
- Global Federated Directory
- Search Features (API or Browser)
- Disadvantages
- Structurally Complicated
- Not really used.
50Web Services Example
- Johnson Controls Metasys Building Management
System. - Automate Building Systems and Management
- Gathers historical Data
51Web Services Example
- Supervisory Controller Used to Monitor and
Control subsystems - Ventilation
- Air Conditioning
- Lighting
- Fire Safety
52Web Services Example
- Requirement
- Make the system easy for the customer to extent.
- Provide an easy interface for outside Vendor
Integration. - Improve User Interface
53Web Services Example
- Decision Use Web Services Interface.
- Result
- Standardized interface through HTTP, XML, and
SOAP - Remote Web Interfaces
- Easy Debugging though Visual Studio
- 18 Month Rollout
54Comparison
55Conclusion
- CORBA Object Oriented framework that provided
complex Services. - Trade-Off Interoperability, Openness, Firewall
Traversal. - Web Services XML Message Passing System based
on proven Internet Standards. - Trade-Off No Service Support, Immature
Standards, Performance.
56Conclusion
57Web Services Demo
- Local Adding/Dividing Service (Consumer and
Service) - Amazon.com Web Service Client (Consumer)
58Questions?