Try AMICO:CALC! Use spreadsheets to compose complex software services
Read the story behind AMICO in the IEEE Software article "Open-Source Software: All You Do Is Put It Together" (draft, PDF)
AMICO (Adaptable Multi-Interface COmmunicator) is a generic platform for rapid application development with heterogenious open-source and free software components and services. Original aim of AMICO was to support development of interactive applications in sensor-enhanced ambient environments. However, AMICO is much broader is scope, and it has been used in many other domains. The basic motivation of AMICO is to enable easier reuse of many existing software components from many open-source software (OSS) and free projects and services. AMICO is built on ideas from loosely-coupled integration platforms, middleware platforms for components integration, and service oriented architectures, but it focuses on pragmatic aspects of OSS integration, often absent from existing solutions.
AMICO introduce several novel elemets:
Provides flexible mapping between different communication interfaces, including TCP, UDP, HTTP, XML-RPC, Open Sound Control (OSC), Simple Access Object Protocol (SOAP), Representational State Transfer (REST), CORBA, etc. In this way existing modules that use different interfaces can collaborate.
Provides adaptive middleware where modules can be dynamically reconnected, and reused in different scenarios.
Provides declarative XML abstraction of platform configuration, enabling developers to rapidly and dynamically tailor applications by simply editing and/or generating XML configuration files.
Introduces several higher level mashup interfaces, such as spreadsheets, Web browser extensions and declarative programming, and allows for addition of news ones.
Primary user group for this platform are developers who want to rapidly prototype various interactive applications using different OSS components and services. However, we are also working on user interfaces that can enable easy configuration of AMICO for end users without developing skills (see AMICO:CALC). For more details, see documentation and demos.
AMICO is initially developed by Željko Obrenović within Semantic Media Interfaces group at the Centre for Mathematics and Computer Sciences (CWI) in Amsterdam.