Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

LOC ARNO SILVIA

Bespoke jewelry MINOTTI LUC A

2 0 T H J U LY 2 0 2 1
Jewelly is a manufacturing company
that produces bespoke jewelry.
Starting from the design of the jewel that
OUR the customer wants, our company is able
COMPANY to produce it and deliver it directly to his
home.
SE RV I CE D E SCR I P T I O N
CUSTOMER

AN
OVERVIEW BANK
JEWELLY

SUPPLIER DELIVERY
PARTNER PARTNER
§ Archimate Modeling
§ Business Process Choreography
WHAT WE § Business Process Orchestration
HAVE DONE
§ Soundness Checks
§ Design and implementation of 3rd-party APIs
§ Executable Process
Archimate is a language for enterprise
architecture modelling to support the
ARCHIMATE description analysis and visualization of the
architecture within and across business domain.
MODEL
The goal of the Archimate model is to define
the process at high level of granularity,
how the consumer is connected to the
enterprise and how the processes are related
ARCHIMATE MODEL PA RT 1

Our model consists of two


major processes:
§ Order Management:
realizes the order service
§ Production
Management: realizes
the production service
The two services
contribute to the
realization of the sales
service, which is the main
service of Jewelly.
ARCHIMATE MODEL PA RT 1 I
ARCHIMATE MODEL FULL V IEW
HIGH-LEVEL ORCHESTRATION
The main subprocesses of our organization:
§ User registration § Receive order
§ User login § Fulfil order
The choreography diagram provides a high-
level perspective focused only on the
relationships among the organization, but
without specifying the internal processes.
CHOREOGRAPHY
It does not take the standpoint of any of the
participants and typically is the base from which
the collaboration diagram is derived.
Warning

CHOREOGRAPHY
Jewelly

Missing Field Warning

Customer
USER REGISTRATION
Warning

The interaction begins with


Jewelly
the receipt of the
Registration data Mail in Use Warning Notification registration data from the
Customer
customer. If the data are
Customer
Jewelly
correct then an email to
Registration Request
Mail
Registration Failure confirm the registration is
1 hour

Customer
sent to the customer. The
Jewelly Jewelly

Confirmation Mail
confirmation email contains a
Confirmation Mail
link that must be clicked by
Customer
Customer Jewelly
the user within one hour to
Warning
Confirmation
accomplished
Welcome mail complete the registration.
Jewelly Customer
Following this, Jewelly sends a
Jewelly
registration confirmation
Password Mismatch
email and a welcome email.
Warning

Customer
Request

CHOREOGRAPHY Customer 15 minutes

USER LOGIN New password


Password Request

The interaction begins with Jewelly


Customer

the receipt of the login data Notification


Register Password Update
from the user. Link

The outcome of the data Jewelly Jewelly

verification is then sent to the


Notify Invalid Credentials
customer. Username,
password 15 minutes Request

Customer
Customer
Customer

Notification Username Request


Login Request

Jewelly
Jewelly Jewelly

Send username
Notify Login Accepted

Customer
Receive-Order
CHOREOGRAPHY RECEIVE ORDER
Notification

Notification
The interaction begins with the receipt of
the order data. Then follows the
Jewelly

Order data Notify Rejection Jewelly sending of the price quotation to the
Customer Notify Cancellation
customer. At this point, Jewelly waits for
Customer 1 week the acceptance of the price quotation
Order Request Price quotation Notification
Customer
for a week. Once received, the payment
process takes place through the exchange
Jewelly
Jewelly Customer of messages between the company and
the 3rd-party and between the 3rd-party
Send Price Quotation Refusal
and the user.
Notification
Customer Jewelly

Request to proceed Payment Third Party


with payment Payment handling request Data request

Payment Confirmation

Customer Jewelly Payment Third Party

Customer

Acceptance Ask for Payment Handling Payment Processing Notification

Payment Third Party


Jewelly Payment Third Party Customer

Payment Confirmation
Data

Jewelly
CHOREOGRAPHY FULFILL ORDER PA RT I

The beginning of the process follows the payment of the order by the customer.
If necessary, a price quotation request is sent to multiple suppliers for the order of
materials. After the choice of the most convenient supplier, the order is emitted.
Then follows the actual payment.
Notification

