SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Towards	
  an	
  MDA	
  Mechanism	
  for	
  RESTful	
  
Services	
  Development	
  
Chistoforos	
  Zolotas,	
  Andreas	
  L.	
  Symeonidis,	
  
Intelligent	
  Systems	
  &	
  So6ware	
  Engineering	
  Labgroup,	
  
Department	
  of	
  Electrical	
  and	
  Computer	
  Engineering,	
  
Aristotle	
  University	
  of	
  Thessaloniki,	
  Greece	
  
	
  
29.09.15	
  
1	
  
CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
christopherzolotas@issel.ee.auth.gr	
  	
  
asymeon@eng.auth.gr	
  
	
  
Presentation	
  Outline	
  
•  Big	
  picture	
  –	
  Envisioning	
  an	
  ideal	
  MDE	
  engine	
  
•  Reference	
  model	
  of	
  REST	
  and	
  non-­‐CRUD	
  funcTonality	
  
•  Related	
  work	
  
•  ObjecTves	
  
•  The	
  meta-­‐model:	
  REST	
  aspects	
  
•  The	
  meta-­‐model:	
  beyond	
  REST	
  
•  IllustraTve	
  case	
  studies	
  
•  Conclusions	
  and	
  Future	
  Work	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
2	
  
Envisioning	
  the	
  ideal	
  MDE	
  engine	
  	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
3	
  
The	
  coffee	
  machine	
  paradigm	
  –	
  Easy	
  handling,	
  ready	
  to	
  use	
  output	
  	
  
The	
  DOs	
  –	
  the	
  user	
  should:	
  
	
  
•  only	
  provide	
  minimal	
  informa;on	
  about	
  the	
  
envisioned	
  outcome,	
  mostly	
  obvious	
  to	
  the	
  
domain	
  expert	
  	
  
•  not	
  need	
  to	
  know	
  how	
  the	
  machine	
  funcTons	
  
•  receive	
  an	
  outcome	
  that	
  is	
  as	
  complete	
  as	
  
possible,	
  given	
  the	
  desired	
  input	
  
•  locate	
  and	
  perform	
  as	
  easily	
  as	
  possible	
  any	
  
necessary	
  acTons	
  to	
  the	
  outcome	
  (such	
  as	
  
adding,	
  sugar…)	
  
	
  
The	
  DON’Ts	
  –	
  the	
  user	
  should	
  not	
  have	
  to:	
  
	
  
•  find	
  and	
  fix	
  mistakes	
  in	
  the	
  outcome	
  
•  configure	
  too	
  much	
  the	
  mechanism,	
  or	
  
provide	
  too	
  much	
  input	
  
Introduction	
  -­‐	
  Overview	
  of	
  REST	
  design	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
4	
  
Richardson’s	
  Maturity	
  Model	
  as	
  a	
  “RESTfulness	
  metric”	
  
Level	
  3:	
  Hypermedia	
  Links	
  (HATEOAS)	
  
Level	
  2:	
  Proper	
  HTTP	
  Verbs	
  Use	
  	
  
Level	
  1:	
  Resource	
  Oriented	
  Design	
  
Level	
  0:	
  The	
  swamp	
  POX	
  
RESTful	
  Services	
  
Introduction	
  –	
  Overview	
  of	
  REST	
  design	
  
The	
  common	
  interface	
  of	
  REST	
  defines	
  what	
  should	
  be	
  done	
  with	
  
respect	
  to	
  the	
  four	
  CRUD	
  verbs:	
  
1.  	
  Create:	
  Create	
  a	
  new	
  instance	
  of	
  a	
  resource	
  
2.  	
  Read:	
  Retrieve	
  an	
  exisTng	
  resource	
  
3.  	
  Update:	
  Update	
  the	
  content	
  of	
  an	
  exisTng	
  resource	
  
4.  	
  Delete:	
  Delete	
  an	
  exisTng	
  resource	
  
	
  
However,	
  that	
  is	
  enough	
  only	
  for	
  basic	
  data	
  centric	
  applicaTons.	
  
Any	
  other	
  acTons	
  (non-­‐CRUD	
  func;onality)	
  cannot	
  be	
  modeled	
  
(and	
  thus	
  automated)	
  with	
  respect	
  to	
  CRUD	
  verbs.	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
5	
  
Non-­‐CRUD	
  func;onality	
  
Motivation	
  for	
  this	
  work	
  
A	
  coffee	
  machine	
  like	
  MDE	
  engine	
  for	
  RESTful	
  services	
  should:	
  
1.  Require	
  minimal	
  input/configura;on	
  
2.  Produce	
  3rd	
  layer	
  RMM	
  services	
  
3.  ProacTvely	
  an;cipate	
  non-­‐CRUD	
  funcTonality	
  
4.  Allow	
  modeling	
  of	
  condi;onal	
  hypermedia	
  links	
  
5.  The	
  outcome	
  should	
  require	
  no	
  or	
  minimal	
  developer	
  
interven;on.	
  
6.  Should	
  developer	
  intervenTon	
  is	
  needed,	
  it	
  ought	
  to	
  be	
  clear	
  
where	
  it	
  is	
  needed,	
  what	
  has	
  to	
  be	
  done	
  and	
  how	
  the	
  MDE	
  
