The document describes an MDA-based environment called ONE for modeling and executing business negotiations. It uses an MDA approach with models defined at different abstraction levels (M3-M0). A domain-specific language was defined and used to generate a modeling editor, allowing users to create negotiation models. These models are then executed in a runtime environment. The runtime has a peer-to-peer architecture and is scalable to support growing model needs from the community. MDA principles were key to allowing new negotiation models to be added without software changes.
The document discusses layered architectures for enterprise applications. It introduces layered architectures as having three main layers - presentation layer, business logic layer, and data access layer. This separation of concerns helps address forces like complexity, reuse, and change. The document uses an example application to demonstrate how to implement layered architectures using patterns and best practices. It previews the upcoming sessions which will cover topics like business entities, business logic, data access, improvements, and distributed applications.
IDC Worldwide IT Cloud Services Taxonomy, 2012arms8586
This document summarizes IDC's updated taxonomy of the IT cloud services market in 2012. It defines key terms like cloud services and cloud deployment models. IDC's new taxonomy adds the NIST categories of SaaS, PaaS, and IaaS to provide a top-level view, and further defines segments below those. It also adds network and client cloud services and renames the application development segment to PaaS to reflect market changes. The taxonomy is meant to help clients better understand the evolving cloud services landscape.
A Comprehensive Analysis of MokaFive Solutions and Strategies, 2011 and BeyondMokaFive
MokaFive provides a distributed virtual desktop solution that offers the management benefits of virtual desktop infrastructure (VDI) without the costly datacenter upgrades. It allows users to access virtual desktops locally using hypervisor software on their devices. This provides mobility and offline access while still allowing for centralized management of desktop images and policies. MokaFive has experienced success in the growing distributed virtual desktop market and is well positioned for further growth, especially as a complementary solution to VDI.
IDC's software taxonomy report defines 79 functional markets for packaged software organized into applications, application development and deployment, and system infrastructure segments. It also defines competitive markets that combine functional markets based on the problems solved or technologies used. The taxonomy provides a framework for consistently tracking $billions in global software revenue and forecasting market trends.
Fractalia Media is a digital signage solution that allows users to create, schedule and distribute multimedia content to remote screens from a central server. It provides functionality for managing a network of screens and players through the integrated Fractalia Manager platform, which allows remote control and updates. Fractalia Media is suited for organizations with geographically dispersed digital displays and provides tools for centralized content creation and equipment management.
SMARCOS CNR Paper Workshop Distributed UISmarcos Eu
This document discusses an approach to specifying distributed user interfaces using the MARIA language. The approach allows designers to specify distribution at various levels of granularity, from individual interface elements to entire presentations. It uses CARE properties - complementarity, assignment, redundancy, equivalence - to indicate how elements are distributed across devices. Examples show how interactors can be distributed according to CARE properties both within and across devices to create flexible, distributed user interfaces. The goal is to support multi-device environments and allow generation of implementations for different platforms from a single specification.
Corporate Rentals Solution for Joomla 2.5 - Brochure 2012Latitude 26
Corporate Rentals Solution for Joomla 2.5 - Brochure 2012. Visit our web site at www.latitude26.co.uk or contact us in order to start your next real estate project.
The document discusses layered architectures for enterprise applications. It introduces layered architectures as having three main layers - presentation layer, business logic layer, and data access layer. This separation of concerns helps address forces like complexity, reuse, and change. The document uses an example application to demonstrate how to implement layered architectures using patterns and best practices. It previews the upcoming sessions which will cover topics like business entities, business logic, data access, improvements, and distributed applications.
IDC Worldwide IT Cloud Services Taxonomy, 2012arms8586
This document summarizes IDC's updated taxonomy of the IT cloud services market in 2012. It defines key terms like cloud services and cloud deployment models. IDC's new taxonomy adds the NIST categories of SaaS, PaaS, and IaaS to provide a top-level view, and further defines segments below those. It also adds network and client cloud services and renames the application development segment to PaaS to reflect market changes. The taxonomy is meant to help clients better understand the evolving cloud services landscape.
A Comprehensive Analysis of MokaFive Solutions and Strategies, 2011 and BeyondMokaFive
MokaFive provides a distributed virtual desktop solution that offers the management benefits of virtual desktop infrastructure (VDI) without the costly datacenter upgrades. It allows users to access virtual desktops locally using hypervisor software on their devices. This provides mobility and offline access while still allowing for centralized management of desktop images and policies. MokaFive has experienced success in the growing distributed virtual desktop market and is well positioned for further growth, especially as a complementary solution to VDI.
IDC's software taxonomy report defines 79 functional markets for packaged software organized into applications, application development and deployment, and system infrastructure segments. It also defines competitive markets that combine functional markets based on the problems solved or technologies used. The taxonomy provides a framework for consistently tracking $billions in global software revenue and forecasting market trends.
Fractalia Media is a digital signage solution that allows users to create, schedule and distribute multimedia content to remote screens from a central server. It provides functionality for managing a network of screens and players through the integrated Fractalia Manager platform, which allows remote control and updates. Fractalia Media is suited for organizations with geographically dispersed digital displays and provides tools for centralized content creation and equipment management.
SMARCOS CNR Paper Workshop Distributed UISmarcos Eu
This document discusses an approach to specifying distributed user interfaces using the MARIA language. The approach allows designers to specify distribution at various levels of granularity, from individual interface elements to entire presentations. It uses CARE properties - complementarity, assignment, redundancy, equivalence - to indicate how elements are distributed across devices. Examples show how interactors can be distributed according to CARE properties both within and across devices to create flexible, distributed user interfaces. The goal is to support multi-device environments and allow generation of implementations for different platforms from a single specification.
Corporate Rentals Solution for Joomla 2.5 - Brochure 2012Latitude 26
Corporate Rentals Solution for Joomla 2.5 - Brochure 2012. Visit our web site at www.latitude26.co.uk or contact us in order to start your next real estate project.
The ONE project is an EU-funded STREP project designed for SMEs. It aims to support any negotiation model without needing to recompile or redeploy code. It uses a model-driven architecture to generate software that can self-configure based on models. Key aspects included intelligent recommendation, a decentralized web architecture, and integration of multiple European development teams.
The paper will explore the fact that a DES oriented archi-
tecture is not a “sort of SOA”, it\’s not just a “bigger SOA”. A
whole set of new problems are to be addressed namely re-
sponsive alignment with the business, decentralization, owner-ship of the knowledge base and self healing.
The document discusses the ONE (Open Negotiation Environment) project, which aims to create an MDA-based environment for modeling and executing business negotiations. The key aspects are:
1) The project defines a domain-specific language (DSL) for modeling negotiations using a metamodel. This DSL captures domain concepts like offers, agreements, and actions.
2) Models created with the DSL are stored in XMI files and can then be executed by a negotiation engine to run actual negotiations.
3) The DSL and tools were created using an MDA approach with transformations between metamodels, models, and runtime representations.
The document discusses Model Driven Architecture (MDA), which uses models to automate application construction. It defines a model as a simplified representation of a system or phenomenon. Code is considered a type of model that represents logical structure and hides implementation details through different levels of abstraction. Models can represent applications, services, and be executed in the same way code can through tools that support capabilities like model checking, transformation, testing, and debugging. Successful adoption of MDA depends on factors like development process, tool integration, and model lifecycle management.
This document provides an overview of a course on the TMForum Frameworx. The course contains 8 modules that cover: an introduction to Frameworx and how enterprises conduct business digitally; the business process, information, application, and integration frameworks; business metrics; framework best practices; and a wrap-up. Module 1 introduces Frameworx and how it provides a foundation for enterprises to collaborate and overcome common challenges. It also contains a case study on how one TMForum member uses Frameworx in its business.
Microsoft BizTalk server seen by the programmer’s eyesSandro Pereira
The document discusses the benefits that the Microsoft BizTalk Server platform offers to programmers and developers. It provides details on job opportunities working with BizTalk, features that simplify programming tasks like the orchestration designer and rule engine, and how BizTalk handles transactions, exceptions, and data persistence to reduce programming work. Overall, BizTalk is presented as a tool that streamlines integration development by providing common features out of the box rather than requiring programmers to reimplement them for each project.
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...ijcsit
The document describes the design and development of a Business Rules Management System (BRMS) using the ATL and Eclipse Sirius frameworks. It proposes a new "Target Ecore meta model" to improve the structure and management of business rules. The system allows business rules to be modeled and transformed from their current format into an object-oriented format using ATL model transformations. This provides improved modularity, scalability and extensibility of the rules compared to the original structure. A case study demonstrates transforming an example business rule from a software package based on the proposed approach.
1. The document discusses how cloud computing represents a paradigm shift that changes how applications are developed, deployed, maintained, and consumed. It allows companies to access IT resources at a lower cost with more flexibility.
2. It outlines four success factors for European ICT providers to succeed in the cloud economy: understanding cloud as an ecosystem, leveraging large networks, benefiting from small/medium enterprises, and supportive industry policies.
3. The recommendations are to create a common EU legal framework for clouds, support a European cloud computing standard, promote cloud research, support cloud adoption by SMEs, position the public sector as pioneering users, and maintain progress.
OUT-OF-THE-BOX INTEROPERABLE COMPONENTS FOR THE DESIGN OF DIGITAL MEDIA ARCHI...FIAT/IFTA
The document summarizes a paper presented at the World Conference 2013 in Dubai from October 25-28. The paper reports on achievements of the FIMS (Framework for Interoperable Media Services) task force, a joint effort between EBU and AMWA to define common approaches for integrating media components. It provides an overview of the FIMS 1.0 specification and previews developments in FIMS 1.1, including new repository services for managing digital media archives and an extended metadata set. FIMS aims to simplify interoperability and reusability of media services through a service-oriented architecture.
The document provides an overview of the Object Management Group (OMG) and some of the standards they have developed, including the Unified Modeling Language (UML) and Model Driven Architecture (MDA). It discusses the history and goals of OMG, key OMG standards like UML, MOF, CWM and CORBA, and how MDA uses these standards to separate application logic from implementation details. The document also summarizes some of the benefits of using MDA such as increased portability and integration across platforms.
Service Oriented & Model Driven ArchitecturesPankaj Saharan
The document discusses a seminar on combining Service-Oriented Architectures (SOA) and Model Driven Architectures (MDA). It first provides an overview of SOA and MDA individually, including their goals and characteristics. It then analyzes the similarities and differences between the two approaches when combining them. Some benefits are improved productivity and lower costs, while challenges include defining models and transformations between levels of abstraction. Overall, the document concludes that combining SOA with MDA's model-driven approach can provide benefits like business agility if key issues like semantics and metadata modeling are adequately addressed.
Marc Lankhorst (auth.) - Enterprise Architecture at Work_ Modelling, Communic...GilbertoBorregoSoto
This document provides an overview of the Enterprise Engineering Series book on Enterprise Architecture at Work by Marc Lankhorst. It discusses the editors and editorial board of the series, as well as information about the authors, title, and publication details of the book. The foreword discusses how the ArchiMate modelling language presented in the book provides a standard way to model enterprise architecture and the relationships between different domains in an organization.
We demonstrate a prototype allowing the unsupervised modeling of the structure of task-oriented dialogues. The prototype aims to assist the conception of a conversational agent architecture. The graphical representation displays the main stages of the dialogues and the transitions between them. Our tool allows to manipulate this graphical representation. We detail the various functionalities demonstrated.
This document provides an introduction to TOGAF (The Open Group Architecture Framework) Version 9.1. TOGAF is an enterprise architecture standard developed by The Open Group. It provides a framework and method called the Architecture Development Method for developing enterprise architectures. The document discusses what TOGAF is, the structure of the TOGAF standard, what it contains, and the TOGAF certification program.
This document discusses Domain Driven Design and Hexagonal Architecture for handling complex business logic. It covers key concepts like ubiquitous language, bounded contexts, aggregates, domain events, and anti-corruption layers. It also discusses how Amazon used these principles to scale up to thousands of microservices handling over 6000 employees in many countries. The Hexagonal Architecture approach helps abstract business code from frameworks and make architectural changes easier through separating domains from infrastructure.
1) Deutsche Telekom is launching a BusinessMarketplace platform to provide SMB customers easy access to cloud applications. The platform will use OpenStack as the underlying infrastructure layer.
2) The BusinessMarketplace will offer a curated selection of third-party applications that are secured, integrated and managed by Deutsche Telekom on behalf of customers. This provides customers compliance with German regulations.
3) For partners, the BusinessMarketplace provides a new sales channel to reach Deutsche Telekom's over 3 million SMB customers. The OpenStack infrastructure also allows partners to more easily integrate their applications and have them hosted on a stable, scalable platform.
Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools, and runtimes for building, deploying, and managing software across the lifecycle.
The Object Management Group (OMG) is an international, open membership, not-for-profit computer industry consortium which develops enterprise integration specifications, many of which have been implemented by Eclipse projects.
This long talk presents a survey of the OMG specifications that are implemented in some form or another (particularly within the Modeling project) at Eclipse and suggests ways in which Eclipse and the OMG could perhaps work more closely together to benefit the futures of the open source and open specifications communities.
Open Digital Architecture (ODA) is a blueprint for modular, cloud-based, open digital platforms that can be orchestrated using AI.
Designed to support our industry into the cloud native era, ODA sets the framework required
for CSPs to invest in IT, transforming business agility and operations by creating simpler IT and network solutions that are easier and cheaper to deploy, integrate and upgrade. Enabling growth, profitability and a cutting-edge customer experience.
The ONE project is an EU-funded STREP project designed for SMEs. It aims to support any negotiation model without needing to recompile or redeploy code. It uses a model-driven architecture to generate software that can self-configure based on models. Key aspects included intelligent recommendation, a decentralized web architecture, and integration of multiple European development teams.
The paper will explore the fact that a DES oriented archi-
tecture is not a “sort of SOA”, it\’s not just a “bigger SOA”. A
whole set of new problems are to be addressed namely re-
sponsive alignment with the business, decentralization, owner-ship of the knowledge base and self healing.
The document discusses the ONE (Open Negotiation Environment) project, which aims to create an MDA-based environment for modeling and executing business negotiations. The key aspects are:
1) The project defines a domain-specific language (DSL) for modeling negotiations using a metamodel. This DSL captures domain concepts like offers, agreements, and actions.
2) Models created with the DSL are stored in XMI files and can then be executed by a negotiation engine to run actual negotiations.
3) The DSL and tools were created using an MDA approach with transformations between metamodels, models, and runtime representations.
The document discusses Model Driven Architecture (MDA), which uses models to automate application construction. It defines a model as a simplified representation of a system or phenomenon. Code is considered a type of model that represents logical structure and hides implementation details through different levels of abstraction. Models can represent applications, services, and be executed in the same way code can through tools that support capabilities like model checking, transformation, testing, and debugging. Successful adoption of MDA depends on factors like development process, tool integration, and model lifecycle management.
This document provides an overview of a course on the TMForum Frameworx. The course contains 8 modules that cover: an introduction to Frameworx and how enterprises conduct business digitally; the business process, information, application, and integration frameworks; business metrics; framework best practices; and a wrap-up. Module 1 introduces Frameworx and how it provides a foundation for enterprises to collaborate and overcome common challenges. It also contains a case study on how one TMForum member uses Frameworx in its business.
Microsoft BizTalk server seen by the programmer’s eyesSandro Pereira
The document discusses the benefits that the Microsoft BizTalk Server platform offers to programmers and developers. It provides details on job opportunities working with BizTalk, features that simplify programming tasks like the orchestration designer and rule engine, and how BizTalk handles transactions, exceptions, and data persistence to reduce programming work. Overall, BizTalk is presented as a tool that streamlines integration development by providing common features out of the box rather than requiring programmers to reimplement them for each project.
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...ijcsit
The document describes the design and development of a Business Rules Management System (BRMS) using the ATL and Eclipse Sirius frameworks. It proposes a new "Target Ecore meta model" to improve the structure and management of business rules. The system allows business rules to be modeled and transformed from their current format into an object-oriented format using ATL model transformations. This provides improved modularity, scalability and extensibility of the rules compared to the original structure. A case study demonstrates transforming an example business rule from a software package based on the proposed approach.
1. The document discusses how cloud computing represents a paradigm shift that changes how applications are developed, deployed, maintained, and consumed. It allows companies to access IT resources at a lower cost with more flexibility.
2. It outlines four success factors for European ICT providers to succeed in the cloud economy: understanding cloud as an ecosystem, leveraging large networks, benefiting from small/medium enterprises, and supportive industry policies.
3. The recommendations are to create a common EU legal framework for clouds, support a European cloud computing standard, promote cloud research, support cloud adoption by SMEs, position the public sector as pioneering users, and maintain progress.
OUT-OF-THE-BOX INTEROPERABLE COMPONENTS FOR THE DESIGN OF DIGITAL MEDIA ARCHI...FIAT/IFTA
The document summarizes a paper presented at the World Conference 2013 in Dubai from October 25-28. The paper reports on achievements of the FIMS (Framework for Interoperable Media Services) task force, a joint effort between EBU and AMWA to define common approaches for integrating media components. It provides an overview of the FIMS 1.0 specification and previews developments in FIMS 1.1, including new repository services for managing digital media archives and an extended metadata set. FIMS aims to simplify interoperability and reusability of media services through a service-oriented architecture.
The document provides an overview of the Object Management Group (OMG) and some of the standards they have developed, including the Unified Modeling Language (UML) and Model Driven Architecture (MDA). It discusses the history and goals of OMG, key OMG standards like UML, MOF, CWM and CORBA, and how MDA uses these standards to separate application logic from implementation details. The document also summarizes some of the benefits of using MDA such as increased portability and integration across platforms.
Service Oriented & Model Driven ArchitecturesPankaj Saharan
The document discusses a seminar on combining Service-Oriented Architectures (SOA) and Model Driven Architectures (MDA). It first provides an overview of SOA and MDA individually, including their goals and characteristics. It then analyzes the similarities and differences between the two approaches when combining them. Some benefits are improved productivity and lower costs, while challenges include defining models and transformations between levels of abstraction. Overall, the document concludes that combining SOA with MDA's model-driven approach can provide benefits like business agility if key issues like semantics and metadata modeling are adequately addressed.
Marc Lankhorst (auth.) - Enterprise Architecture at Work_ Modelling, Communic...GilbertoBorregoSoto
This document provides an overview of the Enterprise Engineering Series book on Enterprise Architecture at Work by Marc Lankhorst. It discusses the editors and editorial board of the series, as well as information about the authors, title, and publication details of the book. The foreword discusses how the ArchiMate modelling language presented in the book provides a standard way to model enterprise architecture and the relationships between different domains in an organization.
We demonstrate a prototype allowing the unsupervised modeling of the structure of task-oriented dialogues. The prototype aims to assist the conception of a conversational agent architecture. The graphical representation displays the main stages of the dialogues and the transitions between them. Our tool allows to manipulate this graphical representation. We detail the various functionalities demonstrated.
This document provides an introduction to TOGAF (The Open Group Architecture Framework) Version 9.1. TOGAF is an enterprise architecture standard developed by The Open Group. It provides a framework and method called the Architecture Development Method for developing enterprise architectures. The document discusses what TOGAF is, the structure of the TOGAF standard, what it contains, and the TOGAF certification program.
This document discusses Domain Driven Design and Hexagonal Architecture for handling complex business logic. It covers key concepts like ubiquitous language, bounded contexts, aggregates, domain events, and anti-corruption layers. It also discusses how Amazon used these principles to scale up to thousands of microservices handling over 6000 employees in many countries. The Hexagonal Architecture approach helps abstract business code from frameworks and make architectural changes easier through separating domains from infrastructure.
1) Deutsche Telekom is launching a BusinessMarketplace platform to provide SMB customers easy access to cloud applications. The platform will use OpenStack as the underlying infrastructure layer.
2) The BusinessMarketplace will offer a curated selection of third-party applications that are secured, integrated and managed by Deutsche Telekom on behalf of customers. This provides customers compliance with German regulations.
3) For partners, the BusinessMarketplace provides a new sales channel to reach Deutsche Telekom's over 3 million SMB customers. The OpenStack infrastructure also allows partners to more easily integrate their applications and have them hosted on a stable, scalable platform.
Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools, and runtimes for building, deploying, and managing software across the lifecycle.
The Object Management Group (OMG) is an international, open membership, not-for-profit computer industry consortium which develops enterprise integration specifications, many of which have been implemented by Eclipse projects.
This long talk presents a survey of the OMG specifications that are implemented in some form or another (particularly within the Modeling project) at Eclipse and suggests ways in which Eclipse and the OMG could perhaps work more closely together to benefit the futures of the open source and open specifications communities.
Open Digital Architecture (ODA) is a blueprint for modular, cloud-based, open digital platforms that can be orchestrated using AI.
Designed to support our industry into the cloud native era, ODA sets the framework required
for CSPs to invest in IT, transforming business agility and operations by creating simpler IT and network solutions that are easier and cheaper to deploy, integrate and upgrade. Enabling growth, profitability and a cutting-edge customer experience.
IT 8003 Cloud ComputingFor this activi.docxvrickens
IT 8003 Cloud Computing
For this activity you need to divide your class in groups
1
Group Activity 1 “SuperTAX Software”
2
SuperTax Overview
Did you know President Abraham Lincoln, one of America's most beloved leaders, also instituted one of its least liked obligations - the income tax? In this brief history of taxes, see the historical events which shaped income taxes in the United States today.
SuperTax is an American tax preparation software package developed in the mid-1980s.
SuperTax Corporation is headquartered in Mountain View, California.
2
Group Activity 1 “SuperTAX Software”
3
SuperTax Information
Desktop Software.
Support MS Windows and Mac OS.
Software method: CD/DVD media format.
Different versions:
SuperTAX Basic, Deluxe, Premier, and Home & Business.
Used by millions of users and organizations.
Group Activity 1 “SuperTAX Software”
4
SuperTAX Project
SuperTAX has hired your group as a consultant to move their Desktop Software to a Traditional IT Hosted Software, available Online.
Group Activity 1 “SuperTAX Software”
5
For Discussion:
Find the challenges that your team will encounter attempting to move SuperTAX Software to the new platform.
Prepared a presentation for the class.
On your Group you will need to define positions.
For example:
Project Manager, Senior Project Network, Senior Project Engineer, etc.
Group Activity 1 “SuperTAX Software”
6
Infrastructure
Software Development
Software Testing
Marketing & Business Model
Project Management
CHALLENGES
Group Activity 1 “SuperTAX Software”
7
Infrastructure
No more test in a single machine. (CD/DVD format model)
Test in a production cluster. (20, 30 users?)
A larger cluster can bring problems. (1000’s of users)
Testing must be done for different clients (mobile, desktops, OS)
Small performance bottleneck. Slow performance.
CHALLENGES
Group Activity 1 “SuperTAX Software”
8
Marketing & Business Model
One time fixed cost vs. subscription model
Before a CD was sold, now a subscription model.
Maintenance and replacement of cooling, power, and server is required
CHALLENGES
Group Activity 1 “SuperTAX Software”
9
Project Management
Project can take many months to years for Software Development cycle.
What model is appropriate for Hosted application. (Agile vs. waterfall)
Ability to try new features faster.
CHALLENGES
RUNNING HEAD: INTERSESSION 5 FINAL PROJECT PROJECTION 1
INTERSESSION 5 FINAL PROJECT PROJECTION 5
INTERSESSION 5 FINAL PROJECT PROJECTION
Shalini Kantamneni
Ottawa University
Intersession 5 Final Project Projection
The Design Process
This process involves the formulation of a model to be used in deriving a comprehensive cloud application. In this case, the model-view-controller design pattern will be used. This type of design pattern partitions the logic of the application into three distinct domains that are to be interconnected to provide a working cloud application (Jailia et al., 2016). ...
The Architecture Of Software Defined Radios EssayDivya Watson
This project aims to build a smart assistant to help users purchase books online by integrating
multiple sources of information about books and the purchasing process into a single system. By
consolidating data from sources about books, reviews, prices and retailers, the assistant can provide
users all the necessary information to make an informed purchase decision in one place. The goal is
to streamline the online book buying experience for users by eliminating the need to search across
multiple websites during the purchase process.
Project findings paper TMForum catalyst 2014 B2B service bundling 1.0gtilton
This document summarizes a project that demonstrated using TM Forum standards to dynamically bundle virtual network services from multiple suppliers. The project showed that B2B2X touchpoints and SID specifications can be used with NFV, cloud, and fibre access services. Sample specifications and messages using these standards are included for three suppliers' products. The project helped advance the TM Forum Frameworx and dynamic API approaches.
WEB PORTAL INTEGRATION ARCHITECTURE APPROACHESijwscjournal
This document proposes a service-oriented architecture approach for web portal integration. It begins by describing a platform-independent integration architecture based on standards like UML, MOF, and XMI. This allows modeling integration independently of specific technologies. The document then discusses using WSMO as a specific implementation, describing how the platform-independent layers map to WSMO. It also discusses integrating agents and semantic web services using model transformations. Finally, it proposes additional "X-as-a-Service" layers that could be part of the architecture, like structure-as-a-service and process-as-a-service.
WEB PORTAL INTEGRATION ARCHITECTURE APPROACHESijwscjournal
Enterprise Modelling with Web portal integration architecture requires investment of advanced architectural thinking into definition of services before any development of services or service consumers can begin. Service Oriented Architecture (SOA) is gradually replacing monolithic architecture as the premier design principle for new business applications with its inherently systematic nature and capability. Earlier efforts of notable styles of SOA such as CORBA and XATMI have failed to be adopted as main stream projects because of demanding design process requirement with sense-making activities and even have been residing with the modern SOA or Web services middleware. In this paper it is aimed to incorporate sensemaking design activities with the proposed semantic web service based architecture. This paper tries to tackle the above problem by proposing a service-oriented architecture for web data and service integration. A gen-Spec architectural pattern has been suggested and adopted in order to tackle the problem.
Firstly, it proposes a service-oriented platform independent architecture and Secondly, it presents a specific deployment of such architecture for data and service integration on the web using semantic web services implemented with the WSMO (Web Services Modeling Ontology).
Red Hat JBoss Fuse and TIBCO ActiveMatrix BusinessWorks 6.3 are both integration platforms that allow messages to be received, processed, and delivered between systems. Red Hat JBoss Fuse uses the open source Apache Camel framework and includes the Red Hat JBoss A-MQ messaging platform. TIBCO's offerings are proprietary and require separate licensing of additional components like messaging platforms. Red Hat provides consistent private, public and hybrid cloud capabilities using OpenShift, while TIBCO's cloud offerings are inconsistent with different technologies. Pricing and licensing models also differ between the open source Red Hat products and TIBCO's proprietary solutions.
Similar to Ferronato Finnegan One Digibiz Long (20)
1. An MDA based environment for modelling and
executing business Negotiations
b
Pierfranco Ferronatoa, Jason Finnegan
a
Pierfranco Ferronato, Dr., Chief Architect, Soluta.Net, Italy, EU, e-mail :
pferronato@soluta.net
b
Jason Finnegan, Waterford Institute of Technology, email :jfinnegan@tssg.org
Abstract. The Open Negotiation Environment project is a research project
funded by the Information Society and Media DG ICT for Enterprise
Networking Unit in the 6 th Framework Program. It consists of an environment
that supports the modelling, creation and execution of business negotiations,
the project is strongly centred around the MDAtm approach. A Domain
Specific Language (DSL) has been defined and used to generate the modelling
editor that in turn allows users to creates models representing the negotiations,
the are finally executed by JBoss: the AJAX user interfaces to coordinate the
participants are created at run-time. The project also provides a metamodel
driven Recommender and Learner component that provide the ability to
suggest which action to take during the negotiation process and which
participant to invite.
The paper presents the results of the ONE project, including their Factory
environment, This paper describes the strategies, the MDA architecture, the
process used in the development of the project and the key decisions they
drove the entire architecture specification. It describes why MDA was the
founding principle that drove the entire architecture; namely, to allow the
solution to functionally scale, to have software components that are not bound
to a specific negotiation. The consortium has successfully and widely adopted
the MDA Eclipse framework as a set of specifications and tools; this has
proved also to be beneficial in the daily organization of the work easing the
interoperability and communication among partners and software components.
The highly scalable architecture allows the infrastructure and the model to
grow at the pace of the community as it needs to. The underlying DSL, the
open source infrastructure and the MDA will help creating an open library of
computable negotiation models that can be modified, shared and executed
across a community in different domains. This ability can open up a market of
2. models, where they can be sold or bought; an open source platform does not
prohibit a commercial use of the platform.
Keywords: modelling, negotiations, e-procurements, MDA, p2p, peer to peer,
metamodelling, agreement
1Introduction
Supporting negotiations in a web based environment is a task that many tools and
vendors already offers. Some of these also offer the ability to customize to some
extent the tender/auction; for example the price and the duration is customizable, as
is the fact that it can be a public or a private negotiation. In general these solutions
support a rather small number of negotiation types (auction or direct buy usually) and
for each some level of customization is allowed. Supporting new behaviours like for
example extending the termination of the negotiation by 5 minutes after the receipt of
an offer, or adding complete new models like “reverse auction” or generic tenders, is
hard without the need to undergo a rather long set of changes in the application code.
The ONE projects has been entirely conceived for being able to dynamically support
new negotiation models.
The project is constituted of two main environments: the Factory, where models are
defined, and the Runtime, where models are instantiated and executed. Figure 1
below illustrates this design and it also indicates that the Runtime is further defined
in two phases: the Setup where negotiations are configured with data and the
Execution where they are started and users actually participate to arrive at an
agreement.
Negotiation Factory
(negotiation modelling)
Publish
ONENegotiation Runtime
Environment
Announcement
Negotiation Setup
Negotiation
Execution)
Figure 1: Environments in ONE
3. 2The MDA approach
In order to support new negotiation models without undergoing the classical develop,
compile test and software deployment life cycle, the ONE consortium has decided to
leverage the Model Driven Architecture(MDA[1]). ONE provides a tool where
negotiation models can be created in a visual environment specifying the negotiation
protocol, and the underlying information model. The protocol is modelled using a
UML[2] state diagram notation where messages, flow and conditions are defined:
with this model it is possible for example to model First Price Sealed-bid auction or
virtually any other custom negotiations.
The models defined in the editor (MDA M1 abstraction level [FRANKEL]) are
instances of the negotiation modelling language, called the One Negotiation
Metamodel, defined by the consortium[ONM] that represents the core expression
capabilities of the models (the language resides at M2 abstraction level).
The ONE consortium has defined a domain specific language (DSL) for describing
negotiations (a DSL is hence a specifically tailored language for describing the
structure and the behavior of vertical domains). Adopting this approach, primarily
aims at raising the level of abstraction at which the software is produced. The main
idea is to capture the domain knowledge by means of models and to develop (parts
of) applications by instantiating these models and generating the code,
documentation, and other artifacts.
As stated by the OMG: “The MDA defines an approach to IT system specifications
that separates the specification of system functionality from the specification of the
implementation of that functionality, on a specific technology platform. To this end,
the MDA defines an architecture for models that provide a set of guidelines for
structuring specifications expressed as models.”[3].
Models are processed by the run-time environment which allows users to tailor them
to their needs by specifying the products or the services, the start and the end date,
and in general to given values to the various variables defined in the model. During
this phase, called Setup, users can also invite users and specify if the negotiation will
be public or private. The Setup phase essentially creates an instance (M0 respect to
the MDA abstraction level) that can be finally executed in a web collaborative
environment under the control of the execution engine.
Self described meta-language
higher “thing”
(M3)
ONE Negotiation Language
DSL
“syntax”
(M2)
Abstraction
Negotiation Models Models
“expressions”
(M1)
Negotiation Data Data
“values”
lower
(M0)
Figure 2: ONE simplified standard stack
4. Figure 2 above depicts the abstraction layers: M3 is the language used to create the
negotiation language, in our case it is ECORE. Level M2 is the One Modelling
Language itself, inspired by FIPA protocol and by the OMG Negotiation Facility[4].
M1 are the models created with the Editor, and M0 are the negotiations themselves
enriched with data and executed.
3The Implementation Strategy
The project has been conceived for a community of users and as a such it has adopted
the EOA approach (Ecosystem Oriented Architecture)[5]. The main features in this
sense are:
decentralization of the model repository, which is based on a p2p network;
evolutionary repository: models are owned and extended by the community;
use of folksonomy[6] to tag models and the information model;
community driven trust and reputation model[7];
a negotiation topology that reflects the star based model of real life
negotiations (see Figure 3 below);
scalable: the infrastructure is able to scale at runtime as the community
needs to;
use of open source frameworks.
The strategy when defining the Architecture has been to reflect the topological model
found in real life business negotiations and in ecosystems.
As defined in the DBE project[8] business ecosystem are based on a peer to peer
model, where each participant plays both the role of a server and of a client, with the
absence of a central control point. This topological model well reflects the nature of
social networks: they are self sustained and are regulated by a mechanism where each
participant offers part of its infrastructure as a resource to the community: this
approach enforces the sense of being part of a living organism. In particular it's key,
the absence of a central regulation node, that in turn, technically speaking, can
represent a single point of failure. From the business perspective this avoids the “big
brother” syndrome1.
The execution environment on the other hand is star based topology: the owner of a
negotiation is hosting the negotiations itself, while the participants are using their
nodes to access the negotiation. Figure 3 below depicts this approach. There are two
dotted circles that represent p2p networks of resources. The first, in the upper part of
the figure are the nodes that can run the negotiation as either an owner or a
participant in a negotiation. The second network, in the lower part of the figure,
represents the p2p network of the Distributed Knowledge Base. The two other clouds
represent two running negotiations: 'A' and 'B'. Each cloud is called a “Negotiation
Arena” and their life cycle is regulated by each negotiation: they appear and
disappear in sync with the negotiations.
1The fears of many people concerning computers and privacy: “Big Brother”, the government,
or someone else that can in theory assemble a great deal of information people and use it for
its, or third parties, benefits
5. O N E N e g o tia tio n S c e n a rio E x a m p le
N e g o tia tio n B
O ne N ode
One N ode P a r tic ip a n t
P a r tic ip a n t T ru s te d N o d e
P 2 P n e tw o r k
O ne N ode
T ru s te d N o d e
O w ner
N e g o tia tio n A O ne N ode
P artic ip an t
P a r tic ip a n t
T ru s te d N o d e
T r u s te d N o d e
T ru s te d N o d e
P a r tic ip a n t
O ne N ode
ON E N ode
O w ner
T ru s te d N o d e D e c e n tralize d K B
P a r tic ip a n t D e c e n tr a liz e d K B
P 2 P n e tw o r k
N o t e : A T r u s te d N o d e is a O N E N o d e ju s t in a d if f e r e n t r o le D e c e n tralize d K B
Figure 3: ONE topological model
The consortium has made use of sophisticated topology models and technologies in
order to avoid having the architecture rely on a single point of failure. This means
that the Runtime environment will not allow any single entity to gain “control” over
the negotiation process: there is not a single element in the architecture where data
and messages are stored or where they transit, as such there is no way to tamper with
a server in order to alter the behavior of an entire negotiation for the benefit of an
organization or a single user.
The environment, due to the redundant peer-to-peer nature of the topology, is highly
reliable and able to remain effective in case of a random failure of nodes.
There are essentially two reasons for introducing a peer to peer topology in ONE
infrastructure: one is technical and another is to provide an immediate perceivable
benefit to users.
From the technical perspective the p2p topology is a way to replicate information and
access points. This gives a real economical benefit because no one in the community
is asked to provide a important investment in terms of resources like database and
application servers; no one is in charge of supporting a possible increase of the
workload by retrofitting new hardware or bandwidth. With a proper p2p topology the
resources will grow as the community needs to: i.e. each participant sustains the
grown with it's own resources. In addition, by a proper p2p strategy, it is possible to
avoid the typical bottleneck in portals, since connections are routed to different
nodes: scalability is key since it does not requires a huge investment to start a
community.
From the user perspective the adoption of a p2p architecture is essentially invisible
from the usability perspective but relevant when explained that all the models and
data provided during usage are stored across the entire community in a redundant and
fail safe infrastructure. This brings functionally two benefits: one is the awareness
that models and data are not owned by a single organization, the other is that in this
way there is no “big brother syndrome”. This is one of the major concerns in current
Internet: it was Microsoft for operative systems, now it is Google in the Internet age.
6. In any case these two aspects are related and represent the two faces of the same
coin. The application of a p2p topology is a natural consequence of the
implementation of a decentralized community: this is how negotiations works in the
real world. In the late 60's Conway has postulated a law[9] that takes it's name which
states: “Organizations which design systems are constrained to produce designs
which are copies of the communication structures of these organizations” or in other
words: “Any piece of software reflects the organizational structure that produced it”.
It'd have been a gross error to adopt a centralized implementation in a context where
the p2p topology is in the essence of the problem ONE is addressing.
4The Factory Environment
The Factory environment is where models are created, modified and published in the
Distributed Knowledge Base. It is essentially a boxes and lines tool. Before
developing the application, we envisioned three possible options:
• customize an open source UML editor (e.g. Argo UML);
• develop it from scratch;
• generate it from a meta model.
In order to have a quicker development life-cycle and to be more consistent with the
MDA approach, it was decided to generate the graphical modelling editor from a
negotiation DSL (domain specific language)[10].
The GEF[11] and the GMF[12] Eclipse framework has been considered as the
primary source for MDA related frameworks for the construction of the Negotiation
Model Editor.
Since UML is a general purpose language and, a DSL had to be created ad-hoc.
There are essentially three ways in MDA to specify a language:
1. using a subset of UML;
2. using UML Profiles;
3. creating a meta model from scratch using a modelling language (meta meta-
model), in the same way UML is defined..
In order to have the best flexibility, it was decided to adopt the third approach.
Essentially there are two kind of reference languages to be used when defining a
meta model:
1 MOF[13];
2 ECORE (part of EMF[14]).
MOF is generally considered more formal and, to some extend, academic. As a
matter of fact, there are not many production based systems which adopt it; the most
relevant criticism is that it is too complex at the time being.
EMF has been conceived in the Eclipse community and it is more essential and close
to the pragmatic needs of developers. For this reason it has been adopted as part of
the technical architecture of ONE, for encoding the meta model.
Once the ONE DSL had been specified a series of transformations (see Figure 5
below) generate intermediate models, and from them, the code of the graphical
model editor. This is turn can be further customized in order to fit special
requirements which can not be expressed in the input meta model, for example for
creating wizards for adding Variables, Protocol Rules, Criteria, Action Language
7. support, access to the repository etc. More detailed information in chapter 8, The
ONE Negotiation Metamodel
The process is iterative (the meta model might change, especially in the early phases
of the project) so it is important to ensure that the customizations made to the
generated editor are preserved between different iterations (the complete description
of the designing and development of the Negotiation Model Editor is the subject of a
dedicated deliverable of the ONE project).
One of the key features of adopting the MDA approach in the Negotiation Model
Editor tool is that it depends on the Negotiation meta model and, as a consequence,
the tool only needs to be updated/regenerated if the Negotiation meta model changes.
The consortium has adopted a sort of “model life-cycle management” in the software
development process. In case the ONE meta model is updated, the Editor must be
updated to generate new compliant models as well as all the components that depend
on it, such as the Setup and the Negotiation Engine. In addition, the environment
shall be able to process both kind of models: the one made with the previous version
of the meta model and the new one: this is not a trivial effort. ONE is enabling this
scenario by storing in the models the version of the meta model they are, and by
implementing a Distributed Knowledge Base which is meta models agnostic, i.e. it is
possible to store new models which are based on different versions of the meta
model. Adding new features to the negotiation meta models during the production
phase are to be implemented with caution because a significant effort is required: a
destructive changes on the other hand like removing or renaming an entity will
jeopardize the entire architecture.
The notation used is based on UML State Diagrams. In ONE it was decided to draw
two state diagrams, one represents the Owner (left side) the other the Participant
(right side).
Figure 4: Negotiation Editor, two state machines
Each state diagram has four Super Stages: Admission, Readiness, Negotiation and
Acceptance that regulate the way negotiations are managed at runtime. Each Super
8. Stage has one or more Stages (states) connected with Transitions that are regulated
by the usual Trigger, Action and Condition.
The two State Machines communicate via Messages that are sent by Actions in one
side and that are captured by Events on the other side.
In order to describe precise behaviors, like Actions, preconditions and in general
behavioral logic, it is necessary to support an action language, this means to augment
the DSL with an imperative language. Since scripts are to be executed at run time by
the Negotiation Engine and since the entire project is based on Java, it is
straightforward to adopt a subset of the Java Language[15] in order to avoid useless
transformations between the Editor and the Engine.
The model editor provides an Action Script editor based on the open source project
Bean Shell [BSHELL]: a Java interpreter (Java script) augmented with the ability to
access global negotiation variables as defined in the meta model like list of sent
messages, list of participants, start time of the negotiations, list of receive messages,
date and time and the model specific attributes.
In order to avoid reading sensitive information or gaining control of the negotiation,
it was decided not to enable the Participant side to define an Action Script.
In essence the editor is a rich client application that does not run inside a web
platform: the models can be stored locally in the file system or in the Distributed
Knowledge Base (DKB) as an XMI[16] encoded file. In line with the MDA
approach, these models are not specific to an execution engine, they are a PIM's,
Platform Independent Models, there is no assumption about the Execution Engine,
Jboss or Ilog or others, not even of course it assumes the participants of the
negotiations are humans using Web based interface or software components using
Web Services. As a matter of fact the Runtime environment could be implemented as
a PHP or .Net application. Actually ONE is supporting a Java implementation.
5The ONE Negotiation Metamodel
A negotiation specific language (a DSL) was created in order to allow users to design
any type of negotiation process as simply as possible, while still being specific
enough to allow the process to be machine executable. The metamodel uses
essentially a subset of UML, as no existing UML profile met our requirements.
The metamodel has two sections, the Information model which describes what is
being negotiated, and the Negotiation Protocol , which describes how an agreement
is negotiated. The Information Model needs to be very flexible to support almost any
business domain, so it has a simple structure with attributes and issues that can be
negotiated (changed by negotiators). The ONE metamodel does contain any standard
agreement or contract types, and it is up to users to define these models.
The Negotiation Protocol is the process by which an agreement is reached between
multiple parties.
From examining many existing negotiation methods and systems, a number of
features common to virtually all negotiation processes were determined. An example
of one of these concepts is that to reach an agreement a user must make an offer and
that offer must be accepted by another user. These concepts were formalised into the
negotiation protocol section of the ONE Negotiation metamodel.
9. A core requirement for the ONE system was the decentralisation of the negotiation,
this meant each user would maintain their own state in a negotiation. Negotiations do
not require a neutral third party to host or coordinate a negotiation, the parties
communicate directly with one another. This brought us to the approach of using
independent state diagrams for each user, with the transitions between states being
triggered by the sending or receipt of messages, or other stimulus. Each Negotiation
State machine would have a number of SuperStages that a process would go through
on the way to reaching an Agreement.
These SuperStages are present in every ONE negotiation model but can be bypassed
by transitions if not required. The SuperStages are Admission, Readiness Negotiation
and Acceptance. A detailed description of the meanings and rules for each state can
be found in D3.1. The SuperStages and the basic negotiation protocol were created to
help ensure every negotiation achieved certain legal norms inherent in contract
creation[ONM].
Figure 5: Generic Negotiation Protocol Behaviour
User defined Stages in ONM represent specific steps in the negotiation process, such
as when a user is creating an offer or other message, waiting to respond to an offer,
or waiting after a sealed bid has been made. These states are defined by the modeler
and customized by adding actions and transitions to other states.
10. 5.1Messages
The Exchange of messages is vital to any negotiation, and in the ONE MetaModel
we defined a number of message types, in including Offers, Agreements, Admission
Requests, Information and Notification messages . These Message types have
defined meanings and uses but can be extended to support new negotiation models.
5.2Actions
Figure 5: Figure 5: Protocol Messages
Actions are functions that are triggered at certain steps in the negotiation protocol,
such as when a user enters or leaves a specific stage. In designing the metamodel a
difficult decision to make was the level of granularity for predefined actions. The
more functionality that was included in the predefined actions, the less flexible the
system becomes.With less functionality the metamodel provides no benefit over
existing modelling languages. The decision made was to define a few simple
common actions, and define the more complex behavior in action Scripts, small
sections of Bean shell code, embedded in the models. This approach allows a user to
easily define the exchange of messages of the negotiation in a drag and drop editor,
and also write complex rules to sort or filter messages using an imperative language.
5.3Transformation and Execution
A key requirement of the ONE project is that negotiations created using the ONE
metamodel must be automatically executable. This could have been achieved by
11. developing a state machine engine to step through the ONE models. However an
existing open source state machine(JBPM) was found to have all of the core features
required for the ONE Engine. It was demonstrated that by transforming models from
the ONE DSL into JBPM compatible models(JPDL), the development cycle could be
greatly reduced.
The process of transforming negotiation models from the ONE metamodel into JPDL
was not a straightforward task, as not every feature in ONE metamodel had an
equivalent in JPDL. A specific area of difficulty was around Event triggering as the
two languages used different approaches. Eventually a multiple layer transformation
process was developed that supported all the features of the ONE metamodel[17].
This process uses a number of ATL rules (Atlas Transformation Language) with
XSLT also used for formattingFigure 6 below.
The transformation layer would allow different implementations to use the same
negotiation model, with Web services providing the standard for messaging. This
means that it will be easily to replace components of the current ONE platform with
new components and remain compatible with existing ONE nodes and Negotiation
models.
M a p s fro m M a p s to
ATL
m e ta m o d e l E n g in e M e ta M o d e l
N e g o tia tio n M e ta M o d e l
(S o u rc e M M ) (T a rg e t M M )
In s ta n c e o f
In s ta n c e o f
in p u t
N e g . M o d e ls T ra n s fo r m a tio n E n g . M o d e ls
N e g . M o d e ls R u le s E n g . M o d e ls
N e g . M o d e ls E n g . M o d e ls
o u tp u t
in p u t
s to re d in p u t
O n e R u n tim e
DKB E n g in e
T r a n s fo r m a tio n
R e p o s ito r y
T o o ls
Figure 6: models and metamodels
The greatest benefit of transforming the models into an existing process model
language was that it allowed us to rapidly prototype negotiation processes in a stable
state machine environment and use a number of features that would not have been
possible to implement with the available resources.
6The Runtime Environment
The Runtime is the Web base environment where negotiations' instances are created
from models and executed; in addition this environment provides a set of side
functionalities[18] like searching, inspecting for negotiations, registration, login and
the management of a personal workspace where to keep track of past negotiations,
called the My One[19]: it can be said that, with the exception of the Model Editor,
the run time provides all the resources needed to expose all the functionalities as
12. specified in Deliverable “D2.1 Functional Architecture”. The connection point
between the Factory and the Runtime is the Distributed Knowledge Base (Distributed
Knowledge Base) that receives the models created in the first environment and they
are then retrieved, configured and executed from the second (Figure 2 “ONE
simplified standard stack“ in page 3).
As specified in the project deliverable D2.1, the Runtime environment supports the
ONE Web Portal and the MyONE. While the Web Portal is publicly accessible, the
MyONE requires authentication; and provides functionalities to users that are act as a
participant or as an owner.
The most relevant features of the ONE Web Portal are:
• to allow users to configure a negotiation in a section of the Portal which is called
the “Setup”;
• to execute a negotiation in a section of the Portal which is called the “Negotiation
Console”;
• the workspace, where contacts, profile, part negotiations are managed.
The Setup is the phase where a negotiation is created from a model, an instance is
actually created with data and published in the portal. From this point participants
can join and negotiate under the rules specified in the model.
The ONE Web Site is not implemented as a centralized server, even if it behave like
a classical web site like Ebay[EBAY]: the information (like models, negotiations,
history, contacts...) are stored in the DKB (Distributed Knowledge Base) that adopts
a decentralized peer-to-peer network of nodes.
The implementation is not straightforward because the topology of a negotiation
environment is multidimensional as the shows. In the ONE architecture we have
defined three p2p architectures each -potentially- with a different topology:
1. Negotiation Arena: essentially a p2p networks of star based networks;
2. One Nodes: a p2p network;
3. DKB: another p2p network.
As it was said, the ONE Runtime components will not reside in a single central
server but will make use of participants’. As such there can be several ONE Web
Portals in the Internet each with its own different IP address and any of these can be
used to log in and to enter the community. The ONE Web Portal is hence a stateless
application server, it does not own a local storage of information; it stores and
retrieve information from the Distributed Knowledge Base only.
Nevertheless from the usability perspective there is not much difference respect to a
traditional Auction or Negotiation web site. This is a unique feature for this type of
system that represents an advancement in the state of the art; this strategy greatly
hardens the architecture and the implementation.
7The ONE node
There are essentially three kinds of topologies in ONE (reference ):
1. ONE Nodes: the network of ONE Nodes which represent the Community:
2. DKB: the trusted network of DKB nodes which, in relation to a Community,
provides the storage support;
13. 3.
Negotiation Arena: the network that represents all the participants when
executing a negotiation. With respect to the other two topologies, the
Negotiation Arena adopts a centralized architecture, where -for the sole
duration of a negotiation- the owner hosts the central node of a star based
network topology where participants are the vertexes that are connected
through their own ONE Node.
The One node is technically shown in Figure 7 below, it is built on top of the Spring
[20] service container, where a ONE specific framework has been developed. All the
functional components are then plugged on top and some of them make also use of
the Portal that make use of an Open Source implementation[21] of the Portlet
specification[22].
In a Negotiation Arena, a negotiation starts in the node that has been defined by the
owner at setup time; the central node is assumed to remain active for the entire
duration of the negotiation despite the fact that the owner is logged in or not. In this
scenario, and in ONE in general, it is assumed that participants have a preference for
a trusted node through which they access a ONE instance. This node, as it was
introduced in the previous section, is responsible for its traffic and for the activity of
their users, as such there is a cross trusted relation that will be properly implemented
by the Security Component of ONE. In other words, all the nodes in ONE are the
trustees of the users coming by their connection and hence the prime subject of trust
is a node. As such the most important trusted entities in a Negotiation Arena are
essentially the nodes of the participants and of the owner.
Web Interfaces Public Negotiation
MyOne
Portal Console
local
AJAX, Portlet API
Pluto Web Portal
http://portals.apache.org/pluto/
ONE framework (announcement logging, timers...)
Negotiation Trust &
DKB Security R&L
Engine Reputation
To soapod
in ONE nodes
Soapod (p2p infrastructure, DBE conn, service registry,..) JBoss JCR
for node registry http://www.soapod.org/ MySQL Jackrabbit
JColibrì WS
NetWork NetWork NetWork NetWork API
Spring (application server)
http://www.springframework.org/
Tomcat (container)
http://tomcat.apache.org/
JVM
Figure 7: One node, layers of technologies
As a consequence, users who intend to participate to a negotiation are to be
redirected, together with their trusted/owning node, to the central node were the
negotiation will be hosted and run. Participants are not required to log in directly to
the central node, they can use any ONE Web Portal to access the community but
when “Joining” a negotiation a proper forwarding mechanism will be executed in
order to connect the user to the central node via his trusted node (the information
about the location of the negotiation hosting node is specified in the negotiation
instance stored the Distributed Knowledge Base). It is important to enforce the
concept that a node becomes “central” only for the duration of the negotiation: this is
not an absolute property of a node. When the negotiation will terminate the node will
return “generic”, with no specific role.
14. O ne N o de
O ne N ode
P 2 P netw o r k
P artic ip an t
O ne N ode P artic ip an t
T ru s te d N o d e
T ru s te d N o d e
P artic ip an t
P a r tic ip a n t T ru s te d N o d e
N e g o tia tio n A T ru s te d N o d e & N e g o tia tio n B
N e g o t ia t io n N o d e
T ru s te d N o d e O w ner
P artic ip an t
O ne N ode
O w ner N e g o t ia t io n N o d e
T ru s te d N o d e
P a r tic ip a n t D e c e n tr a liz e d K B
P 2 P n e tw o r k
D e c e n tralize d K B
N o te : A T ru s te d N o d e is a O N E N o d e ju s t in a d iff e r e n t r o le
D e c e n tr a liz e d K B
Figure 8: Overlapping Negotiation Arenas
A consequence of this approach is that a node might run, hence host, several
negotiations at the same time; it could be a central node for many negotiations. A
node, in addition, could host the connections of many users who could participate to
different negotiations and hence the Negotiation Areas do overlap and intersect: a
node can support many users in the role of owner and many users in the role of
participants in the same or in different nodes. The Figure 3 in page 5 represents an
ideal scenario where two separate Arenas do not share any Node and also represent
their relation with the Distributed Knowledge Base. represents the overlapping
scenario when there is a node which is both hosting a negotiation and is the trusted
entry node of a different one.
Another alternate scenario which is supported is the case where an user wishes to
participate to a negotiation without having a trusted node, in this case the architecture
will allow the user to join the negotiation using the owner's central node; this
assumes that the owner when setting up the negotiation has allowed this feature. The
pros will be a probable increase in the number of participants, with the cons of the
risk of accepting non trusted participants.
Since negotiations are supposed to last for several days or weeks it is hence required
to provide a fail-over mechanism: during the negotiation, the Engine will take care of
duplicating the negotiation state in a backup node. Whenever a central node is
unavailable the “Join” of a negotiation will forward the request to the backup node.
This and other scenarios are to be implemented by the Execution Engine.
15. 8Recommender and Learner
ONE also provides a recommendation framework and an intelligent learner system
that given the negotiation models and the history of past anonymous executions is
able to provide feedbacks and infer suggestions to the participants.
The Recommender System[23] that plays a key role in supporting users during the
negotiation processes, it recommends how to reply or respond in a negotiation. It is
aimed at implementing a learning agent, able to suggest to the user a negotiation
strategy. This has been achieved by observing, in the right context, the user
behaviour and the actions of other partners in past negotiations.
Figure 9: The design of the learner component (from D4.1
Recommender and Learner)
The recommender system might also automate certain type of actions, i.e., to reply
on behalf of the participant. The strategy learning algorithms will be based on the
observation and storage of real interactions that happens in the Execution
Environment.
The Learner is a component that infers Recommendation Models from logs of past
negotiations, it is used by the Recommender. Figure 9 above shows a sketch of the
internals of the Learner component.
9Summary and conclusions
MDA is the founding principle that drives the entire architecture of the Open
Negotiation Environment, this allows the solution to functionally scale, to have
software components that are not bound to any specific negotiation and are adaptable
to custom needs. The consortium has successfully and widely adopted the MDA
Eclipse framework as a set of specifications and tools. This has also provided benefit
in the daily organization of the work easing the interoperability issues among
partners and software components.
The architecture adopts a decentralized approach to avoid having a central node (a
single point of failure) as this would jeopardize the adoption of the platform. The
16. architecture is configured in order to behave like a self supporting organism that
grows over time: nodes of participant organizations are attached to each other sharing
resources.
This decision has put severe challenges in the project that required to rethink the
model repository, the service registry and the topology of the network. The
technologies for the decentralization are built around p2p protocols.
The project, due to end in June 2009, is showing tangible results: negotiations
models can already be modelled, published and executed.
References
1: Many, Model Driven Architecture, , www.omg.org/mda
2: Many, UML, , http://www.uml.org/
3: Many, OMG MDA Guide , 2001
4: Many, OMG Negotiation Facility, 2002, http://www.omg.org/cgi-bin/doc?formal/
2002-03-14
5: Ferronato Pierfranco, Architecture for Digital Ecosystems: Beyond Service-
Oriented Architecture, 2007
6: Many, Folksomy, , http://en.wikipedia.org/wiki/Folksonomy
7: Mihaela Ion, Andrea Danzi, D5.2- Design of a peer-to-peer reputation model,
2007
8: Many, Digital Business Ecosystem Project, 2004, www.digital-ecosystem.org
9: Melvin E. Conway, How Do Committees Invent?, 1968
10: P. Cavalcance, P. Ferronato,, Del 3.3 Set of Software Design Tools, 2008
11: Many, Graphical Editing Framework, , http://www.eclipse.org/gef/
12: Many, Eclipse Graphical Modeling Framework, ,
http://www.eclipse.org/modeling/gmf/
13: Many, Meta Object facility, , http://www.omg.org/mof
14: Many, Eclipse Modeling Framework, , http://www.eclipse.org/modeling/emf/
15: Many, Provides classes that are fundamental to the design of the Java
programming language, , http://java.sun.com/j2se/1.4.2/docs/api/java/lang/package-
summary.html
16: Many, MOF 2.0/XMI Mapping, Version 2.1.1, 2007, http://www.omg.org/cgi-
bin/doc?formal/2007-12-01
17: Z Boudjemil, J. Finnegan, D3.1 – Languages, Models and Agreements, 2008
18: Pierfranco Ferronato, D2.1 – Functional Architecture, 2008
19: Katarina Stanoevska-Slabeva, Roger Faust, Volker Hoyer, D1.2 – Software
Requirements and Use Cases, 2007
20: Many, The Spring Framework, , http://springframework.org/
21: Many, Reference Implementation of the Java Portlet Specfication, ,
http://portals.apache.org/pluto/
22: Java Community Process, JSR 168: Portlet Specification, ,
http://www.jcp.org/en/jsr/detail?id=168
23: Paolo Avesani, Andrea Malossini, Loris Penserini, Alessandro Serra, D4.1 -
Interaction Design, 2007
17. [DELTOOL] P. Cavalcance, P. Ferronato, “Del 3.3 Set of Software Design Tools”, 1.6.2008, a ONE
Deliverable