blob: 72d93ea50b7f4aa85ac6e5445c7b8af85688a75c [file] [log] [blame]
---
layout: default
---
<section class="site-section site-section--gray">
<div class="main-content">
<h1 class="main-content__title">
{{ page.title }}
</h1>
<div class="main-content__body-content">
{{ content }}
</div>
</div>
</section>
<section class="site-section">
<div class="main-content">
<h2 class="main-content__heading">High-Level Programming Model</h2>
<p class="main-content__text main-content__text">
OpenWhisk is an open source, distributed serverless computing platform
able to execute application logic (Actions) in response to events
(Triggers) from external sources (Feeds) or HTTP requests governed by
conditional logic (Rules). It provides a programming environment
supported by a REST API-based Command Line Interface (CLI) along with
tooling to support packaging and catalog services.
</p>
<div class="main-content__columns">
<div class="main-content__column">
<img class="main-content__image"
src="{{ site.github.url }}/images/illustration-openwhisk-architecture.svg"
alt="Apache OpenWhisk architecture">
</div>
<div class="main-content__column">
<h3 class="main-content__sub-heading">
Event Sources
</h3>
<p class="main-content__text main-content__text--no-top-margin">
Event sources, such as devices, queues, databases, and webhooks, emit
classes of events in the form of triggers.
</p>
<h3 class="main-content__sub-heading">
Triggers
</h3>
<p class="main-content__text main-content__text--no-top-margin">
Triggers are the class of events (including device readings, published
messages, and data changes) that are emitted by event sources.
</p>
<h3 class="main-content__sub-heading">
Actions
</h3>
<p class="main-content__text main-content__text--no-top-margin">
Actions are functions that encapsulate code – written in any supported
language by implementing a single method signature – to be executed in
response to a trigger.
</p>
<h3 class="main-content__sub-heading">
Rules
</h3>
<p class="main-content__text main-content__text--no-top-margin">
Rules represent the declarative association between a trigger and an
action, defining which action(s) should be executed in response to
an event.
</p>
<h3 class="main-content__sub-heading">
Packages
</h3>
<p class="main-content__text main-content__text--no-top-margin">
Packages encapsulate external services in a reusable manner and
assemble them into triggers and actions.
</p>
</div>
</div>
</div>
</section>
<section class="site-section site-section--gray">
<div class="main-content">
<div class="main-content__body-content">
Apache OpenWhisk is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Incubator.
Incubation is required of all newly accepted projects until a further
review indicates that the infrastructure, communications, and decision
making process have stabilized in a manner consistent with other
successful ASF projects. While incubation status is not necessarily a
reflection of the completeness or stability of the code, it does indicate
that the project has yet to be fully endorsed by the ASF.
</div>
<a href="http://incubator.apache.org/"><img class="main-content__image"
src="{{ site.github.url }}/images/apache-incubator-egg-logo.png"
alt="Apache Incubator logo"></a>
</div>
</section>