Symposium on Web, Mobile & Software Development Technologies

13
Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 1 | Page Conference on Embedded, Web, Mobile & Software Development Technologies Date: 31/08/2021 The fast advancement of embedded, web, mobile and cloud computing technologies brings a new paradigm shift from conventional computing and communications technologies. The internet is rapidly evolving with increasingly sophisticated devices, platforms, APIs, applications, and web browsers. Adding to this is the regular advancement of software development languages and data platforms, thus making it difficult for ICT professionals to keep abreast of new developments. The DUT AppFactory in conjunction with Microsoft South Africa will be hosting an Embedded, Web, Mobile & Software Development Technologies conference. The conference is aimed at showcasing the innovative work that AppFactories and interns are engaged in. It will provide opportunities for experts, mentors and interns to share their experiences and insights. The primary objective is to: Showcase exciting trends and work that interns are engaged in, within the area of embedded, mobile, web and cloud development areas. To provide an opportunity for interns to collaborate. To provide an opportunity for interns to develop their time management, communication, research and presentation skills. To promote best practices in software development within the mobile, web and cloud sectors. To showcase strategies for empowering developers and communities. This conference will also host invited keynote speakers who will engage the attendees with: - demonstrations, technical reports, tutorials, research talks and related discussions. Who Should Attend? Software Developers Software Development Managers Business Administrators Mobile Phone Developers Testers Software Start-up’s and CEO’s Academics Researchers Students

Transcript of Symposium on Web, Mobile & Software Development Technologies

Page 1: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 1 | P a g e

Conference on Embedded, Web, Mobile & Software Development Technologies Date: 31/08/2021

The fast advancement of embedded, web, mobile and cloud computing technologies brings a new paradigm shift from conventional computing and communications technologies. The internet is rapidly evolving with increasingly sophisticated devices, platforms, APIs, applications, and web browsers. Adding to this is the regular advancement of software development languages and data platforms, thus making it difficult for ICT professionals to keep abreast of new developments. The DUT AppFactory in conjunction with Microsoft South Africa will be hosting an Embedded, Web, Mobile & Software Development Technologies conference. The conference is aimed at showcasing the innovative work that AppFactories and interns are engaged in. It will provide opportunities for experts, mentors and interns to share their experiences and insights. The primary objective is to:

• Showcase exciting trends and work that interns are engaged in, within the area of embedded, mobile, web and cloud development areas.

• To provide an opportunity for interns to collaborate. • To provide an opportunity for interns to develop their time management, communication, research

and presentation skills. • To promote best practices in software development within the mobile, web and cloud sectors. • To showcase strategies for empowering developers and communities.

This conference will also host invited keynote speakers who will engage the attendees with: - demonstrations, technical reports, tutorials, research talks and related discussions. Who Should Attend?

● Software Developers ● Software Development Managers ● Business Administrators ● Mobile Phone Developers ● Testers ● Software Start-up’s and CEO’s ● Academics ● Researchers ● Students

Page 2: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 2 | P a g e

Agenda Talks Speakers 08:45–08:50 Introduction by Chair & Opening 08:50–09:00 Welcome Prof Sibusiso Moyo

DVC RIE: Durban University of Technology 09:00–09:15 Keynote Dr Progress Mtshali

DUT CIO: Durban University of Technology 09:15–10:00 14 Things You Need To Be A Successful Developer Robert MacLean

Technology Lead at Equal Experts South Africa 10:00–10:45 Hands-on With Blockchain Technology by Julian Kanjere

Julian Kanjere OptiSolutions

10:45–11:00 Comfort Break 11:00–11:30 Modernising Business Processes using Microsoft Power Apps

Shekhar Singh & Suvana Rohanlal OptiSolutions

11:30–12:00 Automating Your Home Or Office With IoT Central And Power Apps

Allan Pead UWC AppFactory

12:00–12:45 Migrate/Modernize Java Apps On Azure by Rory Preddy

Rory Preddy Microsoft SA

12:45–13:00 Comfort Break 13:00–13:30 Keeping Your Plants Alive With An Arduino and Azure IoT

Allan Pead UWC AppFactory

13:30–14:00 Using Azure DevOps In The Development Lifecycle Ntobeko Dindi DUT AppFactory

14:00–14:30 Application Programming Interface (API) Security Phila Dlamini DUT AppFactory

14:30–15:00 Building Scalable Applications using the ABP Framework

Nikhil Ramdav DUT AppFactory

15:00–15:30 The AppFactory Journey Clifford de Wit DexterityDigital.com

15:30–15:45 Comfort Break 15:45–16:30 Panel Discussion “The AppFactory Journey” Chair: Clifford

de Wit DexterityDigital.com

