100% found this document useful (2 votes)
171 views

[Ebooks PDF] download Introducing Distributed Application Runtime (DAPR) : Simplifying Microservices Applications Development Through Proven and Reusable Patterns and Practices 1st Edition Radoslav Gatev full chapters

The document promotes the ebook 'Introducing Distributed Application Runtime (DAPR)' by Radoslav Gatev, which simplifies microservices application development through reusable patterns and practices. It highlights the features of DAPR, its building blocks, and provides guidance on integrating it with various technologies. Additionally, it includes links to other recommended digital products and resources for immediate download.

Uploaded by

freehuhlig4w
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
171 views

[Ebooks PDF] download Introducing Distributed Application Runtime (DAPR) : Simplifying Microservices Applications Development Through Proven and Reusable Patterns and Practices 1st Edition Radoslav Gatev full chapters

The document promotes the ebook 'Introducing Distributed Application Runtime (DAPR)' by Radoslav Gatev, which simplifies microservices application development through reusable patterns and practices. It highlights the features of DAPR, its building blocks, and provides guidance on integrating it with various technologies. Additionally, it includes links to other recommended digital products and resources for immediate download.

Uploaded by

freehuhlig4w
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Get the full ebook with Bonus Features for a Better Reading Experience on ebookmeta.

com

Introducing Distributed Application Runtime (DAPR)


: Simplifying Microservices Applications
Development Through Proven and Reusable Patterns
and Practices 1st Edition Radoslav Gatev
https://ebookmeta.com/product/introducing-distributed-
application-runtime-dapr-simplifying-microservices-
applications-development-through-proven-and-reusable-
patterns-and-practices-1st-edition-radoslav-gatev/

OR CLICK HERE

DOWLOAD NOW

Download more ebook instantly today at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Introducing Blockchain Applications: Understand and


Develop Blockchain Applications Through Distributed
Systems George
https://ebookmeta.com/product/introducing-blockchain-applications-
understand-and-develop-blockchain-applications-through-distributed-
systems-george/
ebookmeta.com

RESTful Web API Patterns and Practices Cookbook Connecting


and Orchestrating Microservices and Distributed Data 1st
Edition Mike Amundsen
https://ebookmeta.com/product/restful-web-api-patterns-and-practices-
cookbook-connecting-and-orchestrating-microservices-and-distributed-
data-1st-edition-mike-amundsen/
ebookmeta.com

Introducing Play Framework: Java Web Application


Development 2nd Edition Karunakaran

https://ebookmeta.com/product/introducing-play-framework-java-web-
application-development-2nd-edition-karunakaran/

ebookmeta.com

The Five Minute Parent Fun Fast Activities for You and
Your Little Ones 1st Edition Deborah Shelton

https://ebookmeta.com/product/the-five-minute-parent-fun-fast-
activities-for-you-and-your-little-ones-1st-edition-deborah-shelton/

ebookmeta.com
An Excursion In Mathematics 14th Edition M. R. Modak

https://ebookmeta.com/product/an-excursion-in-mathematics-14th-
edition-m-r-modak/

ebookmeta.com

Tolerance Discourse and Young Adult Holocaust Literature


Engaging Difference and Identity 1st Edition Rachel Dean
Ruzicka
https://ebookmeta.com/product/tolerance-discourse-and-young-adult-
holocaust-literature-engaging-difference-and-identity-1st-edition-
rachel-dean-ruzicka/
ebookmeta.com

New Trends and Challenges in Information Science and


Information Seeking Behaviour: 193 (Lecture Notes in
Networks and Systems, 193) Octavia-Luciana Madge (Editor)
https://ebookmeta.com/product/new-trends-and-challenges-in-
information-science-and-information-seeking-behaviour-193-lecture-
notes-in-networks-and-systems-193-octavia-luciana-madge-editor/
ebookmeta.com

The Wiley Blackwell Companion to Latinoax Theology 2nd


Edition Orlando O. Espin

https://ebookmeta.com/product/the-wiley-blackwell-companion-to-
latinoax-theology-2nd-edition-orlando-o-espin/

ebookmeta.com

Trade-Offs: An Introduction to Economic Reasoning, 3rd


Edition Harold Winter

https://ebookmeta.com/product/trade-offs-an-introduction-to-economic-
reasoning-3rd-edition-harold-winter/

ebookmeta.com
The End s of Community History Sovereignty and the
Question of Law 1st Edition Joshua Ben David Nichols

https://ebookmeta.com/product/the-end-s-of-community-history-
sovereignty-and-the-question-of-law-1st-edition-joshua-ben-david-
nichols/
ebookmeta.com
Radoslav Gatev

Introducing Distributed Application


Runtime (Dapr)
Simplifying Microservices Applications
Development Through Proven and Reusable
Patterns and Practices
1st ed.

Foreword by Yaron Schneider, Principal Software Engineer and Dapr


co-founder, Microsoft
Radoslav Gatev
Gorna Oryahovitsa, Bulgaria

ISBN 978-1-4842-6997-8 e-ISBN 978-1-4842-6998-5


https://doi.org/10.1007/978-1-4842-6998-5

© Radoslav Gatev 2021

This work is subject to copyright. All rights are solely and exclusively
licensed by the Publisher, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in
any other physical way, and transmission or information storage and
retrieval, electronic adaptation, computer software, or by similar or
dissimilar methodology now known or hereafter developed.

The use of general descriptive names, registered names, trademarks,


service marks, etc. in this publication does not imply, even in the
absence of a specific statement, that such names are exempt from the
relevant protective laws and regulations and therefore free for general
use.

The publisher, the authors and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.

This Apress imprint is published by the registered company APress


