Sanjay Dalal

San Francisco Bay Area Contact Info
1K followers 500+ connections

Join to view profile

About

Software entrepreneur, leader, architect, developer.

* Bootstrapping startups has…

Activity

Join now to see all activity

Volunteer Experience

Publications

  • RFC 9457 Problem Details for HTTP APIs

    IETF

    This document defines a "problem detail" as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs.

    Other authors
    See publication
  • Idempotency-Key HTTP Header (IETF 111)

    IETF

    IETF 111 - Introduction and status of Idempotency-Key HTTP header

    Other authors
    See publication
  • The Idempotency-Key HTTP Header Field

    IETF

    The HTTP Idempotency-Key request header field can be used to carry idempotency key in order to make non-idempotent HTTP methods such as "POST" or "PATCH" fault-tolerant.

    Other authors
    See publication
  • Problem Details for HTTP APIs (RFC 7807bis) (IETF 110)

    IETF

    IETF 110 - Introduction and status of Problem Details for HTTP APIs (RFC 7807bis)

    See publication
  • Error Catalog Service for HTTP APIs

    Error Catalog Service provides operations to manage error types and error catalogs associated with HTTP APIs. Such a service could provide a dictionary of errors for HTTP APIs. This document provides a rationale behind such a service and describes the API of the service.

    See publication
  • The Deprecation HTTP Header Field

    IETF

    The HTTP Deprecation response header can be used to signal to consumers of a URI-identified resource that the use of the resource has been deprecated. Additionally, the deprecation link relation can be used to link to a resource that provides additional context for the deprecation, and possibly ways in which clients can find a replacement for the deprecated resource.

    Other authors
    See publication
  • API Design Guidelines

    PayPal

    The PayPal platform is a collection of reusable services that encapsulate well-defined business capabilities. Developers are encouraged to access these capabilities through Application Programming Interfaces (APIs) that enable consistent design patterns and principles. This facilitates a great developer experience and the ability to quickly compose complex business processes by combining multiple, complementary capabilities as building blocks.

    PayPal APIs follow the RESTful architectural…

    The PayPal platform is a collection of reusable services that encapsulate well-defined business capabilities. Developers are encouraged to access these capabilities through Application Programming Interfaces (APIs) that enable consistent design patterns and principles. This facilitates a great developer experience and the ability to quickly compose complex business processes by combining multiple, complementary capabilities as building blocks.

    PayPal APIs follow the RESTful architectural style as much as possible. To support our objectives, we have developed a set of rules, standards, and conventions that apply to the design of RESTful APIs. These have been used to help design and maintain hundreds of APIs and have evolved over several years to meet the needs of a wide variety of use cases.

    Other authors
    See publication
  • API Style Guide

    PayPal

    When creating API capabilities, it's important to respect existing HTTP interaction patterns and resource models that we have utilized across the platform. If the interaction pattern you are planning on doesn't fit into these patterns, please consult with an API designer.

    This is intended to augment the more comprehensive API Standards. If any conflict exists in guidance, API Standards should trump any guidance here. If conflicts are found, please contact the author(s).

    Other authors
    See publication
  • CollectionSpace Common Services REST API

    CollectionSpace

    All of CollectionSpace's exposed services offer a REST-based Application Programming Interface (API). This API allows you to perform CRUD+L operations (create, read, update, and delete of individual resources, plus list operations such as list all, keyword search, and partial term matching) on a variety of entities that represent a museum's or related institution's collections, such as collection objects, acquisitions, and loans. You can also use this same API to manage a number of the internal…

    All of CollectionSpace's exposed services offer a REST-based Application Programming Interface (API). This API allows you to perform CRUD+L operations (create, read, update, and delete of individual resources, plus list operations such as list all, keyword search, and partial term matching) on a variety of entities that represent a museum's or related institution's collections, such as collection objects, acquisitions, and loans. You can also use this same API to manage a number of the internal entities within a CollectionSpace system, such as user accounts.

    Other authors
    See publication
  • Design notes for multi-tenancy in CollectionSpace

    CollectionSpace

    One of the core deployment requirements of CollectionSpace is that it should host collection management services of one or more institution.

    One approach to satisfy this requirement and achieve the economy of scale would be to adopt a multi-tenant architecture. With a multi-tenant architecture, a software application is designed to virtually partition its data and configuration so that each client organization works with a customized virtual application instance. Supporting multiple…

    One of the core deployment requirements of CollectionSpace is that it should host collection management services of one or more institution.

    One approach to satisfy this requirement and achieve the economy of scale would be to adopt a multi-tenant architecture. With a multi-tenant architecture, a software application is designed to virtually partition its data and configuration so that each client organization works with a customized virtual application instance. Supporting multiple tenants requires a top-down evaluation of the software components in the typical enterprise software stack such as CollectionSpace Service Architecture. This document examines the CollectionSpace architecture with a view of supporting multiple tenants.

    See publication
  • Product Integrity with Mobile Client

    Streametics

    This paper describes a software-based approach to check the integrity of product items using
    mobile phones. The approach involves usage of a mobile phone to detect a variety of product
    integrity related problems including but not limited to, detection of illegally diverted (gray
    market) products, counterfeits, recalled product or expired product items among other things.

    See publication
  • RFID and EPC Challenges and Opportunities

    Streametics

    The vision of an intelligent infrastructure using Radio Frequency Identification (RFID) where every physical object or device is connected to the Internet is promising. While business reasons like high cost of an RFID tag are slowing a widespread use of RFID, we believe that the state of the art enterprise software infrastructure would also pose obstacles in large scale deployments of RFID systems if certain specific challenges are not addressed. In this paper, our goal is to identify these…

    The vision of an intelligent infrastructure using Radio Frequency Identification (RFID) where every physical object or device is connected to the Internet is promising. While business reasons like high cost of an RFID tag are slowing a widespread use of RFID, we believe that the state of the art enterprise software infrastructure would also pose obstacles in large scale deployments of RFID systems if certain specific challenges are not addressed. In this paper, our goal is to identify these challenges for RFID software in the areas of data processing, scalability, availability, security, device management and enterprise applications.

    See publication
  • RFID and EPC System Architecture

    Streametics

    In the world of the “Internet of the Things” envisioned by the Auto-ID Center, all electronic devices would be networked and every object, whether physical or electronic, would be electronically tagged with the information about that object using a unique Electronic Product Code (EPC). These physical tags would allow remote, contact-less interrogation of their contents using the wireless technologies such as the Radio Frequency Identification (RFID), thus, enabling them to act as nodes in the…

    In the world of the “Internet of the Things” envisioned by the Auto-ID Center, all electronic devices would be networked and every object, whether physical or electronic, would be electronically tagged with the information about that object using a unique Electronic Product Code (EPC). These physical tags would allow remote, contact-less interrogation of their contents using the wireless technologies such as the Radio Frequency Identification (RFID), thus, enabling them to act as nodes in the “Internet of the Things”. This vision has some very relevant and practical applications in solving business problems especially related to inventory management, product tracking and tracing, drug counterfeit prevention and automated computer-aided manufacturing, the list keeps on growing.

    With the help of a use case for drug counterfeit prevention, we have described in this paper how
    the vision of the “Internet of Things” could be achieved by using RFID/EPC and a set of
    technologies called the EPCglobal Network.

    See publication
  • ebXML and XML Digital Signature

    WebLogic Developer Journal

    The data exchanged in business-to-business (B2B) messages is often sensitive and requires protection. Secure Socket Layer (SSL) provides protection at the transport level through the confidentiality of data exchanged between two endpoints. However, such business messages may travel through multiple endpoints. This makes the message authenticity (who sent it?) and integrity (is it changed on its way?) necessary. Also, it is important to have these facts recorded for non-repudiation purposes…

    The data exchanged in business-to-business (B2B) messages is often sensitive and requires protection. Secure Socket Layer (SSL) provides protection at the transport level through the confidentiality of data exchanged between two endpoints. However, such business messages may travel through multiple endpoints. This makes the message authenticity (who sent it?) and integrity (is it changed on its way?) necessary. Also, it is important to have these facts recorded for non-repudiation purposes.

    BEA WebLogic Integration https://www.oracle.com/technetwork/middleware/weblogic-integration/overview/index.htmlsupports electronic business protocol using eXtensible Markup Language (ebXML) for B2B transactions. The ebXML protocol recommends using XML Digital Signature (XMLDSig) to provide message authenticity and integrity. This article provides an introduction to XMLDSig and describes how to use it with ebXML in WebLogic Integration.

    See publication
  • Web Services and Transactions

    Web Services for the Integrated Enterprise, OMG’s 2nd Workshop On Web Services Modeling, Architectures, Infrastructures And Standards, Munich, Germany

    Business Transaction Processing (BTP), an XML-based distributed termination protocol for "distributed" business transactions, is an OASIS Committee Specification (today). The combination of WS-Transaction and WS-Coordination efforts cover some of the same space and are expected to be submitted to a standards organization in 2003. This presentation discusses the evolution from tightly-coupled to loosely-coupled services in distributed enterprise systems. In the same context, the two approaches…

    Business Transaction Processing (BTP), an XML-based distributed termination protocol for "distributed" business transactions, is an OASIS Committee Specification (today). The combination of WS-Transaction and WS-Coordination efforts cover some of the same space and are expected to be submitted to a standards organization in 2003. This presentation discusses the evolution from tightly-coupled to loosely-coupled services in distributed enterprise systems. In the same context, the two approaches are compared and contrasted using these two transaction protocols from an architectural perspective. It will be shown how these approaches affect application requirements, and how they can satisfy real world needs will be analyzed.

    Other authors
    See publication
  • Coordinating Business Transactions on the Web

    IEEE Internet Computing

    The business transaction protocol addresses limitations of data-centric (ACID) transactions for multiparty interactions in Web service-based business interactions.

    Other authors
    See publication
  • Transaction Protocols for loosely-coupled environments

    Securities Industry Middleware Council

    Other authors
    See publication
  • Business Transaction Protocol Primer

    OASIS - Organization for the Advancement of Structured Information Systems

    This document is a primer on the OASIS Committee Draft of the Business Transaction Protocol, BTP 1.0. [BTP Specification] We do not cover the entire protocol, but we do introduce much of the terminology. We do not discuss the optimisations designed into the protocol (from the contributed base documents, even though they are an important factor in assuring high performance of the protocol.

    Other authors
    See publication
  • OASIS Business Transaction Protocol (BTP) 1.0, OASIS Committee Specifications

    OASIS - Organization for the Advancement of Structured Information Systems

    This document, which describes and defines the Business Transaction Protocol (BTP), is a Committee Specification of the Organization for the Advancement of Structured Information Standards (OASIS). The standard has been authored by the collective work of representatives of numerous software product companies, grouped in the Business Transactions Technical Committee (BT TC) of OASIS.

    BTP is designed to allow coordination of application work between multiple participants owned or…

    This document, which describes and defines the Business Transaction Protocol (BTP), is a Committee Specification of the Organization for the Advancement of Structured Information Standards (OASIS). The standard has been authored by the collective work of representatives of numerous software product companies, grouped in the Business Transactions Technical Committee (BT TC) of OASIS.

    BTP is designed to allow coordination of application work between multiple participants owned or controlled by autonomous organizations. BTP uses a two-phase outcome coordination protocol to ensure the overall application achieves a consistent result. BTP permits the consistent outcome to be defined a priori -- all the work is confirmed or none is -- (an atomic business transaction or atom) or for application intervention into the selection of the work to be confirmed (a cohesive business transaction or cohesion).

    Other authors
    See publication
  • Conversation Management Protocol in WebLogic Integration

    HPTS

    Presentation describing the design of conversation management protocol in WebLogic Integration. Presented in HPTS 2001.

    See publication
  • Proposal for Business Transaction Protocol Version 1.0

    BEA Systems, Inc.

    Long lasting business transactions spanning multiple enterprises pose a unique challenge
    to B2B systems. The interdependent workflows among multiple trading partners, which
    drive business transactions, need to be coordinated to ensure that the outcome of the
    transaction is reliable. In this document we propose a solution to this problem in the
    form of a Business Transaction Protocol (BTP).

    Other authors
    See publication
  • A Java Container Framework for Server Component Models

    Self

    Several server component models exist today and more are being added to the list. This
    includes Java 2 Enterprise Edition server component models, BEA's WLE CORBA
    Components, OMG's CORBA Component Model and Microsoft's COM+. All these
    models require containers to fulfill some common goals. This includes managing
    lifecycle, state, transaction and security of component in addition to providing it
    infrastructure services. While the component models define architecture for…

    Several server component models exist today and more are being added to the list. This
    includes Java 2 Enterprise Edition server component models, BEA's WLE CORBA
    Components, OMG's CORBA Component Model and Microsoft's COM+. All these
    models require containers to fulfill some common goals. This includes managing
    lifecycle, state, transaction and security of component in addition to providing it
    infrastructure services. While the component models define architecture for components
    and contracts between component and its container, it is left to vendors to define the
    architecture of containers. As containers of these component models share functional
    requirements, we could define architecture for a container of a generic server component
    model. We have put together elements of this architecture in the form of a white-box
    framework called Java Container Framework (JCF). We believe it essential to have such
    a framework when a product supports multiple component models.

    See publication
  • Building large scale CORBA-based Systems

    Component Strategies

    Large-scale systems design can benefit greatly from distribution technologies such as Common Object Request Broker Architecture (CORBA). However, in our experience, the technology is often not mature enough for mission-critical applications, and it is often misapplied. Building reliable, robust, maintainable, and extensible large-scale distributed systems requires a substantial engineering effort, regardless of the implementation technology. CORBA, however, offers great practical benefits when…

    Large-scale systems design can benefit greatly from distribution technologies such as Common Object Request Broker Architecture (CORBA). However, in our experience, the technology is often not mature enough for mission-critical applications, and it is often misapplied. Building reliable, robust, maintainable, and extensible large-scale distributed systems requires a substantial engineering effort, regardless of the implementation technology. CORBA, however, offers great practical benefits when it is applied properly. In this article we share some lessons learned in building large-scale CORBA-based systems.

    Other authors
    See publication

Patents

Honors & Awards

  • NSF Small Business Innovation Research (SBIR) Grant

    National Science Foundation (NSF)

    Project: Streametics Radio Frequency Identification (RFID) Brand Protection Solution
    Responsibility: Principal Investigator (PI)
    Grant Amount: USD 100,000


    Abstract: https://www.sbir.gov/node/319364

Organizations

  • Event Processing Technical Society (EPTS)

    member

    -

    Streametics was a founding organizational member of EPTS (Event Processing Technical Society) , see PR http://www.businesswire.com/news/home/20080715005852/en/Event-Processing-Technical-Society-Announces-Public-Event More on EPTS at https://en.wikipedia.org/wiki/Event_Processing_Technical_Society.

  • Building Blocks for HTTP APIs, IETF Working Group

    member

    Our mission is create standard technical specifications to improve use of HTTP for machine-to-machine communications, including HTTP extensions, formats, and best practices.

More activity by Sanjay

View Sanjay’s full profile

  • See who you know in common
  • Get introduced
  • Contact Sanjay directly
Join to view full profile

Other similar profiles

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Others named Sanjay Dalal in United States

Add new skills with these courses