Nyaladzi Mpofu Microsoft SA

Leslie Price Microsoft SA

Cassim Vanker DUT AppFactory

16:30–17:30 Keynote: Mentorship vs Sponsorship - Growing The Next Generation Of Developers Through Nurturing Stories

Scott Hanselman Microsoft

Page 3: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 3 | P a g e

Conference Topics: Welcome By Prof Sibusiso Moyo the Deputy Vice-Chancellor: Research, Innovation and Engagement at DUT

Professor Sibusiso Moyo holds a PhD in Mathematics from the University of Natal, Durban and a Masters (with distinction) in Tertiary Education Management from the LH Martin Institute, University of Melbourne Australia. As a scholar, she has published widely in the Mathematical Sciences with a focus on differential equations and optimization problems in international peer-reviewed journals. She has also successfully supervised postgraduate students and continues mentoring emerging

researchers. Keynote by Dr Progress Mtshali Dr Mtshali is a highly experienced academic and professional with a wealth of international experience, having studied and worked in the United States for over thirty-four years. Dr Mtshali holds a B.S. ChE (Bachelor of Chemical Engineering) from the State University of New York at Buffalo, an A.S. (Computer Technology) from Midlands Technical College in Columbia, South Carolina in United States, a M.S. and Ph.D. (Information Systems) from Nova South-Eastern University in Fort Lauderdale, Florida in the United States. The Newcastle-born Dr Mtshali has worked for IT companies such as Computer Sciences Corporation (CSC), Duck Creek Technologies, and Accenture Software as a software developer, principal software architect, and technical researcher. These were enterprise companies where he worked with developers, development operations, and other departments. In 2003 he won the prestigious CSC Technical Excellence Award. He also has a patent in the United States Patent Office for the invention of the

Page 4: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 4 | P a g e

method to detect fraud in insurance claims. The invention was incorporated into three products that are currently sold by CSC. He has also worked in academia. He taught at Webster University in Columbia, South Carolina, USA for over ten years. He also taught at Strayer University where he held the Department Chair and Assistant Dean of Curriculum for the School of Information Technology. Strayer University has over eighty (80) campuses along the east coast of the United States. His speciality and interests include IoT, computer networking, data analytics, database management, cryptography, compiler theory, computer programming, programming languages, computational number theory, artificial intelligence, machine learning, and deep learning. Prior to the Chief Information Officer appointment, Dr Mtshali was the Head of the Department for Information Technology at the Durban University of Technology (DUT). He was also the Acting Director of Information Technology Support Services (ITSS). Mentorship vs Sponsorship - Growing The Next Generation Of Developers Through Nurturing Stories Of Tech by Scott Hanselman

Scott Hanselman works in Open Source on .NET and the Azure Cloud for Microsoft out of his home office in Portland Oregon. Wherever Scott goes he aims to spread good information about developing software. Before this Scott was the Chief Architect at Corillian Corporation, now a part of Checkfree, for 6+ years. Scott was also involved in a few Microsoft Developer things for many years like

the MVP and RD programs and will speak about computers (and other passions) whenever someone will listen. Scott has been a developer for 30 years and has been blogging at https://hanselman.com for 20 years! Scott has been podcasting for over 800 episodes of http://hanselminutes.com over 15 years and 700 episodes of http://www.azurefriday.com. He's written several technical books and spoken in person to over one million developers worldwide!

Page 5: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 5 | P a g e

In the keynote session, Scott will unpack the relationship between mentors and sponsors. He will also explore questions like “what must we do to welcome the next generation of developers, and what are their responsibilities?”

14 Things You Need To Be A Successful Developer by Robert MacLean

Robert is a veteran software engineer based in Cape Town, South Africa. He has lead software teams at Amazon Web Services and Microsoft and built some of the largest systems for customers in South Africa. Currently, he works at Equal Experts as the Technology Lead, helping development teams and customers deliver true value. Robert is also a director of the

largest non-profit community for software engineer education in South Africa and is the founder of DevConf, the largest community conference for software engineers in South Africa. Outside of work, Robert owns over 100 board games and prefers to spend his time hiking with his dogs or playing Xbox with his son. As we passed 140 years of software development, you would think the path to success has been worked out, documented, taught, and is largely understood and yet, most software is late, over budget, or full of bugs (sometimes all three). This talk is not about the new Wizz-bang tech that will change your life by solving the issues in software development and only cost you a monthly subscription to your favourite tech company, rather this talk is focused on the only thing that you have control to change, YOURSELF. Join Robert as he will share 14 rules for being successful in software development, a talk he wished he had gotten over 20 years ago.

Page 6: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 6 | P a g e