Media, LLC part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY
10004, U.S.A.
To my girlfriend Desislava who supports me unconditionally.
Foreword
In the year leading up to the first release of Dapr as an open source
project in October 2019, Haishi Bai (my partner in co-founding Dapr)
and I observed just how much the cloud-native space had matured. It
had grown to provide ops and infrastructure teams with first-class
tools to run their workloads either on premises or in the cloud.
With the rise of Kubernetes (K8s), an entire ecosystem of platforms
has sprung up to provide the missing pieces for network security, traffic
routing, monitoring, volume management, and more.
Yet, something was missing.
The mission statement to make infrastructure “boring” was being
realized, but for developers, many if not all of the age-old challenges
around distributed computing continued to exist in cloud-native
platforms, especially in microservice workloads where complexity
grows with each service added.
This is where Dapr comes in. First and foremost a developer-facing
tool, Dapr focuses on solving distributed systems challenges for cloud-
native developers. But just like any new technology, it’s critical to be
able to understand its uses, features, and capabilities.
This book by Radoslav Gatev is the authoritative, technical, hands-
on resource you need to learn Dapr from the ground up. Up to date with
version 1.0 of Dapr, this book gives you all you need to know about the
Dapr building blocks and APIs (Application Programming Interfaces),
when and how to use them, and includes samples in multiple languages
to get you started quickly. In addition to the Dapr APIs, you’ll also find
important information about how to debug Dapr-enabled applications,
which is critical to running Dapr in production.
Radoslav has extensive, in-depth knowledge of Dapr and is an active
Dapr contributor, participating in the Dapr community and helping
others learn to use it as well. He makes the project better by working
with maintainers to report issues and contribute content.
You really can’t go wrong with this book, and I highly recommend it
to anyone who wants to start developing applications with Dapr.
Yaron Schneider
Principal Software Engineer and Dapr Co-founder, Microsoft
Introduction
Being able to work on various projects, one should be able to identify
the common set of issues every project faces. It doesn’t mean you can
always apply the same solution over and over again, but it puts a good
structure. I was very lucky that early in my career, I was pointed to the
proper things to learn. I have already been using object-oriented
programming (OOP) for some time, but I was stunned when I read the
book Design Patterns: Elements of Reusable Object-Oriented Software by
Gamma, Helm, Johnson, and Vlissides for the first time. It gave me the
answers to some of the questions I’d been asking myself. From there on,
I am a strong believer that patterns do not only serve as reusable
solutions to common problems, they become a common lingo and teach
you how to think in an abstract way. Being able to work at a conceptual
level, instead of focusing too much on the details, I believe made me a
better professional.
I heard of Distributed Application Runtime (Dapr) for the first time
when it was announced at Microsoft Ignite 2019, Microsoft’s annual
conference for developers and IT professionals. At first, the idea of it
resonated within me but I didn’t completely understand it, and so I
decided to start playing with it. In September 2020, a transition to an
open governance model was announced to ensure that the project is
open and vendor neutral. Fast-forward to February 2021 when Dapr
v1.0 was released. Now that Dapr is stable and production-ready, it is
also in the process of being donated to the Cloud Native Computing
Foundation (CNCF) as an Incubation project. By the time you read this,
it may be finalized.
Dapr greatly simplifies the development of Microservices
applications. It works with any language and any platform. You can
containerize your applications or not, you can use Kubernetes or not,
you can deploy to the cloud or not. You can sense the freedom here.
From a development perspective, Dapr offers a number of capabilities
grouped and packaged as building blocks. Let’s face it. You will have to
use some services that are external to the application you are aiming to
build. It is very normal to not try to reinvent the wheel and build
everything from scratch. By using the building blocks provided by Dapr,
you use those external services without thinking about any SDKs or
specific concepts imposed by the external service you are trying to
integrate with. You just have to know how to work with the building
block. This simplifies the operations you want to execute on the target
external services, and Dapr serves as the common denominator. That’s
why you can swap one technology with another in the scope of the
building block, that is, reconfiguring Dapr from persisting state to, say,
Redis to MySQL, for example.
Some believe Dapr is the service mesh but done right. The reason
for that is that service meshes rely on the sidecar architecture as Dapr
does. However, service meshes are for network infrastructure, while
Dapr provides reusable patterns that are easy to apply and repeatable.
In the future, I expect building blocks to expand in functionality and
maybe new building blocks to come to Dapr. With that, the reach to
potential external services will become so wide. For greenfield projects,
this will mean that Dapr can be put on the foundational level of
decisions. Once you have it, you can, later on, decide what specific
message broker or what specific persistence medium to use for state
storage, for example. This level of freedom unlocks many opportunities.
Introducing Distributed Application Runtime (Dapr) aims to be your
guide to learning Dapr and using it for the first time. Some previous
experience building distributed systems will be helpful but is by no
means required. The book is divided into three parts. In the first part
before diving into Dapr, a chapter is devoted to set the ground for the
basic concepts of Microservices applications. The following chapter
introduces Dapr: how it works and how to initialize and run it locally.
The next chapter covers the basics of containers and Kubernetes. Then
all that knowledge is combined in order to explore how Dapr works
inside Kubernetes. The part wraps up by exploring the various options
to develop and debug Dapr applications, by leveraging the proper
Visual Studio code extensions – both locally and inside Kubernetes.
The second part of the book has a chapter devoted to each building
block that explores it in detail. The building blocks are:
Service Invocation
Publish and Subscribe
State Management
Resource Bindings
The Actor model
Secrets
Observability
The final part of the book is about integrating Dapr with other
technologies. The first chapter outlines what middleware can be
plugged into the request pipeline of Dapr. Some of the middleware
enable using protocols like the OAuth2 Client Credentials and
Authentication Code grants and OpenID Connect with various Identity
Providers that support them. The examples in the chapter use Azure
Active Directory. The following chapter discusses how to use Dapr with
ASP.NET Core by leveraging the useful attributes that come from the
Dapr .NET SDK. The last two chapters cover how to combine Dapr with
the runtimes of Azure Functions and Azure Logic Apps.
Code samples accompany almost every chapter of the book. Most of
them are implemented in C#, but there are a few of them in Node.js, to
emphasize the multiple-language approach to microservices. You can
find them at https://github.com/Apress/introducing-
dapr . You will need to have .NET and Node.js installed. Some of the
tips and tricks in the book are applicable only to Visual Studio Code
(e.g., the several extensions that are covered in Chapter 5: Debugging
Dapr Applications), but you can also use any code editor or IDE like
Visual Studio. For some of the examples, you will also need Docker on
your machine and any Kubernetes cluster – either locally, as part of
Docker Desktop, or somewhere in the cloud.
I hope you enjoy the book. Good luck on your learning journey. Let’s
start Dapr-izing! I am happy to connect with you on social media:
LinkedIn: www.linkedin.com/in/radoslavgatev/
Twitter: https://twitter.com/RadoslavGatev
Feel free to also check my blog: www.gatevnotes.com .
Acknowledgments
In every venture uncommon to a self, there should be a great catalyst. I
would like to thank Apress and especially Joan Murray, Jill Balzano,
Laura Berendson, Welmoed Spahr, and everyone else involved in the
publishing of this book. I had been thinking about writing a book for
quite some time, and I am grateful that Joan reached out to me. At that
moment I had a few conferences canceled, a few professional
opportunities lost because of the risks and the great uncertainty at the
start of COVID-19. Fast-forward a year from then, the book has been
finished, and I am writing this. A year of lockdowns spent in writing is a
good year, after all.
Additionally, I would like to thank Mark Russinovich for being such
an inspiration and knowledge source for me. Sometimes, it takes just a
tweet to change the life of a person. He retweeted a blog post of mine
about Dapr. It gained a lot of attention, and to a large extent, because of
that, I ntroducing Distributed Application Runtime (Dapr) is now a
reality. I would like to thank Yaron Schneider and all Dapr maintainers
who are always friendly and supportive. They helped a lot by answering
some of the questions I’ve had in the process.
I would also like to thank Kris van der Mast, the technical reviewer,
for the excellent feedback and suggestions that added immense value to
this book.
I would like to thank Mihail Mateev who gave me the opportunity to
do my first public session a couple of years ago. Since then, we have
been collaborating with a lot of other folks to make some of the biggest
conferences in Bulgaria possible. Of course, thanks to the community
that still finds them interesting, and from the fascinating discussions,
they sparkle. I would like to thank Martin Tatar, Cristina Gonzá lez
Herrero, and Irene Otero for their great help and continuous support to
us, the Microsoft Most Valuable Professionals.
I would like to thank Dimitar Mazhlekov with whom we have been
friends, teammates, business partners, and tech junkies. We have
walked a long way and learned a lot together.
I would like to thank all my teachers, professors, and mentors who
supported me a lot throughout the years. To find a good teacher is a
matter of luck. And with you all, I am the lucky person for being your
student.
I would like to express my gratitude for being able to work with
organizations around the globe that gave me exposure to their unique
and intriguing challenges that helped me gain so much knowledge and
experience. Thanks to all the team members I met there and for what I
was able to learn from every one of them.
And last but not least, to my girlfriend Desislava, my parents,
extended family, and friends, thank you for the endless support
throughout the years! Thank you for keeping me sane and forgiving my
absence when I get to work on something challenging.
Table of Contents
Part I: Getting Started
Chapter 1:​Introduction to Microservices
A Brief History of System Design
Hardware Progress
Software Progress
Monolithic Architecture
Benefits of the Monolithic Architecture
Drawbacks of the Monolithic Architecture
Microservices Architecture
Designing Microservices
Benefits
Downsides
Abstract Infrastructure
Some Useful Patterns
Adopting Microservices
Summary
Chapter 2:​Introduction to Dapr
What Is Dapr?​
How Was Complex Made Simple?​
Out-of-the-Box Patterns
Dapr Components
How Does Dapr Work?​
Hosting Modes
Getting Started with Dapr in Self-Hosted Mode
Download Dapr
Initialize Dapr
Run Applications with Dapr
Exploring the Dapr Dashboard
Using Dapr SDKs
Summary
Chapter 3:​Getting Up to Speed with Kubernetes
Kubernetes:​The Big Picture
Control Plane Components
Node Components
Container Images
Running a Docker Container
Building a Docker Image
Optimizing the Size of a Docker Image
Pushing to Remote Registry
Get Started with Kubernetes
Kubernetes Objects
Pods
Services
Deployments
Packaging Complex Applications
Summary
Chapter 4:​Running Dapr in Kubernetes Mode
Installing Dapr in Kubernetes Mode
Exploring the Dapr Control Plane
Installing the Dapr Helm Chart
Zero-Downtime Upgrades
Uninstalling Dapr
Dapr Applications in Kubernetes
Dapr and Service Meshes
Isolation of Components and Configuration
Summary
Chapter 5:​Debugging Dapr Applications
Dapr CLI
Dapr Extension for Visual Studio Code
Development Container
Bridge to Kubernetes
Summary
Part II: Building Blocks Overview
Chapter 6:​Service Invocation
Overview
Working with HTTP-Based Services
Name Resolution
Multicast DNS in Self-Hosted Mode
Kubernetes Name Resolution
Cross-Namespace Invocation
Working with gRPC-Based Services
Implementing a gRPC Server
Invoking gRPC Service from HTTP
Implementing a gRPC Client
Securing Service-to-Service Communication
Securing Dapr Sidecars and Dapr Applications
Summary
Chapter 7:​Publish and Subscribe
What Is Publish/​Subscribe?​
What Are the Benefits of Publish and Subscribe?​
When Not to Use Publish and Subscribe?​
How Does Dapr Simplify Publish and Subscribe?​
Defining the Component
Message Format
Receiving a Message
Subscribing to a Topic
Controlling Time-to-Live (TTL)
Controlling Topic Access
What Messaging Systems Are Supported by Dapr?​
A Temperature Sensor Example
Switching Over to Another Messaging System
Limitations of the Publish and Subscribe Building Block
Summary
Chapter 8:​State Management
Stateful vs.​Stateless Services
State Management in Dapr
Defining the Component
Controlling Behavior
Saving State
Getting State
Deleting State
Using State Transactions
Supported Stores
Another Random Document on
Scribd Without Any Related Topics
sibb-el-qutt.tt (el-Ar. A.) ⎰ Astragalus kahiricus D.C.

