Justin R. Erenkrantz’s research while affiliated with Bloomberg BNA and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (15)


Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award)
  • Conference Paper

August 2017

·

264 Reads

·

68 Citations

Roy T. Fielding

·

Richard N. Taylor

·

Justin R. Erenkrantz

·

[...]

·

Peyman Oreizy

Seventeen years after its initial publication at ICSE 2000, the Representational State Transfer (REST) architectural style continues to hold significance as both a guide for understanding how the World Wide Web is designed to work and an example of how principled design, through the application of architectural styles, can impact the development and understanding of large-scale software architecture. However, REST has also become an industry buzzword: frequently abused to suit a particular argument, confused with the general notion of using HTTP, and denigrated for not being more like a programming methodology or implementation framework. In this paper, we chart the history, evolution, and shortcomings of REST, as well as several related architectural styles that it inspired, from the perspective of a chain of doctoral dissertations produced by the University of California's Institute for Software Research at UC Irvine. These successive theses share a common theme: extending the insights of REST to new domains and, in their own way, exploring the boundary of software engineering as it applies to decentralized software architectures and architectural design. We conclude with discussion of the circumstances, environment, and organizational characteristics that gave rise to this body of work.


From representations to computations: The evolution of web architectures

September 2007

·

144 Reads

·

61 Citations

REpresentational State Transfer (REST) guided the creation and expansion of the modern web. What began as an internet-scale distributed hypermedia system is now a vast sea of shared and interdependent services. However, despite the expressive power of REST, not all of its benefits are consistently realized by working systems. To resolve the dissonance between the promise of REST and the reality of fielded systems, we critically examine numerous web architectures. Our investigation yields a set of extensions to REST, an architectural style called Computational REST (CREST), that not only offers additional design guidance, but pinpoints, in many cases, the root cause of the apparent dissonance between style and implementation. Furthermore, CREST explains emerging web architectures (such as mashups) and points to novel computational structures.


Architecting trust-enabled peer-to-peer file-sharing applications

August 2006

·

33 Reads

·

5 Citations

XRDS Crossroads The ACM Magazine for Students

Decentralized peer-to-peer (P2P) resource sharing applications lack a centralized authority that can facilitate peer and resource look-ups and coordinate resource sharing between peers. Instead, peers directly interact and exchange resources with other peers. These systems are often open and do not regulate the entry of peers into the system. Thus, there can be malicious peers in the system who threaten others by offering Trojan horses and viruses disguised as seemingly innocent resources. Several trust-based solutions exist to address such threats; unfortunately there is a lack of design guidance on how these solutions can be integrated into a resource sharing application. In this paper, we describe how two teams of undergraduate students separately integrated XREP, a third-party reputation-based protocol for file-sharing applications, with PACE, our software architecture-based approach for decentralized trust management. This was done in order to construct trust-enabled P2P file-sharing application prototypes. Our observations have revealed that using an architecture-based approach in incorporating trust into P2P resource-sharing applications is not only feasible, but also significantly beneficial. Our efforts also demonstrate both the ease of adoption and ease of use of the PACE-based approach in constructing such trust-enabled decentralized applications.


Figure 1. Peer Architecture in PACE
Figure 6. CRASH Architecture with REGRET model
Architectural support for trust models in decentralized applications
  • Conference Paper
  • Full-text available

May 2006

·

215 Reads

·

40 Citations

Proceedings - International Conference on Software Engineering

Decentralized applications are composed of distributed entities that directly interact with each other and make local autonomous decisions in the absence of a centralized coordinating authority. Such decentralized applications, where entities can join and leave the system at any time, are particularly susceptible to the attacks of malicious entities. Each entity therefore requires protective measures to safeguard itself against these entities. Trust management solutions serve to provide effective protective measures against such malicious attacks. Trust relationships help an entity model and evaluate its confidence in other entities towards securing itself. Trust management is, thus, both an essential and intrinsic ingredient of decentralized applications. However, research in trust management has not focused on how trust models can be composed into a decentralized architecture. The PACE architectural style, described previously [21], provides structured and detailed guidance on the assimilation of trust models into a decentralized entity's architecture. In this paper, we describe our experiments with incorporating four different reputation-based trust models into a decentralized application using the PACE architectural style. Our observations lead us to conclude that PACE not only provides an effective and easy way to integrate trust management into decentralized applications, but also facilitates reuse while supporting different types of trust models. Additionally, PACE serves as a suitable platform to aid the evaluation and comparison of trust models in a fixed setting towards providing a way to choose an appropriate model for the setting.