engine	
  will	
  handle	
  it	
  at	
  subsequent	
  runs.	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
6	
  
Envisioning	
  the	
  ideal	
  MDE	
  engine	
  for	
  RESTful	
  services	
  development.	
  
State	
  of	
  the	
  art	
  of	
  RESTful	
  services	
  
development	
  tools	
  
There	
  exists	
  a	
  plethora	
  of	
  tools	
  and	
  approaches:	
  
•  Most	
  tools	
  do	
  not	
  produce	
  3rd	
  layer	
  RMM	
  
services	
  e.g.	
  they	
  do	
  not	
  produce	
  hypermedia	
  
links	
  or	
  require	
  developer	
  intervenTon	
  for	
  their	
  
modeling	
  
•  Others	
  allow	
  3rd	
  layer	
  RMM	
  RESTful	
  services	
  
modeling,	
  but	
  are	
  too	
  data-­‐centric,	
  hence	
  cannot	
  
easily	
  anTcipate	
  non-­‐CRUD	
  funcTonality	
  
	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
7	
  
Exis;ng	
  tools	
  shortcomings	
  
State	
  of	
  the	
  art	
  of	
  RESTful	
  services	
  
development	
  tools	
  
Some	
  of	
  the	
  best	
  efforts	
  to	
  model	
  RESTful	
  services:	
  
•  EMF-­‐REST	
  
•  RESTfulie	
  
•  Rails	
  
•  Persevere	
  
•  Cloudfier	
  
•  Django-­‐REST	
  
•  Restlet	
  
•  RESTeasy	
  
•  …	
  and	
  many	
  many	
  others	
  
	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
8	
  
Noteworthy	
  tools	
  
Paper	
  Objectives	
  
This	
  paper	
  introduces	
  a	
  PIM	
  
meta-­‐model	
  that:	
  
	
  
•  Models	
  3rd	
  layer	
  RMM	
  
RESTful	
  Services	
  
•  ProacTvely	
  anTcipates	
  
non-­‐CRUD	
  func;onality	
  
•  Allows	
  modeling	
  of	
  
condi;onal	
  hypermedia	
  
in	
  order	
  to	
  automate	
  
business	
  and	
  applicaTon	
  
rules.	
  
	
  
	
  
ComputaTonal	
  Independent	
  Model	
  	
  
(CIM)	
  
PlaQorm	
  Independent	
  Model	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
(PIM)	
  
Plakorm	
  Specific	
  Model	
  	
  
	
  (PSM)	
  
Code	
  GeneraTon	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
9	
  
The	
  UML-­‐ProFile	
  Overview	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
10	
  
SimpliFied	
  PIM	
  meta-­‐model	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
11	
  
Meta-­‐model	
  overview	
  
SimpliFied	
  PIM	
  meta-­‐model	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
12	
  
Meta-­‐model	
  overview	
  
Resource	
  is	
  modeled	
  using	
  an	
  	
  
MVC-­‐like	
  paMern:	
  
Model:	
  resource	
  data	
  
Representa;on:	
  media	
  format	
  
Controller:	
  web	
  API	
  
SimpliFied	
  PIM	
  meta-­‐model	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
13	
  
Meta-­‐model	
  overview	
  
Separate	
  API	
  from	
  its	
  implementaTon.	
  
These	
  handlers	
  should	
  be	
  the	
  only	
  place	
  
developers	
  writes	
  manual	
  code	
  in	
  most	
  cases	
  
SimpliFied	
  PIM	
  meta-­‐model	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
14	
  
Meta-­‐model	
  overview	
   Local	
  database	
  modeling	
  and	
  uniform	
  	
  
access	
  using	
  the	
  Repository	
  PaTern.	
  
SimpliFied	
  PIM	
  meta-­‐model	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
15	
  
RESTfulness	
  of	
  the	
  meta-­‐model	
  with	
  regard	
  to	
  
Abstract	
  Resource	
  
Model,	
  as	
  Resource	
  
Oriented	
  building	
  
block,	
  uniquely	
  	
  
addressable	
  with	
  a	
  	
  
URI	
  
Only	
  CRUD-­‐verb	
  
API	
  acTviTes	
  allowed	
  
1	
  
2	
  
3	
  
Resources	
  are	
  interconnected	
  	
  
with	
  hypermedia	
  links.	
  
Going	
  beyond	
  REST	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
16	
  
Modeling	
  Condi;onal	
  Hypermedia	
  Links	
  
Hypermedia	
  links	
  are	
  build	
  on	
  top	
  of	
  the	
  
“RelatedResource”	
  stereotype,	
  which	
  
comprises:	
  
1.  the	
  URI	
  of	
  the	
  related	
  resource	
  
2.  and	
  a	
  set	
  of	
  Condi;on	
  Sets	
  
3.  Each	
  condiTon	
  set	
  has	
  one	
  ore	
  more	
  
Condi;ons	
  
CondiTons	
  Sets	
  are	
  related	
  to	
  each	
  other	
  with	
  
logical	
  disjunc;on	
  and	
  condiTons	
  of	
  a	
  set	
  
with	
  logical	
  conjunc;on.	
  	
  
With	
  such	
  condiTon	
  models,	
  several	
  business	
  