Astragalus Forsskalii B.
sijēta. sujēte (Nilt., C., Fumaria densiflora D.C.
el-Ar. A.)
sijēta. sujēta (el-Ar. A.) Ononis serrata F.
simbil (As. Forsk.) Polianthes tuberosa L.
!sommēr (Nilt. D., S.) Panicum geminatum F.
sommēr (Nilt. Forsk.) Avena fatua L.
sommēr (ar. W. M.) Avena Wiestii St.
soqēm (Faraskur, Pistia Stratiotes L.
Osman-Bey-Ghaleb
S.)
sorret-el-kabsch (Mar.) Centaurea glomerata V.
subb-el-ardd (Al., C. Cynomorium coccineum L.
Drog. Fig.)
sūfa (C. Drog. Forsk.) Hyssopus officinalis L. (Blätter)
sujan (C. Syr.) Lolium temulentum L.
surbēh (Nilt. A., Sq.) Chenopodium murale L.
sumbul (C. S.) Polianthes tuberosa L.

sch
‫ش‬

scha'araïsch (ar. W. Kl.) Aristida plumosa L.


scha'arān (ar. W. M.) Agathophora alopecuroides Bge.

scha'ar-el-'agūse (Ros. ⎰ Urtica urens L.


A.) ⎱ Urtica pilulifera L.

