Subject: Re: inquiry re. the state of protocol R&D

From: Randy Presuhn <[email-masked]>
Date: Tue, 27 May 2014 10:25:05 -0700 (GMT-07:00)

Hi -

>From: Miles Fidelman <[email-masked]>
>Sent: May 26, 2014 7:18 PM
>To: [email-masked]
>Subject: Re: inquiry re. the state of protocol R&D
>
>I have to vehemently disagree.  To me, APIs are a step in the wrong 
>direction.
>
>Protocol specs - framed as PDU formats and state machine models - 
>present a basis for interoperability and distributed operation. APIs are 
>language-specific, and all too often are tied to a 
>centralized/client-server model of the world.  A big step backwards.

It depends on what folks mean by "APIs".  My experience in the IETF
is that when the term is used here it frequently does *not* mean
"language binding", even though that seems to be the term's usual
sense outside the IETF.  The sense here frequently seems to be
something more akin to "service definition" and not tied to a
specific language binding, but I haven't seen it rigorously
spelled out here.

The SNMPv3 work did define internal "ASIs" (abstract service
interfaces) helpful in characterizing necessary computations
behind protocol behavior, but these don't describe the services
provided by the protocol in a way that would be particularly
helpful to its users, whether human or software.

Randy

---

From: Miles Fidelman <[email-masked]>
Date: Tue, 27 May 2014 14:01:53 -0400

> specific language binding, but I haven't seen it rigorously

Well, to be a bit pedantic, it does stand for "Application Programming 
Interface" :-)

Though folks also seem to use it to refer to Web Services and RESTful 
interfaces, which are more in the nature of protocol specifications.

Miles

-- 
In theory, there is no difference between theory and practice.
In practice, there is.   .... Yogi Berra

---

From: Scott Brim <[email-masked]>
Date: Tue, 27 May 2014 15:45:40 -0400

> specific language binding, but I haven't seen it rigorously

Yes, or "semantic API".

---

From: "Dearlove, Christopher (UK)" <[email-masked]>
Date: Wed, 28 May 2014 09:29:02 +0000

If you go back to the venerable RFC 791 that defines IP you'll find (in Section 3.3) "An Example Upper Level Interface" that includes

SEND (src, dst, prot, TOS, TTL, BufPTR, len, Id, DF, opt => result)

and

RECV (BufPTR, prot, => result, src, dst, TOS, len, opt)

I'm not saying that's a great example (even apart from how TOS has evolved) but it shows the idea of what is essentially a language-independent programming interface isn't foreign to the IETF.

-- 
Christopher Dearlove
Senior Principal Engineer, Communications Group
Communications, Networks and Image Analysis Capability
BAE Systems Advanced Technology Centre
West Hanningfield Road, Great Baddow, Chelmsford, CM2 8HN, UK
Tel: +44 1245 242194 |  Fax: +44 1245 242124
[email-masked] | http://www.baesystems.com

BAE Systems (Operations) Limited
Registered Office: Warwick House, PO Box 87, Farnborough Aerospace Centre, Farnborough, Hants, GU14 6YU, UK
Registered in England & Wales No: 1996687

-----Original Message-----
From: ietf [mailto:[email-masked]] On Behalf Of Randy Presuhn
Sent: 27 May 2014 18:25
To: [email-masked]
Subject: Re: inquiry re. the state of protocol R&D

----------------------! WARNING ! ---------------------- This message originates from outside our organisation, either from an external partner or from the internet.
Consider carefully whether you should click on any links, open any attachments or reply.
Follow the 'Report Suspicious Emails' link on IT matters for instructions on reporting suspicious email messages.
--------------------------------------------------------

Hi -

>present a basis for interoperability and distributed operation. APIs 
>are language-specific, and all too often are tied to a 

It depends on what folks mean by "APIs".  My experience in the IETF is that when the term is used here it frequently does *not* mean "language binding", even though that seems to be the term's usual sense outside the IETF.  The sense here frequently seems to be something more akin to "service definition" and not tied to a specific language binding, but I haven't seen it rigorously spelled out here.

The SNMPv3 work did define internal "ASIs" (abstract service
interfaces) helpful in characterizing necessary computations behind protocol behavior, but these don't describe the services provided by the protocol in a way that would be particularly helpful to its users, whether human or software.

Randy

********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************