or	
  applica;on	
  rules	
  can	
  be	
  automated	
  
IllustraTve	
  example	
  of	
  a	
  set	
  of	
  condiTon	
  sets	
  the	
  related	
  resources	
  may	
  have.:	
  	
  
	
  Condi;onSetA(	
  Condi;on1	
  &	
  Condi;on2	
  &	
  …)	
  V	
  Condi;onSetB(	
  Condi;on3	
  &	
  …)	
  V	
  …	
  
Meta-­‐model	
  elements	
  
Modeling	
  Conditional	
  Hypermedia	
  
Consider	
  the	
  following	
  scenario:	
  
-­‐  RESTful	
  E-­‐shop	
  sells	
  product	
  A	
  and	
  B	
  
-­‐  Users	
  can	
  list	
  products	
  and	
  add	
  them	
  to	
  their	
  shopping	
  list.	
  
-­‐  They	
  should	
  not	
  be	
  able	
  to	
  add	
  out	
  of	
  stock	
  products	
  to	
  their	
  
list.	
  
This	
  can	
  be	
  modeled	
  like	
  this	
  (assuming	
  proper	
  model):	
  
addProductXtoListLink	
  Condi;onSet:	
  
	
  InStockCondi;onSet(Condi;on(productX.availability	
  >	
  0))	
  
	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
17	
  
Case	
  Study:	
  E-­‐shop	
  business	
  rules	
  
User	
  lists	
  
products	
  
User	
  receives	
  hypermedia	
  
link	
  to	
  add	
  only	
  product	
  A	
  
to	
  list	
  
User	
  receives	
  hypermedia	
  
links	
  to	
  add	
  product	
  A	
  or	
  B	
  
to	
  list	
  
B	
  is	
  out	
  
of	
  
Stock?	
  
Yes	
  
No	
  
Modeling	
  Conditional	
  Hypermedia	
  
Consider	
  a	
  scenario	
  where:	
  
1.  Users	
  are	
  categorized	
  to	
  groups	
  
2.  Only	
  selected	
  groups	
  should	
  access	
  some	
  resources	
  (hence	
  
receive	
  corresponding	
  hypermedia	
  links	
  to	
  them)	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
18	
  
Case	
  Study:	
  Authoriza;on	
  Rules	
  
This	
  can	
  be	
  modeled	
  like	
  this	
  (assuming	
  proper	
  model):	
  
	
  
getResourceXLink	
  Condi;onSet:	
  
	
  groupXAccessCondi;onSet(Condi;on(user.belongsTo(groupX)))	
  V	
  
groupYAccessCondi;onSet(Condi;on(user.belongsTo(groupY)))	
  
User	
  accesses	
  
resource	
  Y,	
  
related	
  
resource	
  of	
  X	
  
User	
  receives	
  hypermedia	
  
link	
  to	
  access	
  X	
  
User	
  does	
  not	
  receive	
  any	
  
hypermedia	
  link	
  to	
  X	
  
User	
  
belongs	
  
to	
  group	
  
X	
  or	
  Y?	
  
Yes	
  
No	
  
Going	
  beyond	
  REST	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
19	
  
An;cipa;ng	
  Non-­‐CRUD	
  Func;onality	
  
Resources	
  marked	
  as	
  “algorithmic”,	
  are	
  
supposed	
  to	
  embed	
  an	
  algorithm	
  other	
  than	
  
the	
  primiTve	
  Create,	
  Read,	
  Update,	
  Delete	
  
ones.	
  With	
  this	
  type	
  of	
  resources,	
  non-­‐CRUD	
  
funcTonality	
  is	
  anTcipated,	
  through	
  
specializaTons,	
  in	
  a	
  specific	
  locaTon,	
  and	
  is	
  
wrapped	
  around	
  a	
  3rd	
  layer	
  RMM	
  interface.	
  
	
  
This	
  has	
  a	
  two-­‐fold	
  purpose:	
  
1.  guide	
  the	
  developer	
  to	
  add	
  non-­‐
automatable	
  code	
  to	
  a	
  specific	
  locaTon	
  
2.  guide	
  the	
  MDE	
  designer	
  to	
  specialize	
  such	
  
resources	
  with	
  new	
  concepts	
  and	
  beMer	
  
automate	
  a	
  sub-­‐domain.	
  
Generic	
  Resource	
  Model	
  
Anticipating	
  Non-­‐CRUD	
  Functionality	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
20	
  
Case	
  Study:	
  Database	
  Keyword-­‐Searching	
  
ExisTng	
  
Concepts	
  
New	
  concepts	
  to	
  tailor	
  the	
  
MDA	
  engine	
  for	
  a	
  more	
  
specific	
  domain	
  are	
  
anTcipated	
  by	
  specializing	
  
algorithmic	
  Resources.	
  
1.  The	
  new	
  concepts	
  are	
  specializa;ons	
  of	
  the	
  exisTng	
  infrastructure,	
  hence	
  remain	
  
at	
  the	
  3rd	
  Layer	
  RMM	
  (e.g.	
  they	
  sTll	
  have	
  unique	
  URI,	
  HTTP	
  API	
  etc.)	
  
2.  Moreover,	
  the	
  new	
  concepts	
  allow	
  to	
  fully	
  automate	
  database	
  keyword-­‐searching	
  
