Showing posts with label curbera. Show all posts
Showing posts with label curbera. Show all posts

Wednesday, September 30, 2009

Composing REST services and collaborative workflows

Bite offers a language for composing REST services.

REST composition enables some sort of data flow composition model (similar to Yahoo Pipes)

Human interactions happen by forms, instant messaging, linked email exchange, etc.

Collaborative services such as Lotus support unstructured interactions between ad-hoc communities linked via common business goals. Complex collaborative applications.

Design Goals for Bite
  • Atom life-cycle
  • Lightweight process model
  • Scripting Approach
  • Language extensibility
  • Web and human integration
It allows for extensibility of the language and it supports parsing the scripts for the languages. also GUI elements can be easily connected to the bite script and their states can get updated by sending reploes to their interfaces.

Sunday, September 27, 2009

Towards a Programming Model for Service-Oriented Computing

composition model is built on top of component models. We look for a customization without source code modification.

Composition
  • behavioral
  • adaptation -> point of variability
  • structural
  • mediation -> message processing
Dynamic Binding
  • dependency injection -> automatic dependency resolution
  • Mediation Model -> dynamic mediation -> dynamic binding
IMPORTANT DEFINITION: a service is a visible access point to a component. A component can offer multiple services or reference multiple services

service specification -> access channel
  • interface -> WSDL
  • policies
  • behavioral description -> BPEL
service component implementation (similar to the SCA model in which we have comonent, composite, reference, services, properties)
  • service spec: characteristics of a service
  • required services
  • service properties
  • container directives
  • implementation artefacts
service component
  • Name
  • implementation
  • values for properties
  • specification + resolution for services
  • wires + queries + QoS policies
directives for service composition could be instructed using either Pragmas or Control files
  • Control Files: BPEL or other workflow descriptions
  • Pragmas: Annotations within the code
Structural Composition (Mediation)
  • wiring: wires represent the flow of messages
  • Bundle -> a collection of services
  • Event-Driven Composition
  • Mediation
  • Content-based Routing
  • Transformation -> transform and map messages
  • Augmentation -> adding additional information to the message
  • Side Effect -> extra operation on the messages
Behavioral Composition - Process Oriented (Adaptation)
  • workflow oriented
  • state machine
  • UML state diagram
  • BPEL -> DAG activity nodes
  • short running
  • long running
  • has one or more interfaces
  • different implementations for canceling
SDO (Service Data Object) = a uniform way of representing service data + the abstract tree is used to access data irrespective of how it is provided

IMPORTANT

SOA component model improves over CORBA/J2EE/COM
  • control language
  • XSD & WSDL are more tolerant of interface evaluation
  • call/return + one way messaging
  • rich contracts
  • QoS
  • behavioral description
  • mediation + intermediaries
SCA -> abstraction of implementation concerns
Web Services -> abstraction for interoperability concerns