scha'ar-el-fār (Nilt.) Panicum glaucum L.


scha'ar-el-qird (Dam.) Scirpus parvulus R. S.
schafschūf (Unt. A. Aristida lanata F.
Forsk.)
schahhtrag. schahtereg Fumaria officinalis L. (Kraut).
(C. Drog. Fig., Forsk.)
schāï (C. Drog., S., Thea sinensis L.
Forsk.)
scha'īr (Nilt.) Hordeum vulgare L.
scha'īr-béledi (Nilt.)
scha'īr-gennāri (Nilt.) ⎫

scha'īr-hommēra (Nilt.) ⎪
scha'īr-jémeni (Nilt.) ⎪ Hordeum vulgare L. var. tetrastichum
⎬ Kcke. f. pallidum Sér. (verschiedene
scha'īr-nebbaūi (Nilt.) ⎪ Formen)
scha'īr-ra'raūi (Nilt.) ⎪

scha'īr-schirqaūi (Nilt.) ⎭
scha'īr-sseba'aūi (Nilt.)
scha'īr-el-fār (Ros. A.) Phalaris minor Retz.
scha'īr-hindi (C. Drog., Terminalia Chebula Rtz. (Frucht).
S., Fig.)
scha'īr-inglīsi (Mar.) Hordeum vulgare L. var. distichum
Alef.
scha'īr-náëga (Nilt., C.) Hordeum vulgare L. var. hexastichum
L.
schakúrija (Nilt., C. S., Cichorium Endivia L.
Forsk., D.)
schámar (Nilt.) Foeniculum capillaceum Gil.
schambar Cassia Fistula L.
schammām (Nilt.) ⎱ Cucumis Melo L. var. Dudaim Naud.
schemmām (Nilt.) ⎰ forma

schammām-frengi (Dam. Cucumis Melo L. var. Dudaim Naud.


S.) forma
schanāreq (C.) Cannabis sativa L.
schaqājiq (C. Drog. Papaver Rhoeas L. (Blüte).
Forsk.)
schaqāqel (Al. Forsk.) Eryngium campestre L.
scharāneq (C. Forsk.) Cannabis sativa L.
schātreg (Nilt.) Fumaria parviflora Lam.
schatta (Ob. A., Lqs.) Capsicum conicum Mey.
schauārib-'Antar (Nilt.) Carthamus lanatus L.
schebb-el-lēl (C. Forsk.) Mirabilis Jalapa L.
schebbet (Unt. A.) Hibiscus Trionum L.
!schebbet. schibit (Nilt.) Anethum graveolens L.
schēba (C. Forsk.) Artemisia arborescens L.
!schēbe (C. Drog., S., Parmelia furfuracea Ach.
Forsk., Fig.)
schechāch (Ob. A. ⎰ Schanginia hortensis Mq.T.
Qene) ⎱ Schanginia baccata Mq.T.

schechschāch (Si.) Papaver somniferum L.


schedīd (Nilt.) Ceruana pratensis F.
schefscháf (Mar. S.) Chenolea arabica B.
schehtareg (Nilt., ar. W. Fumaria parviflora Lam.
Forsk.)
schégeret-el-'agūs (Nilt. Emex spinosa Camp.
D., Forsk.)
schegeret-el-balassān Sambucus nigra L.
(Nilt. Al.)