(e.g.	
  with	
  lucene	
  code),	
  hence	
  gepng	
  closer	
  to	
  the	
  coffee	
  machine	
  ideal.	
  
Anticipating	
  Non-­‐CRUD	
  Functionality	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
21	
  
Case	
  Study:	
  Interopera;ng	
  with	
  3rd	
  party	
  services	
  
In	
  this	
  case,	
  the	
  new	
  concepts	
  
model	
  (and	
  allow	
  automaTon)	
  of	
  
the	
  interoperaTon	
  with	
  exisTng	
  
3rd	
  party	
  RESTful	
  services.	
  
Conclusions	
  
This	
  paper	
  presented	
  a	
  core	
  meta-­‐model	
  that:	
  
	
  
1)  models	
  3rd	
  layer	
  RMM	
  RESTful	
  services	
  
2)  an;cipates	
  non-­‐CRUD	
  func;onality,	
  hence	
  it	
  can	
  be	
  further	
  
tailored	
  to	
  a	
  specific	
  domain	
  and	
  get	
  closer	
  to	
  a	
  “coffee-­‐
machine”-­‐like	
  MDE	
  engine	
  
3)  models	
  condi;onal	
  hypermedia	
  to	
  allow	
  automaTon	
  of	
  
business	
  and	
  applicaTon	
  rules.	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
22	
  
Current	
  Status	
  
There	
  exists	
  an	
  Eclipse	
  plugin	
  MDA	
  version	
  at:	
  
	
  
hMps://github.com/s-­‐case/mde	
  
	
  
It	
  is	
  capable	
  of:	
  
1)  producing	
  3rd	
  layer	
  RMM	
  services	
  
2)  that	
  embed	
  Basic	
  AuthenTcaTon	
  (non-­‐CRUD	
  func;onality)	
  
3)  automaTng	
  popular	
  database	
  keyword-­‐searching	
  funcTonality	
  (non-­‐
CRUD	
  func;onality)	
  
4)  automaTng	
  interoperaTon	
  with	
  exisTng	
  RESTful	
  services	
  (non-­‐CRUD	
  
func;onality	
  -­‐	
  work	
  in	
  progress)	
  
5)  ABAC	
  authorizaTon	
  scheme	
  (condi;onal	
  hypermedia	
  -­‐	
  work	
  in	
  
progress)	
  
	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
23	
  
Future	
  Work	
  
•  Possibly	
  extend	
  the	
  exisTng	
  engine’s	
  modeling	
  
capabiliTes	
  with	
  more	
  non-­‐CRUD	
  funcTonality	
  
(e.g.	
  paying	
  systems)	
  
•  Automate	
  the	
  producTon	
  of	
  a	
  matching	
  RESTful	
  
client,	
  given	
  the	
  RESTful	
  service	
  CIM,	
  as	
  well.	
  
•  BeMer	
  track	
  manual	
  changes	
  made	
  by	
  developer	
  
to	
  the	
  produced	
  code.	
  
	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
24	
  
29.09.15	
  CLOUDMDE	
  2015,	
  OMawa,	
  Canada	
  
25	
  
Thank	
  you!	
  
christopherzolotas@issel.ee.auth.gr	
  	
  

Contenu connexe

Tendances

Ruby onrails overview
Ruby onrails overviewRuby onrails overview
Ruby onrails overviewPiyush Chand
 
Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)Adnan Sohail
 
Introduction to ajax
Introduction to ajaxIntroduction to ajax
Introduction to ajaxNir Elbaz
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework OverviewEyal Vardi
 
Java hibernate orm implementation tool
Java hibernate   orm implementation toolJava hibernate   orm implementation tool
Java hibernate orm implementation tooljavaease
 
Object oriented design patterns for distributed systems
Object oriented design patterns for distributed systemsObject oriented design patterns for distributed systems
Object oriented design patterns for distributed systemsJordan McBain
 
MS SQL SERVER: Programming sql server data mining
MS SQL SERVER: Programming sql server data miningMS SQL SERVER: Programming sql server data mining
MS SQL SERVER: Programming sql server data miningDataminingTools Inc
 
Redux: server side rendering and hot code reload for single-page applications
Redux: server side rendering and hot code reload for single-page applicationsRedux: server side rendering and hot code reload for single-page applications
Redux: server side rendering and hot code reload for single-page applicationsAlex Bumbu
 
Microsoft Entity Framework
Microsoft Entity FrameworkMicrosoft Entity Framework
Microsoft Entity FrameworkMahmoud Tolba
 
