Chapter 16: Distributed Applications

30
Chapter 16: Distributed Applications Business Data Communications, 4e

description

Chapter 16: Distributed Applications. Business Data Communications, 4e. Message Preparation Word processing Annotation Message Sending User directory Timed delivery Multiple addressing Message priority Status information Interface to other facilities. Message Receiving - PowerPoint PPT Presentation

Transcript of Chapter 16: Distributed Applications

Page 1: Chapter 16: Distributed Applications

Chapter 16:Distributed Applications

Business Data Communications, 4e

Page 2: Chapter 16: Distributed Applications

2

Electronic Mail Features

Message Preparation Word processing Annotation

Message Sending User directory Timed delivery Multiple addressing Message priority Status information Interface to other

facilities

Message Receiving Mailbox scanning Message selection Message

notification Message reply Message rerouting

Page Page 442442

Page 3: Chapter 16: Distributed Applications

3

Single System E-Mail

Only allows users of a shared system to exchange messagesEach user has unique identifier and mailboxSending a message simply puts it into recipients’ boxe.g. RITVAX, AOL

Page 4: Chapter 16: Distributed Applications

4

Multiple Systems E-Mail

Distributed system enables mail servers to connect over a network to exchange mailFunctions split User agent handles preparation, submission,

reading, filing, etc Transfer agent receives mail from user,

determines routing, communicates with remote systems

Interconnection requires standards

Page 5: Chapter 16: Distributed Applications

5

Multiple Systems E-Mail

Page 6: Chapter 16: Distributed Applications

6

Simple Mail Transfer Protocol (SMTP)

Standard for TCP/IP mail transfer, defined in RFC 821Concerned addressing and delivery, not content, with two exceptions Character set standardized as 7-bit

ASCII Adds log information to message that

indicates message path

Page 7: Chapter 16: Distributed Applications

7

Basic E-Mail Operation

User creates message with user agent program Text includes RFC 822 header and body

of message List of destinations derived from header

Messages are queued and sent to SMTP sender program running on a host

Page 8: Chapter 16: Distributed Applications

8

SMTP Mail FlowSMTP server transmits messages to appropriate hosts via TCP Multiple messages to same host can be sent on

one connection Errors handling necessary for faulty addresses

and unreachable hosts

SMTP protocol attempts to provide error-free transmission, but does not provide end-to-end acknowledgementSMTP receiver accepts messages, places it in mailbox or forwards

Page 9: Chapter 16: Distributed Applications

9

Page 10: Chapter 16: Distributed Applications

10

SMTP Connection Setup

Sender opens TCP connection to receiverReceiver acknowledges connection with “220 Service Ready” or “421 Service Not Available”If connection is made, sender identifies itself with the “HELO” commandReceiver accepts identification with “250 OK”

Page 11: Chapter 16: Distributed Applications

11

SMTP Mail Transfer

MAIL command identifies originator, provides reverse path for error reportingRCPT commands identify recipient(s) for message Receiver has several positive or negative

responses to RCPT Sender will not send message until it is sure

at least one copy can be delivered

DATA command transfers message

Page 12: Chapter 16: Distributed Applications

12

Sample SMTP ExchangeS: HELO pc-yccR: 250 euler.im.ncnu.edu.tw Hello …, pleased

to meet youS: MAIL FROM:<[email protected]>R: 250 OKS: RCPT TO:<[email protected]>R: 250 OKS: RCPT TO:<[email protected]>R: 550 No such user hereS: DATAR: 354 Start mail input; end with <CRLF>.<CRLF>

S: Blah blah blah….S:…etc. etc. etc.S: <CRLF>.<CRLF>R: 250 OKS: QUIT

S: HELO pc-yccR: 250 euler.im.ncnu.edu.tw Hello …, pleased

to meet youS: MAIL FROM:<[email protected]>R: 250 OKS: RCPT TO:<[email protected]>R: 250 OKS: RCPT TO:<[email protected]>R: 550 No such user hereS: DATAR: 354 Start mail input; end with <CRLF>.<CRLF>

S: Blah blah blah….S:…etc. etc. etc.S: <CRLF>.<CRLF>R: 250 OKS: QUIT

Page 13: Chapter 16: Distributed Applications

13

SMTP Connection Closing

Sender sends a QUIT command to initiate TCP close operationReceiver sends a reply to the QUIT command, then initiates its own close

Page 14: Chapter 16: Distributed Applications

14

RFC 822

Defines format for text messages via electronic mailUsed by SMTP as accepted mail formatSpecifies both envelope and contentsIncludes a variety of headers that can be included in the message header lines

Page 15: Chapter 16: Distributed Applications

15

Limitations of SMTP and RFC822Cannot transmit executables or binary files without conversion into text through non-standard programs (e.g. UUENCODE)Cannot transmit diacritical marksTransfers limited in sizeGateways do not always map properly between EBCDIC and ASCIICannot handle non-text data in X.400 messagesNot all SMTP implementations adhere completely to RFC821 (tabs, truncation, etc)

Page 16: Chapter 16: Distributed Applications

16

MIME (Multipurpose Internet Mail Extensions)

Intended to resolve problems with SMTP and RFC822Specifies five new header fields, providing info about body of messageDefines multiple content formats Defines encodings to enable conversion of any type of content into transferable form

Page 17: Chapter 16: Distributed Applications

17

MIME Header FieldsMIME-Version: Indicates compliance with RFCs 1521 and 1522

Content-TypeContent-Type: Describes data in sufficient detail for receiver to pick method for representation

