►
From YouTube: Cargo Tracker Demo
Description
This is a demo of the major functionality in the Eclipse Cargo Tracker application, available at https://eclipse-ee4j.github.io/cargotracker/. The Eclipse Cargo Tracker project is designed to demonstrate utilizing common architectural paradigms like Domain-Driven Design (DDD) with Jakarta EE. The project is part of the EE4J umbrella.
A
A
The
objective
of
the
project
is
basically
to
demonstrate
key
architectural
blueprints,
namely
design
patterns
like
domain
driven
design
and
how
they
can
be
implemented
using
jakarta
ie,
so
the
application
essentially
tracks
shipments
of
cargo
across
the
globe.
It
is
just
complex
enough
to
show
enough
of
the
nuances
of
domain
driven
design
and
some
of
the
other
design
patterns
that
are
demonstrated
in
the
application.
A
There
are
several
interfaces
in
the
application.
I
won't
show
them
all,
but
I
will
show
you
a
representative
set.
The
three
key
ones
you
can
see
that
are
web-based
are
are
listed
here
so
first
to
the
pub
is
a
public
tracking
interface.
So
we'll
take
a
look
at
that.
First,
if
you
click
on
this
link,
it'll
take
you
to
our
website.
That
looks
something
like
this,
so
this
is
intended
for
people
that
are
tracking
their
cargo
and
they
can
take
a
look
at
the
status
of
their
cargo
as
the
cargo
progresses
through
the
system.
A
So
let's
take
a
look
at
abc123,
for
example,
and
we
can
see
some
information
about
where
the
cargo
currently
is
that
it
is
supposed
to
be
arriving
in
helsinki
soon
and
that
it
is
currently
waiting
in
new
york
and
it
is
going
to
be
loaded
onto
a
voyage
in
new
york.
A
We
can
also
take
a
look
at
the
tracking
history
of
this
cargo
and
sort
of
what
has
happened
to
this
cargo
so
far,
and
there's
also
a
convenient
map
showing
you
the
destination,
which
is
helsinki,
the
source,
which
is
hong
kong
and
the
current
destination
or
last
known
location,
and
that
is
new
york.
So
that
is
the
tracking
interface.
A
The
other
interface
is
the
administrative
interface,
and
that
is
intended
for
people
that
are
managing
all
of
these
bits
of
cargo
and
all
of
these
all
of
these
different
voyages,
and
once
you
log
on
into
the
dashboard
there's
a
number
of
functionality
here,
but
one
of
the
key
bits
of
functionality
is
that
it
basically
will
tell
you
all
of
the
cargo
information
that
is
currently
in
the
system,
whether
it's
routed
or
not,
routed
or
even
whether
it
has
been
recently
claimed.
A
So
basically,
the
shipping
is
done
and
the
person
that
the
cargo
is
supposed
to
go
to
will
they've
got
that
cargo.
So
you
can
do
a
bunch
of
different
things,
but
the
one
that
we're
going
to
do
now
is
essentially
to
take
a
look
at
each
of
these
bits
of
cargo.
So,
let's
take
out
abc
one
two
three,
and
this
will
tell
you
more
details
about
the
cargo
other
than
the
tracking
information
that
is
in
the
public
tracking
interface.
A
A
And
that
should
be
a
relatively
short
voyage,
so
we'll
say
that
it
will
arrive
somewhere
on
december
8th
and
that
is
about
38
days,
and
that
should
be
enough
for
this
cargo.
So
we'll
go
ahead
and
book
the
cargo.
So
once
you
book
the
cargo,
it
is
listed
as
not
routed.
So
once
you
are
ready
to
route
the
cargo,
you
hit
the
little
globe
button
here,
so
we'll
go
ahead
and
hit
that
and
you'll
see
that
there's
a
number
of
ways
that
this
cargo
could
get
from.
A
One
point
to
the
other,
we'll
just
pick
the
very
first
one
here
and
that
will
commit
the
cargo
to
this
itinerary.
So
if
you
go
back
to
the
dashboard
now
we'll
see
that
we
have
another
routed
cargo
and
that's
our
cargo
there,
and
that
is
its
committed
itinerary,
there's
also
a
live
map
version
of
the
dashboard.
So
this
is
a
live
map
version
of
the
dashboard.
So
you
can
see
that
there's
a
number
of
things
that
are
here,
it's
showing
you
all
the
bits
of
cargo
that
are
there.
So
here's,
for
example.
A
We
should
take
a
look
at
abc123
that
is
currently
in
new
york.
It
is
ultimately
bound
for
helsinki
and
it
was
origin
in
new
york
or
other
origin
was
in
tokyo.
I
believe,
and
then
there
is
another
bit
of
cargo
here-
that's
currently
sitting
in
melbourne.
That
was
its
last
known
location,
but
it
is
on
board
a
carrier
right
at
this
moment.
I
believe
it
is
bound
for
helsinki.
A
So
next,
bit
of
interface
that
you
want
to
take
a
look
at
is
a
mobile
event
tracker,
and
this
is
basically
what
allows
you
to
change
the
status
of
cargo
beyond
simply
booking
it.
So
let's
take
a
look
at
that,
so
let's
go
back
to
our
dashboard
and
see
what
we
want
to
manipulate.
So
I
think
this
one
is
a
good
one
to
manipulate
it.
It's
in
melbourne,
it's
on
board
some
cargo
and
it
is
bound,
I
believe,
for
helsinki
next.
A
So
let's
assume
that
this
cargo
has
now
arrived
in
helsinki,
so
we're
going
to
go
ahead
and
update
its
status.
So,
as
you
can
see,
it's
a
cargo,
this
is
a
cargo
id
we'll
we'll
pick
a
cargo
id
we'll
say
that
it
is,
it
is
arriving
in
helsinki.
A
A
There
is
a
bulk
processing
interface
that
handles
all
of
the
events
sort
of
all
at
once
and
we'll
take
a
look
at
that
next.
So
let's
go
back
to
our
our
dashboard.
A
And
let's
see
we'll
manipulate
abc
one,
two:
three,
here's
and
I'll
show
you
how
that
manipulation
happens.
First
thing:
I'm
going
to
do
is
go
ahead
and
put
the
bulk
processing
file
where
it
belongs.
A
A
A
A
Okay,
so
now
looks
like
our
processing
was
complete,
looks
like
we
just
processed
all
of
the
files,
so
let's
go
up
a
minute
and
make
sure
that
is
in
fact
the
case.
A
A
A
Abc123
is
now
in
helsinki
all
right,
so
there
is
a
couple
of
other
interfaces
to
the
application,
namely
you
can
also
take
a
look
at
the
rest
interface
as
well
as
explore
the
rest
interface
through
soap,
ui
and
there's
also
junit
tests
that
you
can
run
in
the
application
as
well,
but
that
is
basically
the
key
functionality
in
the
cargo
trucker
application.