Hand-on With Blockchain Technology by Julian Kanjere Over the last decade, blockchain technology (BCT) has cemented its place in the emerging technology category with the potential to unleash low-cost and scalable financial innovation and solve challenges related to credible record-keeping, supply chain provenance and credential management, to mention all but a few. Broadly speaking, BCT can be used for record-keeping and transactional purposes, owing to its secure and tamper-resistant nature which enable it to be a trust mechanism between actors in a network. However, although it is the subject of many a conversation on innovation, the properties unique to problems that are suitable candidates to be solved by blockchain-based solutions are not always well understood. In addition, due to the fast pace of innovation within the BCT domain, it is not always apparent how to get started with designing a blockchain-based solution. To this end, I illustrate how non-standardised record-keeping for COVID-19 vaccinations can give rise to a lack of credibility - how can one actor prove that another actor's claim to have been vaccinated is legitimate based on a stamped vaccination card. I demonstrate how the COVID-19 vaccination register (CVR) - a blockchain-based web application solution can solve this trust problem. Using CVR, an administrator with a valid and funded Ethereum blockchain account can add entries to a blockchain-based register. Once added, this entry cannot be altered and is immediately accessible to anyone with a link to this decentralised and single source of truth. In this demonstration, I showcase an HTML5 JavaScript-based web application that is used to record COVID-19 vaccination entries and persist these on an Ethereum blockchain network. In addition, the demonstration includes how the pieces fit together - the web application, the smart contract and a local instance of an Ethereum blockchain network.

Page 7: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 7 | P a g e

Modernising Business Processes Using Microsoft Power Apps by Shekhar Singh & Suvana Rohanlal

As firms grow, they require mechanisms to manage employee information, performance and drive engagement. However, firms using manual processes and/or fragmented applications to do so are subject to manual data capturing errors, increased compliance risk, inefficient employee management, and potentially lower employee engagement. These challenges can be alleviated by using digital and integrated employee

management tools. can be alleviated by using digital and integrated employee management tools. Using Microsoft Power Apps, we develop Opti-For-You (OptiFY), a low-code, enterprise-grade mobile application in response to the aforementioned employee management problem. OptiFY simplifies the entire process of submitting and responding to a leave request. The application caters for two user profiles - employees and administrators (i.e. human resources (HR) personnel and team leads). Using OptiFY, employees can view the amount of available leave they have for each leave type (sick leave, annual leave etc.), submit leave requests and view these dates on a personalised calendar. Administrators can view, accept or decline team-specific leave requests. They can also send out notifications to individuals or teams, access a birds-eye view of the team-specific approved leave dates, receive automated reminders of upcoming team-specific birthdays and view all employee contact details via a directory. OptiFY also includes an emergency page for employees to send a high priority email to HR and/or their team lead, a personal information page for employees to view and update their information, a frequently asked questions (FAQs) page that explains the different types of leave, and a notification page where employees can view messages from administrators. In this demonstration, we showcase how OptiFY can be used to manage employee leave requests and reporting, streamlining communication and increasing employee engagement.

Page 8: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 8 | P a g e

Automating Your Home Or Office With IoT Central And Power Apps by Allan Pead

The world is moving rapidly towards integrating technology into our daily lives. Smart Homes and Smart Buildings are becoming the norm. IoT Central is an IoT application platform that reduces the burden and cost of developing, managing, and maintaining enterprise-grade IoT solutions.

Power Apps is a suite of apps, services, connectors and data platforms that provides a rapid application development environment to build custom apps. In this session, we will be looking at using both, along with Node-RED to leverage "low-code" to rapidly create scalable solutions to automate the home or office. Keeping Your Plants Alive With An Arduino And Azure IoT by Allan Pead If you are anything like me you will be forever forgetting to water your plants and when you remember it's too late. Let's learn how to grow chilli plants with an Arduino with Visual Studio Code and monitor from the cloud using the Azure IoT (SAAS) solution, Azure IoT Central.

Page 9: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 9 | P a g e

Migrate/Modernize Java Apps On Azure by Rory Preddy

Let's look at learning how Azure IoT Edge works the fun way. Let's look at how it can be used to create a mini robot platform. Wherever you are in Java—from Java EE/Jakarta EE to Spring and microservices—Azure supports your workloads and processes. Join this

session to learn how to modernize Java applications on Azure with managed services like Azure App Service, Azure Spring Cloud, Azure Kubernetes Service, and more. Quickly add services and capabilities like managed databases, performance monitoring, and cloud-scale messaging as your needs expand. You’ll also learn about:

• How to improve developer productivity with DevOps tooling integration and continuous integration and continuous deployment (CI/CD)

