Lesson 5.9: SEAMFRAME – Software infrastructure

Icône de l'outil pédagogique Author

Patrik Wallman


Icône de l'outil pédagogique SEAMLESS-IF

SEAMLESS-IF is based on project requirements and current IT-trends. In this case this means a web based distributed system. This solution brings many advantages for both the users and the developers of the framework. There is no need to install any specific software on the local computer, all services are run on SEAMLESS’ own servers. SEAMLESS-IF can be viewed and used on the Internet if the web browser used has Flash Player 9 installed, which almost all modern browsers have. 

SEAMLESS-IF contains three different layers, a graphical user interface (GUI), a service layer with a processing environment and a data layer where data is stored in databases.


Icône de l'outil pédagogique GUI

The GUI is developed in Flex, a framework that helps you develop and deploy cross platform dynamic and interactive rich Internet applications. The communication between the (GUI) and the processing environment in the SeamFrame server is handled by Java Servlets. A servlet is a small Java program that runs within a Web server, receiving and responding to requests from Web clients, in this case GUI of Seamless-IF, usually across HTTP (HyperText Transfer Protocol). The Java Servlet API (Application Programming Interface) allows developers to add dynamic content to a Web server. In Seamless-IF the content generated by the servlets is XML (Extensible Markup Language), which is a general-specification for creating custom markup languages. It is primarily used to facilitate the sharing of data, especially via the Internet. 

Seam:Pres is the visualization part of the Seamless-IF GUI. It is used to present the results in a meaningful way. Seam:Pres uses ILOG Elixir, a suite of user interface controls that provides a set of graphical data-display components for Flex applications such as the graphical user interface of Seamless-IF. ILOG Elixir turns raw data into clear, actionable information through highly graphical and interactive data displays for dashboards, data analysis, planning and human resources applications.


Icône de l'outil pédagogique SOFA

The processing environment in SEAMLESS-IF is called SOFA (Seamless OpenMI Framework Architecture). Seamless has chosen to adopt the Open Modeling Interface and Environment (OpenMI) framework, which originally is a product of the EU FP-5 project HarmonIT, to link models, data and tools. The OpenMI standard is a software component interface definition (predefined interfaces, compliancy rules) for the computational core (the engine) of the models. Models or model components that comply with this standard can, without any programming, be configured to exchange data at run-time. The standard supports two-way links where the models depend on calculation results from each other. Linked models may run asynchronously with respect to time steps, and data represented on different spatial levels can be exchanged seamlessly. Models ranging from very simple to very complex (even composites) including everything in between, can in most cases be added to the processing environment using the OpenMI interfaces as a wrapper around the model. In the processing environment components are linked together to form a ‘workflow’, which can be annotated and stored in a file or in a database. The workflow can include all kinds of components, as long as they are OpenMI compliant. Besides models, this also includes components that get data from databases, converters, visualization tools, and model-chain analysis tools. OpenMI uses a pull-based approach which means that one component in the workflow is somehow triggered to ask another component for input.


Icône de l'outil pédagogique Web-based

The web based implementation of SEAMLESS-IF also means that the users do not have to go into any database, the available data and the results are presented through the GUI and there is no risk of destroying the database. All the data used and saved by SeamFrame is stored in a central SEAMLESS server in a PostgreSQL database. PostgreSQL is an object-relational database management system which communicates with the processing environment via Hibernate, an object-relational mapping library for Java. Hibernate provides a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate also provides data query and retrieval facilities which are used in SEAMLESS -IF.


Régi par la licence Creative Commons Attribution Non-commercial Share Alike 3.0 License

copyright Seamless 2009