Skip to content

Introduction

About the teacher

The course is taught by Teemu Kontio has been working as a Specialist at JAMK and as a Technical Specialist and Software Developer at JYVSECTEC (Jyväskylä Security Technology) since 2016. He also graduated from JAMK as software engineer in the end of 2015.

teemu

At JAMK I teach the Service Oriented Applications course (bachelors thesis) and Application Frameworks course (masters thesis). I also work on multiple research and development projects involving web development, software engineering and cyber security.

Sometimes I also work on projects involving IoT and electrical engineering. I also work as a coach in the students summer trainee program Wimma Lab.

At JYVSECTEC I code custom software solutions to be used in cyber exercises. Every now and then Im also involved in red team activities, conducting cyber attacks in the JYVSECTEC 's RGCE environment (Realistic Global Cyber Environment).

If you have any questions, feel free to send me a message on Teams or as email (firstname.lastname@jamk.fi).


Why this course is relevant to my studies?

Traditionally, software developers created large, monolithic applications. A single monolith would contain all the code for all the business activities an application performed. As the application’s requirements grew, of course, so did the monolith.

For many years now we have been building systems and getting better at it. Several technologies, architectural patterns, and best practices have emerged over those years. Microservices is one of those architectural patterns which has emerged from the world of domain-driven design, continuous delivery, platform and infrastructure automation, scalable systems, etc.

Microservices provide the tools developers need to build higher quality software products. With a microservice architecture, each component of an application can exist in its own container, independently managed and updated.

This means that developers can build applications from multiple components and program each component in the language best suited to its function, rather than having to choose a single less-than-ideal language to use for everything.

The main idea behind a microservice architecture is that applications are simpler to build and maintain when broken down into smaller pieces that work seamlessly together.

Learning to use microservices is important for more than just the benefits to the customer and the product. Developers, architects, and operations people are driven by performance. They want to address the technical and business problems they see using the best tools available. If you want to attract top talent – and keep the talent you have – it’s important to keep up-to-date on current ideas in IT. That means being ready to start working with a microservices architecture.

Wikipedia

Service-oriented Software Engineering (SOSE) is a software engineering methodology focused on the development of software systems by composition of reusable services (service-orientation) often provided by other service providers.

Since it involves composition, it shares many characteristics of component-based software engineering, the composition of software systems from reusable components, but it adds the ability to dynamically locate necessary services at run-time.

These services may be provided by others as web services, but the essential element is the dynamic nature of the connection between the service users and the service providers.