Download

Harmonizing Architectural Dissonance in REST-based Architectures

January 2006

·

13 Reads

·

3 Citations

REpresentational State Transfer (REST) guided the creation and expansion of the modern web. What began as an internet-scale distributed hypermedia system is now a vast sea of shared and interdependent services. However, despite the expressive power of REST, not all of its benefits are consistently realized by working systems. To resolve the dissonance between the promise of REST and the difficulties experienced, we sought insights from numerous architectures in both web and non-web domains. Our investigation yields a set of extensions to REST, an architectural style called Computational REST (CREST), that not only offers additional design guidance, but pinpoints, in many cases, the root cause of the apparent dissonance between style and implemen- tation. Furthermore, CREST explains emerging web architectures, such as mashups, and points to novel computational structures in domains such as distributed computation and multimedia streaming.


Architectural Styles of Extensible REST-based Applications

January 2006

·

22 Reads

·

1 Citation

At the beginning of the World Wide Web (WWW or Web), there was no clear set of principles to guide the decisions being made by developers and architects. In these early days, a cacophony emerged without a clear direction to guide the evolution of the Web. If there was any direction during the inception of the Web, it was a weak focus on how communication might occur between machines on the Web and the content that was to be transferred. Within a matter of a few years, scalability and other design concerns threatened the future of the early Web- this led to the introduction of REpresentation State Transfer architectural style (REST). The REST style imposed constraints on the exchange of communication over the Web and provided guidance for further modifications to the underlying protocols. The introduction of REST, through the HTTP/1.1 protocol, restored order to the Web by articulating the necessary constraints required for participation.


An Architectural Approach for Decentralized Trust Management

December 2005

·

27 Reads

·

30 Citations

IEEE Internet Computing

To guard against malicious peers, peer-to-peer applications must incorporate suitable trust mechanisms. Current decentralized trust-management research focuses mainly on producing trust models and algorithms, whereas the actual composition of trust models into real applications has been largely unexplored. The practical architectural approach for composing egocentric trust (Pace) provides detailed design guidance on where and how developers can incorporate trust models into decentralized applications. In addition, Pace's guiding principles promote countermeasures against threats to decentralized systems. Several prototypes demonstrate the approach's use and feasibility.


Fig. 1. ArchEvol Overview.  
Fig. 2. ArchEvol Subversion Directory Structure.  
Fig. 3. ArchEvol Editing Process.  
ArchEvol: Versioning architectural-implementation relationships

September 2005

·

81 Reads

·

25 Citations

Previous research eorts into creating links between software architecture and its implementations have not explicitly addressed ver- sioning. These earlier eorts have either ignored versioning entirely, cre- ated overly constraining couplings between architecture and implemen- tation, or disregarded the need for versioning upon deployment. This situation calls for an explicit approach to versioning the architecture- implementation relationship capable of being used throughout design, implementation, and deployment. We present ArchEvol, a set of xADL 2.0 extensions, ArchStudio and Eclipse plug-ins, and Subversion guide- lines for managing the architectural-implementation relationship through- out the entire software life cycle.


PACE: An architectural style for trust management in decentralized applications

July 2004

·

122 Reads

·

27 Citations

Distributed applications that lack a central, trustworthy authority for control and validation are properly termed decentralized. Multiple, independent agencies, or "partners", cooperate to achieve their separate goals. Issues of trust are paramount for designers of such partners. While the research literature has produced a variety of trust technology building blocks, few have attempted to articulate how these various technologies can regularly be composed to meet trust goals. This paper presents a particular, event-based, architectural style, PACE, that shows where and how to incorporate various types of trust-related technologies within a partner, positions the technologies with respect to the rest of the application, allows variation in the underlying network model, and works in a dynamic setting. Initial experiments with variants of two sample decentralized applications developed in the PACE style reveal the virtues of dealing with all aspects of application structure and trust in a comprehensive fashion.


Supporting distributed and decentralized projects: Drawing lessons from the open source community

November 2003

·

25 Reads

·

21 Citations

Open source projects are typically organized in a distributed and decentralized manner. These factors strongly determine the pro-cesses followed and constrain the types of tools that can be utilized. This paper explores how distribution and decentralization have affected processes and tools in existing open source projects with the goals of summarizing the lessons learned and identifying oppor-tunities for improving both. Issues considered include decision-making, accountability, communication, awareness, rationale, man-aging source code, testing, and release management.


