Fast and Advanced Storyboard Tools
From Wikipedia, the free encyclopedia
FAST (Fast and Advanced Storyboard Tools) is a Small or Medium-scale Focused Research Collaborative Project (STREP) supported by the European Commission under its Seventh Framework Programme. It started on 1st March 2008 and will come to an end officially on 31th March 2011.
The main objective of the project is to create a new a visual programming environment that will facilitate the development of complex front-end gadgets, involving execution of relatively complex business processes that rely on back-end semantic Web services. The approach adopted will be user-centric rather than program-centric: instead of first building programs that orchestrate available semantic Web services and then try to figure out how to implement interaction with the users at given points of the process execution flow, programmers will start from the front-end gadgets that the user will see and interact with, and then, afterwards, they will visually establish the connection to back-end Web services going through process execution flows if necessary. The way programmers will visually establish this connection will follow an approach similar to what sequence diagrams in UML look like. FAST will be developed under the Morfeo Open-Source Software Community.
Contents |
[edit] Project Objectives
Today semantics constitutes probably the most relevant line of investigation in the Information and Communications Technology (ICT) area. Semantics takes ICT to a next level transforming data into knowledge/meaning and operations into functionalities with all the possibilities that this offers for the automated processing of the information.
One of the most interesting areas of application for semantics is that related to Semantic Web Services. Semantic Web services are focused on endowing Web services with semantics so that much of the work done today by developers and administrators by hand or programmatically can be done in an automated fashion directly by the systems (i.e. Web services discovery, Web services composition, Web services orchestration, Web services mediation, etc.). Semantics are also useful to organize the full catalogue of Web services that are available within a given organization and developers may use to program new business logic in a given system (exported or not as Web services to the rest of the organization).
Web services have been recognized as one of the basis technologies that will help to implement a Service-Oriented Architecture (SOA). The central concept in SOA is the existence of services which provide access to capabilities by well-defined interfaces to be exercised following a service contract with constraints and policies. According to this, the major components of a basic SOA and their possible interactions as depicted in , are: a service provider publishes his service interface via a service registry where a service requester/ consumer can find it and subsequently may bind to the service provider. Web services constitute a widely accepted technology that enables to define service interfaces as well as the protocols to exchange requests/responses between service providers and consumers. Usage of semantics to characterize Web services has mainly introduced novel and more powerful ways to publish and find service in SOA.
Complementary to these basic pieces, a basic principle in SOA has to do with supporting highly flexible and dynamic ways to leverage business processes. Actually, a fundamental question for organizations embracing SOA is that business processes can be defined over existent services that can be orchestrated using scripting/process management technologies. This means that business processes must be characterized by the separation of the hard coded behaviour of basic components/systems exporting services from the software that automates business processes across these components/systems. Aiming to support this principle, Process Management / orchestration technologies have soon entered the picture of SOA, especially for business. These technologies are meant to support the ability to introduce changes in process definitions in a very flexible and agile way, thus responding to time-to-market requirements of today’s businesses. They support the notion of minimizing programming as a way to reduce process development lifecycles.
Relying on Web service as the basis technology to support definition, runtime support and invocation of services, several technologies have been developed in order to support this notion of service oriented process management as envisioned in SOA. Probably the most widely known and supported by large IT companies are BPEL (Business Process Execution Language) defined by OASIS and XPDL (XML Process Definition Language) defined by the Workflow Management Coalition. However, existing business process management technologies have not yet been widely accepted by companies in practice because the promise to support flexible and agile creation of, and introduction of changes to, business management processes has not been actually delivered.This is due to the fact that existing business process management technologies are not user-centric. They are program-centric.
At present, existing technologies rely on defining businesses processes by orchestrating invocations to available back-end services in a way that is very similar to how any structured program invokes functions in available modules/libraries. It’s true that business processes may support parallel invocation of services, synchronization points and even automatic compensation mechanisms but it is also true that these mechanisms are also provided in some programming languages supporting concurrent programming. Complexity of programming is presumably hidden by means of visual process design tools that are intended to ease definition of business processes by people who have low or no IT skills. However, given that business processes are not really so different from structured programs, graphical process definition notations supported by the visual process design tools associated to these technologies used to be quite similar to programming flowcharts. This has two implications. First, the promise of enabling users with low or no IT skills to design process is broken: design of programming flowcharts is not so simple and in practice requires structured programming skills. The second implication is that processes designed through programming flowcharts show several problems: first, interaction with the user becomes hard to program and, second, flowcharts are too structured so minor but frequent changes in the execution flow are rather difficult to manage even by skilled analysts/programmers.
[edit] Real Scenarios
FAST Project will aim to solve common problems present in real-world scenarios
[edit] User Centered (Digital Administration)
In the context of Digital Administration, citizens expect to easily locate and manage most of their administrative procedures –like tax payments, tax declarations or administration issues– by themselves, thanks to government Web portals and services. However, most transactions and tasks demand recurrent browsing, searching and discovering through a variety of websites and services allocated in disparate government portals. These tasks imply the performance of an implicit process flow. All this disparate information and functionalities would be more useful and valuable if they were presented together in a unique mashup-based interface. However, the achievement of these goals would require dynamic mashup-based user interfaces made up of a number of screens and support for the underlying process flow, which is a tough task with no help of specifically tailored visual development environments suitable for modelling such a powerful mashup and for deploying it on current mashup platforms.
[edit] Enterprise Centered (Operational Support Systems)
In the context of Operational Support Systems (OSS), a failure supervisor usually collects and interacts with several information sources about possible failures, according to a pre-made business process. All this disparate information is more useful and valuable when presented together in a unique web portal supporting the underlying business process workflow.
In addition, the achievement of certain supervisor’s tasks closely related to a business process workflow often requires dynamic user interfaces made up of a number of screens. Each of them only makes sense in a concrete state of that workflow. Modeling these screens through a simple mash-up composition (involving a unique and static interface) would lead to poorly fitted dashboards with respect to her needs.
Creating this mash-up oriented solution represents a tough task. On the one hand, current gadgets do not face every complex requirement of a business process workflow. These are commonly supported by back-end business web-services. On the other hand, they are not capable of modeling a powerful screen-flow user interface.
FAST aims at facing these shortcomings by providing software developers with an environment to create complex gadgets that address workflow’s requirements from the functional perspective of the user.