Content-Transfer-EncodingContent-Transfer-Encoding: Indicates type of transformation used to represent content

Content-IDContent-ID: Used to uniquely identify MIME entities

Content-DescriptionContent-Description: Plain text description for use when object is not readable

Page 18: Chapter 16: Distributed Applications

18

MIME Content Types

Seven major types: Text, Multipart, Message, Image, Video, Audio, ApplicationFourteen subtypes: See page 452 for detailsText provides only plain subtype, but a richtext subtype is likely to be addedMultipart indicates separate parts, such as text and an attachmentMIME types are used by web servers, as well

Page 19: Chapter 16: Distributed Applications

19

MIME Content Types

Page 20: Chapter 16: Distributed Applications

20

...From: "Yen-Cheng Chen" <[email protected]>To: <[email protected]>Subject: test mail!Date: Wed, 22 May 2002 14:27:07 +0800MIME-Version: 1.0Content-Type: multipart/mixed;

boundary="----=_NextPart_000_0047_01C2019E.69F32C40“Status:

This is a multi-part message in MIME format.

------=_NextPart_000_0047_01C2019E.69F32C40Content-Type: text/plain; charset="big5"Content-Transfer-Encoding: 7bit

Start of Body!Yen-Cheng

------=_NextPart_000_0047_01C2019E.69F32C40Content-Type: text/plain; name="a.txt"Content-Transfer-Encoding: 7bitContent-Disposition: attachment;

filename="a.txt“

This is the first and only one line of the file.------=_NextPart_000_0047_01C2019E.69F32C40--

...From: "Yen-Cheng Chen" <[email protected]>To: <[email protected]>Subject: test mail!Date: Wed, 22 May 2002 14:27:07 +0800MIME-Version: 1.0Content-Type: multipart/mixed;

boundary="----=_NextPart_000_0047_01C2019E.69F32C40“Status:

This is a multi-part message in MIME format.

------=_NextPart_000_0047_01C2019E.69F32C40Content-Type: text/plain; charset="big5"Content-Transfer-Encoding: 7bit

Start of Body!Yen-Cheng

------=_NextPart_000_0047_01C2019E.69F32C40Content-Type: text/plain; name="a.txt"Content-Transfer-Encoding: 7bitContent-Disposition: attachment;

filename="a.txt“

This is the first and only one line of the file.------=_NextPart_000_0047_01C2019E.69F32C40--

multipart/mixed

Page 21: Chapter 16: Distributed Applications

21

POP3Post Office Protocol - Version 3

RFC 1939 / Std 53 To retrieve emails from server (POP3 server) Three states Authorization State Transaction State Update State

Page 22: Chapter 16: Distributed Applications

22

POP3 Commands Authorization State

USER username PASS password APOP name digest

Transaction State STAT LIST [msgNo] RETR msgNo DELE msgNo NOOP RSET TOP msgNo line UIDL [msgNo]

Update State QUIT

Page 23: Chapter 16: Distributed Applications

23

S: +OK POP3 server ready <[email protected]>C: USER mroseS: +OK User name accepted, password pleaseC: PASS pwd999S: +OK Mailbox open, 2 messages (320 octets)C: STATS: +OK 2 320C: LISTS: +OK 2 messages (320 octets)S: 1 120S: 2 200S: .C: RETR 1S: +OK 120 octetsS: <the POP3 server sends message 1>S: .C: DELE 1S: +OK message 1 deletedC: QUITS: +OK dewey POP3 server signing off (maildrop empty)

S: +OK POP3 server ready <[email protected]>C: USER mroseS: +OK User name accepted, password pleaseC: PASS pwd999S: +OK Mailbox open, 2 messages (320 octets)C: STATS: +OK 2 320C: LISTS: +OK 2 messages (320 octets)S: 1 120S: 2 200S: .C: RETR 1S: +OK 120 octetsS: <the POP3 server sends message 1>S: .C: DELE 1S: +OK message 1 deletedC: QUITS: +OK dewey POP3 server signing off (maildrop empty)

Page 24: Chapter 16: Distributed Applications

24

Electronic Data Interchange (EDI)

Direct, computer-to-computer exchange of business dataReplaces use of paper documents Requires two participants to agree on electronic format for the data Two departments within a company Companies and customers Multiple companies

Page 25: Chapter 16: Distributed Applications

25

Benefits of EDI

Cost savingsSpeedReduction of errorsSecurityIntegration with office automationJust-in-time delivery

Page 26: Chapter 16: Distributed Applications

26

EDI v E-Mail

EDI Typically no

human involvement in processing the information; interface is software-to-software

E-Mail Data not

necessarily structured for software processing. Human-to-software exchange is usually involved on at least one end

Page 27: Chapter 16: Distributed Applications

27

Components of EDI Systems

ApplicationTranslation SoftwareCommunications Network

Page 28: Chapter 16: Distributed Applications

28

EDI/Internet IntegrationRFC 1767, issued in 1995 defines a method for packaging EDI transactions in a MIME envelope.

Application/EDIFACT Application/EDI-X12 Application/EDI-consent

Additional requirements have since emerged: Security issues such as EDI transaction integrity,

privacy and non-repudiation Support for exchanges by point-to-point, FTP, and

SMTP protocols.

An IETF working group is currently addressing these unresolved issues.

Page 29: Chapter 16: Distributed Applications

29

Enterprise Application Integration (EAI)

linking applications, whether purchased or developed in-house, so they can better support a business process.Critical for implementation of Internet-based business strategies

Page 30: Chapter 16: Distributed Applications

30

EAI Illustrated