• How to enforce a Zero Trust security model with secrets management, secure communications, and virtual networks

• How to keep an eye on production and quickly troubleshoot issues with Azure Monitor and Application Insights.

• How to drive higher utilization of resources and pay only for what you use with Autoscale.

• We’ll guide you with live demos to show you the following aspects: o Start your development seamlessly in GitHub Codespaces

without installing anything on your local machine. o Create a new project using integrated tooling. o Use Github Actions and the comprehensive online code editor

to deploy to Azure. o Scale and trace your app transactions on Azure.

Page 10: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 10 | P a g e

The AppFactory Journey by Clifford de Wit

Clifford’s career began as an Electrical Engineer in 1996, graduating from WITS University. His passion for computing led him into financial services, where he worked in a team that launched one of the world’s first online banking solutions in 1998 with Nedbank. After joining Microsoft in 2000, Clifford spent time helping large customers to architect, design and build business solutions on the Microsoft platform. Solid work here saw him up leading the development consulting team from 2005 to 2007.

In 2009 Clifford took on the role of running one of the 7 segments within Microsoft South Africa, the Development and Platform group. During this time Clifford developed and launched the Microsoft SA BizSpark start-up program where in partnership with the government the program mentored over 3000 start-ups. Clifford also originated a Developer incubator focused on teaching young people to become software engineers. The AppFactory trained over 100 individuals most of which are working in the SW industry today. In his current role, Clifford is the CTO and co-founder of a new Digital business within the Metrofile group, Dexterity Digital. Dexterity is focused on building out leading Digital Transformation products to help companies move to the digital world and gain value out of new technologies such as Cloud Computing and Machine Learning. In his session, Clifford will tell the story of how the AppFactory started and how it grew into the program we know today. The session will also provide a perspective from the founder and a few of the people who were part of the journey. In addition to this, we hope to give the delegates a perspective of why the program is just as relevant now as it was when it started.

Page 11: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 11 | P a g e

Using Azure DevOps In The Development Lifecycle by Ntobeko Dindi

Azure DevOps supports development teams by providing services that allow them to plan work, collaborate on code development, and build and deploy applications. DevOps integrates test plans, Repository, Pipelines and artefacts, making it easier to manage software being built and deployed using CI/CD pipelines.

Using boards, one can plan project work by breaking work items into stories using product backlog items (PBI). You can then assign these PBIs to team members, this means that team members can understand and identify acceptance criteria by easily referring to the boards. Deciding which PBIs will be added to the sprint is as easy as drag and drop, allowing you to plan and manage sprints easily while tracking the performance of your team. In this session, Ntobeko will focus on how teams can use Azure DevOps to manage and deploy projects. The session will also cover aspects of deployment and the use of Azure Pipelines. Application Programming Interface (API) Security by Phila Dlamini

Many modern application systems being developed today include interactions with other systems using an Application Programming Interface (API). An API can be described as a software intermediary that connects two systems. Like all systems, APIs are also vulnerable to attacks on the internet. According to a report by "Salt Labs" in June 2021, malicious API calls

have increased by over 384% in the last six months. The most basic strategy to prevent API attacks is to accept calls to the API on a secure channel like HTTPS to protect sensitive data. Followed by validating the data that goes into the API to avoid issues like SQL injection

Page 12: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 12 | P a g e

and to limit the post request size to avoid the API from falling over when large amounts of data are being injected. Throttling API calls and limiting the calls per user are also useful to prevent denial of service attacks. Lastly, Tokenization can also be used to authenticate and authorize users who access APIs. With the above in mind, Phila Dlamini in this session will walk attendees through the processing of building a secure API using the PHP scripting language. He will also discuss the mechanism required to secure and authorise a web API. Building Scalable Applications Using The ABP Framework by Nikhil Ramdev ASP.NET Boilerplate (ABP) is an open-source and well-documented application framework. It was created in 2013 by Volosoft. ABP provides well-architectured, layered and production-ready solutions based on the Domain-Driven Design (DDD) principles. ABP also provides a strong infrastructure for modularity, multi-tenancy, caching, background jobs, data filters, setting management and domain events which help you create a solution by introducing common software development principles and practices that represent the framework. In this demonstration, Nikhil will showcase how web applications can be designed and implemented by setting up the ABP framework and building a sample application.

Page 13: Symposium on Web, Mobile & Software Development Technologies

Conference on Embedded, Web, Mobile & Software Development Technologies @ DUT 13 | P a g e

Sponsors and Organizers This event has been organized and sponsored by the Knowledge Information Management Cluster and the DUT AppFactory at the Durban University of Technology. For further information please feel free to contact the organiser Mr C. Vanker at [email protected] Registration Link:

Click Here To Register