Visualise Your Cloud Data Strategy: MongoDB Atlas and Charts (Sponsored by Mo...
Visualise Your Cloud Data Strategy: MongoDB Atlas and Charts (Sponsored by Mo...Visualise Your Cloud Data Strategy: MongoDB Atlas and Charts (Sponsored by Mo...
Visualise Your Cloud Data Strategy: MongoDB Atlas and Charts (Sponsored by Mo...Amazon Web Services
 
Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Eyal Vardi
 
U-SQL User-Defined Operators (UDOs) (SQLBits 2016)
U-SQL User-Defined Operators (UDOs) (SQLBits 2016)U-SQL User-Defined Operators (UDOs) (SQLBits 2016)
U-SQL User-Defined Operators (UDOs) (SQLBits 2016)Michael Rys
 
Entity Framework Database and Code First
Entity Framework Database and Code FirstEntity Framework Database and Code First
Entity Framework Database and Code FirstJames Johnson
 
Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking Techtalk #42: Engineering challenges on building data platform for M...Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking Techtalk #42: Engineering challenges on building data platform for M...Grokking VN
 
Introducing the Entity Framework
Introducing the Entity FrameworkIntroducing the Entity Framework
Introducing the Entity FrameworkLearnNowOnline
 

Tendances (20)

Ruby onrails overview
Ruby onrails overviewRuby onrails overview
Ruby onrails overview
 
Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)
 
Introduction to ajax
Introduction to ajaxIntroduction to ajax
Introduction to ajax
 
Linq
LinqLinq
Linq
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework Overview
 
Java hibernate orm implementation tool
Java hibernate   orm implementation toolJava hibernate   orm implementation tool
Java hibernate orm implementation tool
 
Object oriented design patterns for distributed systems
Object oriented design patterns for distributed systemsObject oriented design patterns for distributed systems
Object oriented design patterns for distributed systems
 
MS SQL SERVER: Programming sql server data mining
MS SQL SERVER: Programming sql server data miningMS SQL SERVER: Programming sql server data mining
MS SQL SERVER: Programming sql server data mining
 
Redux: server side rendering and hot code reload for single-page applications
Redux: server side rendering and hot code reload for single-page applicationsRedux: server side rendering and hot code reload for single-page applications
Redux: server side rendering and hot code reload for single-page applications
 
Microsoft Entity Framework
Microsoft Entity FrameworkMicrosoft Entity Framework
Microsoft Entity Framework
 
Visualise Your Cloud Data Strategy: MongoDB Atlas and Charts (Sponsored by Mo...
Visualise Your Cloud Data Strategy: MongoDB Atlas and Charts (Sponsored by Mo...Visualise Your Cloud Data Strategy: MongoDB Atlas and Charts (Sponsored by Mo...
Visualise Your Cloud Data Strategy: MongoDB Atlas and Charts (Sponsored by Mo...
 
Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)
 
JavaOne_2010
JavaOne_2010JavaOne_2010
JavaOne_2010
 
U-SQL User-Defined Operators (UDOs) (SQLBits 2016)
U-SQL User-Defined Operators (UDOs) (SQLBits 2016)U-SQL User-Defined Operators (UDOs) (SQLBits 2016)
U-SQL User-Defined Operators (UDOs) (SQLBits 2016)
 
Ajax Presentation
Ajax PresentationAjax Presentation
Ajax Presentation
 
Entity Framework Database and Code First
Entity Framework Database and Code FirstEntity Framework Database and Code First
Entity Framework Database and Code First
 
LINQ
LINQLINQ
LINQ
 
Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking Techtalk #42: Engineering challenges on building data platform for M...Grokking Techtalk #42: Engineering challenges on building data platform for M...
Grokking Techtalk #42: Engineering challenges on building data platform for M...
 
ADO.NET Introduction
ADO.NET IntroductionADO.NET Introduction
ADO.NET Introduction
 
Introducing the Entity Framework
Introducing the Entity FrameworkIntroducing the Entity Framework
Introducing the Entity Framework
 

Similaire à Christoforos zolotas cloudmde2015 presentation - camera ready

Towards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentTowards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentISSEL
 
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...IRJET Journal
 
MLSEV. BigML Workshop I
MLSEV. BigML Workshop IMLSEV. BigML Workshop I
MLSEV. BigML Workshop IBigML, Inc
 
Reportingtutorial 151216175711
Reportingtutorial 151216175711Reportingtutorial 151216175711
Reportingtutorial 151216175711roberta migliaccio
 
OMRS15 - Getting Data Out tutorial
OMRS15 - Getting Data Out tutorialOMRS15 - Getting Data Out tutorial
OMRS15 - Getting Data Out tutorialMichael Seaton
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021Nicholas Bowman
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsAxel Reichwein
 
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityMuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityJitendra Bafna
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Alexander SAMARIN
 
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...Serverless Design Patterns for Rethinking Traditional Enterprise Application ...
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...Amazon Web Services
 
Multi-core Real-time Simulation of High-Fidelity Vehicle Models using Open St...
Multi-core Real-time Simulation of High-Fidelity Vehicle Models using Open St...Multi-core Real-time Simulation of High-Fidelity Vehicle Models using Open St...
Multi-core Real-time Simulation of High-Fidelity Vehicle Models using Open St...Modelon
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET Journal
 
Notes on Deploying Machine-learning Models at Scale
Notes on Deploying Machine-learning Models at ScaleNotes on Deploying Machine-learning Models at Scale
Notes on Deploying Machine-learning Models at ScaleDeep Kayal
 
Managing Large Flask Applications On Google App Engine (GAE)
Managing Large Flask Applications On Google App Engine (GAE)Managing Large Flask Applications On Google App Engine (GAE)
Managing Large Flask Applications On Google App Engine (GAE)Emmanuel Olowosulu
 
Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Axel Reichwein
 
OpsRamp Fall Release November 2020
OpsRamp Fall Release November 2020OpsRamp Fall Release November 2020
OpsRamp Fall Release November 2020OpsRamp
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case eProsima
 
Architecting an ASP.NET MVC Solution
Architecting an ASP.NET MVC SolutionArchitecting an ASP.NET MVC Solution
Architecting an ASP.NET MVC SolutionAndrea Saltarello
 

Similaire à Christoforos zolotas cloudmde2015 presentation - camera ready (20)

Towards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentTowards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services Development
 
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
 
MLSEV. BigML Workshop I
MLSEV. BigML Workshop IMLSEV. BigML Workshop I
MLSEV. BigML Workshop I
 
Reportingtutorial 151216175711
Reportingtutorial 151216175711Reportingtutorial 151216175711
Reportingtutorial 151216175711
 
OMRS15 - Getting Data Out tutorial
OMRS15 - Getting Data Out tutorialOMRS15 - Getting Data Out tutorial
OMRS15 - Getting Data Out tutorial
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standards
 
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led ConnectivityMuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
MuleSoft Surat Meetup#39 - Pragmatic API Led Connectivity
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)
 
Distributed Systems in Data Engineering
Distributed Systems in Data EngineeringDistributed Systems in Data Engineering
Distributed Systems in Data Engineering
 
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...Serverless Design Patterns for Rethinking Traditional Enterprise Application ...
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...
 
Multi-core Real-time Simulation of High-Fidelity Vehicle Models using Open St...
Multi-core Real-time Simulation of High-Fidelity Vehicle Models using Open St...Multi-core Real-time Simulation of High-Fidelity Vehicle Models using Open St...
Multi-core Real-time Simulation of High-Fidelity Vehicle Models using Open St...
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
 
Notes on Deploying Machine-learning Models at Scale
Notes on Deploying Machine-learning Models at ScaleNotes on Deploying Machine-learning Models at Scale
Notes on Deploying Machine-learning Models at Scale
 
Bai giang-se-10feb14
Bai giang-se-10feb14Bai giang-se-10feb14
Bai giang-se-10feb14
 
Managing Large Flask Applications On Google App Engine (GAE)
Managing Large Flask Applications On Google App Engine (GAE)Managing Large Flask Applications On Google App Engine (GAE)
Managing Large Flask Applications On Google App Engine (GAE)
 
Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)Introduction to Open Services for Lifecycle Collaboration (OSLC)
Introduction to Open Services for Lifecycle Collaboration (OSLC)
 
OpsRamp Fall Release November 2020
OpsRamp Fall Release November 2020OpsRamp Fall Release November 2020
OpsRamp Fall Release November 2020
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
 
Architecting an ASP.NET MVC Solution
Architecting an ASP.NET MVC SolutionArchitecting an ASP.NET MVC Solution
Architecting an ASP.NET MVC Solution
 

Plus de ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ISSEL
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 

Plus de ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 

Dernier

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 

Dernier (20)

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Christoforos zolotas cloudmde2015 presentation - camera ready

  • 1. Towards  an  MDA  Mechanism  for  RESTful   Services  Development   Chistoforos  Zolotas,  Andreas  L.  Symeonidis,   Intelligent  Systems  &  So6ware  Engineering  Labgroup,   Department  of  Electrical  and  Computer  Engineering,   Aristotle  University  of  Thessaloniki,  Greece     29.09.15   1   CLOUDMDE  2015,  OMawa,  Canada   christopherzolotas@issel.ee.auth.gr     asymeon@eng.auth.gr    
  • 2. Presentation  Outline   •  Big  picture  –  Envisioning  an  ideal  MDE  engine   •  Reference  model  of  REST  and  non-­‐CRUD  funcTonality   •  Related  work   •  ObjecTves   •  The  meta-­‐model:  REST  aspects   •  The  meta-­‐model:  beyond  REST   •  IllustraTve  case  studies   •  Conclusions  and  Future  Work   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   2  
  • 3. Envisioning  the  ideal  MDE  engine     29.09.15  CLOUDMDE  2015,  OMawa,  Canada   3   The  coffee  machine  paradigm  –  Easy  handling,  ready  to  use  output     The  DOs  –  the  user  should:     •  only  provide  minimal  informa;on  about  the   envisioned  outcome,  mostly  obvious  to  the   domain  expert     •  not  need  to  know  how  the  machine  funcTons   •  receive  an  outcome  that  is  as  complete  as   possible,  given  the  desired  input   •  locate  and  perform  as  easily  as  possible  any   necessary  acTons  to  the  outcome  (such  as   adding,  sugar…)     The  DON’Ts  –  the  user  should  not  have  to:     •  find  and  fix  mistakes  in  the  outcome   •  configure  too  much  the  mechanism,  or   provide  too  much  input  
  • 4. Introduction  -­‐  Overview  of  REST  design   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   4   Richardson’s  Maturity  Model  as  a  “RESTfulness  metric”   Level  3:  Hypermedia  Links  (HATEOAS)   Level  2:  Proper  HTTP  Verbs  Use     Level  1:  Resource  Oriented  Design   Level  0:  The  swamp  POX   RESTful  Services  
  • 5. Introduction  –  Overview  of  REST  design   The  common  interface  of  REST  defines  what  should  be  done  with   respect  to  the  four  CRUD  verbs:   1.   Create:  Create  a  new  instance  of  a  resource   2.   Read:  Retrieve  an  exisTng  resource   3.   Update:  Update  the  content  of  an  exisTng  resource   4.   Delete:  Delete  an  exisTng  resource     However,  that  is  enough  only  for  basic  data  centric  applicaTons.   Any  other  acTons  (non-­‐CRUD  func;onality)  cannot  be  modeled   (and  thus  automated)  with  respect  to  CRUD  verbs.   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   5   Non-­‐CRUD  func;onality  
  • 6. Motivation  for  this  work   A  coffee  machine  like  MDE  engine  for  RESTful  services  should:   1.  Require  minimal  input/configura;on   2.  Produce  3rd  layer  RMM  services   3.  ProacTvely  an;cipate  non-­‐CRUD  funcTonality   4.  Allow  modeling  of  condi;onal  hypermedia  links   5.  The  outcome  should  require  no  or  minimal  developer   interven;on.   6.  Should  developer  intervenTon  is  needed,  it  ought  to  be  clear   where  it  is  needed,  what  has  to  be  done  and  how  the  MDE   engine  will  handle  it  at  subsequent  runs.   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   6   Envisioning  the  ideal  MDE  engine  for  RESTful  services  development.  
  • 7. State  of  the  art  of  RESTful  services   development  tools   There  exists  a  plethora  of  tools  and  approaches:   •  Most  tools  do  not  produce  3rd  layer  RMM   services  e.g.  they  do  not  produce  hypermedia   links  or  require  developer  intervenTon  for  their   modeling   •  Others  allow  3rd  layer  RMM  RESTful  services   modeling,  but  are  too  data-­‐centric,  hence  cannot   easily  anTcipate  non-­‐CRUD  funcTonality     29.09.15  CLOUDMDE  2015,  OMawa,  Canada   7   Exis;ng  tools  shortcomings  
  • 8. State  of  the  art  of  RESTful  services   development  tools   Some  of  the  best  efforts  to  model  RESTful  services:   •  EMF-­‐REST   •  RESTfulie   •  Rails   •  Persevere   •  Cloudfier   •  Django-­‐REST   •  Restlet   •  RESTeasy   •  …  and  many  many  others     29.09.15  CLOUDMDE  2015,  OMawa,  Canada   8   Noteworthy  tools  
  • 9. Paper  Objectives   This  paper  introduces  a  PIM   meta-­‐model  that:     •  Models  3rd  layer  RMM   RESTful  Services   •  ProacTvely  anTcipates   non-­‐CRUD  func;onality   •  Allows  modeling  of   condi;onal  hypermedia   in  order  to  automate   business  and  applicaTon   rules.       ComputaTonal  Independent  Model     (CIM)   PlaQorm  Independent  Model                       (PIM)   Plakorm  Specific  Model      (PSM)   Code  GeneraTon   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   9  
  • 10. The  UML-­‐ProFile  Overview   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   10  
  • 11. SimpliFied  PIM  meta-­‐model   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   11   Meta-­‐model  overview  
  • 12. SimpliFied  PIM  meta-­‐model   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   12   Meta-­‐model  overview   Resource  is  modeled  using  an     MVC-­‐like  paMern:   Model:  resource  data   Representa;on:  media  format   Controller:  web  API  
  • 13. SimpliFied  PIM  meta-­‐model   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   13   Meta-­‐model  overview   Separate  API  from  its  implementaTon.   These  handlers  should  be  the  only  place   developers  writes  manual  code  in  most  cases  
  • 14. SimpliFied  PIM  meta-­‐model   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   14   Meta-­‐model  overview   Local  database  modeling  and  uniform     access  using  the  Repository  PaTern.  
  • 15. SimpliFied  PIM  meta-­‐model   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   15   RESTfulness  of  the  meta-­‐model  with  regard  to   Abstract  Resource   Model,  as  Resource   Oriented  building   block,  uniquely     addressable  with  a     URI   Only  CRUD-­‐verb   API  acTviTes  allowed   1   2   3   Resources  are  interconnected     with  hypermedia  links.  
  • 16. Going  beyond  REST   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   16   Modeling  Condi;onal  Hypermedia  Links   Hypermedia  links  are  build  on  top  of  the   “RelatedResource”  stereotype,  which   comprises:   1.  the  URI  of  the  related  resource   2.  and  a  set  of  Condi;on  Sets   3.  Each  condiTon  set  has  one  ore  more   Condi;ons   CondiTons  Sets  are  related  to  each  other  with   logical  disjunc;on  and  condiTons  of  a  set   with  logical  conjunc;on.     With  such  condiTon  models,  several  business   or  applica;on  rules  can  be  automated   IllustraTve  example  of  a  set  of  condiTon  sets  the  related  resources  may  have.:      Condi;onSetA(  Condi;on1  &  Condi;on2  &  …)  V  Condi;onSetB(  Condi;on3  &  …)  V  …   Meta-­‐model  elements  
  • 17. Modeling  Conditional  Hypermedia   Consider  the  following  scenario:   -­‐  RESTful  E-­‐shop  sells  product  A  and  B   -­‐  Users  can  list  products  and  add  them  to  their  shopping  list.   -­‐  They  should  not  be  able  to  add  out  of  stock  products  to  their   list.   This  can  be  modeled  like  this  (assuming  proper  model):   addProductXtoListLink  Condi;onSet:    InStockCondi;onSet(Condi;on(productX.availability  >  0))     29.09.15  CLOUDMDE  2015,  OMawa,  Canada   17   Case  Study:  E-­‐shop  business  rules   User  lists   products   User  receives  hypermedia   link  to  add  only  product  A   to  list   User  receives  hypermedia   links  to  add  product  A  or  B   to  list   B  is  out   of   Stock?   Yes   No  
  • 18. Modeling  Conditional  Hypermedia   Consider  a  scenario  where:   1.  Users  are  categorized  to  groups   2.  Only  selected  groups  should  access  some  resources  (hence   receive  corresponding  hypermedia  links  to  them)   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   18   Case  Study:  Authoriza;on  Rules   This  can  be  modeled  like  this  (assuming  proper  model):     getResourceXLink  Condi;onSet:    groupXAccessCondi;onSet(Condi;on(user.belongsTo(groupX)))  V   groupYAccessCondi;onSet(Condi;on(user.belongsTo(groupY)))   User  accesses   resource  Y,   related   resource  of  X   User  receives  hypermedia   link  to  access  X   User  does  not  receive  any   hypermedia  link  to  X   User   belongs   to  group   X  or  Y?   Yes   No  
  • 19. Going  beyond  REST   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   19   An;cipa;ng  Non-­‐CRUD  Func;onality   Resources  marked  as  “algorithmic”,  are   supposed  to  embed  an  algorithm  other  than   the  primiTve  Create,  Read,  Update,  Delete   ones.  With  this  type  of  resources,  non-­‐CRUD   funcTonality  is  anTcipated,  through   specializaTons,  in  a  specific  locaTon,  and  is   wrapped  around  a  3rd  layer  RMM  interface.     This  has  a  two-­‐fold  purpose:   1.  guide  the  developer  to  add  non-­‐ automatable  code  to  a  specific  locaTon   2.  guide  the  MDE  designer  to  specialize  such   resources  with  new  concepts  and  beMer   automate  a  sub-­‐domain.   Generic  Resource  Model  
  • 20. Anticipating  Non-­‐CRUD  Functionality   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   20   Case  Study:  Database  Keyword-­‐Searching   ExisTng   Concepts   New  concepts  to  tailor  the   MDA  engine  for  a  more   specific  domain  are   anTcipated  by  specializing   algorithmic  Resources.   1.  The  new  concepts  are  specializa;ons  of  the  exisTng  infrastructure,  hence  remain   at  the  3rd  Layer  RMM  (e.g.  they  sTll  have  unique  URI,  HTTP  API  etc.)   2.  Moreover,  the  new  concepts  allow  to  fully  automate  database  keyword-­‐searching   (e.g.  with  lucene  code),  hence  gepng  closer  to  the  coffee  machine  ideal.  
  • 21. Anticipating  Non-­‐CRUD  Functionality   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   21   Case  Study:  Interopera;ng  with  3rd  party  services   In  this  case,  the  new  concepts   model  (and  allow  automaTon)  of   the  interoperaTon  with  exisTng   3rd  party  RESTful  services.  
  • 22. Conclusions   This  paper  presented  a  core  meta-­‐model  that:     1)  models  3rd  layer  RMM  RESTful  services   2)  an;cipates  non-­‐CRUD  func;onality,  hence  it  can  be  further   tailored  to  a  specific  domain  and  get  closer  to  a  “coffee-­‐ machine”-­‐like  MDE  engine   3)  models  condi;onal  hypermedia  to  allow  automaTon  of   business  and  applicaTon  rules.   29.09.15  CLOUDMDE  2015,  OMawa,  Canada   22  
  • 23. Current  Status   There  exists  an  Eclipse  plugin  MDA  version  at:     hMps://github.com/s-­‐case/mde     It  is  capable  of:   1)  producing  3rd  layer  RMM  services   2)  that  embed  Basic  AuthenTcaTon  (non-­‐CRUD  func;onality)   3)  automaTng  popular  database  keyword-­‐searching  funcTonality  (non-­‐ CRUD  func;onality)   4)  automaTng  interoperaTon  with  exisTng  RESTful  services  (non-­‐CRUD   func;onality  -­‐  work  in  progress)   5)  ABAC  authorizaTon  scheme  (condi;onal  hypermedia  -­‐  work  in   progress)     29.09.15  CLOUDMDE  2015,  OMawa,  Canada   23  
  • 24. Future  Work   •  Possibly  extend  the  exisTng  engine’s  modeling   capabiliTes  with  more  non-­‐CRUD  funcTonality   (e.g.  paying  systems)   •  Automate  the  producTon  of  a  matching  RESTful   client,  given  the  RESTful  service  CIM,  as  well.   •  BeMer  track  manual  changes  made  by  developer   to  the  produced  code.     29.09.15  CLOUDMDE  2015,  OMawa,  Canada   24  
  • 25. 29.09.15  CLOUDMDE  2015,  OMawa,  Canada   25   Thank  you!   christopherzolotas@issel.ee.auth.gr