Vefurinn hefur á undanförnum árum náð fótfestu sem sjálfgefið viðmót á hugbúnaði. Enterprise lausnir hafa gjarnan vefviðmót, bæði fyrir viðskiptavini og starfsmenn. Á síðari árum hafa snjallsímalaunsir bæst við. Við það hefur orðið skýrari skil milli viðmóts og bakenda, með forritaskilum - API.
Í þessum fyrirlestri skoðum við framsetningarlagið - Presentation Layer Design og hvernig við getum hannað forrit fyrir þetta lag. Skoðuð eru ýmis munstur og það helsta er eitt það frægasta í hugbúnaðargerð: Model View Controller.
Við skoðum einnig Play framework en það er ramminn sem við notum til að forrita.
● Data Modeling and Data Models.
● Business Rules (Translating Business Rules into Data Model Components).
● Emerging Data Models: Big Data and NoSQL.
● Degrees of Data Abstraction (External, Conceptual, Internal and Physical model).
● Data Modeling and Data Models.
● Business Rules (Translating Business Rules into Data Model Components).
● Emerging Data Models: Big Data and NoSQL.
● Degrees of Data Abstraction (External, Conceptual, Internal and Physical model).
Advance Database Management Systems -Object Oriented Principles In DatabaseSonali Parab
An OODBMS is the result of combining object oriented programming principles with database management principles. Object oriented programming concepts such as encapsulation, polymorphism and inheritance are enforced as well as database management concepts such as the ACID properties (Atomicity, Consistency, Isolation and Durability) which lead to system integrity, support for an ad hoc query language and secondary storage management systems which allow for managing very large amounts of data. The Object Oriented Database Manifesto specifically lists the following features as mandatory for a system to support before it can be called an OODBMS; Complex objects, Object identity, Encapsulation , Types and Classes , Class or Type Hierarchies, Overriding, overloading and late binding, Computational completeness , Extensibility,Persistence , Secondary storage management, Concurrency, Recovery and an Ad Hoc Query Facility.
What is OLAP -Data Warehouse Concepts - IT Online Training @ NewyorksysNEWYORKSYS-IT SOLUTIONS
NEWYORKSYSTRAINING are destined to offer quality IT online training and comprehensive IT consulting services with complete business service delivery orientation.
Comprehensive coverage of fundamentals of computer graphics.
3D Transformations
Reflections
3D Display methods
3D Object Representation
Polygon surfaces
Quadratic Surfaces
This presentation discusses the following topics:
Object Oriented Databases
Object Oriented Data Model(OODM)
Characteristics of Object oriented database
Object, Attributes and Identity
Object oriented methodologies
Benefit of object orientation in programming language
Object oriented model vs Entity Relationship model
Advantages of OODB over RDBMS
This Presentation contains all the topics in design concept of software engineering. This is much more helpful in designing new product. You have to consider some of the design concepts that are given in the ppt
Concurrency control, ACID property, Serializability of scheduling, Locking and timestamp based schedulers, Multi-version and optimistic Concurrency Control schemes, Database recovery.
Advance Database Management Systems -Object Oriented Principles In DatabaseSonali Parab
An OODBMS is the result of combining object oriented programming principles with database management principles. Object oriented programming concepts such as encapsulation, polymorphism and inheritance are enforced as well as database management concepts such as the ACID properties (Atomicity, Consistency, Isolation and Durability) which lead to system integrity, support for an ad hoc query language and secondary storage management systems which allow for managing very large amounts of data. The Object Oriented Database Manifesto specifically lists the following features as mandatory for a system to support before it can be called an OODBMS; Complex objects, Object identity, Encapsulation , Types and Classes , Class or Type Hierarchies, Overriding, overloading and late binding, Computational completeness , Extensibility,Persistence , Secondary storage management, Concurrency, Recovery and an Ad Hoc Query Facility.
What is OLAP -Data Warehouse Concepts - IT Online Training @ NewyorksysNEWYORKSYS-IT SOLUTIONS
NEWYORKSYSTRAINING are destined to offer quality IT online training and comprehensive IT consulting services with complete business service delivery orientation.
Comprehensive coverage of fundamentals of computer graphics.
3D Transformations
Reflections
3D Display methods
3D Object Representation
Polygon surfaces
Quadratic Surfaces
This presentation discusses the following topics:
Object Oriented Databases
Object Oriented Data Model(OODM)
Characteristics of Object oriented database
Object, Attributes and Identity
Object oriented methodologies
Benefit of object orientation in programming language
Object oriented model vs Entity Relationship model
Advantages of OODB over RDBMS
This Presentation contains all the topics in design concept of software engineering. This is much more helpful in designing new product. You have to consider some of the design concepts that are given in the ppt
Concurrency control, ACID property, Serializability of scheduling, Locking and timestamp based schedulers, Multi-version and optimistic Concurrency Control schemes, Database recovery.
One of the most critical design decisions on enterprise programming is where to keep the state. As we talked about in the lecture on Concurrency, session state is the state that is maintained between requests. A session starts when the user first hits the enterprise system, and lasts until the user signs out or times out. In this lecture we look at the session state and explore three design patterns on where to store the session state.
The second topic in this lecture is how to distribution the applications. The primary reason we want to do that is to get more performance and handle more load. Most enterprise applications have lots of users, some hundreds of thousands. The only way to cope with such load is to scale the application. Scalability is how much more load an application can take if more resources are added. We will look at two ways to scale, one is by load balancing and the other by clustering.
Video of this lecture are found here:
http://www.olafurandri.com/?page_id=2762
The web has become the default and standard user interface for enterprise programming. In this lecture we look at the challenges of adding a web user interface to enterprise systems. The main design pattern we look at is the classical Model View Controller.
The idea is to break user interface components into three distinct roles. The Controller is the entry of the request, and handles the parameters that come with the request. The controller uses the model for the "state" or domain logic, be it calculations or getting some data. The model will deliver some data that needs to be rendered. It is the responsibility of the view to render the user interface.
We will also briefly look at the Play! framework: http://www.playframework.org/
Presentasi MODEL OSI
Presentasi ini semata-mata dibuat untuk melaksanakan tugasku sebagai pelajar. yah, ini merupakan karyaku ( yang diambil dari berbagai sumber )
Semoga dapat bermanfaat..
Toward a Standardized XMAN Presentation Layer with Consideration of User Inte...Bassel Saab
Bassel Saab and Mohamad Haji, “Toward a Standa rdized XMAN Presentation Layer with Consideration of User Interface Description Languages”, DeSE2011 Conference, Dubai, UAE, Dec 2011
Debunking Common Myths of Mobile Application DevelopmentAntenna Software
Slides from an interactive panel discussion on the use of open source development tools for mobile business apps with guest, Sterling Hamilton, Lead Developer, Noble Studios
View the slides here, or watch the webinar OnDemand:http://bit.ly/ZvnuM1
Presentation Highlights:
-Why Phonegap may not be a suitable solution for enterprise apps
-How to use open source ("free") dev tools effectively for enterprise mobility projects
-How to avoid 9 common, critical mistakes when developing mobile apps for business
Introduction to ASP.NET MVC, Covering following topics:
Asp.Net Webforms?
Web-Forms : Request Flow
Problems with Web-Forms Approach
Why does Microsoft need MVC?
What is MVC?
Asp.Net MVC Request Flow
Example
I have been working on a new breed of estimation methodologies called "Open estimation methodologies". They can be called "Deliverable based estimation methodologies" also. This presentation is about this family of methodologies.
How many times have you experienced the agonizing wait as you navigate through a web application? Looking expectantly at the screen, and waiting for the page to load? Frustrating, isn’t it?
Using Single Page web application (SPA) technique can give your web application as seamless an experience as a desktop application. So, what is SPA? And how does it enhance the viewer experience?
The webinar will take you through a step-by-step introduction to SPA, its building blocks, the design techniques and advantages of SPA. It will also discuss the distinct advantages of using AngularJS for Single Page Applications and feature an application demo.
Key Takeaways:
Single Page Web Applications [SPA] , Present and Future
- Introduction
- Why SPA, advantages
- SPA- Multiplatform perspective
- Future of SPA
Architectural considerations for developing SPA
- Building blocks of SPA
- Main Challenges in Web Application Development
Why choose AngularJS for SPA
- Walkthrough of Key AngularJS features
- Advantages of AngularJS in SPA development
Application Demo
Who will benefit from this webinar?
ISVs who want to make their web applications more fluid and engaging for their users
Businesses who don’t want to lose customers because of a slow website
- B2C portals
- Online Retailers
- Travel & Hospitality
- Online shopping portals
- Healthcare portals
Educational & training institutions
The ASP.NET MVC Framework provides a powerful Model View Controller (MVC) approach to building web applications and provides separation of concerns, control over HTML output, intuitive URLs, and increased testability. We will start by looking at the -what and why of ASP.NET MVC. Then we will explore the various pieces of ASP.NET MVC including routes, controllers, actions, and views. If you are looking to get started with MVC then don’t miss this session.
Getting started with MVC 5 and Visual Studio 2013Thomas Robbins
The ASP.NET MVC Framework provides a powerful Model View Controller (MVC) approach to building web applications and provides separation of concerns, control over HTML output, intuitive URLs, and increased testability. We will start by looking at the what and why of ASP.NET MVC. Then we will explore the various pieces of ASP.NET MVC including routes, controllers, actions, and views. If you are looking to get started with MVC then don’t miss this session.
Fyrirlestur fyrir Félag tölvunarfræðinga og Verkfræðingafélagið þann 18.05.2022
Nýsköpun er forsenda tækniframfara sem eru forsendur framþróunar. Nýsköpun byrjar yfirleitt smátt og þarf margar ítranir til að virka. Frumkvöðlar sem eru að búa til nýjungar þurfa ekki einungis að glíma við tæknina og takmarkanir hennar, heldur einnig skoðanir og álit samtímamanna sem sjá ekki alltaf tilgang með nýrri tækni. Í þessum fyrirlestri skoðar Ólafur Andri nýsköpun og þær framfarir sem hafa orðið. Einnig skoðar hann hvert tækniframfarir nútímans muni leiða okkur á komandi árum.
Ólafur Andri Ragnarsson er aðjúnkt við Háskólann í Reykjavík og kennir þar námskeið um tækniþróun og hvernig tæknibreytingar hafa áhrif á fyrirtæki. Hann er tölvunarfræðingur (Msc) að mennt frá Oregon University í Bandaríkjanum. Ólafur Andri er frumkvöðull og stofnaði, ásamt fleirum, Margmiðlun og síðar Betware. Þá tók Ólafur Andri þátt í að stofna leikjafyrirtækið Raw Fury AB í Stokkhólmi.
Fyrirlestur haldinn fyrir tæknifaghóp Stjórnvísi þann 13. október 2020.
Undanfarna áratugi höfum við séð gríðalegar framfarir í tækni og nýsköpun á heimsvísu. Þessar framfarir hafa skapað mannkyninu öllu aukna hagsæld. Þrátt fyrir veirufaraldur á heimsvísu eru framfarir ekkert að minnka heldur munu bara aukast næstu árum. Gervgreind, róbotar, sýndarveruleiki, hlutanetið og margt fleira er að búa til nýjar lausnir og ný tækifæri. Framtíðin er í senn sveipuð dulúð og getur verið spennandi og ógnvekjandi í senn. Eina sem við vitum fyrir vissu er að framtíðin verður alltaf betri. Í þessu fyrirlestri ætlar Ólafur Andri Ragnarsson kennari við HR að fjalla um nýjustu tækni og framtíðina.
Technology is one of the factors of change. When new disruptive technology is introduced, it can change industries. We have many examples of that and will start this journey it one of the most important innovation that has come in our lifetimes, the smartphone. We will explore the impact of the smartphone and the fate of existing companies at the time when iPhone, the first smartphone as we know them, was introduced to the world.
We will also look at other examples from history. Then we look at the broader picture, past industrial revolutions and the one that we are experiencing now, the fourth industrial revolution. Specifically we look briefly at the technologies that fuel this revolution, for example artificial intelligence, robotics, drones, internet of things and more.
Manlike machines have fascinated humans since ancient times. The modern robots start to take shape with the industrial revolution. In the 20th century robots were mostly industrial machines you would see in factories, like car factories.
Today, robots can have sensors, vision, they can hear and understand. They can connect to the cloud for more information. However, we are still in the early stages of robotics and robots will need to go a long way to become useful as a ubiquitous general purpose devices.
The normal interaction with computers is with keyboard and a mouse. For display a rectangular somewhat small screen is used with 2D windowing systems. The mouse was invented more the 40 years ago and has been for 20 years dominant input. Now we are seeing new types of input devices. Multi-touch adds new dimensions and new applications. Natural user interfaces or gesture interfaces where people point to drag objects. Computers are also beginning to recognize facial expressions of people, so it knows if you are smiling. Voice and natural language understanding is getting to a usable stage. All this calls all types of new applications.
Displays are getting bigger. What if any surface was a screen? If you could spray the wall with screen? Or have you phone project images to the wall.
This lectures explores some of these new types of interactions with computers and software. It makes the old mouse look old.
Local is the Lo in SoLoMo, the buzz word. Local is not only about location, it's also about your digital track record. Over 70% of Netflix users watch the films recommend. Mining data to understand people's behaviour is getting to be a huge and valuable business. Advertisers see opportunities in getting direct to their target groups. Predictive intelligence is also about where you will be at some time in the future, and where somebody you know will be.
It turns out that Facebook and Google know you better than you think you know yourself. The world is about to get really scary.
Over two billion people signed up for Facebook. This site the most used site for people when using the Internet. People are not watching TV so much anymore - they using Facebook, Youtube and Netflix and number of popular web sites.
Some people denote their time working for others online. What drives people to write an article on Wikipedia? They don´t get paid. Companies are enlisting people to help with innovations and sites such as Galaxy Zoo ask people to help identifying images. And why do people have to film themselves singing when they cannot sing and post the video on Youtube?
In this lecture we talk about how people are using the web to interact in new ways, and doing stuff.
With the computer revolution vast amount of digital data has become available. With the Internet and smart connected product, the data is growing exponentially. It is estimated that every year, more data is generated than all history prior. And this has repeated over several years.
With all this data, it becomes a platform for something new of its own. In this lecture, we look at what big data is and look at several examples of how to use data. There are many well-know algorithms to analyse data, like clustering and machine learning.
After the computing industry got started, a new problem quickly emerged. How do you operate this machines and how to you program them. The development of operating systems was relatively slow compared to the advances in hardware. First system were primitive but slowly got better as demand for computing power increased. The ideas of the Graphical User Interfaces or GUI (Gooey) go back to Doug Engelbarts Demo of the Century. However, this did not have much impact on the computer industry. One company though, Xerox, a photocopy company explored these ideas with Palo Alto Park. Steve Jobs of Apple and Bill Gates of Microsoft took notice and Apple introduced first Apple Lisa and the Macintosh.
In this lecture on we look so lessons for the development of software, and see how our business theories apply.
In this lecture on we look so lessons for the development of algorithms or software, and see how our business theories apply.
In the second part we look at where software is going, namely Artificial Intelligence. Resent developments in AI are causing an AI boom and new AI application are coming all the time. We look at machine learning and deep learning to get an understanding of the current trends.
We are currently living in times of great transformation. We have over the last couple of decade seen the Internet become the most powerful disrupting force in the world, connecting everyone and transforming businesses. Now everyday objects - things we use are getting smart with sensors and software. And they are connecting. What does this mean?
We will see the world become alive. Cars will talk to road sensors that talk to systems that guide traffic. Plants will talk to weather systems that talk to scientists that research climate change. Farming fields will talk to the farming system that talks to robots that do fertilising and harvesting. Home appliances like refrigerators, ovens, coffee machines and microwaves ovens will talk to the home food and cooking system that will inform the store that you are running out butter, cheese, laundry detergent and coffee beans, which will inform the robot driver to get this to your house after consulting your calendar upon when someone is at home.
In this lecture we explore the Internet of Things, IoT.
The Internet grew out of US efforts to build the ARPANET, a network of peer computers built during the cold war. The two major players were military and academia. The network was simple and required no efforts for security or social responsibility. The early Internet community was mainly highly educated and respectable scientist. In the early 1990s the World Wide Web, a hypertext system is introduced, and soon browsers start to appear, leading the commercialization of Net. New businesses emerge and a technology boom known as the dot-com era.
The network, now over 40, is being stretched. Problems such as spam, viruses, antisocial behaviour, and demands for more content are prompting reinvention of the Net and threatening its neutrality. Add to this government efforts to regulate and limit the network.
In this lecture we look at the Internet and the impact of the network. We will also look at the future of the Internet.
The Internet grew out of US efforts to build the ARPANET, a network of peer computers built during the cold war. The two major players were military and academia. The network was simple and required no efforts for security or social responsibility. The early Internet community was mainly highly educated and respectable scientist. In the early 1990s the World Wide Web, a hypertext system is introduced, and soon browsers start to appear, leading the commercialisation of Net. New businesses emerge and a technology boom known as the dot-com era.
The network, now over 40, is being stretched. Problems such as spam, viruses, antisocial behaviour, and demands for more content are prompting reinvention of the Net and threatening its neutrality. Add to this government efforts to regulate and limit the network.
In this lecture we look at the Internet and the impact of the network. We will also look at the future of the Internet.
The ideas for cellular phones were developed in the 1940s. However, it was not until the microprocessor becomes available that practical commercial solutions are possible.
Today there are more than 5 billion unique mobile phone subscriptions in the world and of them about 2.5 billion are smartphones. This device is so powerful that people check it over 40 times a day.
In this lecture we look mobile. We also look at the history of communication since the telegraph and how the mobile market developed in the 80s and 90s until the iPhone was released in 2007. That same year Western Union stopped sending telegraph messages.
Did you know that the term "Computer" once meant a profession? And what did people or computers actually do? They computed mathematical problems. Some problems were tedious and error prone. And it is not surprising that people started to develop machines to aid in the effort. The first mechanical computers were actually created to get rid of errors in human computation. Then came tabulating machines and cash registers. It was not until telephone companies were well established that computing machines became practical.
First computers were huge mainframes, but soon minicomputers like DEC’s PDP started to appear. The transistor was introduced in 1947, but its usefulness was not truly realized until in 1958 when the integrated circuit was invented. This led to the invention of the microprocessor. Intel, in 1971, marketed the 4004 – and the personal computer revolution started. One of the first Personal Computers was MITS’ Altair. This was a simple device and soon others saw the opportunities.
In this lecture we start our coverage of computing and look at some of the early machines and the impact they had.
Software is changing the way traditional business operate. People now have smartphones in their pockets - a supercomputer that is 25,000 times more powerful and the minicomputers of the 1960s. This is changing people's behaviour and how people shop and use services. The organisational structure created in the 20th century cannot survive when new digital solution are being offered. Software is changing the way traditional business operate. People now have smartphones in their pockets - a supercomputer that is 25,000 times more powerful and the minicomputers of the 1960s. This is changing people's behaviour and how people shop and use services. The organisational structure created in the 20th century cannot survive when new digital solution are being offered. The hierarchical structure of these established companies assumes high coordination cost due to human activity. But when the coordination cost drops
The organisational structure that companies in the 20th century established was based on the fact that employees needed to do all the work. The coordination cost was high due to the effort and cost of employees, housing etc. Now we have software that can do this for use and the coordination cost drops to close-to-zero. Another thing is that things become free. Consider Flickr. Anybody can sign up and use the service for free. Only a fraction of the users get pro account and pay. How can Flickr make money on that? It turns out that services like this can.
Many businesses make money by giving things away. How can that possibly work? The music business has suffered severely with digital distribution of content. Should musicians put all their songs on YouTube? What is the future business model for music?
One of the great irony of successful companies is how easily they can fail. New companies are founded to take advantage of some new technology. They become highly successful and but when the technology shifts, something new comes along, they are unable to adapt and fail. This is the innovator’s dilemma.
Then there are companies that manage to survive. For example, Kodak survived two platform shift, only til fail the third. IBM has survived over 100 years. What do successful companies do differently?
History has many examples of great innovators who had difficult time convincing their contemporaries of new technology. Even incumbent and powerful companies regarded new technologies as inferior and dismissed it as "toys". Then when disruptive technologies take off they often are overhyped and can cause bubbles like the Internet bubble of the late 1990s.
In this lecture we look at some examples of disruptive technologies and the impact they had. We look at the The Disruptive Innovation Theory by Harvard Professor Clayton Christensen.
Technology evolves in big waves that we call revolutions. The first revolution was the Industrial revolution that started in Britain in 1771. Since than we have see more revolutions come and how we are in the fifth. These revolutions follow a similar path. First there is an installation period where the new technologies are installed and deployed, creating wealth to those who were are the right place at the right time. This is followed by a frenzy, where financial markets wants to be apart. The there is crash and turning point, followed by synergy, a golden age.
In 1908, a new technological revolution started. It was the Age of Oil and Automobile. The technology trigger was Henry Ford´s new assembly line technique that allowed the manufacturing of standardized, low cost automobile. This created the car industry and other manufacturing companies. This also created demand for gas thus creating the oil industry. During the Roaring Twenties the stock prices rose to new levels, until a crash and the Great Depression. Only after World War II, came a turnaround point followed by a golden age in the post-war boom.
In this lecture we look at a framework for understanding technological revolutions. There revolutions completely change societies and replace the old with new technologies. We will explore how these revolutions take place. We should now be in the golden age phase.
We also look at generations.
In the early days of product development, the technology is inferior and lacking in performance. The focus is very much on the technology itself. The users are enthusiast who like the idea of the product, find use for it, and except the lack of performance. Then as the product becomes more mature, other factors become important, such as price, design, features, portability. The product moves from being a technology to become a consumer item, and even a community.
In this lecture we explore the change from technology focus to consumer focus, and look at why people stand in line overnight to buy the latest gadgets.
In the early days of product development, the technology is inferior and lacking in performance. The focus is very much on the technology itself. The users are enthusiast who like the idea of the product, find use for it, and except the lack of performance. Then as the product becomes more mature, other factors become important, such as price, design, features, portability. The product moves from being a technology to become a consumer item, and even a community.
In this lecture we explore the change from technology focus to consumer focus, and look at why people stand in line overnight to buy the latest gadgets.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...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 the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
6. The Challenge
How to design web applications?
How to separate user interface from the
business logic?
– User Interface is an HTML string
How to provide OO design?
– Code reuse
How can we abstract underlying system
– For example data base
6
7. Presentation and Web Layers
Embedded and Desktop clients
Web Browser is a different type of client
7
9. The Three Layers
Presentation
– User’s interface to the system
– User can be another system
– Accepts input, displays views
Domain
– The Application of the system
– The “Business logic”
– Has the tendency to creep into presentation and data
source
Data Source
– Connection to the database
9
10. Web Layer Design
How to design Web Applications
Two approaches
– Script based – Code using HTML
– Server Page based – HTML page with code
10
Web Browser Web
Server
HTML/HTTP
Web Application
? ?
DB
Server
11. Web Applications
Client is a web Browser
– All interface is HTML with graphics
Server is configured to map URLs to
applications
– The web application can be script or page
11
12. Script Based
Useful when the logic and the flow is important
– Request is not easily mapped to a single page
Examples
– CGI, ISAPI, Java Servlets
12
13. Server Page Based
Useful where there are lots of pages
– Flow is not as important
– Each request can easily be mapped to a page
Examples
– PHP, JSP, ASP
13
14. Web Design
Web Layer must handle the request and the
response
14
15. API Based
User Interface is HTML5 or Native App
– Server side is just API
– Information format in XML or Json
HTML5
JavaScript
Web
Server
DB
Controllers
Service Layer
Domain Model
Data Source Layer
Native App
HTTP Request
Json/XML
HTTP Request
Json/XML
17. Model View Controller
Splits user interface interactions
into three distinct roles
Separates the user interface from the logic
– Originally from 70s Smalltalk
– Similar to Doc/View in MFC
MVC considers three roles
– Clear separations of concerns
– Model: The domain layer handles state
– View: Presentation logic
– Controller: Connects the model and the view
17
18. Model View Controller
How It Works
– Model: The domain layer handles state
– View: Presentation logic
– Controller: Connects the model and the view
18
19. Model View Controller
Benefits
– Separation of the view from the domain logic in the
model
– This is key in any presentation design
Importance of MVC
– View and model are different concerns
– View can change, usually the model is the same
– Easy to test the model without the view
Coupling Dependencies
– View depends on the model, but the model is not
depending on the view 19
20. Model View Controller
When to Use It
– The value is in the separation of concern
– Separating the model and the view
– As this separation is so fundamental in any software
design, any non-trivial system should use MVC in
some form
20
21. MVC in Web Design
Web Applications are request/response based
Input Controller
– Takes the request
– Examines the input parameters
– Calls the Model
– Decides how to
handle the response
– Sends the control
to the View for
rendering
21
23. MVC Patterns
Input controller patterns
– Page Controller
– Front Controller
– Application Controller
View patterns
– Template View
– Transform View – Transforms view to some format
– Two Step View – Logical Screen and final UI
23
24. QUIZ
What design principle is the most important in Model View
Controller?
A) Separation of different concerns
B) All request go the same place
C) Easy to test different components
D) Easy to change the view
25. QUIZ
What design principle is the most important in Model View
Controller?
A) Separation of different concerns
B) All request go the same place
C) Easy to test different components
D) Easy to change the view
✔
26. MVC Patterns
Input controller patterns
– Page Controller
– Front Controller
– Application Controller
View patterns
– Template View
– Transform View – Transforms view to some format
– Two Step View – Logical Screen and final UI
26
27. Page Controller
An object that handles a request for a specific
page or action on a Web site
One input controller for each logical page of the
web site
27
28. Page Controller
How It Works
– One Page Controller for each logical page
Page controller as Script
– Servlet or CGI program
– Useful for web application that need some logic and
data
Page controller as a server page
– ASP, PHP, JSP
– Combines the Page Controller and Template View
– Helpers used to get data from the model
– Works fine if the logic is simple or none
28
30. Page Controller
The basic responsibility of a Page Controller are
– Decode the URL and extract any form data to figure
out all data for the action
– Create and invoke any model objects to process the
data.
• All relevant data from the HTML request should be passed to
the model so that the mode objects don’t need any
connection to the HTML request
– Determine which view should display the result page
and forward the information to it
30
31. Page Controller
When to Use It
– Works well in a site where the controller logic is
simple
– When the controller logic is simple the Front
Controller adds too much overhead
Examples
– Simple Display with a Servlet Controller and a JSP
View
– Using a JSP as a Handler
– Page Handler with Code Behind
31
32. Front Controller
A controller that handles all requests for
a web site
One controller handles all requests
– The handler dispatches to command objects for
behaviour particular to the request
32
33. Front Controller
How It Works
– Takes care of common tasks, for example security,
authentication, i18n, and so on
– Built on Commands
– Usually implemented as script, not page
Two phases
– Request handling – Web Handler
– Command handling – Command classes
33
34. Front Controller
Request handling – Web Handler
– Any common logic
– Authentication, Web Security etc.
– Changes in one place apply for the whole site
– Handler creates the requested command
Command handling – Command classes
– Specific functionality
– Command classes extend abstract classes and
implements process method
– Can be separated form the web infrastructure
34
35. Front Controller
Handler takes the request
– Examines the URL
– Creates command and calls the command
35
36. Front Controller
Web handler can have commands statically or
dynamically
– Static case has the advantage of explicit logic and
compile time error checking
– Dynamic case has some property file to map
request URL to command classes
– Dynamic case has more flexibility to add new
commands
36
37. Front Controller
When to Use It
– Front controller is more complicated design than the
Page Controller
– Only one controller needs to be configured in the web
server, the handler takes care of the dispatching
– With dynamic commands, you can easily add new
commands
– Single point of entry allowing centralized logic
37
38. Application Controller
A centralized point for handling screen
navigation and the flow of an application
Applications that have significant amount of logic
about the screens to use at different points
– For example Wizard style applications
– Screens depend on the state
38
39. Application Controller
How it works
– Two responsibilities: Decide which domain logic to
use and deciding the view
39
40. Application Controller
Can be used with Command pattern
– Commands execute the domain logic
– Not easy to determine what is domain logic and what
is the application logic
State machine
– The Controller must maintain a state
When to Use It
– If the flow and application logic is complex and simple
controllers need to share code
40
41. MVC Patterns
Input controller patterns
– Page Controller
– Front Controller
– Application Controller
View patterns
– Template View
– Transform View – Transforms view to some format
– Two Step View – Logical Screen and final UI
41
42. QUIZ
We are designing an application for corporate tax reduction
which have multiple of screens and various conditions and
exceptions. What controller pattern might be useful?
A) Input Controller
B) Page Controller
C) Front Controller
D) Application Controller
43. QUIZ
We are designing an application for corporate tax reduction
which have multiple of screens and various conditions and
exceptions. What controller pattern might be useful?
A) Input Controller
B) Page Controller
C) Front Controller
D) Application Controller
✔
44. MVC Patterns
Input controller patterns
– Page Controller
– Front Controller
– Application Controller
View patterns
– Template View
– Transform View – Transforms view to some format
– Two Step View – Logical Screen and final UI
44
45. Template View
Renders information into HTML by
embedding markers in an HTML page
Place markers in HTML page that can be
resolved into calls to get dynamic information
45
46. Template View
How it Works
– Embed markers into static HTML page when it’s
written
– When the page is used to service a request, the
markers are replaced by the results of some
computation
Server Pages for presentation
– ASP, PHP, JSP
– Page receives data to work with
– Allow scriptlets
46
47. Template View
Embedding the markers
– Markers are used for dynamic data
– <% and %> JSP, ASP
– Tags such as JSTL and customized
– Data is sent with the request
Helper Objects
– Provide helper object that give the results
– Avoids scriptlets and keeps the code in classes
47
48. Template View
Conditional display
– Most Server Pages support conditional tags
– Provides some presentation logic
– Can lead to bad code and should be avoided if
possible
– Try to move the condition into helper object or tags
48
<c:if test="${!empty cookie.userName}">
Welcome back <c:out value="${cookie.userName.value}" />
</c:if>
49. Example
49
<jsp:include page="top.jsp" flush="true" />
<table cellpadding="4" cellspacing="4" border="0" width="100%">
<tr><td>
<%@ page import="is.ru.honn.domain.User" session="true" %>
<% User user = (User)request.getSession().getAttribute ("user");
if (user == null)
{
%>
<h1>Sportvefurinn</h1>
Ef þú ert nýr notandi getur þú skráð þig með því að smella á <b>Nýskrá</Annars, smelltu á <b>Innskrá</b> til að skrá þig inn á vefinn.
<% } else { %>
<h1>Halló <%= user.getName() %></h1>Smelltu á <b>Leikir</b> til að sjá næstu
<% } %>
</td></tr></table>
<%-- bot.jsp síðan inniheldur restina af HTML síðunni --%>
59. Domain and Presentation
Data from the model need to be accessed by the
view
– Data is simple classes
– Controller handles the flow and decides which view
to call
– View needs access to data
Two methods
– Use Request if lifetime of
the data is the request
– Use Session if the data
must span many requests 59
60. Domain and Presentation
Single Request
– Same request object is used
– Use getParameter to get input
– Store the data in request
using setAttribute
– JSP can access the
data using the
request
60
61. Combining Model and View
Input Controller
HTTP/HTML handling
Model
Domain Layer
View
Template
Model
Parameters
63. Trends
Mobile is bigger than Desktop
– Mobile is the most important platform for many
applications
The Programmable Web
– If you want to be in the game, you have an API
When Good Enough is Not Enough
– Rise Apps
– Single purpose programs
64. Rise of the API
Separating UI from code
– Model View Controller patterns
User Interface is HTML5 or Native App
– Server side is just API
– Information format in XML or Json
65.
66. API Based
User Interface is HTML5 or Native App
– Server side is just API
– Information format in XML or Json
HTML5
JavaScript
Web
Server
DB
Controllers
Service Layer
Domain Model
Data Source Layer
Native App
HTTP Request
Json/XML
HTTP Request
Json/XML
67. API Design
HTTP is designed to be simple
– GET, POST, PUT, DELETE
Trends was to build on top of this
– SOAP
SOAP does not use any of the HTTP built in
functionality
– Adds a complexity layer on top
68. REST Explained Briefly
REST over HTTP leverages HTTP
– Uses HTTP request methods: GET, POST, PUT,
DELETE
GET is safe – does not have side effects
– Possible to cache client side
– 80% or more of the requests are GET
PUT and DELETE are idempotent
69. REST Explained Briefly
GET to get resource
POST to add resource
PUT to update resource
DELETE to delete resource
70. REST examples
Getting
GET someservice.com/api/customer/3829
Adding
POST someservice.com/api/customer/
Updating
PUT someservice.com/api/customer/3829
73. Play Framework
Open source web application framework
– Written in Java
– Build and deployment is all handled by scripts
Follows the model-view-controller architectural
pattern
Goals
– Optimize developer productivity by using convention
over configuration, hot code reloading and display of
errors in the browser
73
74. Play MVC
Model
– Domain specific Java classes
View
– User Interface
– HTML, XML, JSON
– Scala template language
Controller
– Java classes that take requests and operate on the
model
– Results are rendered by the view
74
76. The Request Life Cycle
1. An HTTP Request is received by the framework
2. The Router component tries to find the most
specific route able to accept this request. The
corresponding action method is then invoked
3. The application code is executed
4. If a complex view needs to be generated, a
template file is rendered
5. The result of the action method (HTTP Response
code, Content) is then written as an HTTP
Response
76
78. Creating a Play app
Unzip typesafe-activator-1.2.10-minimal.zip
Open CMD or Terminal
Run activator
– This will download and install Play Framework
$activaor
Add activator to PATH
78
79. Creating a Play app
Open CMD or Terminal
>activator new RuBook
Creates a new appliction
>cd RuBook
>play run
Runs the Web App
Open a browser and goto localhost:9000
79
86. Application.java
input controller
– controllers.Application
– Requests will go to this Java class
86
public class Application extends Controller
{
public static Result index()
{
return ok(index.render("Fagra veröld"));
}
87. index.html
View is a Scala template
views/index.scala.html
Compiles in to class
views/html/index.class
87
@(message: String)
@main("Welcome to Play") {
@message
}
88. Routing
conf/routes contains the routing information
88
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~
# Home page
GET / controllers.Application.index()
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)
89. Errors
Play displays errors
– CMD has more information
89
90. Summary
Web Presenation Patterns
– Model View Controller
– Page Controller
– Front Controller
– Template View
– Application Controller
Play framework
90