MashWeb: FOKUS Mashups 2.0
A new breed of dynamic and distributable Web Mashups featuring powerful SOA technologies
FOKUS Mashups 2.0 combine the easy creation, rich presentation, and intensive user-interaction of Mashups with powerful SOA technologies paving the way towards a novel generation of highly dynamic and distributable Web applications. FOKUS MashWeb is a software suite that enables software developers to bind 3rd party services dynamically to their applications during runtime and to distribute their Mashup applications between the client and server side. This distribution of Mashups allows for integration of local resources residing on the users’ devices and a Widget-like offline capability in the Web application.
FOKUS Mashups 2.0 features at a glance
FOKUS Mashups 2.0 build on an extended Mashup Proxy that supports the seamless integration of back office services and business processes. What’s more, a server-side and client-side runtime environment enables FOKUS Mashups 2.0 to adapt dynamically to the requirements of mobile users whose devices are limited in their available bandwidth and display size.
FOKUS Mashups 2.0 feature
- Effect-driven requests – Service compositions and their respective presentations as Mashups within Web browsers are automatically created based on the effects requested by end users
- Server-side service compositions – A workflow engine based on the notion of timed automata provides orchestration of back-office services under consideration of real-time
- Late binding of 3rd party and local services during runtime – Selection of appropriate services during runtime based on QoS parameters, user preferences, and device configuration of the service requester (end-user)
- Mobile Mashups – Support of partial Mashups for user devices with restricted hardware capabilities (e.g. smaller screen, slower internet connection)
- MashWeb Language – Based on the concepts of HTML4 and novel aspects within the proposals for HTML5, a language extension was developed that enables users to create Mashups in the style of HTML pages; here, the actual interaction with 3rd party services is abstracted by content types. For instance, a user may just decide to integrate a <map...> within the HTML page without specifying the actual service that is delivering it.
FOKUS MashWeb Components
FOKUS Mashups 2.0 build on a suite of Web components -called MashWeb- that support the integration of SOA concepts such as late binding and structured orchestration of services. The underlying architecture follows the REST style (REpresenational State Transfer) and is thus compliant with the Web’s architectural style. The diagram presents an overview of single FOKUS MashWeb components in a server-side setup; all components can also be deployed on standard user devices.
ROADS – RepOsitory for semantically enhanceD Services
REST APIs of services from 3rd party content providers can be easily described with the Web Application Description Language (WADL) and registered at the ROADS repository. Semantic service descriptions extending the notion of WADL moreover enable an automatic composition of Web services and open up 3rd party APIs.
LATOR - LAte Binding Engine and Call GeneraTOR for Mashup 2.0 Applications
DACE - DynAmic Creation Engine for Mashup 2.0 Applications
DACE realizes the server-side integration and orchestration of back office services. It automatically creates server-side service compositions based on the effects that were requested either by the user or another service. In a first step an abstract service composition plan is created, while the late binding of actual service implementations is handled by LATOR. This approach maintains the highest possible degree of flexibility both in the structural and the non-functional part of the service composition. Service compositions bound to concrete services are represented by timed automata, supporting additional consideration of real time constraints, which is an essential feature of mobile environments. Based on this notion, the composition can be transformed into various other workflow- based orchestration languages such as WS-BPEL.
DUET - DistribUtion Engine for Mashup 2.0 ScripTs
DUET enables the partitioning of Mashups so that parts can be executed on the server while other components are residing on the client. The DUET Protocol also handles signaling between client and server to support state management and synchronization.
RUSH - RUntime for MaSHup 2.0 Applications
RUSH supports the server-side execution of service compositions. Other present runtimes can be easily integrated. The results of these compositions are dynamically integrated within the Mashup representation that is passed to the user’s device. Management Client – A management client enables the easy provisioning of services through a graphic user interface which also supports the management and reconfiguration of server-side service composition workflows.
A standalone client for the dynamic creation of Mashups is available that also supports the inspection of the underlying server-side workflows modeled by modified timed automata, thus providing software developers with a powerful tool for debugging on the client side.
A web client serves as an interface to the user. It provides the means to request Mashups dynamically, and to display them and share them with other users in a community.