Payment Third Party

Raw materials
Order + Request to proceed
Quotation request with payment Payment handling request Data request Payment Confirmation

Jewelly
Jewelly Jewelly Supplier Third Party Payment Third Party Supplier Third Party

Raw Materials Quotation


Request Emit Raw Material Order Ask for Payment Handling Payment Processing Raw Materials Sending
Notification

Supplier Third Party


Supplier Third Party Payment Third Party Jewelly Jewelly
Payment Third Party

Quotation Data Payment Confirmation

Supplier Third Party


Notification

CHOREOGRAPHY Delivery Third Party


FULFILL ORDER PA RT I I
Delivered Package
Notification

Notification
Jewelly

Delivery Third Party Notification

Product,
Delivery address
On Delivery Notification
Delivery Third Party

Jewelly
Jewelly
Delivered Package
Notification

Ask for Delivery Handling Notification


Customer

Delivery Third Party Notification Notification Notification


Delivery Third Party

ty On Delivery Notification Delivery Third Party Jewelly Jewelly

Reimbursement
ing Customer Lost Package Notification Lost Package Notification
Notification

Jewelly Customer Customer


Quotation Data Payment Confirmat

CHOREOGRAPHY Supplier Third Par

FULFILL ORDER PA RT I I I

The payment to the delivery partner takes place every month Notification
and, also in this case, it is managed by the payment 3rd-party.
Payment Third Party

Request to proceed with payment Payment handling request Data request Payment Confirmation

Jewelly
Jewelly Delivery Third Party Payment Third Party

Emit Payment Request Ask for Payment Handling Payment Processing


Notification
Every first day
of the month

Delivery Third Party Payment Third Party Jewelly


Payment Third Party

Data Payment Confirmation

Delivery Third Party


Orchestration concerns the management of
activities executed under a common
controlling element (the orchestrator).
Usually, the boundary of an orchestrator is an
ORCHESTRATION organization.

The orchestrator controls the execution of the


business process according to a control-flow
model. The control-flow is usually modelled
based on a set of patterns.
ORCHESTRATION
USER REGISTRATION

During the registration we


control of the correctness
of the data.

The database is used both


to verify the customer data
and to memorize them
when the registration is
confirmed.
ORCHESTRATION USER LOGIN
ORCHESTRATION RECEIVE ORDER
ORCHESTRATION FULFILL ORDER PA RT I

A service task, verify the availability of raw materials.


If the resources are not in stock, the company has to purchase materials before
proceeding with the production.
Once the company has received the materials, or if the resources are already in stock, a
set of user tasks, concerning the production, are executed.
ORCHESTRATION FULFILL ORDER PA RT I I

After the production, the company sends a request for delivery to a third-party service.
After the package has been delivered, in addition to the update of the status, the delivery partner billing, that will be
useful when the delivery partner will be paid, is saved on a dedicated database.
During the delivery process, an exception can generates: the loss of the package. In that case, the user is reimbursed.
ORCHESTRATION FULFILL ORDER PA RT I I I

Every first day of the


month our company
pays the delivery partner.
The shipping cost is
computed through the
data saved in the billing
database
SOUNDNESS RECEIVE ORDER

The soundness is a property that allow to identify correct WF-nets and so business processes.
A WF-Net (corresponding to a BP) is sound if and only if: for any case, the procedure will
terminate eventually, and at the moment the procedure terminates there is a token in place
‘o’ (the final place) and all the other places are empty.
IMPLEMENTATION SIMPLIFIED FULFILL ORDER
REST API
We have three
external services:
§ Deliverly: for
requesting and
managing deliveries.
§ Supplierly: for
requesting and
managing raw
materials orders.
§ Bankly: for
requesting and
managing payments.
REST API SCHEMAS

The majority of the exchanged


messages are structured
according to some schemas
that we have defined.
REST API
DELIVERY PARTNER
REST API
DELIVERY PARTNER
REST API
SUPPLY PARTNER
REST API
SUPPLY PARTNER
REST API
PAYMENT PARTNER
2 0 T H J U LY 2 0 2 1

You might also like