schegeret-el-barqūq ⎰ Prunus domestica L.


(Nilt.) ⎱ Prunus divaricata Led.

schegeret-el-chōch Prunus Persica Sieb.


(Nilt.)
schegeret-el-erneb (ar. Arnebia tinctoria F.
W. Forsk.)

schégeret-el-filfil (Nilt. C. ⎰ Schinus terebinthifolia L.


Al.) ⎱ Schinus molle L.

schegeret-el-gerch Nicotiana glauca Grah.


(Ros.)
schegeret-el-gōs (Al. C.) Juglans regia L.
schegeret-el-hhanasch Euphorbia Paralias L.
(Brll. A.)
schegeret-el-hhōr (Nilt.) Populus alba L.
schegeret-el-laōs (Nilt.) Prunus Amygdalus Stokes
schegeret-el-mischmisch Prunus Armeniaca L.
(Nilt.)
schegeret-en-n'aege (ar. Aerva javanica Juss.
W. Forsk.)
schegeret-en-ned.de (C. Cetraria islandica Ach.
Drog. Forsk.)
schegeret-et-tūt (Nilt.) Morus alba L.
scheibe (C. Drog. Artemisia arborescens L.
Forsk.)
schelīl (Rotes Meer Statice axillaris F.
Abde.)
schéltam (Mar. S.) Enarthrocarpus strangulatus B.
schemīn (Unt. A. Sq.) Ceratophyllum muricatum Cham.
scheqār (Isth. A.) Matthiola livida D.C.
scheqāra (Mar. A., S.) Matthiola acaulis D.C.
scherauna (Al.) Senecio Cineraria D.C.
scherk-fālek (Nilt. C.), Passiflora caerulea L.
scherk-el-felak (C.
Forsk.)
schermaschīk (C.) Lonicera chinensis Wats.
schertēm (Ob. A., Si.) Enarthrocarpus lyratus D.C.
schi'ahh-koressani (C. Artemisia santonica L.
Drog. Fig.)
!schíbrik. schúbruk (ar. Convolvulus Hystrix V.
W. Abde., lib. W.,
Esne.)
schibrīn. schibrīm (ar. W. Convolvulus Hystrix V.
M.)
schīhh (ar. W. M.) Artemisia herba-alba Asso.
schikórija. schikúrije Cichorium Endivia L.
(Nilt., C. S., Forsk., D.)
schillá'ch (Dam. Mens.) Oryza australis A.Br.
!schiltam. schirtām (Nilt.) Enarthrocarpus lyratus D.C.
schimām. schinān. (Rot. Arthrocnemum glaucum Ung.St.
Meer. S. Kl.)
schimschim (ar. W. M.) Matthiola livida D.C.
schinār (C. Forsk.) Platanus orientalis L.
schiqra (el-Ar. A.) Echiochilon fruticosum Df.
schirtām (Mar. A.) Enarthrocarpus strangulatus B.
schischim (C. Drog. Fig.) Cassia Absus L.
schischm. schischim- Abrus precatorius L. (Same)
ahhmar (C. Drog. Fig.
Forsk.)
schittēta (Ob. A., Lqs., Capsicum conicum Mey.
Ssudān.)
schka'ā (ar. W. Haut.) Fagonia glutinosa D.
schobb (Mens.) Scirpus litoralis Schrad.
schōk-ahhmar (Dam. A.) Salsola Kali L.
schokān (ar. W. M.) Fagonia arabica L.
schōk-'Antar (Brll. A.) Carthamus glaucus M.B.
schōk-'antar (Machsama Notobasis syriaca Cass.
A.)
schōk-bulti (Mansura S.) Silybum Marianum Gaertn.
schōk-ed-ddabb (ar. W. Blepharis edulis Pers.
Schimper)
!schōk-ed-ddabb (ar. W. Trichodesma africanum R.Br.
Abde.)

schōk-el-gemel (ar. W. ⎰ Echinops spinosus L.


Forsk.) ⎱ Ech. galalensis Schf.

schōk-ghenem (Unt. A. Abutilon Avicennae Gaert. (conf. abu-


Mens.) tīl = Abutilon)
schōk-el-hhanesch Onopordum Sibthorpianum B. Hldr.
(Mar.)

schōk-el-hhomār (Brll. ⎰ Echinops spinosus L.


A.) ⎱ Echinops galalensis Schf.

schōk-turki (Ros.) Rubus sanctus Schreb.


schōra (Rotes Meer) Avicennia officinalis L.
schortam (ar. W. Kl.) Enarthrocarpus lyratus D.C.
schqāra (Mar. A., S.) Matthiola acaulis D.C.
schtenāra (Ab. A., Al. D.) Posidonia oceanica D.
!schubbēt (Ros.) Panicum verticillatum L.
schubbēt (Al. Forsk.) Anchusa aegyptiaca D.C.
schubbēt (Unt. A. S. A.) Xanthium strumarium L.
schudschara (ar. W. Matthiola livida D.C.
Forsk.)
schuēka (ar. W. M.) Fagonia arabica L.
schultān (Ob. A. Si.) Enarthrocarpus lyratus D.C.
schumra (Al.) Phytolacca dioica L.
schūsch (Ob. A. Ssudān Panicum turgidum D.
S., Kl.)

ss
‫س‬

ssa'ād. ss'adān (ar. W. Neurada procumbens L.


Haut., Forsk.)
!ss'aād (Nilt., F.) Cyperus longus L.
ss'aād-el-hhomār (Nilt. Cyperus rotundus L.
Ehrenberg)
Suaeda pruinosa Lge.

