WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Hypermedia and Model-Driven Development Session. Olga Liskin, Leif Singer and Kurt Schneider.
A Resource Oriented Framework for Context-Aware Enterprise Applicationsruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Frameworks Session. David Duggal and William Malyk.
A Resource Oriented Framework for Context-Aware Enterprise Applicationsruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Frameworks Session. David Duggal and William Malyk.
Hecate, Managing Authorization with RESTful XMLruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Security Session. Sebastian Graf, Vyacheslav Zholudev, Lukas Lewandowski and Marcel Waldvogel.
The Fourth International Workshop on RESTful Design, WS-REST 2013
REST in Brazil - Industry Keynote
On learning REST, and its impact on the design of massive applications in Brazil
Fulfilling the Hypermedia Constraint via HTTP OPTIONS, The HTTP Vocabulary In...ruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Hypermedia and Model-Driven Development Session. Tomas Steiner and Jan Algermissen
RestFS: Resources and Services are Filesystems, Tooruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Frameworks Session. Joseph Kaylor, Konstantin Laufer and George Thiruvathukal.
XML Technologies for RESTful Services Developmentruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Frameworks Session. Cornelia Davis and Tom Maguire
REST and Linked Data: a match made for domain driven development?ruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Kevin Page and David De Roure
Presentation I gave at JPoint Meetingpoint (in a slight different version) and GotoCon Amsterdam 2012.
How to get your API or service from using the basic REST principles such as verbs and resources to a complete RESTful service that fully supports "Hypermedia as the engine of application state" (HATEOAS).
More info at www.smartjava.org
Strata+Hadoop 2015 NYC End User Panel on Real-Time Data AnalyticsSingleStore
Strata+Hadoop 2015 NYC End User Panel on Real-Time Data Analytics: Novus, DigitalOcean, Akamai.
Building Predictive Applications with Real-Time Data Pipelines and Streamliner. Eric Frenkiel, CEO and Co-Founder, MemSQL
Kafka summit SF 2019 - the art of the event-streaming appNeil Avery
Have you ever imagined what it would be like to build a massively scalable streaming application on Kafka, the challenges, the patterns and the thought process involved? How much of the application can be reused? What patterns will you discover? How does it all fit together? Depending upon your use case and business, this can mean many things. Starting out with a data pipeline is one thing, but evolving into a company-wide real-time application that is business critical and entirely dependent upon a streaming platform is a giant leap. Large-scale streaming applications are also called event streaming applications. They are classically different from other data systems; event streaming applications are viewed as a series of interconnected streams that are topologically defined using stream processors; they hold state that models your use case as events. Almost like a deconstructed realtime database.
In this talk, I step through the origins of event streaming systems, understanding how they are developed from raw events to evolve into something that can be adopted at an organizational scale. I start with event-first thinking, Domain Driven Design to build data models that work with the fundamentals of Streams, Kafka Streams, KSQL and Serverless (FaaS). Building upon this, I explain how to build common business functionality by stepping through patterns for Scalable payment processing Run it on rails: Instrumentation and monitoring Control flow patterns (start, stop, pause) Finally, all of these concepts are combined in a solution architecture that can be used at enterprise scale. I will introduce enterprise patterns such as events-as-a-backbone, events as APIs and methods for governance and self-service. You will leave talk with an understanding of how to model events with event-first thinking, how to work towards reusable streaming patterns and most importantly, how it all fits together at scale.
Hecate, Managing Authorization with RESTful XMLruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Security Session. Sebastian Graf, Vyacheslav Zholudev, Lukas Lewandowski and Marcel Waldvogel.
The Fourth International Workshop on RESTful Design, WS-REST 2013
REST in Brazil - Industry Keynote
On learning REST, and its impact on the design of massive applications in Brazil
Fulfilling the Hypermedia Constraint via HTTP OPTIONS, The HTTP Vocabulary In...ruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Hypermedia and Model-Driven Development Session. Tomas Steiner and Jan Algermissen
RestFS: Resources and Services are Filesystems, Tooruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Frameworks Session. Joseph Kaylor, Konstantin Laufer and George Thiruvathukal.
XML Technologies for RESTful Services Developmentruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Frameworks Session. Cornelia Davis and Tom Maguire
REST and Linked Data: a match made for domain driven development?ruyalarcon
WS-REST 2011.
Second International Workshop on RESTful Design.
Chairs: Cesare Pautasso, Erik Wilde, Rosa Alarcon.
<br>
Kevin Page and David De Roure
Presentation I gave at JPoint Meetingpoint (in a slight different version) and GotoCon Amsterdam 2012.
How to get your API or service from using the basic REST principles such as verbs and resources to a complete RESTful service that fully supports "Hypermedia as the engine of application state" (HATEOAS).
More info at www.smartjava.org
Strata+Hadoop 2015 NYC End User Panel on Real-Time Data AnalyticsSingleStore
Strata+Hadoop 2015 NYC End User Panel on Real-Time Data Analytics: Novus, DigitalOcean, Akamai.
Building Predictive Applications with Real-Time Data Pipelines and Streamliner. Eric Frenkiel, CEO and Co-Founder, MemSQL
Kafka summit SF 2019 - the art of the event-streaming appNeil Avery
Have you ever imagined what it would be like to build a massively scalable streaming application on Kafka, the challenges, the patterns and the thought process involved? How much of the application can be reused? What patterns will you discover? How does it all fit together? Depending upon your use case and business, this can mean many things. Starting out with a data pipeline is one thing, but evolving into a company-wide real-time application that is business critical and entirely dependent upon a streaming platform is a giant leap. Large-scale streaming applications are also called event streaming applications. They are classically different from other data systems; event streaming applications are viewed as a series of interconnected streams that are topologically defined using stream processors; they hold state that models your use case as events. Almost like a deconstructed realtime database.
In this talk, I step through the origins of event streaming systems, understanding how they are developed from raw events to evolve into something that can be adopted at an organizational scale. I start with event-first thinking, Domain Driven Design to build data models that work with the fundamentals of Streams, Kafka Streams, KSQL and Serverless (FaaS). Building upon this, I explain how to build common business functionality by stepping through patterns for Scalable payment processing Run it on rails: Instrumentation and monitoring Control flow patterns (start, stop, pause) Finally, all of these concepts are combined in a solution architecture that can be used at enterprise scale. I will introduce enterprise patterns such as events-as-a-backbone, events as APIs and methods for governance and self-service. You will leave talk with an understanding of how to model events with event-first thinking, how to work towards reusable streaming patterns and most importantly, how it all fits together at scale.
The art of the event streaming application: streams, stream processors and sc...confluent
Have you ever imagined what it would be like to build a massively scalable streaming application on Kafka, the challenges, the patterns and the thought process involved? How much of the application can be reused? What patterns will you discover? How does it all fit together? Depending upon your use case and business, this can mean many things. Starting out with a data pipeline is one thing, but evolving into a company-wide real-time application that is business critical and entirely dependent upon a streaming platform is a giant leap. Large-scale streaming applications are also called event streaming applications. They are classically different from other data systems; event streaming applications are viewed as a series of interconnected streams that are topologically defined using stream processors; they hold state that models your use case as events. Almost like a deconstructed realtime database. In this talk I step through the origins of event streaming systems, understanding how they are developed from raw events to evolve into something that can be adopted at an organizational scale. I start with event-first thinking, Domain Driven Design to build data models that work with the fundamentals of Streams, Kafka Streams, KSQL and Serverless (FaaS). Building upon this, I explain how to build common business functionality by stepping through patterns for Scalable payment processing Run it on rails: Instrumentation and monitoring Control flow patterns (start, stop, pause) Finally, all of these concepts are combined in a solution architecture that can be used at enterprise scale. I will introduce enterprise patterns such as events-as-a-backbone, events as APIs and methods for governance and self-service. You will leave talk with an understanding of how to model events with event-first thinking, how to work towards reusable streaming patterns and most importantly, how it all fits together at scale.
Practical Ontology For Enterprise Data ManagementRichard Green
As a methodologist and software engineer, I’ve designed CASE tools that collect and impose organization on meta-data at all levels of detail.
As a enterprise architect, I’ve worked in an environment that uses planning-level data. In a planning context, you need a method for quickly characterizing the problem space at the enterprise level. I’ve stumbled on to a way to do that.
This presentation shows the general methodology of porting a JEE web application to GigaSpaces XAP and the lessons learned from the process of porting the Spring PetClinic sample application to the GigaSpaces platform
Apidays New York 2024 - The subtle art of API rate limiting by Josh Twist, Zuploapidays
The subtle art of API rate limiting
Josh Twist, Co-founder & CEO at Zuplo
Apidays New York 2024: The API Economy in the AI Era (April 30 & May 1, 2024)
------
Check out our conferences at https://www.apidays.global/
Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8
Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io
Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/
This is a presentation on a research work we had done on software defined networking. It involves improving data plane processing in SDN networks by embedding application-level intelligence
Concept Drift Identification using Classifier Ensemble Approach IJECEIAES
Abstract:-In Internetworking system, the huge amount of data is scattered, generated and processed over the network. The data mining techniques are used to discover the unknown pattern from the underlying data. A traditional classification model is used to classify the data based on past labelled data. However in many current applications, data is increasing in size with fluctuating patterns. Due to this new feature may arrive in the data. It is present in many applications like sensornetwork, banking and telecommunication systems, financial domain, Electricity usage and prices based on its demand and supplyetc .Thus change in data distribution reduces the accuracy of classifying the data. It may discover some patterns as frequent while other patterns tend to disappear and wrongly classify. To mine such data distribution, traditionalclassification techniques may not be suitable as the distribution generating the items can change over time so data from the past may become irrelevant or even false for the current prediction. For handlingsuch varying pattern of data, concept drift mining approach is used to improve the accuracy of classification techniques. In this paper we have proposed ensemble approach for improving the accuracy of classifier. The ensemble classifier is applied on 3 different data sets. We investigated different features for the different chunk of data which is further given to ensemble classifier. We observed the proposed approach improves the accuracy of classifier for different chunks of data.
Apricot2017 Request tracing in distributed environment
Teaching Old Services New Tricks: Adding HATEOAS Support as an Afterthought
1. Teaching Old Services New
Tricks: Adding HATEOAS Support
as an Afterthought
Olga Liskin, Leif Singer, Kurt Schneider
{olga.liskin, leif.singer, kurt.schneider}
@inf.uni-hannover.de
28.03.2011
2. Content
Motivation
Main Goals
Service Example
Terminology
Notation for Application Models
Conception of Wrapper Component
Comparison
Conclusions & Outlook
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 2
3. Motivation
Problem with web service communication: Client needs to
know exactly, what a request has to look like
Many sources for errors
– Coding errors
– Invalid requests
Idea: Server includes request-information in response
messages
– Which requests allowed next
– What they look like
HATEOAS
But: not many services conform to this principle
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 3
4. Motivation
Example:
Service response without HATEOAS:
HTTP/1.1 200 OK
What can the client
Last-Modified: Wed, 01 Dec 2010 17:36:02 GMT next?
do
Content-Type: application/xml
<task>
<id>208</id>
<name>create GUI</name> No idea. The client
<status>inprogress</status> has to know by
itself.
<parentStoryId>04</parentStoryId>
</task>
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 4
5. Motivation
Example:
Service response with HATEOAS:
HTTP/1.1 200 OK
Last-Modified: Wed, 01 Dec 2010 17:36:02 GMT Control elements
Content-Type: application/xml directly present in
Link: <stories/04/tasks/208/finish>; rel=“finish” response message.
Link: <stories/04/tasks/208/block>; rel=“block”
<task>
<id>208</id> Now client can see
<name>create GUI</name> following requests
<status>inprogress</status> and how to make
them
<parentStory>/stories/04</parentStory>
</task>
…and also indicate
this
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 5
6. Main Goals
Create HATEOAS support using state charts
– Automatically generate a wrapper
Service
Information
Generator/
Wrapper
Interpreter
Developer
Client Wrapper Server
Prerequisite: Clear way to model network-based applications
– State Charts
– Terminology
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 6
7. Service Example
Backlog service: support agile development projects
Backlog
– contains story cards
Story Card
– One particular topic
– Different states
„definde“, „in progress“, „blocked“,…
Depend on included tasks
Task
– Story Card divided into tasks
– Different states
Changed by user
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 7
9. Terminology
Valid requests depend on current application state
What exactly is application state?
Relevant terminology:
– application
„representation of the business-aware functionality of a system“ (Fielding)
– resource state
Values of a resource‘s attributes
– application state
Requests, responses and the processing of those
E.g.: „process detail view of a story card“
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 9
10. Terminology
31
finished
Backlog 08
24
blocked
New idea: Story
– Equivalence classes of application states
Combine „similar“ states
Determined by resource class and resource state
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 10
11. State Chart
States
– Equivalence classes of application states
– Composite States combine states with same resource class
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 11
12. State Chart
Transitions
– Possible change of application state
triggered by new client request
– Target state reached in case of success
Transitions between Simple States
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 12
13. State Chart
Transitions between Composite States
– More precise information about control flow
necessary
– Outgoing transition:
Transition possible from all sub-states
– Incoming transition:
Client requests a resource of
particular class
Sub-state can only be determined
at runtime
choice-pseudostate
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 13
14. State Chart
Simplified notation
– Remove end vertex
– Remove choice pseudostate construct
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 14
15. State Chart
Use State Chart as a static map
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 15
16. 2 Constructing A Wrapper
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 16
17. Wrapper - Conception
Top-Down view
– Wrapper at first as black-box
Insert wrapper between client and server
Request Request
Client Wrapper Server
HATEOAS-
Response Response
Response
– Request forwarded
– Response enriched with transitions
But not changed further
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 17
18. Wrapper - Conception
Main process
Request Wrapper Request
Forward
request
1
Request Request
Enrich response Response
Calculate
application
state 2
application
state
<<datastore>> transitions Look up
Transition
model transitions
HATEOAS- 3
valid
Response
HATEOAS- transitions Response
Response
Construct
links
4
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 18
19. Wrapper - Concrete Process Steps
Full process cycle
HTTP/1.1 200 OK
Last-Modified: Wed, 01 Dec 2010
Local-name(/*[1]) = task
Content-Type: application/xml
/task/status/text() = defined
<task>
<id>04</id>
<name>Update Database</name>
<status>defined</status>
<parentStory>08</parentStory>
</task>
HTTP/1.1 200 OK
/task/id/text() = 04
Last-Modified: Wed, 01 Dec 2010
URI-Templates /task/parentStory/text() = 08
Content-Type: application/xml
Link: </stories/08/tasks/04/block>;rel=”Task.block”
Link: </stories/08/tasks/04/begin>;rel=”Task.begin”
Link: </stories/08/tasks>; rel=”Task.allTasks”
Link: </stories/08>; rel=”belongs_to_story”
Task.block: </stories/08/tasks/04/block>
<task>
Task.begin: </stories/08/tasks/04/begin>
<id>04</id>
Task.allTasks: </stories/08/tasks>
<name>Update Database</name>
Belongs_To_Story: </stories/08>
<status>defined</status>
<parentStory>08</parentStory>
</task>
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 19
20. Comparison
Implementation of backlog service
Automated generation of wrapper (from transition model)
Develop 2 clients to test concepts
– With wrapper <-> without wrapper
List links = if(story.getStatus().equals(StoryStatus
response.getHeaders().get("Link"); .Defined)){
for(String link : links){ this.startButton.setEnabled(true);
if(link.contains("story.start")){ this.startButton.setUri("/stories/"+
String uri = extractUri(link); story.getId() + "/start");
this.startButton.setUri(uri); this.blockButton.setEnabled(true);
this.startButton.setEnabled(true); this.blockButton.setUri("/stories/"+
}//... story.getId() + "/block")
} }
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 20
21. Conclusions
Creation of theoretical concepts
Development of wrapper process
Check the concept
Is working
Generic
Improves development and maintainance of clients
Errors in model lead to invalid/missing links
Input data is complex
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 21
22. Outlook
Further research on input of data
– Project environment
– Interface descriptions (e.g. WADL) as additional source
Allow changes of whole service API
– Can improve more REST aspects
Use state charts for creation of services (not only wrappers)
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 22
23. Content
Motivation
Main Goals
Service Example
Terminology
Notation for Application Models
Conception of Wrapper Component
Comparison
Conclusions & Outlook
Questions?
Teaching Old Services New Tricks – Olga Liskin, Leif Singer, Kurt Schneider 28.03.2011 23