Citations (13)


... The Django server acts as a queue requests producer for image inference and also processes the final results. The results are consumed from a separate process that receives results from a dedicated results queue and sends the data to the Django web server via REST application interface endpoint [7]. The web server then saves the results to a PostgreSQL database server [22]. ...

Reference:

Deployment of deep learning-based anomaly detection systems: challenges and solutions
Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award)
  • Citing Conference Paper
  • August 2017

... The evolution of REST to CREST began in 2006-2007 when Erenkrantz and Gorlick, like Fielding before them, turned to the web as a living laboratory [12]. As described earlier by Erenkrantz (Section 3.2) the macro-level constraints of REST had seeped down into application architectures, a confirmation of the prior work of Oreizy [38]. ...

Harmonizing Architectural Dissonance in REST-based Architectures
  • Citing Article
  • January 2006

... Second, regardless of the size of the participant community, a set of Internet-based tools for communication and coordination is required (Dube and Pare 2001, Kelly and Jones 2001, Halloran et al. 2003, Shaikh and Cornford 2003. Components include version and concurrency control, build management, workplace management, and change request and release management (Asklund and Bendix 2002). ...

Beyond Code: Content Management and the Open Source Development Portal (Position Paper)
  • Citing Article

... Besides requiring the developer to predefine the part or parts of the application that is to be moved, they still require significant networking resources. More recently, computational REST (CREST) 18,19 has been proposed, but not demonstrated. CREST extends REST 8 with the notion of computational resources (e.g. ...

Rethinking Web Services from First Principles Extended Abstract
  • Citing Article

... As comunidades são amplamente estudadas em diversas áreas do conhecimento (ERENKRANTZ;TAYLOR, 2003), (LANGLOIS; GARZARELLI, 2008) e (KAUR; CHAHAL; SAINI, 2022). O engajamento dos membros da comunidade de software livre determina a continuidade da atuação da própria comunidade. ...

Supporting distributed and decentralized projects: Drawing lessons from the open source community
  • Citing Article
  • November 2003

... Flexible XML (FleXML) is an XML-based technology used by the Event Packager as an optional plugin, to intelligently convert from XML-formatted sensor output to the XML or non-XML event vocabulary expected by the Event Distiller—currently Siena events consisting of unordered sequences of typed attribute/value pairs. Siena supports a na¨ıvena¨ıve translation from XML data into its flat event namespace, but cannot handle hierarchical formats [42]. of the same language for the purpose of cross-application, cross-domain, and cross-version filtering, aggregation and correlation. Our approach is to delay binding of both syntax (schema) and semantics (tag processors) for XML fragments until needed ( " on demand " ). ...

Handling hierarchical events in an internet-scale event service
  • Citing Article
  • April 2001

... While no actual formal definition exists, one can define the REST architectural style as a set of constraints and/or guidelines that should be met when developing distributed applications that could run within the Web. Erenkrantz et al. note in [8] that these constraints address the communication between the various components of a REST-compliant system rather than focusing on the semantics of these components. ...

From representations to computations: The evolution of web architectures
  • Citing Conference Paper
  • September 2007

... A normal database suffers from that issue which is the failure that occurs at a single point, and it makes them to depend much on backups if some failure occurs. Moreover, due to this failure if both, i.e., backups and an operating database are abused, it is catastrophic [10]. ...

Architectural support for trust models in decentralized applications

Proceedings - International Conference on Software Engineering

... There are at least five areas of traceability that belong to horizontal traceability. These can be explained as horizontal traceability between requirement artifact and coding artifacts [10], requirement artifact and testing artifacts [11], requirement artifact and design artifacts [12], requirement artifact and defect reports [13] and design artifact and coding artifacts [14]. ...

ArchEvol: Versioning architectural-implementation relationships

... From Figure 4.5, if we can somehow accept only the hammers' connections but reject all others', we can block all spam but will also block all the ham sent by the mixers and, as a result, we will suffer a 64% false positive rate. Which we calculate as the number of ham blocked (i.e., 3,299,216) divided by the number of all ham (i.e., 5,104,027). This implies, in a sense, we cannot unilaterally block all senders who ever sent spam because if we do that we will lose 64% of email's utility. ...

Architecting trust-enabled peer-to-peer file-sharing applications
  • Citing Article
  • August 2006

XRDS Crossroads The ACM Magazine for Students