Article on International Journal of Mobile Communications "An Architectural P...Walter Ariel Risi
Published in Journal
International Journal of Mobile Communications. Volume 2 Issue 3, September 2004.Inderscience Publishers Inderscience Publishers, Geneva, SWITZERLAND.
This document provides an agenda and descriptions for an Architecture-Driven Modernization workshop taking place from March 22-24, 2004 in Chicago. The workshop includes several tutorials and sessions on topics related to modernizing existing software systems through architecture-driven approaches and leveraging existing assets. Tutorials will cover application modernization strategies, managing existing software through architectural models, and harvesting reusable components from legacy code. Sessions will present methodologies for model-driven legacy migration, domain-driven modernization, addressing scale in analysis tools, mining software architecture from databases, and extending the life of software through componentization.
The document discusses domain-specific software engineering and product lines. It defines domain-specific software architectures and product lines, and explains their relationship. It provides examples of using the Koala architecture description language and xADL 2.0 to model product line architectures for lunar lander games and software defined radios. Variation points are used to capture alternative products and versions.
This document discusses the concept of sustainable software design. It defines sustainable design as design where decisions and rationale are reflected in code and documentation in a way that is resistant to evaporation over time. It discusses how areas like modularity, documentation, programming languages, design patterns, and model-driven engineering relate to sustainable design. It highlights challenges like precisely defining sustainability and finding ways to evaluate the costs and benefits of sustainable design practices. The goal is to develop sustainable design as a quality attribute and incentivize its use.
The Role of the Enterprise Architect in Business Process ReengineeringRichard Freggi
Business Process Reengineering is often a challenging undertaking. This paper is a case study, sharing practical experience of how the enterprise architect can help in three ways:
• Provide a common language allowing different organizations, consultants and IT teams to communicate effectively
• Set the right level of abstraction to facilitate analysis and solution of complex questions
• Reconcile user’s wants and needs with the capabilities and constraints of IT systems
Reference is made to the Zachman Framework, especially the columns for “Data”, “Function” and “People”; and how these columns can be used to interact with stakeholders using UML (Unified Modeling Language).
This document discusses architectural integration styles for large-scale enterprise software systems. It proposes using architectural styles as a way to generalize common integration solutions at the enterprise system level, similar to how styles are used in traditional software architecture. The document defines key terms and presents a structure for describing architectural integration styles. It then describes several example styles, and presents a case study applying the style selection process to an energy company's system integration project. The goal is to provide an approach for selecting integration solutions based on the characteristics of existing systems and desired quality attributes.
Architectural approaches for implementing Clinical Decision Support Systems i...Luis Felipe Tabares Pérez
This document presents the results of a systematic literature review on architectural approaches for implementing clinical decision support systems in the cloud. The review identified 12 primary studies and analyzed them based on their proposed architectural approach, contributions of cloud computing, challenges, application area, type of clinical decision support, quality attributes, and data sources. Common findings included the use of three main components - a knowledge database, inference engine, and interface server. Key challenges were performance, compatibility and reliability, while security and privacy were main concerns. There was also a lack of formalism in software engineering practices and rigor in defining cloud-based approaches.
The document discusses key concepts in software design including:
1) Design creates representations of software architecture, data structures, interfaces and components that provide details for implementation beyond what is in requirements.
2) Design allows modeling of a system before implementation to assess quality.
3) Good design should exhibit firmness, commodity, and delight according to a "software design manifesto."
Article on International Journal of Mobile Communications "An Architectural P...Walter Ariel Risi
Published in Journal
International Journal of Mobile Communications. Volume 2 Issue 3, September 2004.Inderscience Publishers Inderscience Publishers, Geneva, SWITZERLAND.
This document provides an agenda and descriptions for an Architecture-Driven Modernization workshop taking place from March 22-24, 2004 in Chicago. The workshop includes several tutorials and sessions on topics related to modernizing existing software systems through architecture-driven approaches and leveraging existing assets. Tutorials will cover application modernization strategies, managing existing software through architectural models, and harvesting reusable components from legacy code. Sessions will present methodologies for model-driven legacy migration, domain-driven modernization, addressing scale in analysis tools, mining software architecture from databases, and extending the life of software through componentization.
The document discusses domain-specific software engineering and product lines. It defines domain-specific software architectures and product lines, and explains their relationship. It provides examples of using the Koala architecture description language and xADL 2.0 to model product line architectures for lunar lander games and software defined radios. Variation points are used to capture alternative products and versions.
This document discusses the concept of sustainable software design. It defines sustainable design as design where decisions and rationale are reflected in code and documentation in a way that is resistant to evaporation over time. It discusses how areas like modularity, documentation, programming languages, design patterns, and model-driven engineering relate to sustainable design. It highlights challenges like precisely defining sustainability and finding ways to evaluate the costs and benefits of sustainable design practices. The goal is to develop sustainable design as a quality attribute and incentivize its use.
The Role of the Enterprise Architect in Business Process ReengineeringRichard Freggi
Business Process Reengineering is often a challenging undertaking. This paper is a case study, sharing practical experience of how the enterprise architect can help in three ways:
• Provide a common language allowing different organizations, consultants and IT teams to communicate effectively
• Set the right level of abstraction to facilitate analysis and solution of complex questions
• Reconcile user’s wants and needs with the capabilities and constraints of IT systems
Reference is made to the Zachman Framework, especially the columns for “Data”, “Function” and “People”; and how these columns can be used to interact with stakeholders using UML (Unified Modeling Language).
This document discusses architectural integration styles for large-scale enterprise software systems. It proposes using architectural styles as a way to generalize common integration solutions at the enterprise system level, similar to how styles are used in traditional software architecture. The document defines key terms and presents a structure for describing architectural integration styles. It then describes several example styles, and presents a case study applying the style selection process to an energy company's system integration project. The goal is to provide an approach for selecting integration solutions based on the characteristics of existing systems and desired quality attributes.
Architectural approaches for implementing Clinical Decision Support Systems i...Luis Felipe Tabares Pérez
This document presents the results of a systematic literature review on architectural approaches for implementing clinical decision support systems in the cloud. The review identified 12 primary studies and analyzed them based on their proposed architectural approach, contributions of cloud computing, challenges, application area, type of clinical decision support, quality attributes, and data sources. Common findings included the use of three main components - a knowledge database, inference engine, and interface server. Key challenges were performance, compatibility and reliability, while security and privacy were main concerns. There was also a lack of formalism in software engineering practices and rigor in defining cloud-based approaches.
The document discusses key concepts in software design including:
1) Design creates representations of software architecture, data structures, interfaces and components that provide details for implementation beyond what is in requirements.
2) Design allows modeling of a system before implementation to assess quality.
3) Good design should exhibit firmness, commodity, and delight according to a "software design manifesto."
The document discusses various design concepts and elements of the design model in software engineering. It covers 12 key design concepts including abstraction, architecture, patterns, separation of concerns, modularity, and information hiding. It also discusses design classes, refinement, aspects, and refactoring. Additionally, it outlines elements of the design model including data design, architectural design, interface design, component-level design, and deployment-level design. The goal of design is to create a model of software that will correctly implement requirements and provide joy to users.
Elements of Innovation Management in Computer Software and ServicesMichael Le Duc
IAMOT 2000, The Ninth International Conference on Management of Technology
February 20-25, 2000, Miami, Florida, USA. Track 4: Industrial Innovation see http://www.iamot.com/
Framework for developed simple architecture enterprise fdsaecsandit
In This article presents a framework for develop de Architecture enterprise based on the
articulation of emerging paradigms for architecture development of information enterprise [1].
The first one comes from the agile methods and it is inspired on the Scrum model which aim to
simplify the complex task of developing a quality software, the second the processes models
whose are oriented the development of Architectures Enterprise as Zachman and TOGAF in a
paradigm of the Model Driven and principles de reference de architecture de Software form the
paradigms Generation (MDG), these approaches are integrated eventually leading to the
formulation and presentation of an framework for developed simple architecture enterprise –
FDSAE- The goal is to present a simple, portable, understandable terms enabling, modeling
and design business information architecture in any organizational environment, in addition to
this, there are important aspects related to the unified Modeling Language UML 2.5 and the
Business Process Modeling BPMn that become tools to obtain the products in the FDSAE
Framework, This framework is an improved version of Framework MADAIKE [2] developed by
the same authors.
The document discusses the process of requirements engineering. It begins by defining requirements engineering as the process of defining, documenting, and maintaining requirements. It then outlines the key tasks in requirements engineering: inception, elicitation, elaboration, negotiation, specification, validation, and management. For each task, it provides details on the goals and steps involved. Overall, the document provides a comprehensive overview of requirements engineering and the various activities that comprise the process.
The document provides an introduction to software engineering and process models. It defines key terms like software, software engineering, and characteristics of software. It then discusses software engineering as a layered technology with process, method, and tools layers. The document also explains the software process as consisting of five generic activities - communication, planning, modeling, construction, and deployment. It provides examples and definitions for each activity. Finally, it asks exam questions related to defining software engineering and explaining it as a layered technology.
Software architecture for developers by Simon BrownCodemotion
The document describes a situation where an existing internet banking system for a bank is in need of replacement. It outlines problems with the current system such as only providing read-only access, slightly outdated information, and limited features. It presents a vision for a new system that provides real-time access, ability to perform transactions online, a rich user experience, and meets accessibility standards. Functional and non-functional requirements, principles, and constraints for the new system are to be explored to guide the design options.
he constant demand for immediate access to data and resources,
reliability and efficiency has created a new ideal of modern,
powerful enterprise IT. Based on market research and technology
observation, this paper explores which criteria modern platforms
have to meet and how leading vendors and service providers
respond in order to deliver these platforms. It is intended as a
guideline for executives who need to make informed purchase
decisions.
The document discusses architectural design, including software architecture, architecture genres, styles, and design. It covers topics such as what architecture is, why it's important, architectural descriptions, decisions, genres like artificial intelligence and operating systems, styles like layered and object-oriented, patterns, organization/refinement, representing systems in context, defining archetypes, refining into components, describing instantiations, and assessing alternative designs.
This document provides the program for an Architecture-Driven Modernization workshop taking place from March 22-24, 2004 in Chicago, IL. The workshop includes tutorials, presentations, panels and demonstrations on the topics of application modernization, leveraging existing software assets, recovering architecture models from legacy code, and transitioning to model-driven approaches. It features speakers from organizations like IBM, Klocwork, THALES and others discussing their experiences with architecture-driven modernization projects.
Software Architecture Views and ViewpointsHenry Muccini
This document discusses views and viewpoints in software architecture. It defines a viewpoint as a way of looking at a system that defines conventions for constructing views. A view is the result of applying a viewpoint to a system. The document discusses how stakeholders have different concerns that shape the viewpoints and views. It provides examples of viewpoints like the Rational Unified Process 4+1 views. The document emphasizes that using multiple views aligned with stakeholder concerns has become a standard practice in architecture description.
My take on the difference between software architecture and software design. Also highlights similarities between ISO/IEC/IEEE 42010-2011 (Systems and software engineering —Architecture description) and IEEE STD 1016-2009 (Systems Design — Software Design Descriptions)
How Domain-Driven Design Can Boost Legacy System ModernizationCognizant
Domain-driven design (DDD) principles can help modernize legacy systems by transforming monolithic architectures into domain-centric microservices. This allows incremental modernization while maintaining business alignment. The document outlines a 7-step framework using DDD to progressively modernize a legacy material ordering system at Kvaerner by: 1) decomposing domains, 2) identifying user personas, 3) designing bounded contexts, 4) forming domain services, 5) weaving persona-based apps, 6) synchronizing with the legacy system, and 7) retiring transformed modules. This framework provides a structured approach to modernization while delivering continuous business value.
An Introduction to Software Architecture - SummaryJohn Ortiz
This document provides an introduction to software architecture. It discusses how effective software engineering requires an understanding of architectural design. It also outlines some common architectural paradigms and styles, including pipes and filters, data abstraction/object-oriented organization, event-based/implicit invocation, and layered systems. For each style, it describes the key components, connectors, constraints, examples, advantages, and disadvantages. The goal is to help engineers recognize useful system organizations and make principled choices among design alternatives.
The chapter discusses program design which involves determining programs to write and creating instructions for programmers. It covers moving from logical to physical process models by adding implementation details to DFDs. Program design is done using a top-down modular approach including a structure chart to show program organization and interaction, and program specifications with detailed instructions for programmers. The structure chart is created from the DFDs and design guidelines are provided for cohesion, coupling and fan-in/fan-out.
There are essential security considerations in the systems used by semiconductor companies like TI. Along
with other semiconductor companies, TI has recognized that IT security is highly crucial during web
application developers' system development life cycle (SDLC). The challenges faced by TI web developers
were consolidated via questionnaires starting with how risk management and secure coding can be
reinforced in SDLC; and how to achieve IT Security, PM and SDLC initiatives by developing a prototype
which was evaluated considering the aforementioned goals. This study aimed to practice NIST strategies
by integrating risk management checkpoints in the SDLC; enforce secure coding using static code analysis
tool by developing a prototype application mapped with IT Security goals, project management and SDLC
initiatives and evaluation of the impact of the proposed solution. This paper discussed how SecureTI was
able to satisfy IT Security requirements in the SDLC and PM phases.
This chapter discusses use case analysis and how it can be used to express user requirements. A use case represents how a system interacts with its environment through activities performed by users and system responses. It includes elements such as a name, description, actors, triggers, steps, alternatives, and inputs/outputs. Use cases are developed through user interviews and can be used to derive functional requirements and test cases for the system. The chapter provides guidance on writing use cases by identifying major use cases and steps, elements within steps, and confirming the use case with users.
The document outlines seven principles for organizations to consider when purchasing standardized packaged software:
1) By purchasing a software package, an organization joins that software's user network and commits to a long-term relationship.
2) Organizations should take a long-term perspective when choosing software, considering which technologies are likely to become dominant standards.
3) There is safety in choosing software with many users, as standards with larger networks are less likely to become obsolete.
4) Organizations should focus on compatibility and avoid proprietary additions that increase switching costs later.
5) The software chosen should have an accessible user base of knowledge to support its technology network.
6) The type of standardization the software uses, such
Software Engineering: Designing a Better Experience for Communications, Media...Cognizant
Software makes the world go ‘round, from hyperefficient business operations to users wowed by the newest app interface and digital products. For CMT companies, software development innovation is the key not only to enhancing business agility but to rapidly designing and offering extraordinary experiences and cutting-edge products that will continually satisfy and delight customers.
Software architecture refers to the high-level structures of a software system and the discipline of designing these structures. It involves making fundamental choices about components, interactions, and properties that are difficult to change later. Documenting software architecture facilitates communication between stakeholders and allows reuse of design elements. It provides an abstract understanding of a complex system before implementation to enable analysis, reuse, risk management, and cost reduction. The concepts of software architecture have developed since the 1960s with increased research in the 1990s focusing on styles, documentation, and formal methods.
Software Archtecture.
Software design is a process to transform user requirements into some suitable form, which helps the programmer in software coding and implementation.
Software design is the important step in SDLC (Software Design Life Cycle), which moves the concentration from problem domain to solution domain. It tries to specify how to fulfill the requirements mentioned in SRS.
Software design plays an important role in developing software: during software design, software engineers produce various models that form a kind of blueprint of the solution to be implemented
The document discusses key concepts in software design including abstraction, architecture, patterns, modularity, coupling and cohesion, and information hiding. It defines software design as transforming user requirements into an implementable form using programming languages. The software design process exists between requirements and programming and yields architectural, high-level, and detailed designs. It also outlines characteristics of good design like correctness, efficiency, and understandability.
The document discusses various design concepts and elements of the design model in software engineering. It covers 12 key design concepts including abstraction, architecture, patterns, separation of concerns, modularity, and information hiding. It also discusses design classes, refinement, aspects, and refactoring. Additionally, it outlines elements of the design model including data design, architectural design, interface design, component-level design, and deployment-level design. The goal of design is to create a model of software that will correctly implement requirements and provide joy to users.
Elements of Innovation Management in Computer Software and ServicesMichael Le Duc
IAMOT 2000, The Ninth International Conference on Management of Technology
February 20-25, 2000, Miami, Florida, USA. Track 4: Industrial Innovation see http://www.iamot.com/
Framework for developed simple architecture enterprise fdsaecsandit
In This article presents a framework for develop de Architecture enterprise based on the
articulation of emerging paradigms for architecture development of information enterprise [1].
The first one comes from the agile methods and it is inspired on the Scrum model which aim to
simplify the complex task of developing a quality software, the second the processes models
whose are oriented the development of Architectures Enterprise as Zachman and TOGAF in a
paradigm of the Model Driven and principles de reference de architecture de Software form the
paradigms Generation (MDG), these approaches are integrated eventually leading to the
formulation and presentation of an framework for developed simple architecture enterprise –
FDSAE- The goal is to present a simple, portable, understandable terms enabling, modeling
and design business information architecture in any organizational environment, in addition to
this, there are important aspects related to the unified Modeling Language UML 2.5 and the
Business Process Modeling BPMn that become tools to obtain the products in the FDSAE
Framework, This framework is an improved version of Framework MADAIKE [2] developed by
the same authors.
The document discusses the process of requirements engineering. It begins by defining requirements engineering as the process of defining, documenting, and maintaining requirements. It then outlines the key tasks in requirements engineering: inception, elicitation, elaboration, negotiation, specification, validation, and management. For each task, it provides details on the goals and steps involved. Overall, the document provides a comprehensive overview of requirements engineering and the various activities that comprise the process.
The document provides an introduction to software engineering and process models. It defines key terms like software, software engineering, and characteristics of software. It then discusses software engineering as a layered technology with process, method, and tools layers. The document also explains the software process as consisting of five generic activities - communication, planning, modeling, construction, and deployment. It provides examples and definitions for each activity. Finally, it asks exam questions related to defining software engineering and explaining it as a layered technology.
Software architecture for developers by Simon BrownCodemotion
The document describes a situation where an existing internet banking system for a bank is in need of replacement. It outlines problems with the current system such as only providing read-only access, slightly outdated information, and limited features. It presents a vision for a new system that provides real-time access, ability to perform transactions online, a rich user experience, and meets accessibility standards. Functional and non-functional requirements, principles, and constraints for the new system are to be explored to guide the design options.
he constant demand for immediate access to data and resources,
reliability and efficiency has created a new ideal of modern,
powerful enterprise IT. Based on market research and technology
observation, this paper explores which criteria modern platforms
have to meet and how leading vendors and service providers
respond in order to deliver these platforms. It is intended as a
guideline for executives who need to make informed purchase
decisions.
The document discusses architectural design, including software architecture, architecture genres, styles, and design. It covers topics such as what architecture is, why it's important, architectural descriptions, decisions, genres like artificial intelligence and operating systems, styles like layered and object-oriented, patterns, organization/refinement, representing systems in context, defining archetypes, refining into components, describing instantiations, and assessing alternative designs.
This document provides the program for an Architecture-Driven Modernization workshop taking place from March 22-24, 2004 in Chicago, IL. The workshop includes tutorials, presentations, panels and demonstrations on the topics of application modernization, leveraging existing software assets, recovering architecture models from legacy code, and transitioning to model-driven approaches. It features speakers from organizations like IBM, Klocwork, THALES and others discussing their experiences with architecture-driven modernization projects.
Software Architecture Views and ViewpointsHenry Muccini
This document discusses views and viewpoints in software architecture. It defines a viewpoint as a way of looking at a system that defines conventions for constructing views. A view is the result of applying a viewpoint to a system. The document discusses how stakeholders have different concerns that shape the viewpoints and views. It provides examples of viewpoints like the Rational Unified Process 4+1 views. The document emphasizes that using multiple views aligned with stakeholder concerns has become a standard practice in architecture description.
My take on the difference between software architecture and software design. Also highlights similarities between ISO/IEC/IEEE 42010-2011 (Systems and software engineering —Architecture description) and IEEE STD 1016-2009 (Systems Design — Software Design Descriptions)
How Domain-Driven Design Can Boost Legacy System ModernizationCognizant
Domain-driven design (DDD) principles can help modernize legacy systems by transforming monolithic architectures into domain-centric microservices. This allows incremental modernization while maintaining business alignment. The document outlines a 7-step framework using DDD to progressively modernize a legacy material ordering system at Kvaerner by: 1) decomposing domains, 2) identifying user personas, 3) designing bounded contexts, 4) forming domain services, 5) weaving persona-based apps, 6) synchronizing with the legacy system, and 7) retiring transformed modules. This framework provides a structured approach to modernization while delivering continuous business value.
An Introduction to Software Architecture - SummaryJohn Ortiz
This document provides an introduction to software architecture. It discusses how effective software engineering requires an understanding of architectural design. It also outlines some common architectural paradigms and styles, including pipes and filters, data abstraction/object-oriented organization, event-based/implicit invocation, and layered systems. For each style, it describes the key components, connectors, constraints, examples, advantages, and disadvantages. The goal is to help engineers recognize useful system organizations and make principled choices among design alternatives.
The chapter discusses program design which involves determining programs to write and creating instructions for programmers. It covers moving from logical to physical process models by adding implementation details to DFDs. Program design is done using a top-down modular approach including a structure chart to show program organization and interaction, and program specifications with detailed instructions for programmers. The structure chart is created from the DFDs and design guidelines are provided for cohesion, coupling and fan-in/fan-out.
There are essential security considerations in the systems used by semiconductor companies like TI. Along
with other semiconductor companies, TI has recognized that IT security is highly crucial during web
application developers' system development life cycle (SDLC). The challenges faced by TI web developers
were consolidated via questionnaires starting with how risk management and secure coding can be
reinforced in SDLC; and how to achieve IT Security, PM and SDLC initiatives by developing a prototype
which was evaluated considering the aforementioned goals. This study aimed to practice NIST strategies
by integrating risk management checkpoints in the SDLC; enforce secure coding using static code analysis
tool by developing a prototype application mapped with IT Security goals, project management and SDLC
initiatives and evaluation of the impact of the proposed solution. This paper discussed how SecureTI was
able to satisfy IT Security requirements in the SDLC and PM phases.
This chapter discusses use case analysis and how it can be used to express user requirements. A use case represents how a system interacts with its environment through activities performed by users and system responses. It includes elements such as a name, description, actors, triggers, steps, alternatives, and inputs/outputs. Use cases are developed through user interviews and can be used to derive functional requirements and test cases for the system. The chapter provides guidance on writing use cases by identifying major use cases and steps, elements within steps, and confirming the use case with users.
The document outlines seven principles for organizations to consider when purchasing standardized packaged software:
1) By purchasing a software package, an organization joins that software's user network and commits to a long-term relationship.
2) Organizations should take a long-term perspective when choosing software, considering which technologies are likely to become dominant standards.
3) There is safety in choosing software with many users, as standards with larger networks are less likely to become obsolete.
4) Organizations should focus on compatibility and avoid proprietary additions that increase switching costs later.
5) The software chosen should have an accessible user base of knowledge to support its technology network.
6) The type of standardization the software uses, such
Software Engineering: Designing a Better Experience for Communications, Media...Cognizant
Software makes the world go ‘round, from hyperefficient business operations to users wowed by the newest app interface and digital products. For CMT companies, software development innovation is the key not only to enhancing business agility but to rapidly designing and offering extraordinary experiences and cutting-edge products that will continually satisfy and delight customers.
Software architecture refers to the high-level structures of a software system and the discipline of designing these structures. It involves making fundamental choices about components, interactions, and properties that are difficult to change later. Documenting software architecture facilitates communication between stakeholders and allows reuse of design elements. It provides an abstract understanding of a complex system before implementation to enable analysis, reuse, risk management, and cost reduction. The concepts of software architecture have developed since the 1960s with increased research in the 1990s focusing on styles, documentation, and formal methods.
Software Archtecture.
Software design is a process to transform user requirements into some suitable form, which helps the programmer in software coding and implementation.
Software design is the important step in SDLC (Software Design Life Cycle), which moves the concentration from problem domain to solution domain. It tries to specify how to fulfill the requirements mentioned in SRS.
Software design plays an important role in developing software: during software design, software engineers produce various models that form a kind of blueprint of the solution to be implemented
The document discusses key concepts in software design including abstraction, architecture, patterns, modularity, coupling and cohesion, and information hiding. It defines software design as transforming user requirements into an implementable form using programming languages. The software design process exists between requirements and programming and yields architectural, high-level, and detailed designs. It also outlines characteristics of good design like correctness, efficiency, and understandability.
The document discusses adopting a "two-speed IT" approach for digital transformation, where core systems operate at a steady pace of incremental changes while new digital capabilities are rapidly developed and updated. This allows companies to maintain stable operations while innovating through new digital products and services. The role of the CIO is to drive this change by implementing practices like separating infrastructure for new and legacy systems and establishing centers of excellence for different speeds of development.
The use of an architecture–centered development process for delivering information technology began with
the introduction of client / server based systems. Early client/server and legacy mainframe applications did not
provide the architectural flexibility needed to meet the changing business requirements of the modern
publishing organization. With the introduction of Object Oriented systems, the need for an architecture–
centered process became a critical success factor. Object reuse, layered system components, data
abstraction, web based user interfaces, CORBA, and rapid development and deployment processes all
provide economic incentives for object technologies. However, adopting the latest object oriented technology,
without an adequate understanding of how this technology fits a specific architecture, risks the creation of an
instant legacy system.
Publishing software systems must be architected in order to deal with the current and future needs of the
business organization. Managing software projects using architecture–centered methodologies must be an
intentional step in the process of deploying information systems – not an accidental by–product of the
software acquisition and integration process.
This document discusses IT architecture and architects. It begins by noting that the main purpose of architecture is to deal with the complexity of information systems. It then provides examples of how systems have become more complex over time. The document discusses different types of architectures, including software architecture, solution architecture, and enterprise architecture. It defines the roles of software architects, solution architects, and enterprise architects. It also discusses competencies for architects and typical architecture deliverables. The document aims to provide clarity on different architecture roles and contexts.
76 May 2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docxevonnehoggarth79783
76 May 2007/Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNICATIONS OF THE ACM May 2007/Vol. 50, No. 5 75
Adding the word architect to a software practitioner’s title seems sim-
ple enough, but beneath the surface fundamentally different thinking,
toolsets, and disciplines are required to succeed. In teaching software
architecture and working as a software architect, database architect, and
chief architect, I have often found that an unfortunate lack of knowledge
surrounds the architect’s role. Even experienced software practitioners are
often unable to define what exactly the architect does or adds to the soft-
ware development process.
THE SOFTWARE
ARCHITECT
B y M a t t h e w R . Mc B r i d e
Leadership is the defining characteristic in
an unforgiving technology arena.
The context for my discussion here is the
construction of enterprise-level business appli-
cations. I chose it for its inherent difficulty and
complexity, though the related architectural
principles may be applied to any type of soft-
ware construction. Specifically, I examine the
results of applying these principles to three sep-
arate development efforts: a product-ordering
Web site, a complex business-to-business inte-
gration project, and the design and develop-
ment of an enterprise application. Regardless
of the situation, my experience has been that
software architects are not born but trained,
sometimes in the school of hard knocks.
Although effective software architects seem to
intuitively understand and guide projects, an
intellectual framework and its associated disci-
plines and tools are behind this thinking.
Reports of IT overspending and project failure
emphasize the fact that these skills must be
developed. Software professionals in a variety
of roles can leverage them to lead software pro-
jects to exceed customer expectations.
Many seminal ideas in software architecture
can be traced back to a speech Christopher
Alexander, a distinguished building architect,
• Explicit requirements explode by a factor of 50 or
more into implicit (design) requirements as a soft-
ware solution proceeds.
Perhaps more than any other task, managing com-
plexity is an essential element of architecture the
architect must address in order to deliver the
promised system. Strategic approaches are high-level,
broad-brush techniques
used by architects to master
complexity across technical
and nontechnical audiences
alike (see Figure 2).
Included are effective com-
munication and informa-
tion gathering, detailed
planning, and the educa-
tion of all stakeholders
regarding all relevant tech-
nologies. Tactical
approaches address the
techniques the architect
employs at a lower level of
detail, typically with those
who construct or use the
system. This group includes software designers, pro-
ject teams, and end users. Requirements planning,
separation of the system into logical layers, and care-
ful interface definition are
only a few of the tactical
tools at the ar.
The document defines enterprise architecture and discusses its key components and levels of detail. It also reviews major industry trends like big data, data analytics, mobility, and cloud computing that enterprise architects should focus on. The benefits of enterprise architecture are outlined as more efficient IT operations, reduced business risk, and faster time to market. Customer relationship management (CRM) aims to increase profitability through solidifying customer satisfaction and loyalty. True CRM provides a holistic view of customers to inform business decisions.
This document discusses an approach to assembling software products using a product line approach. It presents a separation continuum that separates concerns both vertically (from abstract to implementation layers) and horizontally (between human-facing and machine-facing aspects). An application assembly approach is then discussed where a product line architecture is tied to this separation continuum, allowing high productivity by reusing pre-built software assets to realize new product lines. The approach aims to facilitate experimentation in building large-scale application assembly capabilities.
The use of an architecture–centered development process for delivering information technology began with the introduction of client / server based systems. Early client/server and legacy mainframe applications did not provide the architectural flexibility needed to meet the changing business requirements of the modern manufacturing organization. With the introduction of Object Oriented systems, the need for an architecture–centered process became a critical success factor. Object reuse, layered system components, data abstraction,
web based user interfaces, CORBA, and rapid development and deployment processes all provide economic
incentives for object technologies. However, adopting the latest object oriented technology, without an adequate understanding of how this technology fits a specific architecture, risks the creation of an instant legacy
system.
The document discusses various approaches to designing software architectures and systems. It covers the standard engineering design process, potential problems that can arise, and alternative design strategies like cyclic, parallel, adaptive, and incremental processes. It also discusses tools for design like abstraction, separation of concerns, and applying experience. Architectural patterns, styles, and domain-specific software architectures are introduced as ways to apply lessons learned to new designs.
A Survey of Building Robust Business Models in Pervasive ComputingOsama M. Khaled
Pervasive computing is one of the most challenging and difficult computing domains nowadays. It includes many architectural challenges like context awareness, adaptability, mobility, availability, and scalability. There are currently few approaches which provide methodologies to build suitable architectural models that are more suited to the nature of the pervasive domain. This area still needs a lot of enhancements in order to let the software business analyst (BA) cognitively handle pervasive applications by using suitable tasks and tools. Accordingly, any proposed research topic that would attempt to define a development methodology can greatly help BAs in modeling pervasive applications with high efficiency. In this survey paper we address some of the most significant and current software engineering practices that are proving to be most effective in building pervasive systems.
For citation:
Osama M. Khaled and Hoda M. Hosny. A Survey of Building Robust Business Models in Pervasive Computing. An accepted paper in the 2014 World Congress in Computer Science Computer Engineering and Applied Computing
Dear students get fully solved assignments
Send your semester & Specialization name to our mail id :
“ help.mbaassignments@gmail.com ”
or
Call us at : 08263069601
The document discusses Workday's technology platform and development processes. It describes how Workday adopted a new architectural approach and development model compared to traditional enterprise applications. Some key points:
- Workday uses an in-memory metadata model and declarative development approach rather than traditional relational databases and procedural code.
- All application data, metadata, transactions, and requests are processed through centralized services for security, scalability, and continuous delivery of updates.
- Workday's approach aims to make applications easier for customers to use and own through continuous delivery, self-service configuration instead of custom code, and vendor management of the platform.
1. Information architecture is the organization, labeling, and navigation of information on websites, intranets, and software to support users and business goals.
2. The TOGAF framework provides a standard process for developing an enterprise architecture, including information architecture. It includes the Architecture Development Method (ADM) and models for technical and information infrastructure.
3. Applying information architecture and frameworks like TOGAF can help businesses reduce costs, increase customer satisfaction and support innovation by providing a systematic approach to organizing online information.
A Methodology For Large-Scale E-Business Project ManagementApril Smith
This document proposes an environment-based methodology for managing large-scale e-business projects. The methodology defines six working environments - development, integration, pre-production, production, demonstration, and software repository - that represent increasing stages of stability for a software product. It describes the tasks and migration processes between environments. The methodology aims to systematically guide e-business project management according to an organization's needs and resources.
The document discusses the UK BIM Maturity Model, which outlines levels of BIM implementation from 0 to 3. Level 0 involves 2D CAD with no collaboration. Level 1 includes 3D models but they are not shared. Level 2 involves file-based collaboration and shared models in a common data environment. Level 3 envisions a fully integrated project model shared in real-time by all project teams and passed to owners for facility management. Standards like IFC and IFD support interoperability across levels. The government requires minimum Level 2 BIM for public projects by 2016.
This document provides an introduction to software engineering. It defines software as computer programs, documentation, and data structures. Software can be generic, developed for a general market, or bespoke (custom), developed for a single customer. The document also discusses what software engineering is, the difference between software engineering and computer science, the costs of software engineering, software engineering methods, CASE tools, attributes of good software, types of software applications, and characteristics of web applications.
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docxchristinemaritza
CHAPTER 8 User Interface
Design
Chapter 8 is the first of three chapters in the systems design phase of the SDLC. This chapter explains how to design an effective user interface, and how to handle data security and control issues. The chapter stresses the importance of user feedback and involvement in all design decisions.
OBJECTIVES
When you finish this chapter, you will be able to:
· Explain the concept of user interface design and human-computer interaction, including basic principles of user-centered design
· Explain how experienced interface designers perform their tasks
· Describe rules for successful interface design
· Discuss input and output technology issues
· Design effective source documents and forms
· Explain printed output guidelines
· Describe output and input controls and security
· Explain modular design and prototyping techniques
INTRODUCTION
User interface design is the first task in the systems design phase of the SDLC. Designing the interface is extremely important because everyone wants a system that is easy to learn and use.
After discussing the user interface, human-computer interaction, and interface design rules, the chapter describes output, data security and control issues, prototyping, and the next steps in the systems design process.
PREVIEW CASE: Mountain View College Bookstore
Background: Wendy Lee, manager of college services at Mountain View College, wants a new information system that will improve efficiency and customer service at the three college bookstores.
In this part of the case, Tina Allen (systems analyst) and David Conroe (student intern) are talking about user interface design issues.
Participants:
Tina and David
Location:
Mountain View College Cafeteria, Monday afternoon, November 25, 2013
Project status:
Tina and David have examined development strategies for the new bookstore system. After performing cost-benefit analysis, they recommended in-house development of the new bookstore system. Now they are ready to begin the systems design phase by working on user interface design for the new system.
Discussion topics:
User interface design concepts and principles
Tina:
Hi, David. Ready to start work on user interface design?
David:
Sure. Will we start with output because it’s important to users?
Tina:
Output is very important, but the most important issue for users is the interface itself. For example, is it easy to learn? Is it easy to work with? We’ll try to design everything — output, input, and all the other elements — from a user’s point of view.
David:
How do we do that?
Tina:
Well, many sources of information about effective design concepts and principles are available. We’ll study those, and then ask our own users for their input and suggestions.
David:
What about input and data entry?
Tina:
Good question, You’ve heard the old saying, “garbage in, garbage out.” User interface principles apply to user input generally, but repetitive data entry deserves special attention. We need to creat ...
CHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docxcravennichole326
This chapter discusses system architecture, which translates the logical design of an information system into a physical blueprint. It covers a wide range of topics to support the overall system design, including servers, clients, processing methods, networks, and related issues. When planning the system architecture, a systems analyst must consider issues like corporate organization, costs, scalability, legacy systems, security, and processing options. The chapter traces the evolution of system architecture from early mainframe-based designs to current client/server architectures and cloud-based solutions.
The document discusses the layered architecture pattern, one of the most common software architecture patterns. It describes the key aspects of the pattern, including that components are organized into horizontal layers with each layer performing a specific role. Most layered architectures consist of presentation, business, persistence, and database layers. The pattern emphasizes separation of concerns between layers and isolation of changes through the use of closed layers. It provides an example of how a request for customer information would flow through the layers. Considerations for using this pattern include the potential for an "architecture sinkhole" if most requests involve simple passing between layers without logic.
Similar to ER 2002 Paper "A Pattern-Based Approach to Mobile Information Systems Conceptual Architecture" (20)
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"Walter Ariel Risi
Este documento presenta un tutorial sobre el uso de prácticas ágiles en la mejora de procesos. El tutorial consta de cuatro módulos: introducción a conceptos ágiles, ejemplos de aplicación, cómo llevar a cabo un proyecto de mejora ágil, y conclusiones. El documento explica los orígenes y valores de las metodologías ágiles, como SCRUM y XP, y cómo estas pueden complementar enfoques más rigurosos para mejorar procesos de manera flexible y adaptativa al cambio.
Este documento presenta herramientas construidas en Haskell para describir documentos hipermediales. Propone tipos y funciones para representar los elementos básicos de hipermedia como nodos, enlaces y componentes multimedia. Los documentos se construyen de forma composicional combinando componentes simples. Esto permite definir componentes genéricos y reutilizables. Además, los documentos descritos con estas herramientas no dependen de plataformas específicas, por lo que pueden trasladarse fácilmente entre ellas.
Software Guru Article (2006) "Enterprise Application Integration: more than j...Walter Ariel Risi
Este documento trata sobre la integración de aplicaciones empresariales (EAI). Brevemente describe EAI como el uso de software para conectar aplicaciones empresariales de forma heterogénea. Explica que la integración de aplicaciones es necesaria debido a que las aplicaciones de una empresa suelen desarrollarse de forma aislada y es necesario integrar la información entre ellas. Finalmente, señala que aunque los desafíos técnicos son visibles, los problemas organizacionales también son importantes al abordar proyectos de EAI.
OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...Walter Ariel Risi
This document discusses techniques for modifying an unknown legacy system when time constraints are tight. It describes an experience modifying a risk management system to support more powerful curve definitions. The key techniques identified were: 1) Establishing a starting point based on known information, 2) Understanding and respecting existing coding styles, and 3) Carefully testing any modified code to avoid introducing defects. These techniques provided guidelines for efficiently enhancing legacy systems in limited timeframes.
Este documento presenta la solución Microsoft Enterprise Project Management 2010 (EPM 2010). Incluye una introducción a la evolución del manejo de proyectos, una descripción general de EPM 2010 y sus capacidades para la gestión integral de proyectos y portafolios, y una demostración de sus funcionalidades. EPM 2010 provee una plataforma flexible y escalable basada en SharePoint para la planificación, ejecución, control y reporting de proyectos y portafolios.
Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.Walter Ariel Risi
EPM 2010 de Microsoft proporciona una plataforma integral para la gestión de proyectos y portafolios que puede ayudar a implementar prácticas maduras en estas áreas de una manera menos compleja. EPM 2010 ofrece funcionalidades para el análisis de portafolios, la selección balanceada de proyectos, la planificación de proyectos, el reemplazo de documentos por formularios en línea, y el mantenimiento de tableros de control actualizados, apoyando así la definición metodológica, la evaluación y a
IT Governance. Published in “Perspectiva” (Perspective) Magazine.Walter Ariel Risi
IT Governance. Published in “Perspectiva” (Perspective) Magazine. Perspectiva is a business journal published by Pragma Consultores twice a year. 2008.
Business Process Management: From the Stand. Published in “Perspectiva” (Pers...Walter Ariel Risi
Business Process Management: From the Stand. Published in “Perspectiva” (Perspective) Magazine. Perspectiva is a business journal published by Pragma Consultores twice a year. 2009.
IBM Rational Day 2006, Presentation by Walter Ariel RisiWalter Ariel Risi
Este documento presenta tres puntos principales:
1. Explica cómo la gestión de proyectos, la gestión de portafolios y las oficinas de gestión de proyectos (PMO) ayudan a lograr los objetivos de negocio en el marco de la gobernanza de TI.
2. Detalla cómo se estructura e implementa una PMO alineada con estos objetivos.
3. Explica cómo las herramientas de soporte, en particular Rational Portfolio Manager, agilizan la implementación de una PMO exitosa y los p
IBM Governance & Compliance 2008, Presentation by Walter Ariel RisiWalter Ariel Risi
El documento describe elementos clave del gobierno de proyectos como métodos, evaluación y aprobación de proyectos, planificación, monitoreo y control, medición y reporting. Rational Portfolio Manager puede ayudar al facilitar la implementación de estos elementos mediante templates, workflows y reportes predefinidos, lo que puede aliviar el papeleo frecuentemente necesario para la gestión de proyectos.
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. 🚀 This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. 💻
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. 🖥️
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. 🌟
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Digital Marketing Trends in 2024 | Guide for Staying Ahead
ER 2002 Paper "A Pattern-Based Approach to Mobile Information Systems Conceptual Architecture"
1. A Pattern-Based Approach to
Mobile Information Systems
Conceptual Architecture
Walter A. Risi and Gustavo Rossi
LIFIA, Universidad Nacional de La Plata, Argentina
[walter,gustavo]@lifia.info.unlp.edu.ar
Abstract. As mobile access to information becomes a common trend
in most commercial and corporate information systems, new software
engineering challenges arise. While the most visible problems in mobile
systems are the communication infrastructure and technical constraints
of portable devices, there are also conceptual architecture issues that
must be properly addressed.
This paper describes our work in progress towards categorizing and ana-
lyzing conceptual architectures for mobile information systems. We have
defined the basics of a domain-specific architectural pattern catalog for
this domain, and mined several patterns from existing, well-known sys-
tems. Our approach does not concentrate on the technical issues, but
rather on identifying those architectures that better fit business goals
regarding mobility.
Our goals are twofold. First, we aim to build a catalog of architectural
solutions proven successful in industrial practice. On the other hand, we
want to define a high-level, common-language to describe mobile archi-
tectural solutions.
1 Introduction
As mobile access to information becomes a common trend in most com-
mercial and corporate information systems, new software engineering
challenges arise. While the most visible problems in mobile systems are
the communication infrastructure and technical constraints of portable
devices (e.g. mobile phones and PDAs), there are also architectural issues
that must be properly addressed at the conceptual level.
Current research in software artifacts regarding mobility concentrates
primarily on fine-grained technological issues, such as wireless networking
[14] and constrained hardware [13]. Unfortunately mobile information
systems are seldom stable (because of technological improvements or
changes in the underlying business model) and must be continuously
upgraded or improved. Though it is widely known the importance of
emphasizing design issues in applications that evolve fast, little attention
has being paid to analyzing the conceptual issues that must be addressed
when building a mobility-enabled information system architecture. Only
recently some design problems related with mobile software have been
addressed in the literature [10].
2. Despite the hype around the technological issues, we claim that the archi-
tectural issues to address are even more critical. The design of a mobile
information system architecture has challenges that simply go beyond
the purely technological restrictions. For example, a mobile information
system may require customizing its service for different types of users
(mobile or not). On the other hand, a mobile information system may
need to give mobile service to very different type of mobile users (e.g.
wired and wireless).
This paper describes our work in progress towards categorizing and ana-
lyzing conceptual architectures for mobile information systems. We have
defined the basics of a domain-specific architectural pattern catalog for
this domain, and mined several patterns from existing, well-known sys-
tems. Our approach does not concentrate on the technical issues, but
rather on identifying those architectures that better fit business goals
regarding mobility.
We are building a catalog of architectural solutions proven successful in
industrial practice. This catalog should be the basis of a high-level, com-
mon language to describe mobile architectural solutions. This language
can be used during the process of conceptual modeling of this kind of
applications, both to provide specificity to a general purpose modeling
language (such as UML) and to face modeling and design problems at a
higher abstraction level by reusing successful solutions.
This paper is organized as follows. In Sect. 2, we briefly review some of
the concepts underlying this paper - such as software architecture and
patterns. In Sect. 3, we present the general motivation for our approach.
In Sect. 4, we present a preliminary classification of our patterns. In
Sect. 5, we present some of the patterns we mined. Sect. 6 presents shows
how our approach relates to the actual process of building and analyzing
applications . Finally, in Sect. 7 we draw some conclusions and describe
our lines for future work.
2 Software Architecture and Patterns
In recent years, there has been some discussion regarding the software
architecture definition. In this paper, we use the term software archi-
tecture to refer to a structural plan that describes the elements of the
system, how the interact together, and how these interactions fit the
business goals. In other words, we adopt the software blueprint view of
architecture [12, 9]. We believe this is the most suitable view for today’s
industrial practice.
Though there are differences among the existing approaches to archi-
tecture, most of them agree in separating architectural concerns into
several views [12]. This paper concentrates on what has been called
the conceptual view [9]. This view describes the architecture in terms
of the high-level computational elements that comprise the solution. In
this view, the architect organizes the domain-specific computational el-
ements (components) and the interactions between them (connectors),
building a solution that meets the business requirements. For example,
3. an architect designing a compiler may produce an architecture consist-
ing of several components (e.g. parser, lexer), connected to each other
by specific connectors (e.g. direct procedure calls).
The concept of architectural patterns emerged several years ago [15] and
it is indeed similar to the widely spread notion of design patterns [7].
They share the intent of capturing, recording and conveying design expe-
rience. A pattern allows describing a recurrent design problem, together
with its solution in an abstract way, such that the solution can be applied
to different (though similar) problems. They provide a design vocabu-
lary for the domain to which they are applied. However, while design
patterns are used at the so-called micro-architectural level in which the
design components are classes, objects and the interaction mechanisms
are messages, architectural patterns deal with a higher-level view of the
system in which primitives are components and connectors.
3 Why Mobile Architecture Patterns?
The definition of a mobile information system architecture is nowa-
days rather ad-hoc by current software engineering standards. The soft-
ware architect relies on existing approaches to general software architec-
ture, well-known solutions to fine-grained issues (e.g. underlying technol-
ogy) and commercial solutions. However, the architect’s toolbox lacks
a catalog of vendor-independent architectural solutions. Indeed, most
approaches consist in buying a predefined solution without a previous
architectural analysis of the underlying problem.
While choosing commercial solutions is in general a cost-effective ap-
proach, performing an high-level architectural analysis of both the prob-
lem and the candidate solutions can help choose the best-fit solution
for the problem. Instead of choosing an architecture based on vendor’s
claims about it, an architect could define a candidate architecture, an-
alyze available architectures, and then decide on buying or building a
solution.
Recognizing this need, we have defined a general strategy towards the
classification and analysis of mobile architectures proven successful in
industrial practice. Our strategy consists in the definition, maintenance
and usage of a pattern catalog, providing a handbook for the architect
facing this kind of engineering task. As mentioned before, these patterns
help to improve the conceptual vocabulary of the designer, thus providing
meaningful abstractions during conceptual modeling and architectural
design.
4 Pattern Classification
Mobile devices are highly constrained in nature. Distinct devices have
very different types of limitations, and where one device is strong another
may be very weak. However, a mobile information system may have to
consider the availability of the service to those very different devices. On
the other hand, mobile users are not interested in exactly the same kind
4. of information that standard users are. The classification we describe
in the following was defined to reflect the different dimensions of these
problems in the light of the already mined patterns – that is, following a
bottom-up approach . We believe that this classification may evolve and
even grow as new patterns are mined.
Physical Accessing. This category addresses the issues about how to
physically access an information source from a mobile client, depend-
ing on the constraints imposed by requirements and device restrictions.
Hardware limitations have a strong impact on the way mobile devices
access to information.
For example, a mobile phone has better accessing facilities than a stan-
dalone PDA (i.e. without a modem) depending on a synchronization to a
desktop machine to retrieve information. A PDA with a dial-up modem
has better accessing facilities than a standalone PDA, but less autonomy
than a wireless-enabled PDA. However, a dial-up connection is likely
to be available in almost every city of the world, while today’s wireless
network areas are reduced.
While some alternatives may be preferable to others in certain contexts,
the designer of the information system architecture may have to provide
a solution that works both for a high-end autonomous clients and also for
a client very limited in terms of information accessing. A common reason
for this is that most adequate devices are also the most expensive ones,
and the majority of users have devices that stand in the middle-ground,
or even in the low-end of the spectrum.
Logical Addressing. This category addresses the issues that arise when
a mobile client has to address a space of information sources. While
a desktop client of an information system has a context suitable for
freely navigating through the space of information sources, the choice of
a mobile client is generally more reduced. A mobile client may be capable
of processing only a subset of the whole universe of information – e.g. a
subset of the web –, and even if capable, may only be interested in seeing
a subset of it.
For example, most PDA devices have specialized browsers to access in-
formation from the web. However, most of these browsers do not work
well with any page, but only with a subset that are encoded in such a
way that they are suitable for mobile devices – e.g. smaller screens and
a limited HTML syntax. A mobile user may not want to see the whole
universe of information sources, but rather the subset that its suitable
for its device and its needs – e.g. a set of mobile channels, suitable for
PDA accessing.
Constrained devices are weaker and more specialized than mainstream
devices. The choice of available information sources that the device can
access is generally a subset of the whole universe of choices, not only
because of hardware limitations but also because of the specialized in-
terests of the mobile user . A mobile client in these conditions should
not have to deal with the complexity of addressing the whole universe of
information sources, but rather the subset in which it is interested.
Customization. This category provides architectural patterns that ad-
dress the problems of customizing the information sources themselves.
Again, the constrained nature of mobile devices poses physical and con-
5. Fig. 1. Using the UML to Describe Conceptual Architecture Concepts
ceptual restrictions to the information that can be deployed in such a
device. A mobile device may not be capable of interpreting any infor-
mation source encoding. Even if so, the mobile device user may not be
interested in the same view of the information that a desktop client is.
For example, while most PDA devices have web-browsers, the screen lim-
itations makes some web pages impossible to be viewed on such devices.
Some browsers even do not support the complete HTML syntax, and
therefore cannot access arbitrary pages on the web. Finally, a mobile
user accessing a web site may be interested only in information relevant
to its mobile context - e.g. a businessman accessing a financial company
web site is more interested in finding market information rather than the
history of the company.
A mobile user may be interested in the same information source that a
non-user user is interested in, but not exactly in the same view of that
source. Mobile devices may not be powerful enough to process the infor-
mation source – e.g. for limitations in parsing the information format.
Even if so, mobile users are interested in a view of the information source
that is relevant to their mobile context.
5 Pattern Catalog
In this section we present some of the patterns we have mined in the
categories mentioned in the previous section. We use a format similar to
the one used in [7], though slightly customized to better fit the higher-
level nature of architectural patterns. We have also included references to
commercial implementations of each pattern, so that the practicing ar-
chitect can use it to evaluate existing alternatives to the implementation
of the pattern. Actually, the list is reduced in this paper for space rea-
sons – and included in the Known Uses section – but shows the general
intent of serving as a suggestion list. Again for space reasons, we have
only included the Related Patterns section in those patterns for which
we consider it more valuable.
Our pattern format includes an UML [8] diagram to explain the structure
of the solution. While the UML is not particularly oriented to architec-
ture description, there are several approaches to the usage of the UML
for software architectures. We have deliberately chosen the one defined
in [9] for being both simple and expressive. Note that we have actually
simplified the mentioned notation for simplicity reasons, and instead we
compliment our diagrams with textual explanations.
The diagram depicted in Fig. 1 shows an example of the notation we
adopted. The diagram shows a component connected to a connector. A
6. Fig. 2. Static Accessor
component is an architectural entity that represents a conceptual unit
of computation. The component exposes its functionality through one or
more ports. The component can interact with other components through
connectors, which represent a communication mechanism. A connector
connects two or more components, through their ports. These elements
are actually stereotyped classes - for more information about the usage
of these stereotypes in this context, refer to [9].
5.1 Physical Accessing Pattern: Static Accessor
Intent. Provide a mobile client with the possibility of accessing an in-
formation source, when the client itself is not capable of accessing the
information source on its own.
Problem. You have to deploy information into a constrained device
that does not have enough capabilities to gather information on its own
(e.g. a PDA without a modem, and without wireless capabilities). It
may happen that the most common configuration of such a device does
not provide such facilities (e.g. most Palm and PocketPC devices do not
provide a modem in its basic configuration). It may also be the case that
the targeted line of devices does not have such facilities at all.
Solution. Make the mobile client dependent of a more powerful, non
mobile device. Provide a way so that the dependable client can be fed
from the static device – the static accessor. The responsibility of interact-
ing with the data source belongs to the static device, and the dependent
client takes the information through the static accessor. See Fig. 2.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Static Accessor
is a non-mobile device capable of retrieving information from the sources.
The Synchronization connector is a mechanism that allows the mobile
client to get the retrieved information from the static accessor. The Infor-
mation Retrieval connector is a mechanism that allows the static accessor
to get information from the information source. Finally, the Information
Source is the information source in which the mobile client is interested.
Collaborations. Whenever the Mobile Client requires information from
the Information Source, the Synchronization mechanism is activated. The
latter can be activated from the Mobile Client side, or from the Static
Accessor side (e.g. when the static accessor discovers that there’s new
7. Fig. 3. Information Broker
information available from the Information Source). The Static Accessor
communicates with the Information Source through an Information Re-
trieval mechanism, getting the information in which the Mobile Client is
interested.
Consequences. Any portable device gets the possibility of interacting
with an information system as long as a suitable accessor is built. The
autonomy of the client is reduced, since the information retrieval process
requires the presence of the static accessor. The mobile client part is sim-
plified, but having to provide a suitable accessor may involve additional
work for the developers.
Known Uses. The mobile information system AvantGo [2] uses Palm
OS’s HotSync [3] technology to transfer information from information
sources (AvantGo channels) to the dependable clients (Palm OS hand-
helds) through a static accessor (a desktop machine). AcroClip [1] for
Casio OS handhelds also uses this pattern.
5.2 Logical Addressing Pattern: Information Broker
Intent. Take control of a mobile client’s addressing capabilities. Have
the address space of available information sources preprocessed by an
intermediary.
Problem. You have to allow the mobile user to retrieve information from
an arbitrary or predefined set of information sources (e.g. web sites). You
want to keep the mobile client simple (e.g. due to hardware restrictions),
and therefore you need to reduce the information addressing capability of
the mobile device. It may also be the case that you want to prevent mobile
clients to access arbitrary information sources – e.g. for corporate security
reasons. In that case, you need an intermediary capable of assuming the
responsibility of addressing the whole universe of information sources –
e.g. the whole web – and presenting a transformed universe to the mobile
client – e.g. a set of corporate channels.
Solution. Provide a broker capable of interacting with the whole uni-
verse of information, presenting the mobile client with a transformed
(possibly reduced) view of that universe, where that view is suitable for
mobile access. See Fig. 3.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Information Re-
trieval connector is a communication mechanism that allows information
8. Fig. 4. Custom Authoring
transfer between components. The two appearances of the information
retrieval connectors in the diagram does not imply that both appear-
ances are identical. The Information Broker is software component that
can address information sources and retrieve data that can be delivered
to the clients. Finally, the Information Source is the information source
in which the mobile client is interested.
Collaborations. The Mobile Client gets information from the Infor-
mation Broker through an Information Retrieval mechanism. The Infor-
mation Broker retrieves information from a set of available Information
Sources using another Information Retrieval mechanism
Consequences. The mobile client addressing system may be simplified,
but having to provide a suitable broker may involve additional work for
the developers. The broker provider has control on the information that
the mobile clients access.
Known Uses. AvantGo [2] centralizes the access to a growing set of
channels, where AvantGo’s M-Commerce server acts as a broker between
the information sources and the actual mobile clients. The AcroClip [1]
service also offers access through channels, controlled by a proprietary
broker.
5.3 Customization Pattern: Custom Authoring
Intent. Provide the mobile client with information suitable for its direct
manipulation, so that no expensive customization is required.
Problem. You have to deploy information from information sources (e.g.
web sites) in a constrained device that does not support the format in
which those sources encode their information (e.g. Palm’s m100 hand-
held, for which a full-blown web browser is not available).
Solution. For each information source of interest, provide a customized
version of that source, so that the format is exactly the one suitable for
the client. See Fig. 4.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Customized
Source is an information source that represents information in a format
that can be handled directly by the mobile client. Finally, the Informa-
tion Retrieval connector is a mechanism that allows the mobile client to
get information from the information source.
Collaborations. The Mobile Client retrieves information directly from
the Information Source, through the Information Retrieval mechanism.
Since the Information Source is already customized for the Mobile Client,
no additional processing is necessary.
9. Fig. 5. Transcoder
Consequences. The information is specially designed for the mobile
clients in mind, so there is no possibility that it does not suit perfectly
its clients. The content provider has additional work, since it has to
provide a customized version of its information sources for each of the
mobile clients in mind. Updating the information can be a heavy task,
if there are several customized versions to be maintained.
Known Uses. AvantGo [2] provides an infrastructure so that clients
provide their own customized versions of the information they provide.
5.4 Customization Pattern: Transcoder
Intent. Automate the process of adapting information from arbitrary
sources for mobile clients’ manipulation.
Problem. You have to deploy information from information sources (e.g.
web sites) in a constrained device that does not support the format in
which those sources encode their information (e.g. Palm’s m100 hand-
held, for which a full-blown web browser is not available). The cost of
making customized versions of the information sources is too high (e.g.
because the number of information sources is too big, or because the
number of different targeted devices is high).
Solution. Create a component able to convert data from arbitrary infor-
mation sources to a format suitable for the potential clients. See Fig. 5.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Information Re-
trieval connector is a communication mechanism that allows information
transfer between components. The two appearances of the information
retrieval connectors in the diagram does not imply that both appearances
are identical. The Transcoder is software component that can translate
information represented in an particular format to a format that can
be handled by the mobile client. Finally, the Information Source is the
information source in which the mobile client is interested.
Collaborations The Mobile Client receives information from the Trans-
coder using an Information Retrieval mechanism. The Transcoder re-
ceives information in its original format from the Information Source
using another Information Retrieval mechanism.
Consequences. The information provider has no additional work in the
customization of the information for the mobile clients. The transcoder
10. Fig. 6. Customized Behavior
automatically handles this task. Building the transcoder can be a diffi-
cult task. There maybe several mobile clients in mind, with significant
differences that the transcoder must support. The parsing of the original
information source can be difficult in itself.
Known Uses. PumaTech [4] provides a service that allows accessing
to standard web pages via Palm OS devices. PumaTech’s solution re-
lies on conversion heuristics that convert pages to version suitable for
constrained hardware, in a way that semantics are preserved. IBM also
provides a transcoder-based solution as part of its Websphere family of
products [5]. AcroClip [1] has built-it transcoders for several web sites,
and also allows users to define their own.
5.5 Customization Pattern: Customized Behaviour
Intent. Provide different application response according to the mobile
client.
Problem. In many situations you need to adapt an applications func-
tionality to the kind of interface device (a web browser, a mobile ap-
pliance) in a dynamic way. Suppose that you are building an Internet
application for selling products in the style of amazon.com. You may
want to give special offers to users of some mobile devices: for exam-
ple you have just signed an agreement with a cellular phone company
and you want to induce customers to use that device. Unfortunately this
business rule may change often; the discount rate may change, the con-
dition on products that the customer must buy may vary, etc. If you tie
the business rules either to the application model or to the components
standing for the interface device you may have maintenance problems
Solution. Decouple the business rules from the application model and
these from a context model that describes the current users state (device,
network connection, etc). See Fig. 6.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Application
11. Model contains the base application objects and behaviors. It should be
built in such a way of being independent of different adaptation policies
(for example to different mobile devices, types of network connections,
etc) The Rule Model contains the logic of customization; by interacting
with the context model it triggers corresponding application behaviors.
The Context Model represents the actual user profile, including the in-
formation on the current mobile device The Wrapper redirects client
requests to the application model, to the customization model
Collaborations. For each client request that must be customized (for
example according to the mobile device) the wrapper mechanism redi-
rects the request to the Rule Model. Rules interact with both the con-
text model (they usually represent conditions) and the application model
triggering the corresponding actions. The result of the rules execution is
returned to the client.
Consequences. The application model remains stable when we add new
business rules related with mobile devices or new devices. The rule model
may get monolithic if you add many flat rules.
Known Uses. In the UWA (Ubiquitous Web Applications) project [10]
rules are separated from the application and the context model is itself
composed of user, device and network sub-models. In the Munich Ref-
erence Architecture for adaptive hypermedia applications [11] a similar
approach is used. WebML [6] also uses a variant of this pattern.
Related Patterns. The Transcoder pattern is similar to the Customized
Behavior in that it provides an automated way of presenting differ-
ent views of the information to the mobile clients. However, while the
Transcoder focuses mainly on the looks of the information, the Cus-
tomized Behavior pattern focuses on the guts of the information genera-
tion process. Therefore the Transcoder acts like a facade over a system,
being an information-unaware solution. In the Customized Behavior pat-
tern, the rules and context which comprise the customization mechanism
are aware of the kind of information the system provides.
6 From Patterns to Applications
In this section we show how the patterns we presented can help in both
describing a commercial solution and defining a solution to fit a busi-
ness goal. We present three examples on the usage of patterns, that go
from representing commercial architectures to potential usages of these
patterns in an enterprise context.
6.1 Representing AvantGo’s Dynamic Mobility Model
The Dynamic Mobility Model (DMM) [2] is the solution suggested by
AvantGo to provide mobile access to web-based information systems.
In Fig. 7 we show the conceptual architecture of the DMM. The Static
Accessor pattern is used to allow non-wireless devices to access the sys-
tem. An Information Broker provides the mobile clients with a reduced
version of the internet, based on channels. Finally, the Custom Author-
ing pattern is used to provide information encoding in a format directly
suitable for mobile clients.
12. Fig. 7. AvantGo’s Dynamic Mobility Model
Having a conceptual description of a technological infrastructure such
as AvantGo enables architects to analyze the solution in a completely
objective way. Given an actual problem, the architect can define the
best-fit architecture and then compare it to AvantGo’s to see if it really
fits the business goals.
6.2 Customized Mobile Access to a Corporate Database
A software company wants to provide access to its corporate database
to both their vendor force and also its customers. For its vendor force,
it wants to provide updated information about their products, solutions
and prices. Instead, for their customers, it wants to provide information
about special offers and customized support. The first problem the ar-
chitect faces is providing a customized view of its information database
for the different users that may be interested in that information.
Since the vendor force needs updated information, the company decides
to provide its vendors with wireless-enabled, high-end PDA devices. How-
ever, the customers have a variety of mobile devices, most of them not-
wireless enabled. Thus, the second problem the architect faces is pro-
viding both wired and wireless access to the information. Also, the in-
formation encoding may be different for the high-end vendor devices,
compared to the possibly-low-end customer devices.
Following the approach mentioned in section 3, the architect browses the
architectural pattern catalog and selects those patterns that can help in
solving the problem at hand. The resulting conceptual architecture is
depicted in Fig. 8.
The proposed architecture is a high-level view of the solution. The Static
Accessor pattern is used to provide wired access to the information
source. The Customized Behavior pattern is used to provide different
views on the same information source - the corporate database. Once the
architecture is depicted, the architect can then discuss about building or
buying a solution, depending on the available schedule and expense.
6.3 Mobile Access to a Commercial Website
A small company runs an entertainment web portal, which provides in-
formation about latest movies and movie theaters. The company believes
13. Fig. 8. Architecting Customized Mobile Access to a Corporate Database
that mobile information access will provide it with an interesting advan-
tage over its competitors. Moreover, since the company already has a
website running, it wants to avoid having to author a parallel website for
mobile access. Also, since the company has a small staff, management is
heavily concerned about doubling the website maintenance effort.
The software architect browses the architectural pattern catalog and sees
that a Transcoder based solution can solve both the development time
effort and the staffing problems. The architect takes the suggested com-
mercial component list from the pattern description and browses the web
for commercial solutions, comparing prices and making a report about
both the architecture and the prices the commercial tools involves. The
architect also discards building a transcoder in-house for the development
effort it involves. However, the architect also considers a Custom Au-
thoring solution and calculates the approximate development and main-
tenance costs associated to it. The latter solution was also considered,
since the commercial component providing access to customized sources
has a significantly lower price than the transcoder-based solutions. The
architect elaborates a report afterwards, and presents it to management
for its cost/benefit evaluation.
7 Conclusions and Future Work
The current work on mobile information system architectures is mainly
focused on the technological aspect of this kind of systems. While there
is considerable research in approaches for implementing systems using a
certain wireless technique or other, there are no studies about how the
mobility aspect conceptually relates to an information system.
This paper presented an approach to describing, categorizing and ana-
lyzing conceptual architectures for mobile access to information systems.
14. Our approach is based on the architectural pattern concept. We pre-
sented several patterns that represent common mobility configurations
existing in current industrial practice.
Abstracting existing configuration as architectural patterns provides the
designer with a catalog of architectures. The practitioner can then choose
the architectural structures that best fit the business goals, without hav-
ing to rely on vendor-specific solutions or terminology.
We are currently working on mining other architectural solutions that
occur in existing mobile systems. Our intention is to grow a complete
and solid architectural pattern language for providing mobile access to
information systems. We are also working on defining an architectural
methodology for the better usage of these patterns. Our main intention is
to integrate these patterns into existing modeling tools and/or languages,
in order to provide the architect with a toolbox of primitives so he can
describe his mobile applications in a higher-level of abstraction.
References
1. AcroClip. http://www.pcsync.de.
2. AvantGo M-Commerce Server. http://www.avantgo.com.
3. HotSync Technology. http://www.palm.com.
4. PumaTech BrowseIt Server. http://www.pumatech.com.
5. Transcoding Publisher. http://www.websphere.ibm.com.
6. WebML. http://www.webml.org.
7. R. J. Erich Gamma, Richard Helm and J. Vlissides. Design Pat-
terns, Elements of Reusable Object-Oriented Software. Addison Wes-
ley Professional Computing Series, 1994.
8. O. M. Group. UML (version 1.3). OMG, June 1999.
9. C. Hofmeister, R. Nord, and D. Soni. Applied Software Architecture.
Addison Wesley, 2000.
10. G. Kappel, W. Retschitzegger, and W. Schwinger. Modeling Ubiq-
uitous Web Applications: The WUML Approach. In Interna-
tional Workshop on Data Semantics in Web Information Systems
(DASWIS)-2001), co-located with 20th International Conference on
Conceptual Modeling (ER2001), Proceedings, November 2001.
11. N. Koch and M. Wirsing. The Munich Reference Model for Adaptive
Hypermedia Applications. To be presented at the 2nd International
Conference on Adaptive Hypermedia and Adaptive Web Based Sys-
tems, 2002.
12. P. B. Kruchten. The 4 + 1 View Model of Architecture. IEEE
Software, 12(6):42–50, Nov. 1995.
13. J. Noble, C. Weir, and D. Bibby. Small Memory Software: Patterns
for Systems with Limited Memory. Addison-Wesley, 2000.
14. S. Schaefer, S. Marney, T. Willis, and K. Parkkinen. OOPSLA Work-
shop on Architectural Patterns for Wireless Computing. 2001.
15. M. Shaw. Patterns for Software Architectures. In J. Coplien and
D. Schmidt, editors, Pattern Languages of Program Design, chap-
ter 24, pages 453–462. Addison-Wesley, 1995.