ssábach (Mar.) ⎨ Suaeda vera F.

Suaeda vermiculata F.
ssabarīna (C. Drog. Smilax medica Schl. (Wurzel).
Forsk.)
ssabat (ar. W. Forsk.) Pulicaria crispa Cass.
ssabat (Dam. A.) Aristida scoparia Tr. Rupr.
ssabbāgha (Al.) Phytolacca decandra L.
ssabbarūss (Si.) Avena fatua L.
ssabta (Mar.) Carlina involucrata Poir.
Suaeda pruinosa Lge.

!ssabta (Al. A.) ⎨ Suaeda vera F.

Suaeda vermiculata F.
ssabūss (Nilt. Forsk., A., Avena fatua L.
S.)
ssacham (ar. W. S.) Aristida acutiflora Tr. Rupr.
ssacham (Dam. S.) Aristida lanata F.
ssacham (el-Ar. A.) Sporobolus spicatus Kth.
ssachas-edh-dhakkar Aspidium filix-mas Sw. (Wurzelstock).
(C. Drog. Syrien)
ssadād (C. Drog. Fig.) Ruta chalepensis L.
ssādeg-hindi (C. Drog. Melastoma malabathricum L.
Forsk.)
ssafárgel (Nilt.) Cydonia vulgaris Pers.
ssáfia (C. Forsk.), Panicum glaucum L.
ssáfuā (Nilt.)
ssagúhh (ar. W. Haut.) Pituranthos tortuosus Bth. Hk.
ssahlābi (Ros. A.) Calendula officinalis L.
ssalīcha Cinnamomum zeylanicum Breyn.
(Rinde).
ssamat (ar. W. M.) Elionurus hirsutus Munro.
ssamhh (ar. W. M., Mesembryanthemum Forsskalii H.
Abde.)
ssamjūk (ar. W. Kl.) Ficus pseudosycomorus Dcne.
ssamma (Nilt. Forsk.) Sporobolus spicatus Kth.
ssammāh (el-Ar. A.) Scleropoa memphitica Parl.
!ssammah (Nilt. S., el-Ar. Lolium perenne L.

A., Mar. S.), nussēle
⎱ Lolium rigidum Gaud.
(Ros.)
!ssammār (Al., lib. W., ⎰ Juncus acutus L.
ar. W.) ⎱
Juncus maritimus Lam.
ssammār (Unt. A., Sq.), Cyperus alopecuroides Rottb.
ssammār-helu (Mens.
A.)
ssámor. ssamr. (ar. W. Acacia spirocarpa H.
Abde.)
ssándab (C. Drog. Ruta chalepensis L.
Forsk.)
ssanīna (C. Drog. Juniperus Sabina L.
Forsk.)
ssanta maría (Al.) Chrysanthemum Balsamita B. var.
tanacetoides B.
ssāq-el-hamām (C. Anchusa officinalis L. (Wurzel).
Drog. Forsk.)
ssaqúhh (ar. W. M.) Pituranthos tortuosus Bth. Hk.
ssārad (Al.) Carex divisa Huds.
ssarakōn (Dam.) Cyperus alopecuroides Rottb.
ssaraks-dhakkar (C. Aspidium filix-mas Sw. (Rhizom.)
Drog. Fig.)
ssarauānd (C. Drog. Aristolochia rotunda L. (Wurzelstock)
Forsk.)
ssaru (C., Al.) Cupressus sempervirens L.
ssassafrāss (C. Drog. Sassafras officinale Nees.
Forsk.)
ssauāss (ar. W. M.) Atraphaxis spinosa L.
!ssédeb (Nilt. C.) Ruta chalepensis L.
ssefān (Mar. S.) Chenolea arabica B.
sseférgel (Nilt.) Cydonia vulgaris Pers.
ssefūn (Brll. A.) Agropyron junceum P.B.
ssefūn (Sq.) Andropogon annulatus F.
!ssefūn (Unt. A. A., S.) Diplachne fusca P.B.
ssejāl (ar. W. M. Abde. Acacia tortilis Hne.
Ass.)
ssekrān. ssekkerān Hyoscyamus muticus L.
(Nilt., ar. W. M.)
sselgam (Nilt., Ob. A., Brassica Napus L.
Si.)
ssellem. ssélem (ar. W. Acacia Ehrenbergiana Hne.
M. O. Ob. A. Ass.
Lqs.)
ssellīch (ar. W. M.) Reboudia microcarpa Coss.
sselq (Nilt.) Beta vulgaris L. var. foliosa A. Sf.
ssemma-lekka (Lqs. S.) Blumea senegalensis D.C.
ssem-es-ssámak (C. Anamirta cocculus W. Arn. (Frucht).
Drog. Fig.)
ssembil (C. Drog. Valeriana celtica L. (Wurzelstock)
Forsk.)
ssemēssema (el-Ar. A.) Glaucium corniculatum Curt.
ssemhh (ar. W. M., Mesembryanthemum Forsskalii H.
Abde.)
ssemm-el-ferūch (Nilt.) Withania somnifera Dun.
ssemssēk (C. Forsk.) Artemisia camphorata Vill.
ssenā (ar. W., Ass.) Cassia obovata Coll.
ssenā-hhegāsi (C. Cassia acutifolia D.
Forsk.), ssenā-mekki
(Ob. A.)
sséndeb (Nilt. C.) Ruta chalepensis L.
ssenēme (Al. Forsk.) Plantago decumbens F.
sseragha (ar. W. Forsk.) Crepis radicata F. (= Cr. senecioides
D.)
sserakōn (Mens. A.) Cyperus auricomus Sieb.
sserīss (Ros.) Cichorium divaricatum Schousb.
sserr (ar. W. M.) Asparagus stipularis F.
ssessebān (Nilt.) Sesbania aegyptiaca Pers.

