In the era of Service Oriented Architectures a relevant research problem consists of turning Web applications into Web Services using systematic migration approaches.
This paper presents the research results that were obtained by adopting a black-box migration approach based on wrapping to migrate functionalities of existing Web applications to Web services. This approach is based on a migration process that relies on black-box reverse engineering techniques for modelling the Web application User Interface. The reverse engineering techniques are supported by a toolkit that allows a semi-automatic and effective generation of the wrapper. The software migration platform and the migration case studies that were performed to validate the proposed approach will also be presented in the paper.
This document provides an overview of web services, including key standards and technologies. It discusses SOAP for messaging, WSDL for service description, and UDDI for service registration and discovery. It also summarizes industry surveys showing growing adoption of web services and provides examples of how Amazon and other companies expose functionality through web services APIs.
This document provides an overview of web services. It defines a web service as a web page meant to be consumed programmatically rather than via a web browser. Examples given include e-commerce sites using shipping APIs and weather data being provided to news sites. Benefits outlined are simplicity, loose coupling, statelessness, and firewall friendliness. The document also discusses when to use and avoid web services and describes the main types - SOAP and REST. It provides details on RESTful services using JAX-RS annotations and extracting parameters. For SOAP, it explains the communication protocol and use of WSDL and UDDI.
Integration of Web Service Stacks in an EsbWen Zhu
This document discusses integrating web services with an enterprise service bus (ESB). It provides background on ESB and web service integration approaches. It then demonstrates integrating different web service stacks like Metro, CXF, and JBossWS with ESB products like OpenESB, ServiceMix, and JBossESB. It discusses challenges like transaction management and separating concerns. The document concludes with a demo of a model-driven architecture approach using standards like SoaML to address technology changes while preserving investments.
This document summarizes a SharePoint 2013 extranet design with dedicated authentication zones. The extranet includes partner companies authenticated via SAML and individual partners authenticated via forms-based authentication. An intranet is configured for internal and remote employees using Windows authentication over VPN or Direct Access. Resources are partitioned across multiple servers, databases, and service applications to separate extranet and intranet content and services.
This document discusses various aspects of web service technologies, including service description, discovery, interactions, and composition. It describes how services are described using common languages like XML and WSDL to define interfaces, operations, and endpoints. Services descriptions are stored in directories to allow for discovery. Standards like SOAP and HTTP enable interactions between services. Composite services can be implemented by invoking and combining other basic services.
This document discusses different types of web services including email, chat, and online forums. It provides definitions and explanations of each:
- Email allows electronic exchange of messages between electronic devices over computer networks like the Internet. Messages are stored on email servers until the sender and receiver connect.
- Chat refers to real-time text message communication online that aims to mimic spoken conversation. It can be one-on-one or multi-user.
- Online forums allow longer text-based discussions through posted messages organized into topics and threads. Users may need to register and log in to participate.
- In conclusion, web services allow different applications and devices to communicate over the web through standardized protocols regardless of programming languages
This presentation discusses various methods of wrap spinning yarns. It describes the selfil, repco, hollow spindle, ring frame, differential twist, wrap rotor, woolen card, and parafil systems. The hollow spindle method is identified as the most important technique, involving drafting fibers through a hollow spindle while wrapping with a filament to produce wrap yarns in a single continuous process without true twisting. Other methods like the selfil and repco systems use self-twisting to wrap core fibers with filaments.
This document provides an overview of web services, including key standards and technologies. It discusses SOAP for messaging, WSDL for service description, and UDDI for service registration and discovery. It also summarizes industry surveys showing growing adoption of web services and provides examples of how Amazon and other companies expose functionality through web services APIs.
This document provides an overview of web services. It defines a web service as a web page meant to be consumed programmatically rather than via a web browser. Examples given include e-commerce sites using shipping APIs and weather data being provided to news sites. Benefits outlined are simplicity, loose coupling, statelessness, and firewall friendliness. The document also discusses when to use and avoid web services and describes the main types - SOAP and REST. It provides details on RESTful services using JAX-RS annotations and extracting parameters. For SOAP, it explains the communication protocol and use of WSDL and UDDI.
Integration of Web Service Stacks in an EsbWen Zhu
This document discusses integrating web services with an enterprise service bus (ESB). It provides background on ESB and web service integration approaches. It then demonstrates integrating different web service stacks like Metro, CXF, and JBossWS with ESB products like OpenESB, ServiceMix, and JBossESB. It discusses challenges like transaction management and separating concerns. The document concludes with a demo of a model-driven architecture approach using standards like SoaML to address technology changes while preserving investments.
This document summarizes a SharePoint 2013 extranet design with dedicated authentication zones. The extranet includes partner companies authenticated via SAML and individual partners authenticated via forms-based authentication. An intranet is configured for internal and remote employees using Windows authentication over VPN or Direct Access. Resources are partitioned across multiple servers, databases, and service applications to separate extranet and intranet content and services.
This document discusses various aspects of web service technologies, including service description, discovery, interactions, and composition. It describes how services are described using common languages like XML and WSDL to define interfaces, operations, and endpoints. Services descriptions are stored in directories to allow for discovery. Standards like SOAP and HTTP enable interactions between services. Composite services can be implemented by invoking and combining other basic services.
This document discusses different types of web services including email, chat, and online forums. It provides definitions and explanations of each:
- Email allows electronic exchange of messages between electronic devices over computer networks like the Internet. Messages are stored on email servers until the sender and receiver connect.
- Chat refers to real-time text message communication online that aims to mimic spoken conversation. It can be one-on-one or multi-user.
- Online forums allow longer text-based discussions through posted messages organized into topics and threads. Users may need to register and log in to participate.
- In conclusion, web services allow different applications and devices to communicate over the web through standardized protocols regardless of programming languages
This presentation discusses various methods of wrap spinning yarns. It describes the selfil, repco, hollow spindle, ring frame, differential twist, wrap rotor, woolen card, and parafil systems. The hollow spindle method is identified as the most important technique, involving drafting fibers through a hollow spindle while wrapping with a filament to produce wrap yarns in a single continuous process without true twisting. Other methods like the selfil and repco systems use self-twisting to wrap core fibers with filaments.
Building tomorrow's web with today's toolsJames Pearce
Few have the chance to create web-based mobile services from scratch. After years of investment in existing platforms (such as content management systems), how can you re-use your content, your servers, and your knowledge and evolve them to meet the mobile challenge?
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
The document discusses various frameworks and patterns in Silverlight 4, including ASP.NET client application services, WCF data services, WCF RIA services, navigation, search, and extensibility with MEF. It provides an overview and demos of each technology. The presentation encourages attendees to check the schedule for additional in-depth sessions on topics like OData, WCF data services, WCF RIA services, navigation, search engine optimization, and MEF.
The document discusses the evolution towards pervasive computing through three stages: 1) multi-channel delivery with many devices for each context, 2) cross-channel delivery with many devices accessible across contexts, and 3) impromptu networking where devices aggregate services in a context. It also describes how networks, devices, applications and user experiences are converging to create an "abstract reality" of actors, contexts and channels.
Migration of form based legacy systems towards service-oriented computing is a challenging task, requiring the adaptation of the legacy interface to the interaction paradigm of Web services. In this paper, a wrapping methodology is proposed to make interactive functionalities of legacy systems accessible as Web Services. The wrapper that is used for interacting with the legacy system acts as an interpreter of a Finite State Automaton that describes the Model of the Interaction between user and legacy system. This model is obtained by black box reverse engineering techniques. A migration process and a software architecture that allow a functionality of a legacy system to be exported as a web service are presented in the paper.
Learn how Parasoft SOAtest simplifies the complex end-to-end testing vital for business-critical APIs, cloud migration, and SOA / composite applications.
The document discusses mobile web networks and their components. It describes how network servers provide security, authentication, application services and dynamic content tailored to users. It also outlines how application servers interact with context managers and service directories to query web services, filter content based on user preferences and context, and generate markup. Finally, it briefly explains the roles of AAA servers, wireless gateways and various standards like UDDI that enable service discovery and registration on the mobile web network.
Extend Your Use of JIRA by Solving Your Unique Concerns: An Exposé of the New...Atlassian
The existence of an API allows developers to extend software so as to cater for unique use cases beyond the software's original scope. Administrators and end users of JIRA 5 can expect its REST API to enable the creation of integrated applications to solve their unique concerns. This presentation aims to describe ways in which the JIRA 5 REST API can be used to make a tangible impact for the end user. Several use cases will be discussed, ranging from running simple command line apps, through to creating web applications that integrate with the JIRA 5 REST API.
Extend Your Use of JIRA by Solving Your Unique Concerns: An Exposé of the New...Atlassian
The existence of an API allows developers to extend software so as to cater for unique use cases beyond the software's original scope. Administrators and end users of JIRA 5 can expect its REST API to enable the creation of integrated applications to solve their unique concerns. This presentation aims to describe ways in which the JIRA 5 REST API can be used to make a tangible impact for the end user. Several use cases will be discussed, ranging from running simple command line apps, through to creating web applications that integrate with the JIRA 5 REST API.
The document describes an asynchronous middleware for developing and deploying asynchronous mobile web services. It proposes a framework that provides APIs to facilitate asynchronous communication and reduce development costs. The framework supports polling and callback interactions, and provides mechanisms for service creation, control, monitoring and dynamic management. It presents proof-of-concept evaluation using a sensor network application and discusses performance results and future work.
Component based User Interface Rendering with State Caching Between RoutesIRJET Journal
This document discusses component-based user interface rendering with state caching between routes in client-side routing applications. It begins by explaining the differences between server-side and client-side routing, with client-side routing allowing for preservation of application state through caching. The document then discusses building the UI out of reusable components, using a virtual DOM for efficient re-rendering, and breaking rendering work into fibers to avoid blocking the main thread. The goal is to provide a native-like user experience when navigating between views by caching and reusing application state.
Janakiram MSV introduced .NET services including Service Bus, Access Control Service, and Workflow Services. Service Bus provides connectivity for applications over the cloud. Access Control Service enables claims-based access control in the cloud. Workflow Services provides infrastructure for hosting and managing workflows on the cloud. The presentation discussed how these services address challenges of distributed computing and provide key building blocks for cloud applications.
This document discusses various SOA patterns for addressing common challenges in service-oriented architectures, such as service availability, flexibility, management, reporting, and multi-tenancy. It describes patterns like parallel pipelines, inversion of communications, orchestration, sagas, aggregated reporting, and reservation that can help mitigate these challenges by distributing requests, decoupling services, coordinating workflows, collecting data from multiple sources, and allocating shared resources.
This document discusses web servers. It provides an overview of web clients and web servers, and describes how web servers handle static and dynamic content. The document outlines the typical architecture of a two-tier or three-tier client-server system for delivering web pages. It also discusses the GET and POST request methods, phases of request handling, popular web servers like Apache and IIS, and factors to consider when selecting a web server.
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...Nathaniel Palmer
SOA and Web Services technologies can provide powerful tools and capabilities to effect migration towards an Enterprise Architecture (EA), but what are the challenges to such an exercise, and how can they be overcome? Based on a case study at the Department of Housing and Urban Development (HUD), the first effort in HUD to analyze and design the replacement of several legacy systems with an integrated and services-based
system, this presentation will provide a technical overview of SOA and Web Services, and lessons learned from the project. These lessons will cover methodologies and modeling artifacts that were developed for the effort, the use of BPM based on the Business Process Execution Language (BPEL) and system adapters to provide an abstraction layer for system integration, an example of how Web Services can directly support EA migration, and final considerations to pass onto similar projects.
ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...eswcsummerschool
This document discusses services, semantics, and linked data. It provides a short history of semantic web services including OWL-S and WSMO. It describes the linked data effect and how linked open data has grown significantly. It discusses the rise of RESTful web services and approaches to linking data and services including MicroWSMO and WSMO-Lite. Example applications of linked data and services are presented. Current and future W3C work on areas like the Unified Service Description Language are outlined. The document concludes with a summary of the key points.
This document discusses technologies for enabling service-oriented architectures (SOAs). It covers generic technologies like RESTful and SOAP web services. Platform-specific technologies for Java (JAX-WS) and .NET (.NET, WCF) are also discussed. Standards like XML, HTTP, SOAP, WSDL, and UDDI that web services are built on are explained. The roles of service providers, consumers and registries are defined. Enterprise service buses and their role in service integration are summarized. Finally, factors to consider in building a business case for SOA like stakeholders' objectives, benefits, cost savings, and return on investment are outlined.
The document discusses key concepts related to web services including:
- Web services allow applications to communicate regardless of programming language or platform through standards like SOAP, XML, WSDL and UDDI.
- SOAP is the standard protocol for communication, XML is used for data representation, WSDL describes available services, and UDDI allows services to be discovered.
- Web services provide benefits like easy accessibility from any device on the internet, flexibility in structure for different requirements, and easy integration between applications built on different platforms.
Working with Data and Web Services in Microsoft Silverlight 2goodfriday
Learn how easy it is to utilize POX, REST, RSS, ATOM, JSON, and SOAP in your Microsoft Silverlight mashup applications. Also learn how to easily access and display data with Silverlight using LINQ and databinding.
Part 1 of a 4 part series exploring Web 2.0 and the Geoweb. This short series of lectures is part of the "Introduction to Geoweb" course offered at the University of Colorado at Denver. Full context available at http://blog.gishacks.com/2009/08/web-20-and-geoweb-part-1-web-20.html.
MeasureWorks eFinancials - Best practices for a successfull mobile experienc...MeasureWorks
Gebruikers van mobiel internet verwachten snelle transacties en betrouwbare sites en/of applicaties. Volgens recent onderzoek haakt meer dan 52% van de klanten af bij een slechte ervaring en overweegt daardoor geen gebruik meer te maken van een mobiele applicatie.
Nu mobiel internet een integraal onderdeel wordt van uw dienstverlening, en de verwachtingen van klanten toenemen, wordt het managen en monitoren van uw mobiele sites en applicaties een voorwaarde voor succes. Het niet tijdig identificeren van langzame, of erger, niet functionerende mobiele diensten zal onherroepelijk resulteren in verlies van klanten, omzet en uiteindelijk reputatie schade.
Aan de hand van praktijkvoorbeelden zullen we u laten zien:
* Wat de impact is van de adoptie van mobiel internet en groeiende klantverwachtingen op uw online dienstverlening
* Op welke wijze Mobiele Web Experience problemen kunnen worden herkend voordat klanten uw website verlaten
* Best practices voor het leveren van een kwalitatief uitstekende Mobile Web Experience
An Approach for Model Based Testing of Augmented Reality Applications.pdfPorfirio Tramontana
The popularity of Augmented Reality (AR) applications has strongly been increased with the worldwide
success of the Pokemon Go videogame released by Niantic in 2016. However, AR offers tangible benefits
in many further areas beyond entertainment, such as advertisement, education, navigation, maintenance,
health, and so on. With the growing spread and success of AR applications in these fields, there has also
been a growing necessity for approaches and technologies for assuring the quality of these applications,
such as testing. A few technologies and frameworks have been recently proposed supporting the
implementation and execution of test scripts that can be used to exercise the applications, but there still
is a lack of effective techniques and tools for the automatic generation of executable test cases. In this
paper, we investigate the possibility of using Model Based Testing techniques to generate executable
test scripts from Finite State Machines modeling the behaviour of the GUI of AR applications, similarly
to other GUI based applications. We have applied several model coverage criteria to design test suites
and we have shown the feasibility of this approach by testing two small example applications involving
Unity3D and Vuforia technologies
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Porfirio Tramontana
The document presents a technique for generating robust locators for end-to-end testing of template-based web applications. It involves automatically injecting unique identifiers or "hooks" into the HTML tags and templates during development. These hooks are then used to generate XPath locators that are resistant to changes in tag attributes, text, structure, or position. An experiment found that tests using the hook-based locators did not fail due to fragility like default locators did, demonstrating increased robustness. The approach can be integrated into continuous integration pipelines for regression testing. Future work includes expanding the prototype tools and further validation of the locator robustness.
More Related Content
Similar to Turning Web Applications into Web Services by Wrapping Techniques
Building tomorrow's web with today's toolsJames Pearce
Few have the chance to create web-based mobile services from scratch. After years of investment in existing platforms (such as content management systems), how can you re-use your content, your servers, and your knowledge and evolve them to meet the mobile challenge?
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
The document discusses various frameworks and patterns in Silverlight 4, including ASP.NET client application services, WCF data services, WCF RIA services, navigation, search, and extensibility with MEF. It provides an overview and demos of each technology. The presentation encourages attendees to check the schedule for additional in-depth sessions on topics like OData, WCF data services, WCF RIA services, navigation, search engine optimization, and MEF.
The document discusses the evolution towards pervasive computing through three stages: 1) multi-channel delivery with many devices for each context, 2) cross-channel delivery with many devices accessible across contexts, and 3) impromptu networking where devices aggregate services in a context. It also describes how networks, devices, applications and user experiences are converging to create an "abstract reality" of actors, contexts and channels.
Migration of form based legacy systems towards service-oriented computing is a challenging task, requiring the adaptation of the legacy interface to the interaction paradigm of Web services. In this paper, a wrapping methodology is proposed to make interactive functionalities of legacy systems accessible as Web Services. The wrapper that is used for interacting with the legacy system acts as an interpreter of a Finite State Automaton that describes the Model of the Interaction between user and legacy system. This model is obtained by black box reverse engineering techniques. A migration process and a software architecture that allow a functionality of a legacy system to be exported as a web service are presented in the paper.
Learn how Parasoft SOAtest simplifies the complex end-to-end testing vital for business-critical APIs, cloud migration, and SOA / composite applications.
The document discusses mobile web networks and their components. It describes how network servers provide security, authentication, application services and dynamic content tailored to users. It also outlines how application servers interact with context managers and service directories to query web services, filter content based on user preferences and context, and generate markup. Finally, it briefly explains the roles of AAA servers, wireless gateways and various standards like UDDI that enable service discovery and registration on the mobile web network.
Extend Your Use of JIRA by Solving Your Unique Concerns: An Exposé of the New...Atlassian
The existence of an API allows developers to extend software so as to cater for unique use cases beyond the software's original scope. Administrators and end users of JIRA 5 can expect its REST API to enable the creation of integrated applications to solve their unique concerns. This presentation aims to describe ways in which the JIRA 5 REST API can be used to make a tangible impact for the end user. Several use cases will be discussed, ranging from running simple command line apps, through to creating web applications that integrate with the JIRA 5 REST API.
Extend Your Use of JIRA by Solving Your Unique Concerns: An Exposé of the New...Atlassian
The existence of an API allows developers to extend software so as to cater for unique use cases beyond the software's original scope. Administrators and end users of JIRA 5 can expect its REST API to enable the creation of integrated applications to solve their unique concerns. This presentation aims to describe ways in which the JIRA 5 REST API can be used to make a tangible impact for the end user. Several use cases will be discussed, ranging from running simple command line apps, through to creating web applications that integrate with the JIRA 5 REST API.
The document describes an asynchronous middleware for developing and deploying asynchronous mobile web services. It proposes a framework that provides APIs to facilitate asynchronous communication and reduce development costs. The framework supports polling and callback interactions, and provides mechanisms for service creation, control, monitoring and dynamic management. It presents proof-of-concept evaluation using a sensor network application and discusses performance results and future work.
Component based User Interface Rendering with State Caching Between RoutesIRJET Journal
This document discusses component-based user interface rendering with state caching between routes in client-side routing applications. It begins by explaining the differences between server-side and client-side routing, with client-side routing allowing for preservation of application state through caching. The document then discusses building the UI out of reusable components, using a virtual DOM for efficient re-rendering, and breaking rendering work into fibers to avoid blocking the main thread. The goal is to provide a native-like user experience when navigating between views by caching and reusing application state.
Janakiram MSV introduced .NET services including Service Bus, Access Control Service, and Workflow Services. Service Bus provides connectivity for applications over the cloud. Access Control Service enables claims-based access control in the cloud. Workflow Services provides infrastructure for hosting and managing workflows on the cloud. The presentation discussed how these services address challenges of distributed computing and provide key building blocks for cloud applications.
This document discusses various SOA patterns for addressing common challenges in service-oriented architectures, such as service availability, flexibility, management, reporting, and multi-tenancy. It describes patterns like parallel pipelines, inversion of communications, orchestration, sagas, aggregated reporting, and reservation that can help mitigate these challenges by distributing requests, decoupling services, coordinating workflows, collecting data from multiple sources, and allocating shared resources.
This document discusses web servers. It provides an overview of web clients and web servers, and describes how web servers handle static and dynamic content. The document outlines the typical architecture of a two-tier or three-tier client-server system for delivering web pages. It also discusses the GET and POST request methods, phases of request handling, popular web servers like Apache and IIS, and factors to consider when selecting a web server.
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...Nathaniel Palmer
SOA and Web Services technologies can provide powerful tools and capabilities to effect migration towards an Enterprise Architecture (EA), but what are the challenges to such an exercise, and how can they be overcome? Based on a case study at the Department of Housing and Urban Development (HUD), the first effort in HUD to analyze and design the replacement of several legacy systems with an integrated and services-based
system, this presentation will provide a technical overview of SOA and Web Services, and lessons learned from the project. These lessons will cover methodologies and modeling artifacts that were developed for the effort, the use of BPM based on the Business Process Execution Language (BPEL) and system adapters to provide an abstraction layer for system integration, an example of how Web Services can directly support EA migration, and final considerations to pass onto similar projects.
ESWC SS 2012 - Tuesday Keynote John Domingue: Services, Semantics and Linked ...eswcsummerschool
This document discusses services, semantics, and linked data. It provides a short history of semantic web services including OWL-S and WSMO. It describes the linked data effect and how linked open data has grown significantly. It discusses the rise of RESTful web services and approaches to linking data and services including MicroWSMO and WSMO-Lite. Example applications of linked data and services are presented. Current and future W3C work on areas like the Unified Service Description Language are outlined. The document concludes with a summary of the key points.
This document discusses technologies for enabling service-oriented architectures (SOAs). It covers generic technologies like RESTful and SOAP web services. Platform-specific technologies for Java (JAX-WS) and .NET (.NET, WCF) are also discussed. Standards like XML, HTTP, SOAP, WSDL, and UDDI that web services are built on are explained. The roles of service providers, consumers and registries are defined. Enterprise service buses and their role in service integration are summarized. Finally, factors to consider in building a business case for SOA like stakeholders' objectives, benefits, cost savings, and return on investment are outlined.
The document discusses key concepts related to web services including:
- Web services allow applications to communicate regardless of programming language or platform through standards like SOAP, XML, WSDL and UDDI.
- SOAP is the standard protocol for communication, XML is used for data representation, WSDL describes available services, and UDDI allows services to be discovered.
- Web services provide benefits like easy accessibility from any device on the internet, flexibility in structure for different requirements, and easy integration between applications built on different platforms.
Working with Data and Web Services in Microsoft Silverlight 2goodfriday
Learn how easy it is to utilize POX, REST, RSS, ATOM, JSON, and SOAP in your Microsoft Silverlight mashup applications. Also learn how to easily access and display data with Silverlight using LINQ and databinding.
Part 1 of a 4 part series exploring Web 2.0 and the Geoweb. This short series of lectures is part of the "Introduction to Geoweb" course offered at the University of Colorado at Denver. Full context available at http://blog.gishacks.com/2009/08/web-20-and-geoweb-part-1-web-20.html.
MeasureWorks eFinancials - Best practices for a successfull mobile experienc...MeasureWorks
Gebruikers van mobiel internet verwachten snelle transacties en betrouwbare sites en/of applicaties. Volgens recent onderzoek haakt meer dan 52% van de klanten af bij een slechte ervaring en overweegt daardoor geen gebruik meer te maken van een mobiele applicatie.
Nu mobiel internet een integraal onderdeel wordt van uw dienstverlening, en de verwachtingen van klanten toenemen, wordt het managen en monitoren van uw mobiele sites en applicaties een voorwaarde voor succes. Het niet tijdig identificeren van langzame, of erger, niet functionerende mobiele diensten zal onherroepelijk resulteren in verlies van klanten, omzet en uiteindelijk reputatie schade.
Aan de hand van praktijkvoorbeelden zullen we u laten zien:
* Wat de impact is van de adoptie van mobiel internet en groeiende klantverwachtingen op uw online dienstverlening
* Op welke wijze Mobiele Web Experience problemen kunnen worden herkend voordat klanten uw website verlaten
* Best practices voor het leveren van een kwalitatief uitstekende Mobile Web Experience
Similar to Turning Web Applications into Web Services by Wrapping Techniques (20)
An Approach for Model Based Testing of Augmented Reality Applications.pdfPorfirio Tramontana
The popularity of Augmented Reality (AR) applications has strongly been increased with the worldwide
success of the Pokemon Go videogame released by Niantic in 2016. However, AR offers tangible benefits
in many further areas beyond entertainment, such as advertisement, education, navigation, maintenance,
health, and so on. With the growing spread and success of AR applications in these fields, there has also
been a growing necessity for approaches and technologies for assuring the quality of these applications,
such as testing. A few technologies and frameworks have been recently proposed supporting the
implementation and execution of test scripts that can be used to exercise the applications, but there still
is a lack of effective techniques and tools for the automatic generation of executable test cases. In this
paper, we investigate the possibility of using Model Based Testing techniques to generate executable
test scripts from Finite State Machines modeling the behaviour of the GUI of AR applications, similarly
to other GUI based applications. We have applied several model coverage criteria to design test suites
and we have shown the feasibility of this approach by testing two small example applications involving
Unity3D and Vuforia technologies
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Porfirio Tramontana
The document presents a technique for generating robust locators for end-to-end testing of template-based web applications. It involves automatically injecting unique identifiers or "hooks" into the HTML tags and templates during development. These hooks are then used to generate XPath locators that are resistant to changes in tag attributes, text, structure, or position. An experiment found that tests using the hook-based locators did not fail due to fragility like default locators did, demonstrating increased robustness. The approach can be integrated into continuous integration pipelines for regression testing. Future work includes expanding the prototype tools and further validation of the locator robustness.
Development and diffusion of Mobile applications go forward at a tremendous rhythm, due to the always increasing impact of smartphones and other mobile devices on people’s habitudes but many applications are uninstalled and discarded by users when they experience the presence of bugs. Functional testing represents a crucial activity in the context of mobile applications, and there is a large request in both industry and scientific community for mobile testing methodologies, techniques and tools. In particular, since these activities are usually repetitive, expensive and time consuming, there is a remarkable request for automated techniques and tools supporting them.
This talk will provide a view of the state-of-the-art on techniques and tools supporting the automation of functional testing of mobile applications, including model based, model learning, search based, user session based and random testing techniques.
A technique for parallel gui testing of android applicationsPorfirio Tramontana
The document presents a technique for parallelizing GUI testing of Android applications. It describes a sequential active learning testing algorithm and then presents modifications to support parallel testing across multiple resources. An evaluation of the approach demonstrates that code coverage is unaffected by parallelism while testing time is significantly reduced, with speed improvements up to 7x compared to sequential testing. Limitations include sub-linear speedup with high parallelism and performance impacts when emulators are co-located on machines. Future work is needed to further optimize the algorithm and infrastructure.
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Porfirio Tramontana
Nevertheless spreadsheets were originally designed for computing purposes and for commercial applications, they are often used in industry to implement Information Systems, thanks to the functionalities offered by integrated scripting languages and ad-hoc frameworks (e.g., Visual Basic for Applications). This technological solution allows the adoption of Rapid Application Development processes for the quickly development of Spreadsheets-based Information Systems, but the resulting systems are quite difficult to be maintained and very difficult to be migrated to other architectures such as Database-oriented Informative Systems or Web applications. In this paper we present an approach for reverse engineering the data model from an Excel spreadsheet-based system in the context of a process of migration to a Web based application based on a MVC architecture. The proposed approach was successfully applied in a real context of a company operating in the automotive industry. The main contribution of this paper is represented by the Data Model Reverse Engineering activity that is the basis of the Migration process.
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Porfirio Tramontana
This document discusses the history of reverse engineering techniques for web applications from 1999 to 2013. It covers early work modeling web sites and migrating them to web applications. It then summarizes research on reverse engineering web applications to understand their architecture and generate documentation. The challenges of reverse engineering rich internet applications are also outlined. Finally, the document discusses how reverse engineering techniques originally developed for web applications are now being applied to mobile applications.
The document summarizes contributions to web application testing from past Web Site Evolution (WSE) conferences over 15 years. It discusses papers on testing functionality, large web applications, black-box and model-based techniques. Other topics included are regression testing, accessibility testing, security vulnerability assessment, and challenges in rich internet application and web service testing. The document concludes that as web applications continue to increase in complexity, new techniques will be needed to effectively test dynamic and adaptive applications across diverse platforms.
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Porfirio Tramontana
The rapid diffusion of Internet has triggered a growing request for new Web sites and Web Applications (WA).
Due to the pressing market demand, new WAs are usually developed in a very short time, while existing WAs are modified frequently and quickly. In these conditions, the well-known software engineering principles are not usually applied, as well as well-defined software processes and methodologies are rarely adopted. As a consequence, WAs usually present disordered architectures, poor or non-existing documentation, and can be analyzed, comprehended and modified with a considerable effort.
Reverse engineering methods and tools are being proposed in order to reduce the effort required to comprehend existing WAs and to support their maintenance and evolution. In this paper, the experimentation of a reverse engineering approach is described. Experimentation was carried out with the aim of assessing which characteristics of a WA mostly affect comprehensibility. The results of the experiments highlighted a set of techniques and best practices that should be applied for producing best analyzable and maintainable WAs.
Comprehending Web Applications by a Clustering Based Approach Porfirio Tramontana
The number and the complexity of web applications are increasing dramatically to satisfy the market requests, and the need of effective approaches for comprehending them is growing accordingly. Recently, some reverse engineering methods and tools have been proposed to support the comprehension of a web application; the information recovered by these tools is usually rendered in graphical representations. However, the graphical representations become progressively less useful with large-scale applications, and do not support adequately the comprehension of the application.
In this paper, to overcome this limitation, we propose an approach based on a clustering method for decomposing a web application (WA) into groups of highly functionally related components. The approach is based on the definition of a coupling measure between interconnected components of the WA that takes into account both the typology and the topology of the connections. The coupling measure is exploited by a clustering algorithm that produces a hierarchy of clustering. This hierarchy allows a structured approach to the comprehension of the web application to be carried out. The approach has been experimented with on medium sized web applications and produced interesting and encouraging results.
The heterogeneous and dynamic nature of components making up a Web Application, the lack of effective programming mechanisms for implementing basic software engineering principles in it, and undisciplined development processes induced by the high pressure of a very short time-to-market, make Web Application maintenance a challenging problem. A relevant issue consists of reusing the methodological and technological experience in the sector of traditional software maintenance, and exploring the opportunity of using Reverse Engineering to support effective Web Application maintenance.
The Ph.D. Thesis presents an approach for Reverse Engineering Web Applications. The approach include the definition of Reverse Engineering methods and supporting software tools, that help to understand existing undocumented Web Applications to be maintained or evolved, through the reconstruction of UML diagrams. Some validation experiments have been carried out and they showed the usefulness of the proposed approach and highlighted possible areas for improvement of its effectiveness.
Recovering Interaction Design Patterns in Web Applications Porfirio Tramontana
In the last years, appropriate user interaction design patterns for Web Applications have been defined to improve the development and quality of such applications. Identifying which interaction design patterns are implemented in the Web client pages of an existing application may make easier some maintenance tasks, such as the re-engineering of the user interfaces.
In this paper a method to support the automatic identification of interaction design patterns implemented in a Web client page is proposed. The method is based on reverse engineering techniques aiming to search the page code for those features characterizing a pattern.
Warranting the access to Web contents to any citizen, even to people with physical disabilities, is a major concern of many government organizations. Although guidelines for Web developers have been proposed by international organisations (such as the W3C) to make Web site contents accessible, the wider part of today’s Web sites are not completely usable by peoples with sight disabilities.
In this paper, two different approaches for dynamically transforming Web Pages into Aural Web Pages, i.e. pages that are optimised for blind peoples, will be presented. The approaches exploit heuristic techniques for summarising Web pages contents and providing them to blind users in order to improve the usability of Web sites. The techniques have been validated in an experiment where usability metrics have been used to assess the effectiveness of the Web page transformation techniques.
Techniques and Tools for Rich Internet Applications TestingPorfirio Tramontana
The User Interfaces of Rich Internet Applications (RIAs) present a richer functionality and enhanced usability than the ones of traditional Web applications which are obtained by means of a successful combination of heterogeneous technologies, frameworks, and communication models. Due to its increased complexity, dynamicity, and responsiveness, testing the user interfaces of an RIA is more complex than testing the user interfaces of a traditional Web application and requires that effective and efficient testing techniques are proposed and validated. In this paper we analyse the most critical open issues in RIA testing automation and propose a classification framework that characterizes existing RIA testing techniques from four different perspectives. Driven by this classification, we present a set of testing techniques that can be used for automatically and semi-automatically generating test cases, for executing them and evaluating their results. Some examples of applying the proposed techniques for testing real Ajax applications will also be shown in the paper.
1) The document describes DynaRIA, a tool for analyzing Ajax-based rich internet applications (RIAs). DynaRIA provides features for comprehension, testing, debugging, and quality assessment of RIAs.
2) Several case studies were conducted using DynaRIA to evaluate its effectiveness. Tasks like understanding features, detecting errors, and assessing quality were accomplished using DynaRIA's visualizations and analysis features.
3) DynaRIA was found to provide useful support for comprehension, testing, and quality analysis of RIAs. Future work involves expanded evaluation of DynaRIA's cognitive support and extending its analysis capabilities.
A GUI Crawling-based Technique for Android Mobile Application TestingPorfirio Tramontana
As mobile applications become more complex, specific development tools and frameworks as well as cost-effective testing techniques and tools will be essential to assure the development of secure, high-quality mobile applications.
This paper addresses the problem of automatic testing of mobile applications developed for the Google Android platform, and presents a technique for rapid crash testing and regression testing of Android applications. The technique is based on a crawler that automatically builds a model of the application GUI and obtains test cases that can be automatically executed. The technique is supported by a tool for both crawling the application and generating the test cases. In the paper we present an example of using the technique and the tool for testing a real small size Android application that preliminary shows the effectiveness and usability of the proposed testing approach.
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Porfirio Tramontana
The relevance of end user documentation for improving usability, learnability and operability of software applications is well known. However, software processes often devote little effort to the production of end user documentation due to budget and time constraints, or leave it not up-to-date as new versions of the application are produced. In particular, in the field of Web applications, due to their quick release time and the rapid evolution, end user documentation is often lacking, or it is incomplete and of poor quality. In this paper a semi-automatic approach for user documentation generation of Web 2.0 applications is presented. The approach exploits dynamic analysis techniques for capturing the user visible behaviour of a web application and, hence, producing end user documentation compliant with known standards and guidelines for software user documentation. A suite of tools support the approach by providing facilities for collecting user session traces associated with use case scenarios offered by the Web application, for abstracting a Navigation Graph of the application, and for generating tutorials and procedure descriptions. The obtained documentation is provided in textual and hypertextual formats. In order to show the feasibility and usefulness of the approach, an example of generating the user documentation for an existing Web application is presented in the paper.
Considering Context Events in Event-Based Testing of Mobile Applications Porfirio Tramontana
A relevant complexity factor in developing and testing mobile apps is given by their sensibility to changes in the context in which they run. As an example, apps running on a smartphone can be influenced by location changes, phone calls, device movements and many other typologies of context events.
In this paper, we address the problem of testing a mobile app as an event-driven system by taking into account both context events and GUI events. We present approaches based on the definition of reusable event patterns for the manual and automatic generation of test cases for mobile app testing.
One of the proposed testing techniques, based on a systematic and automatic exploration of the behaviour of an Android app, has been implemented and some preliminary case studies on real apps have been carried out in order to explore their effectiveness.
The document presents a technique called GUI ripping for automatically testing Android apps. GUI ripping systematically interacts with an app's user interface to generate test cases. When applied to an Android wordpress app, GUI ripping found 14 crashes from 4 bugs, whereas random testing found only 1 of the bugs. Future work will include publishing the GUI ripping tool and experimenting with more apps and test parameters.
This paper presents a toolset for GUI testing of Android applications. The toolset is centered on a GUI ripper that systematically explores the GUI structure of an application under test with the aim of firing sequences of user events and exposing failures of the application. The toolset supports the execution of a testing procedure that automatically performs crash testing of subject applications and provides test results made of several artifacts. The paper illustrates some examples of using the toolset for testing real Android applications.
Thanks to Rich Internet Applications (RIAs) with their enhanced interactivity, responsiveness and dynamicity, the user experience in the Web 2.0 is becoming more and more appealing and user-friendly. The dynamic nature of RIAs and the heterogeneous technologies, frameworks, communication models used for implementing them negatively affect their analyzability and understandability. Consequently, specific software techniques and tools are needed for supporting RIA comprehension. This paper presents DynaRIA, a tool for the comprehension of RIAs implemented in Ajax that is based on dynamic analysis. It provides functionalities for recording and analyzing user sessions from several perspectives, and for producing various types of abstractions and visualizations about the run-time behavior of the application. In order to evaluate this tool, four case studies involving different comprehension tasks of Ajax applications have been executed. The experimental results showed the usefulness and effectiveness of the tool that provided a valid support for Ajax comprehension in reverse engineering, debugging, testing and quality assessment contexts.
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.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
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
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
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.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Turning Web Applications into Web Services by Wrapping Techniques
1. Turning Web Applications into Web
Services by Wrapping Techniques
Giusy Di Lorenzo
Anna Rita Fasolino
Lorenzo Melcarne
Porfirio Tramontana
Valeria Vittorini
Dipartimento di Informatica e Sistemistica
University of Naples Federico II, Italy
2. Motivation
With the diffusion of new paradigms and technological
solutions for the Web (RIA and Ajax, SOA, …), existing
Web Applications are rapidly becoming legacy
A strategic objective: to integrate existing Web
applications with the new platforms
An Open Issue:
Turning Web applications functionalities into Web Services using
systematic migration approaches based on Wrapping techniques
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 2
3. Comparing Interaction paradigms…
Web Applications Web Services
Users seeing an HTML page, fill A Client party invokes a
input fields in a form and submit service implemented by a
them, or click on a link in the page. provider party, using a request
Web Server answers by producing a message.
HTML page containing output values The provider processes the
and new input fields and command request and sends a response
buttons that is rendered by the message with the obtained
browser results.
Req
Resp
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 3
4. Turning WA to WS
Turning Web applications functionalities
into Web services
Transforming the original (non programmatic)
user-oriented interface of the Web application
into a programmatic interface that exposes
the full functionality and data of the
application and that can be suitable for:
Web Services
APIs (e.g. accessible via Ajax requests)
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 4
5. Migration solutions
White Box
Invasive; they depend on the specific languages and technologies
adopted on the server side of the Web Application
Black Box
Web Wrappers solutions
Baumgartner et al., 2004
Web Services returning output data of Web pages obtained via visual
selection
Jiang and Stroulia 2004
Web Services returning output data of Web pages obtained via http
request/response analysis
Canfora et al. 2006
Web Services executing functionalities of form based legacy system via
wrappers
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 5
6. Our Wrapper solution
The goal of our wrapper is to drive the Web Application during
the execution of each possible interaction scenario associated
with the use case to migrate, by providing it with the needed
flow of http requests
The Wrapper behaviour must replicate all the possible behaviour
of the user of the Web application in the execution of the
functionality to migrate
Application Server
Web
Wrapper
Service
Request
Web Application
Web
Service
Response
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 6
7. Wrapper Architecture
Application Server
Wrapper State Discriminating
Expression
Identifier Automaton
Web Browser
Identified , Description
Application Emulator Interaction State Current State
Document
Click or Submit Automaton
HTML Page Engine
Web Service Web Service
Request Response
• Http Unit acts as a Browser Emulator
• A XPath Library (such as Jaxp) supports the Class Identifier
• The behaviour of the wrapper for a given functionality to migrate is completely described in
the corresponding Automaton Description Document
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 7
8. The Model of the Interaction
A Finite State Automaton FSA= (S, T, A, Sin,
Sfin) where:
S is the set of Interaction States; they may be:
Input States
Output States
I/O States
Exception States
A is the set of Actions performed by the user when an
Interaction State occurs,
T is the set of Transitions between states,
Sin and Sfin are the Initial and Final states of the
interaction.
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 8
9. Non Deterministic finite State Automata
Login and Access
Login and Password Permitted
Home Click ‘Login’
Login and
Page Password
Request Password ?
Login and Access
Password Denied
What is the next State?
The next state depends on the internal logic or on the internal state of the legacy system.
Non Deterministic Finite State Automaton (NFA) is a finite state machine where for each pair
of state and input symbol there may be several possible next states
The wrapper must know the list of the possible Next States of a given State
• Possible successors of Password Request State are Access Permitted and Access Denied states
The wrapper must be able to identify the current state on the basis of the returned screen
• Wrapper must discriminate among Access Permitted screen and Access Denied screen
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 9
10. The proposed Migration process
1. Selection of the Web application functionality to be turned into a
Web service, based on:
Business Value
Potential reusability
Cohesion and State Independence
2. Reverse Engineering of the Web application User Interface
1. Identification of execution scenarios
2. Characterisation of execution scenario steps
3. Interaction Model design
1. Evaluation of alternative modelling solutions
2. XML-based design of the model
4. Wrapper Deploy and Validation
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 10
11. The Migration Toolkit
Web Pages Candidate Features
Interaction
states and
discriminating
This toolkit
Classified
Discriminating expressions Interaction supports the
Page pages
Expression State migration
Collector Generator Repository process
Page steps
Classification Interaction model knowledge
Discriminating needed to
Expressions
produce the
Automaton Classified pages Page Automaton
XML Automaton description
description
Designer Classifier needed by
the Wrapper
Web Pages
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 11
12. Case studies
Based on a real italian Web Application for
train journeys planning and booking
3 case studies have been carried out n
order to:
Explore the feasibility of the wrapping
approach
Explore the different migration alternatives
Service BS1 realise a simple train booking service
Services BS2 and BS2* realise a more complex
service in two different manners
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 12
13. Booking Service #1
Input:
Departure Station – Arrive Station – Date and
Starting Time – Login – Password
Behaviour:
The system books one seat on the first available
train solution listed in the timetable iff it can be
purchased on-line and the Standard fare can be
applied
Output:
Train number – Departure Time – Coach number –
seat number – Exception description
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 13
14. BS1 Automaton
State 3
Available
State 5
Train Details
State 6 • No preconditions
Standard Fare shown
Authentication
• 19 Interaction States
• 14 scenarios
State 2 State 4 State 7
Failed
States 11
• 1 successful
Not Available Booking
Available Trains
Standard Fare Authentication • 13 exceptions
State 1 States 8
Home Other Exception
Scenarios
State 9
Not Available
Trains
States 10
Incorrect
Input data
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 14
15. Booking Service #2
Input:
Departure Station – Arrive Station – Date and
Starting Time – Login – Password - NMax
Behaviour:
The system books one seat on the first available
train solution listed in the timetable iff it can be
purchased on-line, the Standard fare can be
applied and it is in the first NMax listed solutions
Output:
Train number – Departure Time – Coach number –
seat number – Exception description
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 15
16. BS2 realisation
Problem:
The interaction model need to maintain some
information about the current state of the interaction
Number of done searching attempts
Some pieces of logic must be added to the automaton
If the number of attempts N is equal to the number of
maximum allowed attempts NMax then go to an exception
state else decrease the departure time and retry
2 possible solution:
Put the logic in the automaton
Put the logic in a Workflow
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 16
17. BS2 – Automaton solution
State 3 State 5
• An Automaton Variable N is
managed, representing the
State 6
Available Train Details Authentication
Standard Fare Showed
actual attempt number.
(1)
State 4
Not Available State 7
States 11
Failed
• The value of Departure
Time is decreased in State 4
State 2 Standard Fare Booking Authentication
Available
Trains
N++
(2)
State 1 State 12
Home Too Much
Attempts
N=0
• States 4 and 12 hthe State Identifier has
the same interface: the State Identifier can
discriminate between them by evaluating the
value of the Automaton Variable N:
• N=NMax State 12
• N<NMax State 4
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 17
18. BS2* – Workflow Solution
(1)
Receive
Implemented with BPEL
Reuses the basic service
Request Train
Booking
N=0
(2)
BS1
Invoke
Booking Service BS1
The other activities model
the business logic of BS2
[ReplayBS =" NA Fare Exc" [ReplayBS ! = "NA Fare Exc"
& Or
N < =Nmax ] N >Nmax]
Realised as BPEL directives
(3)
or other Web Services
(4) (5)
Modify (DepartHour )
Reply
& N++
Train Booking
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 18
19. Discussion
BS2, Automaton Solution
Better performances
Can reuse transition isolation mechanisms that could be
implemented in the existing WA
Larger Automaton
Much effort in Automaton design and testing
BS2*, Workflow Solution
Easier to implement and test (for peoples that are skilled in
workflow design!)
Possibility to reuse existing services
Transition isolation mechanisms should be implemented in the
workflow
Worst performances
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 19
20. Conclusions
A tool supported process for wrapping based migration of
functionalities of Web Application to Web Services has
been proposed
Reported case studies show the feasibility of the wrapper
solution in real problems
Comparisons between different possible solutions have
been proposed
Future Works:
Support to existing RIAs
Improvements of process steps in order to reduce effort
Training of peoples in order to realise empirical studies for
evaluation and comparison of the needed effort
Porfirio Tramontana – WCRE 2007 – Vancouver, BC – 10/30/2007 20