⎰ Spinacia glabra Mill.


ssibānach (Nilt. Al. C.)
⎱ Spinacia oleracea Mill.

ssidr (ar. W. M., Ssudan) Ziziphus Spina-Christi W.


ssifūn (Nilt. A.) Andropogon annulatus F.
ssill (Dam. A.) Imperata cylindrica P.B.
ssilla. ssille (ar. W. M. Zilla myagroides F.
Forsk.)
ssīllet (O. A.) Imperata cylindrica P.B.
ssilq (Nilt.) Beta vulgaris L. var. foliosa A. Sf.
ssilīss. ssilēss (Nilt. A.) Urospermum picroides Desf.
ssímbil Triticum vulgare Lam. (die Ähre).
!ssimbil (C.) Iris florentina L.
ssímbil (C.) Canna indica L.
ssímssim. ssémssem Sesamum indicum L.
(Nilt.)
ssinnet-el-'agūs (Mar.) Onobrychis Crista-galli Lam.
ssirr. ssirrāja Zilla myagroides F.
(Machssama A.)
ssirr-el-uard (Mansura) Sphaeranthus suaveolens D.C.
ssissām (C.) Dalbergia Sissoo Roxb.
ssitt-el-hhosn (Nilt., Al. Ipomoea cairica Webb.
C.)
ssiuān (el-Ar. A.) Cephalaria syriaca Schrad.
ssletēni (Mar.) Fagonia cretica L.
sslī. sslībet-el-gemāl (el- Zollikoferia angustifolia Cass.
Ar. A.)

⎰ Andropogon Schoenanthus L.
ssómbul (C. Drog. Fig.)
⎱ Andropogon Nardus L.

ssorumbāt (C. Drog. Aristolochia rotunda L. (Wurzelstock).


Fig.)
ssrēga (Mar.) Globularia arabica J. Sp.
ssrēga (Si.) Lotus arabicus L.
ssuchēt (C. Drog. Fig.) Cyperus rotundus L.
Suaeda pruinosa Lge.

ssuēd (Al.) ⎨ Suaeda vera F.

Suaeda vermiculata F.
ssuēdi (Faraskur S.) Eclipta erecta L.
ssuei (el-Ar. A.) Asphodelus microcarpus Viv.
ssugé'hh (ar. W. M.) Pituranthos tortuosus Bth. Hk.
ssugget (ar. W. Abde.) Lindenbergia sinaica Bth.
ssurr. ssurret-el-kebsch Anacyclus alexandrinus W.
(Mar. A.)
ssumāq. ssimāq (C. Rhus Coriaria L. (Frucht)
Drog. Fig., Forsk.)
ssumbul, pl. ssenābil Triticum vulgare Lam. (die Ähre)
(Nilt.)
ssumbul (C.) Iris florentina L.

!ssummār (Nilt., lib. W., ⎰ Juncus acutus L.


ar. W.) ⎱ Juncus maritimus Lam.

summār (Nilt. S., D.) Panicum geminatum F.


ssummār-daker (Dam.) Panicum geminatum F.
ssummār-entāja (Dam.) Panicum repens L.

ssunbul-hindi (C. Drog. ⎰ Andropogon Schoenanthus L.


Forsk.) ⎱ Andropogon Nardus L.

ssurret-el-kebsch (Brll. Hedypnois rhagadioloides W.


A.)
ssurret-en-na'qe (Al. Centaurea glomerata V.
Forsk.)
ssūss (Nilt., C., O.) Glycyrrhiza glabra L.
ssussān-abjadd (C. Iris florentina L. (Wurzelstock).
Drog., S., Fig.)
!ssussēn (Al. C.), Pancratium aegyptiacum S.

ssussān. ssussann (C.
⎱ Pancratium maritimum L.
Forsk.)
t
‫ت‬

ta'assōnah (el-Ar. A.) Aerva javanica Juss.


tabschanqíq (Ass. nub.) Tephrosia apollinea D.
tácham (ar. W. Mterat.) Chenopodium murale L.
ta'ēlbe (Mar.), tha'álaba Salvia lanigera Poir.
(Al. A.)
táfua (Mar. S.) Gymnocarpos decander F.
tagār (Ob. A.) Pulicaria crispa Cass.

⎰ Schanginia baccata Mq.T.


tahama (Rotes Meer Kl.)
⎱ Schanginia hortensis Mq.T.

tamalīka (Nilt. A.) Pedicellaria pentaphylla Schr.


tamr (Nilt. F. O.) Phoenix dactylifera L. (die trockene
Frucht).
tamr-hendi (C. Al.) Tamarindus indica L. (Frucht).
tamr-el-hhinna (Nilt.), Lawsonia inermis L. (die Blüte).
tamrahhenne (C.
Forsk.)
tamr-el-hhina-frengi (el- Reseda odorata L.
Ar. A.)
taqba. taqda (Mar.) Noaea mucronata A. Sf.
tarathīth (ar. W. M.) Cistanche lutea Lk. Hoffm.
tarbūsch-el-ghorāb Convolvulus arvensis L.
(Dam. A.)

⎰ Schanginia baccata Mq.T.


tartīr (Al. A.)
⎱ Schanginia hortensis Mq.T.

tartūr-el-bascha (C. S.) Tropaeolum majus L.


tartúf (C. Al.) Helianthus tuberosus L.
tartúth (Mar.) Terfezia Leonis Sal.
telghūdi. telaghūdi (Mar. Malabaila pumila B.
A., S.)
térmiss (Nilt. F. O.) Lupinus Termis F.
tiffáhh (Nilt.) Pyrus Malus L.
tiffáhh-el-uard (C.) Eugenia Jambos L.
tīl (Nilt.) Hibiscus cannabinus L.
tīl-schettāni (Unt. A. Hibiscus Trionum L.
Maire)
timmēr (ar. W. M., el-A. Erodium hirtum W.
A.)
!timmēr (ar. W. Huetāt) Erodium arborescens W.
tīn (Nilt. C. Al. O. el-Ar.) Ficus Carica L.
tīn-schōk (Nilt.) Opuntia Ficus indica Haw. (die
Frucht).
tirjāq-abjadd (C. Drog. Arum maculatum L. (Wurzelstock)
Forsk.)
tírmiss (Nilt. F. O.) Lupinus Termis F.
tirmiss-esch-schettān ⎰ Lupinus angustifolius L.
(Nilt. F. S., Forsk.) ⎱
Lupinus digitatus F.
tischq-el-almāss (C.) Asparagus officinalis L.
tomātem (Nilt. Al. C.) Lycopersicon esculentum Mill.
truff (C. Al.) Helianthus tuberosus L. (Knolle).
tschāï (C. Al. Nilt.) Thea sinensis L. (Blätter).
tūm (Nilt. O.) Allium sativum L.
tundub (Nilt., ar. W.) Capparis Sodada R.Br. (= C. decidua
Pax.)
turschēqa (Mar.) Trigonella stellata F.
turfāss (O. A.) Cistanche lutea Lk. Hoffm.
tūt-schāmi (Nilt. D.) Morus nigra L.

th
‫ث‬

thāghar (ar. W. M.) Morettia philaeana D.C.


thamām. eth-thamām Panicum turgidum D.
(ar. W. M., el-Ar. A.)
thirr (Al.) Noaea mucronata A. Sf.

tss
‫ص‬
tssabbār (Nilt.) Opuntia Ficus indica Haw.
tssabr. tssabbāra (Nilt.) Aloe vera L.
tssabūn-'afrīt (Nilt. A.) Gnaphalium luteoalbum L.
tssabūn-ghētt (Nilt., C., Euphorbia peploides L.
F.)
tssāfira (ar. W. M.) Cleome chrysantha Dcne.
tssaftssāf (Nilt.) Salix Safsaf F.
tssaftssāf-schar-el-bint Salix babylonica L.
(Unt. A. S.)
!tssamgh. tssamch (C. Acacia Seyal D. (Gummi).
Nilt.)
tssamgh (C.) Acacia arabica W. v. nilotica D.
(Gummi).
tssamgh-hhaschāb (C. Acacia Senegal W. (Gummi).
Drog.)
tssamch-neschaderi (C. Ferula tingitana L. (Harz).
Drog. Fig.)
tssandal-abjadd (C. Santalum album L. (Holz).
Drog. Forsk.)
tssandal-ahhmar (C. Pterocarpus santalinus L.fil. (Holz).
Drog. Forsk.)
tssantt. ssunt (Nilt.) Acacia arabica W. var. nilotica D.
tssferatān. tssferāt-edd- Cleome chrysantha Dcne.
ddān (ar. W. Kl.)
tssirr (el-Ar. A.) Noaea mucronata A. Sf.
tssnābar (C. Drog. Pinus Pinea L. (Fruchtzapfen).
Forsk.)
tssnōbar. tssenūbar (Al. Pinus halepensis Mill.
C.)
tssubbēr (Nilt.) Opuntia Ficus indica Haw.
tssufēr (C. Forsk.) Cassia Sophera L.

tt
‫ط‬

ttalch. ttalhh (Ob. A. Acacia Seyal D.


Ass.)
ttárfa (Nilt., ar. W.) Tamarix nilotica Bge.
ttartīr (el-Ar. A.) Mesembryanthemum Forsskalii H.

!ttarttīr (ar. W. Mterat- ⎰ Zygophyllum coccineum L.


Arab. Isth. A.) ⎱ Zygophyllum album L.

ttoróng (Nilt., C.), tturúng Citrus medica Risso.


(Nilt., C.)

u
‫و‬

uadda (C.) Solanum Gilo Raddi


uard (Nilt.) ⎰ Rosa damascena L.

Rosa gallica L.
uard-béledi (Nilt. F.) Rosa gallica L. var. aegyptiaca S.
uard-sseba'aūi (Nilt. C.) Rosa damascena Mill. var. corymbosa
Schf.
!'ūd (C. Drog.)

'ūd-en-ned.d (C. Drog.)
⎬ Aquilaria Agallocha Roxb. (Holz).
'ud-qaqaji (C. Drog. ⎭
Forsk.)
'ūd-etss-tssalīb (C. Paeonia officinalis Rtz. (Wurzel).
Drog.)
udhēna (Ros. A.) Plantago Coronopus L.
uudhēne (Nilt. F.) Scorpiurus muricatus L.

⎰ Plantago amplexicaulis Cav.


udhne (Al. S., A., Sq. S.)
⎱ Plantago Lagopus L.

uēhe (C. Forsk.) Reseda luteola L.


uēka (Nilt.) Hibiscus esculentus L.
uēqet-iblīss (Unt. A.) Epilobium hirsutum L.
uiddn (Nilt.) Kalanchoe deficiens A. Sf.
uīdhne (Nilt. F.) Scorpiurus muricatus L.
uidhnet-esch-schetān Ottelia alismoides Pers.
(Dam. D.)
uirk-edh-dhubb (ar. W. Euphorbia cornuta Pers.
Haut.)
uknah (Abq. A.) Colchicum Ritchii R.Br.
umm-leben (Nilt.) Anagallis arvensis L.

You might also like